Github user ottobackwards commented on a diff in the pull request: https://github.com/apache/metron/pull/823#discussion_r153927131 --- Diff: metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/dsl/functions/OrdinalFunctions.java --- @@ -18,76 +18,91 @@ package org.apache.metron.stellar.dsl.functions; +import com.google.common.collect.Iterables; +import org.apache.metron.stellar.common.utils.ConversionUtils; import org.apache.metron.stellar.dsl.BaseStellarFunction; import org.apache.metron.stellar.dsl.Stellar; import java.util.Collections; import java.util.List; +import java.util.function.BiFunction; +import java.util.function.Predicate; import java.util.stream.Collectors; public class OrdinalFunctions { - /** - * Stellar Function: MAX - * <p> - * Return the maximum value of a list of input values in a Stellar list - */ - @Stellar(name = "MAX" - , description = "Returns the maximum value of a list of input values" - , params = {"list_of_values - Stellar list of values to evaluate. The list may only contain 1 type of object (only strings or only numbers)" + - " and the objects must be comparable / ordinal"} - , returns = "The highest value in the list, null if the list is empty or the input values could not be ordered") - public static class Max extends BaseStellarFunction { + /** + * Stellar Function: MAX + * <p> + * Return the maximum value of a list of input values in a Stellar list + */ + @Stellar(name = "MAX" + , description = "Returns the maximum value of a list of input values" + , params = {"list_of_values - Stellar list of values to evaluate. The list may only contain 1 type of object (only strings or only numbers)" + + " and the objects must be comparable / ordinal"} + , returns = "The highest value in the list, null if the list is empty or the input values could not be ordered") + public static class Max extends BaseStellarFunction { - @Override - public Object apply(List<Object> args) { - if (args.size() < 1 || args.get(0) == null) { - throw new IllegalStateException("MAX function requires at least a Stellar list of values"); - } - List list = (List<Object>) args.get(0); - return orderList(list, true); - } + @Override + public Object apply(List<Object> args) { + if (args.size() < 1 || args.get(0) == null) { + throw new IllegalStateException("MAX function requires at least a Stellar list of values"); + } --- End diff -- unchecked cast
---