[ https://issues.apache.org/jira/browse/FLINK-6356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15984278#comment-15984278 ]
ASF GitHub Bot commented on FLINK-6356: --------------------------------------- Github user dawidwys commented on a diff in the pull request: https://github.com/apache/flink/pull/3761#discussion_r113377068 --- Diff: flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/pattern/Quantifier.java --- @@ -18,51 +18,83 @@ package org.apache.flink.cep.pattern; import java.util.EnumSet; +import java.util.Objects; -public enum Quantifier { - ONE, - ZERO_OR_MORE_EAGER(QuantifierProperty.LOOPING, QuantifierProperty.EAGER), - ZERO_OR_MORE_COMBINATIONS(QuantifierProperty.LOOPING), - ZERO_OR_MORE_EAGER_STRICT(QuantifierProperty.EAGER, QuantifierProperty.STRICT, QuantifierProperty.LOOPING), - ZERO_OR_MORE_COMBINATIONS_STRICT(QuantifierProperty.STRICT, QuantifierProperty.LOOPING), - ONE_OR_MORE_EAGER( - QuantifierProperty.LOOPING, - QuantifierProperty.EAGER, - QuantifierProperty.AT_LEAST_ONE), - ONE_OR_MORE_EAGER_STRICT( - QuantifierProperty.STRICT, - QuantifierProperty.LOOPING, - QuantifierProperty.EAGER, - QuantifierProperty.AT_LEAST_ONE), - ONE_OR_MORE_COMBINATIONS(QuantifierProperty.LOOPING, QuantifierProperty.AT_LEAST_ONE), - ONE_OR_MORE_COMBINATIONS_STRICT( - QuantifierProperty.STRICT, - QuantifierProperty.LOOPING, - QuantifierProperty.AT_LEAST_ONE), - TIMES(QuantifierProperty.TIMES), - TIMES_STRICT(QuantifierProperty.TIMES, QuantifierProperty.STRICT), - OPTIONAL; +public class Quantifier { private final EnumSet<QuantifierProperty> properties; - Quantifier(final QuantifierProperty first, final QuantifierProperty... rest) { + private Quantifier(final QuantifierProperty first, final QuantifierProperty... rest) { this.properties = EnumSet.of(first, rest); } - Quantifier() { - this.properties = EnumSet.noneOf(QuantifierProperty.class); + public static Quantifier ONE() { + return new Quantifier(QuantifierProperty.SINGLE); + } + + public static Quantifier ONE_OR_MORE() { + return new Quantifier(QuantifierProperty.LOOPING, QuantifierProperty.EAGER); + } + + public static Quantifier TIMES() { + return new Quantifier(QuantifierProperty.TIMES, QuantifierProperty.EAGER); } public boolean hasProperty(QuantifierProperty property) { return properties.contains(property); } + public void combinations() { --- End diff -- The first `if` will be satisfied by `ONE` resulting in misleading exception. Because of that also the `else` branch of the second branch will not be reachable. > Make times() eager and enable allowing combinations. > ---------------------------------------------------- > > Key: FLINK-6356 > URL: https://issues.apache.org/jira/browse/FLINK-6356 > Project: Flink > Issue Type: Bug > Components: CEP > Affects Versions: 1.3.0 > Reporter: Kostas Kloudas > Assignee: Kostas Kloudas > Fix For: 1.3.0 > > > This is the PR that addresses it https://github.com/apache/flink/pull/3761 -- This message was sent by Atlassian JIRA (v6.3.15#6346)