Suppouse I have a Map attribute and one of the values is another Map...how can I check a member of the inner Map?

class MyFact{
     Map map;
     public MyFact(){
           this.map = new HashMap();
     }

     ....setter and getter...

}

-- test --
MyFact myFact = new MyFact();

Map innerMap = new HashMap();
innerMap.put("innerKey", new String("InnerValue"));

Map map = new HashMap();
map.put("mapKey", innerMap);

myFact.setMap(map);

.... set the RuleBase and insert myFact as a fact for the WorkingMemory...

-------

Now... how should I write the rule to check the innerKey ??

rule "test InnerMap"
     when
$mf: MyFact( map['mapKey']['innerKey'] == "InnerValue" ) // doesnt work...
    ....

$mf: MyFact( map['mapKey'].this['innerKey'] == "InnerValue" ) // doesnt work... $mf: MyFact( map['mapKey'].['innerKey'] == "InnerValue" ) // doesnt work... $mf: MyFact( $innerMap: map['mapKey'], $innerMap['innerKey'] == "InnerValue" ) // doesnt work... $mf: MyFact( $innerMap: map['mapKey'] -> ($innerMap ['innerKey'] == "InnerValue" )) // doesnt work...


Thanks.

Felipe Piccolini M.
[EMAIL PROTECTED]




_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to