c4emmmm commented on a change in pull request #8632: [FLINK-12744][ml] add shared params in ml package URL: https://github.com/apache/flink/pull/8632#discussion_r292298235
########## File path: flink-ml-parent/flink-ml-api/src/main/java/org/apache/flink/ml/api/misc/param/Params.java ########## @@ -47,14 +70,33 @@ * @throws RuntimeException if the Params doesn't contains the specific parameter, while the * param is not optional but has no default value in the {@code info} */ - @SuppressWarnings("unchecked") public <V> V get(ParamInfo<V> info) { - V value = (V) paramMap.getOrDefault(info.getName(), info.getDefaultValue()); - if (value == null && !info.isOptional() && !info.hasDefaultValue()) { - throw new RuntimeException(info.getName() + - " not exist which is not optional and don't have a default value"); + Stream<V> stream = getParamNameAndAlias(info) + .filter(this.params::containsKey) + .map(x -> this.params.get(x)) + .map(x -> valueFromJson(x, info.getValueClass())) + .limit(1); Review comment: paramValue here has only one element. I think it's better to replace with the only element and it will make the code below much easier. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services