Skip to content

Commit 4a8ce16

Browse files
committed
Provide better error message if parameter cannot be resolved
Request: MO Change-Id: I8c4f6c6dbe5cf9415431cd0d356ebd8f191b157f
1 parent 354896a commit 4a8ce16

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

interfaces/src/main/java/io/bdeploy/interfaces/variables/ApplicationParameterProvider.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package io.bdeploy.interfaces.variables;
22

33
import java.util.Collection;
4+
import java.util.List;
45
import java.util.stream.Collectors;
56

67
import com.google.common.collect.MoreCollectors;
78

89
import io.bdeploy.interfaces.configuration.dcu.ApplicationConfiguration;
10+
import io.bdeploy.interfaces.configuration.dcu.ParameterConfiguration;
911
import io.bdeploy.interfaces.configuration.instance.InstanceNodeConfiguration;
1012

1113
/**
@@ -68,7 +70,13 @@ public ApplicationConfiguration getAppById(String appId) {
6870
}
6971

7072
public String getParam(ApplicationConfiguration app, String paramId) {
71-
return app.start.parameters.stream().filter(p -> p.uid.equals(paramId)).collect(MoreCollectors.onlyElement()).value;
73+
List<ParameterConfiguration> params = app.start.parameters.stream().filter(p -> p.uid.equals(paramId))
74+
.collect(Collectors.toList());
75+
if (params.size() != 1) {
76+
throw new IllegalArgumentException(
77+
"Cannot find unique parameter " + paramId + " for application " + app.name + ", found " + params.size());
78+
}
79+
return params.get(0).value;
7280
}
7381

7482
}

0 commit comments

Comments
 (0)