[rules-users] "not contains" on Java5 enumeration
Ray Ploski
rploski at redhat.com
Fri Feb 12 14:08:08 EST 2010
Found the issue:
> classifiers not contains (TimeSliceClassifiers.COUNT_TO_FLSA),
is invalid. The CE parses without the parenthesis:
...
classifiers not contains TimeSliceClassifiers.COUNT_TO_FLSA,
...
Ray Ploski wrote:
> I'm not certain, but it looks like the Operator "not contains"[1] works
> fine with strings but not Enumerations. Would someone please confirm or
> correct the rule syntax? Thank you.
>
>
> Given:
>
>
> rule "Absence_Accumulation_Rule"
>
> when
> $slice : TimeSlice(
> classifiers contains(TimeSliceClassifiers.ABSENCE),
> classifiers contains(TimeSliceClassifiers.OT),
> classifiers not contains (TimeSliceClassifiers.COUNT_TO_FLSA),
> then
> System.out.println("Absence: Count to overtime but not FLSA");
> end
>
>
>
>
> public enum TimeSliceClassifiers {
>
> INSIDE_SCHEDULE,
> OUTSIDE_SCHEDULE,
> WORKED,
> ABSENCE,
> APPROVED,
> OVERTIME_REQUEST,
> CASH,INVOLUNTARY,
> COUNT_TO_OT,
> COUNT_TO_FLSA,
> OT,
> STRAIGHT,
> PREMIUM,
> EC0100,
> EC1400,
> EC1405
> }
>
>
>
>
> public class TimeSlice {
> private Date start;
> private Date end;
> private int elapsed;
> private Set<TimeSliceClassifiers> classifiers;
> private boolean sliceCreatedByRules = false;
> }
>
>
>
>
> Provides the following error:
> [ERR 103] Line 110:21 rule 'in_key' failed predicate:
> {(validateIdentifierKey(DroolsSoftKeywords.IN))}? in rule
> "Absence_Accumulation_Rule" in pattern TimeSlice
>
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
More information about the rules-users
mailing list