[ 
https://issues.apache.org/jira/browse/FLINK-3318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15838280#comment-15838280
 ] 

ASF GitHub Bot commented on FLINK-3318:
---------------------------------------

Github user mushketyk commented on the issue:

    https://github.com/apache/flink/pull/2361
  
    Hi @kl0u,
    
    Sorry for misunderstanding, I still don't understand the problem :)
    Let's select a test and go through it. For example in the test 
`testOneOrMoreCEPPattern` from `CEPComplexPatternsITCase ` there is a pattern 
that has the `oneOrMany` and the `end` statements:
    
    ```java
    .next("middle").oneOrMany().where(
                                new FilterFunction<Event>() {
     
                                        @Override
                                        public boolean filter(Event value) 
throws Exception {
                                                return 
value.getName().equals("middle");
                                        }
                                }
                        )
                        .next("end").where(new FilterFunction<Event>() {
     
                                @Override
                                public boolean filter(Event value) throws 
Exception {
                                        return value.getName().equals("end");
                                }
                        });
    ```
    
    Do you say that if I remove this part: 
    
    ```java
                        .next("end").where(new FilterFunction<Event>() {
     
                                @Override
                                public boolean filter(Event value) throws 
Exception {
                                        return value.getName().equals("end");
                                }
                        });
    ```
    
    the pattern won't work as expected?
    Is this your point?


> Add support for quantifiers to CEP's pattern API
> ------------------------------------------------
>
>                 Key: FLINK-3318
>                 URL: https://issues.apache.org/jira/browse/FLINK-3318
>             Project: Flink
>          Issue Type: Improvement
>          Components: CEP
>    Affects Versions: 1.0.0
>            Reporter: Till Rohrmann
>            Assignee: Ivan Mushketyk
>            Priority: Minor
>
> It would be a good addition to extend the pattern API to support quantifiers 
> known from regular expressions (e.g. Kleene star, ?, +, or count bounds). 
> This would considerably enrich the set of supported patterns.
> Implementing the count bounds could be done by unrolling the pattern state. 
> In order to support the Kleene star operator, the {{NFACompiler}} has to be 
> extended to insert epsilon-transition between a Kleene start state and the 
> succeeding pattern state. In order to support {{?}}, one could insert two 
> paths from the preceding state, one which accepts the event and another which 
> directly goes into the next pattern state.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to