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

Reply via email to