What error are you getting?

    I just tested this in MVELSH and it works:

mvel$ map["outerKey"]["innerKey"]
OUT: innerValue

    []s
    Edson


2007/7/24, Felipe Piccolini <felipe.piccolini@bluesoft.cl>:
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.





_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users




--
  Edson Tirelli
  Software Engineer - JBoss Rules Core Developer
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com