[jboss-jira] [JBoss JIRA] (JBRULES-3377) drools modify command mvel exception
Mario Fusco (JIRA)
jira-events at lists.jboss.org
Fri Feb 3 10:04:49 EST 2012
Mario Fusco created JBRULES-3377:
------------------------------------
Summary: drools modify command mvel exception
Key: JBRULES-3377
URL: https://issues.jboss.org/browse/JBRULES-3377
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Mario Fusco
Assignee: Mario Fusco
Following exception occurs when trying to execute modify command on stateful
session:
{ with (this) {
age = 30
,name = Frank
,id = 0
,likes = nobody
} }
Exception in thread "main" [Error: unable to resolve method:
com.redhat.modifyreproducer.Person.Frank() [arglength=0]]
[Near : {... ,name = Frank ....}]
^
[Line: 5, Column: 1]
at org.mvel2.PropertyAccessor.getMethod(PropertyAccessor.java:977)
at org.mvel2.PropertyAccessor.getBeanProperty(PropertyAccessor.java:687)
at org.mvel2.PropertyAccessor.getNormal(PropertyAccessor.java:202)
at org.mvel2.PropertyAccessor.get(PropertyAccessor.java:171)
at org.mvel2.PropertyAccessor.get(PropertyAccessor.java:151)
at org.mvel2.ast.ASTNode.getReducedValue(ASTNode.java:185)
at
org.mvel2.MVELInterpretedRuntime.parseAndExecuteInterpreted(MVELInterpretedRuntime.java:106)
at org.mvel2.MVELInterpretedRuntime.parse(MVELInterpretedRuntime.java:49)
at org.mvel2.MVEL.eval(MVEL.java:408)
at org.mvel2.util.ParseTools.parseWithExpressions(ParseTools.java:1591)
at org.mvel2.ast.WithNode.getReducedValue(WithNode.java:75)
at
org.mvel2.MVELInterpretedRuntime.parseAndExecuteInterpreted(MVELInterpretedRuntime.java:106)
at org.mvel2.MVELInterpretedRuntime.parse(MVELInterpretedRuntime.java:49)
at org.mvel2.MVEL.eval(MVEL.java:109)
at
org.drools.command.runtime.rule.ModifyCommand.execute(ModifyCommand.java:79)
at
org.drools.impl.StatefulKnowledgeSessionImpl.execute(StatefulKnowledgeSessionImpl.java:798)
at
org.drools.impl.StatefulKnowledgeSessionImpl.execute(StatefulKnowledgeSessionImpl.java:781)
at com.redhat.modifyreproducer.Main.test(Main.java:52)
at com.redhat.modifyreproducer.Main.main(Main.java:30)
------------------------------------------------------------------------------
First, fact is inserted into the session, next step is creating Modify command
with setter list:
Person p1 = new Person("John", "nobody", 25);
session.execute(CommandFactory.newInsert(p1));
FactHandle fh = session.getFactHandle(p1);
Person p = new Person("Frank", "nobody", 30);
List<Setter> setterList = new ArrayList<Setter>();
setterList.add(CommandFactory.newSetter("age",
String.valueOf(p.getAge())));
setterList.add(CommandFactory.newSetter("name", p.getName()));
setterList.add(CommandFactory.newSetter("likes", p.getLikes()));
setterList.add(CommandFactory.newSetter("id",
String.valueOf(p.getId())));
session.execute(CommandFactory.newModify(fh, setterList));
See an attachment for the details, just build as maven project and run.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list