Skip to content

Commit dfc6f5a

Browse files
committed
Ref #28289: validate value-sets before default values
1 parent 755d41d commit dfc6f5a

1 file changed

Lines changed: 16 additions & 16 deletions

File tree

src/main/java/eu/openanalytics/containerproxy/service/ParametersService.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -108,22 +108,6 @@ private void validateSpec(ProxySpec spec) {
108108
throw new IllegalStateException(String.format("Configuration error: error in parameters of spec '%s', error: not every parameter has a default value. Either define no defaults, or defaults for all parameters.", spec.getId()));
109109
}
110110

111-
// Check that every default value exists
112-
if (spec.getParameters().getDefinitions().get(0).getDefaultValue() != null) {
113-
for (ParameterDefinition definition : spec.getParameters().getDefinitions()) {
114-
boolean defaultValueExists = false;
115-
for (Parameters.ValueSet valueSet : spec.getParameters().getValueSets()) {
116-
if (valueSet.getParameterValues(definition.getId()).contains(definition.getDefaultValue())) {
117-
defaultValueExists = true;
118-
break;
119-
}
120-
}
121-
if (!defaultValueExists) {
122-
throw new IllegalStateException(String.format("Configuration error: error in parameters of spec '%s', error: default value for parameter with id '%s' is not defined in a value-set", spec.getId(), definition.getId()));
123-
}
124-
}
125-
}
126-
127111
// Validate Parameter Value Sets
128112
int valueSetIdx = 0;
129113
for (Parameters.ValueSet valueSet : spec.getParameters().getValueSets()) {
@@ -143,6 +127,22 @@ private void validateSpec(ProxySpec spec) {
143127
valueSetIdx++;
144128
}
145129

130+
// Check that every default value exists
131+
if (spec.getParameters().getDefinitions().get(0).getDefaultValue() != null) {
132+
for (ParameterDefinition definition : spec.getParameters().getDefinitions()) {
133+
boolean defaultValueExists = false;
134+
for (Parameters.ValueSet valueSet : spec.getParameters().getValueSets()) {
135+
if (valueSet.getParameterValues(definition.getId()).contains(definition.getDefaultValue())) {
136+
defaultValueExists = true;
137+
break;
138+
}
139+
}
140+
if (!defaultValueExists) {
141+
throw new IllegalStateException(String.format("Configuration error: error in parameters of spec '%s', error: default value for parameter with id '%s' is not defined in a value-set", spec.getId(), definition.getId()));
142+
}
143+
}
144+
}
145+
146146
}
147147

148148
/**

0 commit comments

Comments
 (0)