Map() in the .drl file is bound to be interpreted as Map<Object,Object> so
that a Map.get() returns an Object. To be able to call method
getSomeMethod() you'd have to cast this result, according to
((SomeClass)$map.get("x")).getSomeMethod()
I fail to understand how this could ever be avoided - strict or no strict,
MVEL or not MVEL.
-W
2009/10/2 Vladimir Perlov <vladperl(a)hotmail.com>
Hi Wolfgang,
Thank you very much for quick response!
I tried your suggestion and still getting the following error:
Unable to build expression for 'consequence': Failed to compile: 1
compilation error(s): - (1,29) unable to resolve method using strict-mode:
java.lang.Object.getSomeMethod() '
System.out.println($map.get("x").getSomeMethod()); ' : [Rule
name='TEST'] At
least now I have only 1 compilation error comparing to the previous variant.
modified rule:
rule "TEST"
dialect "mvel"
when
$map : Map()
then
System.out.println($map.get("x").getSomeMethod());
end
I believe that problem is related to strict-mode that somehow enforced on
Linux but not on Windows.
I tried to remove the strict mode using the the following approach but it
seems don't have any effect.
We have web application with many drools rules and it's working on Windows
but when we deployed the same application to Linux we are getting failed
compile errors ;)
KnowledgeBuilderConfiguration config =
KnowledgeBuilderFactory.newKnowledgeBuilderConfiguration();
config.setProperty("drools.dialect.mvel.strict", "false");
kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(config);
Please advise me.
By the way I'm using drools 5.0.1
------------------------------
Date: Fri, 2 Oct 2009 18:30:25 +0200
From: wolfgang.laun(a)gmail.com
To: rules-users(a)lists.jboss.org
Subject: Re: [rules-users] unable to resolve method using strict-mode
2009/10/2 Vladimir Perlov <vladperl(a)hotmail.com>
Here is the rule that failed to compile on Linux:
rule "TEST"
dialect "mvel" Send
when
map : Map()
$map : Map()
or omit '$' in the consequence.
-W
then
System.out.println($map.get("x").getSomeMethod());
end
------------------------------
Lauren found her dream laptop. Find the PC that’s right for
you.<http://www.microsoft.com/windows/choosepc/?ocid=ftp_val_wl_290>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users