Hi,

It is a very low level detail of the CEP library, that should be transparent 
for the end-user.

However, just to clarify it a bit, it is expected. The reason behind this 
function is to create an optional path that bypasses all optional states. 
NOT_FOLLOW is treated as part of optional path, but in contrast to OPTIONAL its 
condition should be taken into account into the combined condition. Hope it 
helps.

Regards,
Dawid

> On 5 Mar 2018, at 10:42, aitozi <gjying1...@gmail.com> wrote:
> 
> Hi,
> 
> i am reading flink-cep source code based on release-1.3.2 . I cant
> understand here , can anyone help me on this in NFACompiler?
> 
> private List<Tuple2&lt;IterativeCondition&lt;T>, String>>
> getCurrentNotCondition() {
>                       List<Tuple2&lt;IterativeCondition&lt;T>, String>> 
> notConditions = new
> ArrayList<>();
> 
>                       Pattern<T, ? extends T> previousPattern = 
> currentPattern;
>                       while (previousPattern.getPrevious() != null && (
> 
> previousPattern.getPrevious().getQuantifier().hasProperty(Quantifier.QuantifierProperty.OPTIONAL)
> ||
>                               
> previousPattern.getPrevious().getQuantifier().getConsumingStrategy() ==
> Quantifier.ConsumingStrategy.NOT_FOLLOW)) {
> 
>                               previousPattern = previousPattern.getPrevious();
> 
>                               if 
> (previousPattern.getQuantifier().getConsumingStrategy() ==
> Quantifier.ConsumingStrategy.NOT_FOLLOW) {
>                                       final IterativeCondition<T> 
> notCondition = (IterativeCondition<T>)
> previousPattern.getCondition();
>                                       
> notConditions.add(Tuple2.of(notCondition, previousPattern.getName()));
>                               }
>                       }
>                       return notConditions;
>               }
> 
> it choose the pattern "hasProperty(Quantifier.QuantifierProperty.OPTIONAL)"
> or "Quantifier.ConsumingStrategy.NOT_FOLLOW" but it just add it to
> notConditions when it is "Quantifier.ConsumingStrategy.NOT_FOLLOW" is there
> something wrong
> 
> 
> 
> 
> --
> Sent from: 
> http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to