[rules-users] Combination of conditions doesn't work
FrankVhh
frank.vanhoenshoven at agserv.eu
Thu Apr 7 10:42:19 EDT 2011
Yes, thanks Manstis. I am already informing myself as we speak :-).
manstis wrote:
>
> @FrankVhh
>
> Entry-points are used with CEP; you'll find details in the Fusion
> documetation.
>
> With kind regards,
>
> Mike
>
> On 7 April 2011 15:21, FrankVhh <frank.vanhoenshoven at agserv.eu>
> wrote:
>
>> Hi Sariman,
>>
>> The trick with "from entry-point", is quite unfamiliar to me. There might
>> be
>> some problem with that, but I cannot tell by looking at it.
>>
>> However, there are a few problems with the rules that you have printed
>> out
>> for us.
>>
>> 1) The way I understand it, they do not do what they should be doing. You
>> said you do NOT want an action when all sensors evaluate to true. In your
>> case, you are evaluateing whether all sensors are false. This is pretty
>> useless if you already have a rule which evaluates the existence of at
>> least
>> 1 "true" sensor. The way I would put this is like this:
>>
>> rule "Myrule"
>> when
>> #conditions
>> sensorEvent1: SensorEvent(booleanValue == true)
>> exists( SensorEvent(booleanValue == false) )
>> then
>> #actions
>> end
>>
>> 2) There are some errors in your rule. No idea whether this is a
>> copy/paste
>> or a read/type, so I will just point them out.
>> - ";" is usually not needed in a LHS, I am not familiar with the from
>> entry-point syntax, but I assume it wouldn't be needed
>> - There is a ")" in excess in one of your conditions
>>
>> 3) I don't think it makes sense to put your rules as you did in the
>> second
>> example. Even if you are trying to examine whether those three sensors
>> are
>> false.
>>
>> On a personal note: what does from entry-point do? I must have overlooked
>> it
>> in the documentation.
>>
>> Regards,
>> Frank
>>
>>
>> sariman wrote:
>> >
>> > To keep it short, I have three sensors providing me some values every x
>> > seconds. I am running an algorithm over those values and getting at the
>> > end a single value for each sensor. Next I check if this value is
>> > greater/less than a threshold value and creating an object and setting
>> its
>> > booelan value to true/false. The last part looks like this:
>> >
>> > SensorEvent sensorEvent = new SensorEvent ();
>> > sensorEvent.setBoolean(booleanValue);
>> > sensorEvent.setSensorID(sensorID);
>> >
>> > I want to do some actions if one of the sensors has "true" and this
>> works.
>> > But I want no action if all sensors have "true". And this part doens't
>> > work. If I only check one of the sensors if it is "false" it is ok but
>> the
>> > combination doesn't work. It means this case seems naver to happen. No
>> > exception or error but no system print either. Here is the code snippet
>> > from my rules file:
>> >
>> > declare SensorEvent
>> > @role(event)
>> > end
>> >
>> >
>> > rule "All false"
>> >
>> > when
>> > #conditions
>> > sensorEvent1 : SensorEvent(sensorID == 1 ,
>> booleanValue
>> == false) from
>> > entry-point "Default";
>> > sensorEvent2 : SensorEvent(sensorID == 5 ,
>> booleanValue
>> == false) ) from
>> > entry-point "Default";
>> > sensorEvent3 : SensorEvent(sensorID == 6 ,
>> booleanValue
>> == false) from
>> > entry-point "Default";
>> >
>> > then
>> > #actions
>> > System.out.println(" All false!! -> ");
>> >
>> > end
>> >
>> >
>> > I run the engine in stream mode and every single value (or object) is
>> > being inserted after I receieved the value. I also tried this variant
>> but
>> > it didn't work either:
>> >
>> > rule "All false"
>> >
>> > when
>> > #conditions
>> > sensorEvent1 : SensorEvent(sensorID == 1 ) from
>> entry-point "Default";
>> > sensorEvent2 : SensorEvent(sensorID == 5 ) from
>> entry-point "Default";
>> > sensorEvent3 : SensorEvent(sensorID == 6 ,
>> booleanValue
>> == false &&
>> > sensorEvent1.booleanValue == false && sensorEvent2.booleanValue ==
>> false))
>> > from entry-point "Default";
>> >
>> > then
>> > #actions
>> > System.out.println(" All false!! -> ");
>> >
>> > end
>> >
>> > Any suggestions?
>> >
>>
>>
>> --
>> View this message in context:
>> http://drools-drools-expert-drools-fusion-guvnor-drools-planner.46999.n3.nabble.com/Combination-of-conditions-doesn-t-work-tp2789735p2790446.html
>> Sent from the Drools: User forum mailing list archive at Nabble.com.
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
--
View this message in context: http://drools-drools-expert-drools-fusion-guvnor-drools-planner.46999.n3.nabble.com/Combination-of-conditions-doesn-t-work-tp2789735p2790527.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
More information about the rules-users
mailing list