better still using in-line eval: when $c: Computer(memory!=null && memory.value == "128") then doSomething();
The owners / contributers to the drools-expert code base can comment: Is the check for null necessary when using nested accessors??? Is this something that the engine can take care during evaluation ??? -Visu Visu Nageswaran wrote: > > Modifying the eval expression to include a check for NULL got it working: > > when > $c: Computer() > eval( $c.getMemory()!=null && $c.getMemory().getValue().equals("512") ) > then > System.out.println("XXXXXXXX THIS IS IT XXXXXXXXXXX" ); > end > > > > Visu Nageswaran wrote: >> >> Hello, I am posting a simpler version of the actual requirement: >> Class Computer has a field 'memory' of the enum type 'Memory' which is >> defined over integer values >> - - - - - - - - - - >> public enum Memory{ >> MEM1(512), MEM2(1024), MEM3(2048); >> public int value; >> Memory(int i){this.value = i;} >> public int getValue(){return value;} >> } >> - - - - - - - - - - >> There is a requirement to model a decision table between memory and price >> I am looking for the field constraint on the memory field to match to the >> values: >> >> memory.???--> Price >> 512 --> 100 >> 1024 --> 200 >> 2048 --> 300 >> >> I tried memory.name, memory.name(), memory.value, memory.getValue(); Does >> this have to be done using template expressions say something like memory >> == Memory.reverseLookupEnum($param) >> >> Any help, pointers in this regard would be appreciated. thanks. >> -Visu >> > > -- View this message in context: http://www.nabble.com/Using-field-values-of-an-ENUM-in-the-decision-table-tp24391112p24437611.html Sent from the drools - user mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users