[rules-users] compare string and int in LHS
brenner
daniel.brenner at isg-stuttgart.de
Wed Mar 26 09:32:55 EDT 2008
Hi,
the class "TripleObject" has a method "getValue". This method convert the
String value to an Ingeger.
rule "a Rule"
when
$vb_refmax : TripleObject( name == "vb_refmax" );
$vb_reflow : TripleObject( name == "vb_reflow");
eval( $vb_reflow.getValue(TripleObject.VALUE_TYP_INTEGER) >=
$vb_refmax.getValue(TripleObject.VALUE_TYP_INTEGER) );
then
end
I hope this helps.
blackone wrote:
>
>
> Hi! Could you provide the rule showing how you have used eval to solve the
> problem? I'm new to drools and have the same problem...
>
>
>
> brenner wrote:
>>
>> Thanks for your answer.
>>
>> Yes, with eval it works. I had oversight it.
>>
>> The question with the model I have aked myself. But I can't change it.
>> There are to much factors involved. Storable by Hibernate. Based on
>> configuration files with key-value, whereas the value could have various
>> data types (c-types) and all without a rule. Very bad, I know.
>>
>>
>>
>>
>>
>> Anstis, Michael (M.) wrote:
>>>
>>> You could use an inline eval too.
>>>
>>> The problem possibly lies more with your model; why not have one
>>> subclass
>>> expose the String property and another the Integer property and code the
>>> rules using the subclasses? Much safer throughout the entire application
>>> than having to worry whether some field is meant to be a string or
>>> number
>>> (It's very easy to question problems though - there could be very good
>>> reason why you need the model "as is").
>>>
>>> -----Original Message-----
>>> From: rules-users-bounces at lists.jboss.org
>>> [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of brenner
>>> Sent: 08 February 2008 12:33
>>> To: rules-users at lists.jboss.org
>>> Subject: Re: [rules-users] compare string and int in LHS
>>>
>>>
>>> Hi,
>>>
>>> I have found a solution, but I don't know that it is the best:
>>> My solution:
>>>
>>> I have extend my Class with a method which returns the string as a
>>> integer.
>>> And my rule is like this:
>>>
>>> i : Integer( intValue <= 1) from $test.getValue(Test.VALUE_TYP_INTEGER);
>>>
>>> Is that the only/best solution.
>>> Can't I convert Strings to Integer on the LHS of a rule?
>>>
>>> greeting
>>> Daniel
>>>
>>>
>>>
>>>
>>> brenner wrote:
>>>>
>>>> Hi,
>>>>
>>>> I have a class, wich contains a string value. This value is in some use
>>>> cases an integer.
>>>> For this use case I want to convert (parse) the string typ to an
>>>> integer
>>>> because I want that the following rule matches:
>>>>
>>>> rule
>>>> when
>>>> t : Test(value <= 1)
>>>> then
>>>> System.out.println(t)
>>>> end
>>>>
>>>>
>>>> class Test {
>>>>
>>>> String value;
>>>>
>>>> getValue();
>>>> setValue();
>>>>
>>>> }
>>>>
>>>> Have anyone a solution or some help for me?
>>>> Is that possible what I want to do?
>>>>
>>>> Thanks
>>>> Daniel
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/compare-string-and-int-in-LHS-tp15337728p15354435.html
>>> Sent from the drools - user 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://www.nabble.com/compare-string-and-int-in-LHS-tp15337728p16301146.html
Sent from the drools - user mailing list archive at Nabble.com.
More information about the rules-users
mailing list