Polish default value for arrays

See gh-1996
This commit is contained in:
Stephane Nicoll
2014-12-03 17:32:00 +01:00
parent f821fdfffa
commit 509201907c
4 changed files with 11 additions and 3 deletions

View File

@@ -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;
}

View File

@@ -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) {

View File

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