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 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, String>>
> getCurrentNotCondition() {
> List, String>>
> notConditions = new
> ArrayList<>();
>
> Pattern 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
> notCondition = (IterativeCondition)
> 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/
signature.asc
Description: Message signed with OpenPGP