[rules-users] string replace collision problem

FrankVhh frank.vanhoenshoven at agserv.eu
Fri Nov 18 10:21:32 EST 2011


It is also answered without spell check, sorry...


FrankVhh wrote:
> 
> Cautionç This is answered after only a quick look.
> 
> You must notify the engie that a change has occured by calling
> update(plan); in the RHS. Not calling update will modify the object, but
> the engine will not take these changes into account.
> 
> Regards,
> Frank
> 
> 
> fiitkar wrote:
>> 
>> Hello,
>> 
>> I've problem with string replacement. 
>> See the following example.
>> Input string: SF
>> I've written two simple rules:
>> The first one transforms SF to S
>> The second one transforms S to VOL.
>> The expected output after the transformation should be  S, but I get VOL.
>> (as for example for the rules: A->Z, Z->K,  input A, output will be Z and
>> not K).
>> So my question is how to avoid this problem (I suppose the problem is
>> that the first transformation returns substring of the input and moreover
>> does exist another transformation rule for it).
>> 
>> rule "Rule1 for parameter 1"
>> salience 2
>> when
>> 	plan : plan( parameter1 matches ".*SF.*" )
>> then		
>> 	plan.setParameter1(plan.getParameter1().replace("SF","S"));
>> 	
>> end
>> 
>> 
>> rule "Rule2 for parameter 1"
>> salience 1
>> when
>> 	plan : plan( parameter1 matches ".*S.*" )
>> then	
>> 	plan.setParameter1(plan.getParameter1().replace("S","VOL"));	
>> end
>> 
>> Thank you for your response.
>> Peter
>> 
> 


--
View this message in context: http://drools.46999.n3.nabble.com/string-replace-collision-problem-tp3518826p3518861.html
Sent from the Drools: User forum mailing list archive at Nabble.com.




More information about the rules-users mailing list