Did you tried this?
Client( $lang : language["Japanese"] != null )
This will bind $lang to the value associated with the key "Japanese" on the "languages" map and at the same time check that the value is not null. If you want to explicit test if there is a key "Japanese" in the map, then you can do:
Client( languages.keySet contains "Japanese", $lang : language["Japanese"] )
Edson
2010/8/11 Manav
<manav7574@yahoo.com>
I am new to drools and currently using version 5.1 for my testing.
I am facing an issue with retrieving a value from Map if a key is present
In my drl if i do this
$c : Client (language contains "Japanese" , lang : language ->
(language.get("Japanese").equals("Expert")))
it works ...but if i want to retrieve the value of the key i am not sure how to
go about it . I tried various approaches but none of them worked
i would like to do something like
$c : Client (language contains "Japanese", $langValue :
language.get("Japanese"))
Can some one please guide me how to go about it .
Regards,
Manav
--
Edson Tirelli
JBoss Drools Core Development
JBoss by Red Hat @ www.jboss.com