Rogerio, I don't know what javassist does with your class... if it preserves the object hierarchy (what I think it probably does), then it must work. The only way to find out the reason is with an isolated test case and do some debugging to understand why it is not failing the isAssignableFrom() tests.
[]s Edson 2010/2/5 Rogerio Baldini <[email protected]> > I think you didn't understand my problem. > I don't have any problem related to Java arrays. > My problem is drools is not working with proxy objects. > > I am executing drools rules with one javassist object > (package.MyClass_$$_javassist_2) and drools is not recognizing this object > as package.MyClass and is not executing my rule. > > Thanks, > > Rogério > > > > > -----Mensagem original----- > De: [email protected] > [mailto:[email protected]] Em nome de Wolfgang Laun > Enviada em: sexta-feira, 5 de fevereiro de 2010 14:13 > Para: Rules Users List > Assunto: Re: [rules-users] Problem with proxy objects > > <quote from="Drools Expert Manual"> > Unfortunately a Java array does not implement the Iterable interface, so > we > have to use the JDK converter method Arrays.asList(...). > </quote> > > Try > ksession.execute( Arrays.asList( new Object[] { myObject} ) ); > > -W > > 2010/2/5 Rogerio Baldini <[email protected]>: > > Hi guys, > > > > > > > > I am trying to execute rules passing a proxy object to it. > > > > The object myObject is a javassist proxy object: > > package.MyClass_$$_javassist_2 > > > > > > > > Properties p = new Properties(); > > > > p.put("url", > > "http://localhost:8090/drools-guvnor/org.drools.guvnor.Guvnor/package/ > > pacote/LATEST"); > > > > > > > > RuleAgent agent = RuleAgent.newRuleAgent(p); > > > > RuleBase ruleBase = agent.getRuleBase(); > > > > > > > > StatelessSession ksession = ruleBase.newStatelessSession(); > > > > > > > > ksession.execute(new Object[] {myObject}); > > > > > > > > > > > > So, with this proxy object, my rule is not executed. If I pass a real > > instance, the rule works fine. > > > > > > > > package mypackage; > > > > import package.MyClass; > > > > > > > > global java.util.List list > > > > > > > > rule "Testing" > > > > dialect "java" > > > > when > > > > f: MyClass() > > > > then > > > > System.out.println("Exist "+f.getDay()); > > > > f.setDay("15"); > > > > end > > > > > > > > > > > > Can anybody help me ? > > > > Thanks, > > > > Rogerio > > > > _______________________________________________ > > rules-users mailing list > > [email protected] > > https://lists.jboss.org/mailman/listinfo/rules-users > > > > > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > -- Edson Tirelli JBoss Drools Core Development JBoss by Red Hat @ www.jboss.com
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
