Dear fellow Droolers,
[Sorry to repeat myself, but I thought this question might have gotten
missed at the bottom of my other one.]
One of my facts' properties, "attributes", is a Map of Map of String.
Unfortunately the second level of keys is sparse. If the attribute I want is
present,
Fact(attributes.KeyOne.KeyTwo == 42)
looks and works great. If KeyTwo is absent, however, I get
org.drools.RuntimeDroolsException: Exception executing predicate attributes.KeyOne.KeyTwo
== 42 [...] Caused by: [Error: unable to resolve method: java.util.HashMap.KeyTwo()
[arglength=0]] [Near : {... Unknown ....}]
The best syntax I've found which is null-safe is
Fact(attributes.KeyOne["KeyTwo"] == 42)
which works but hurts the eyes somewhat. I'm not clear whether MVEL-style
null-safe traversal should work here; my experiments suggest it does not.
Any suggestions?
Thanks,
--
| Dave Schweisguth
http://schweisguth.org/~dave/ |
| Home: dave at
schweisguth.org Work:
http://www.nileguide.com/ |
| For compliance with the NJ Right to Know Act: Contents partially unknown |