Polish default value for arrays

See gh-1996
pull/2071/head
Stephane Nicoll 10 years ago
parent f821fdfffa
commit 509201907c

@ -144,8 +144,9 @@ The JSON object contained in the `properties` array can contain the following at
|`defaultValue`
| Object
| The default value which will be used if the property is not specified. May be omitted
if the default value is not known.
| The default value which will be used if the property is not specified. Can also be an
array of value(s) if the type of the property is an array. May be omitted if the default
value is not known.
|`deprecated`
| boolean

@ -124,7 +124,11 @@ public class JavaCompilerFieldValuesParser implements FieldValuesParser {
if (arrayValues != null) {
Object[] result = new Object[arrayValues.size()];
for (int i = 0; i < arrayValues.size(); i++) {
result[i] = getValue(arrayValues.get(i), null);
Object value = getValue(arrayValues.get(i), null);
if (value == null) { // One of the elements could not be resolved
return defaultValue;
}
result[i] = value;
}
return result;
}

@ -84,6 +84,7 @@ public abstract class AbstractFieldValuesProcessorTests {
assertThat(values.get("stringArrayConst"), equalToObject(new Object[]{"OK", "KO"}));
assertThat(values.get("stringArrayConstElements"), equalToObject(new Object[] {"c"}));
assertThat(values.get("integerArray"), equalToObject(new Object[] {42, 24}));
assertThat(values.get("unknownArray"), nullValue());
}
private Matcher<Object> equalToObject(Object object) {

@ -90,4 +90,6 @@ public class FieldValues {
private Integer[] integerArray = new Integer[] {42, 24};
private FieldValues[] unknownArray = new FieldValues[] {new FieldValues()};
}

Loading…
Cancel
Save