[rules-users] Unresolved Object Reference

Edson Tirelli tirelli at post.com
Fri Jul 6 10:01:48 EDT 2007


   Suggestion is to try the latest source code with the fixes.

   You can get the latest successful build from here:

http://cruisecontrol.jboss.com/cc/artifacts/jboss-rules

   Or you can checkout source code from the repository and with Maven2
installed, just type: "mvn clean install" in the command line.

   []s
   Edson


2007/7/6, Narendra Valada <narendra.valada at gmail.com>:
>
> Hello,
>
> Any ideas on what might be causing the error I am seeing? I seem to get
> this error only on inner classes that are defined within other inner
> classes. We have some fairly complex schemas for which XML Beans generates
> deeply nested hierarchies of inner classes.
>
> Any suggestions would be welcome.
>
> Thanks,
>
> Narendra
>
>
> On 7/5/07, Edson Tirelli <tirelli at post.com> wrote:
> >
> >
> >    There was a problem with CGLIB proxies much similar to this... so
> > probably the same problem.
> >
> >    What happens is that to shadow a fact, drools needs to extend the
> > actual class being asserted, and override the equals and hashcode methods.
> > So, the class can't be final, nor these methods can be final. Previously I
> > wasn't checking for final on these methods and that was the reason for the
> > error.
> >
> >    I fixed that in trunk. It means, if XML Beans are generating methods
> > equals/hashCode as final, drools won't be able to shadow them (and so will
> > automatically disable shadowing for them), but it will not raise the error
> > anymore.
> >
> >    Let me know if it is still a problem for you in trunk.
> >
> >     []s
> >     Edson
> >
> > 2007/7/5, Ronald R. DiFrango <ron.difrango at gmail.com >:
> > >
> > > All this sounds eerily similar to the problem I am reporting.  In the
> > > 4.0 version I am getting the following exception on those inner
> > > classes:
> > >
> > > Exception in thread "main" java.lang.VerifyError: class
> > > com.circuitcity.rtvcrms.impl.DetailLineDocumentImpl$DetailLineImplShadowProxyoverrides final method ã Ý*h '+ .û Ý*h '+
> > >     at java.lang.ClassLoader.defineClass1 (Native Method)
> > >     at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> > >     at java.lang.ClassLoader.defineClass (ClassLoader.java:465)
> > >     at org.drools.rule.MapBackedClassLoader.fastFindClass(
> > > MapBackedClassLoader.java :40)
> > >     at org.drools.rule.MapBackedClassLoader.loadClass(
> > > MapBackedClassLoader.java:59)
> > >     at java.lang.ClassLoader.loadClass (ClassLoader.java:251)
> > >     at org.drools.reteoo.Rete$ObjectTypeConf.<init>(Rete.java :352)
> > >     at org.drools.reteoo.Rete.assertObject(Rete.java:152)
> > >     at org.drools.reteoo.ReteooRuleBase.assertObject(
> > > ReteooRuleBase.java :190)
> > >     at org.drools.reteoo.ReteooWorkingMemory.doInsert(
> > > ReteooWorkingMemory.java :70)
> > >     at org.drools.common.AbstractWorkingMemory.insert(
> > > AbstractWorkingMemory.java:772)
> > >     at org.drools.common.AbstractWorkingMemory.insert (
> > > AbstractWorkingMemory.java:584)
> > >     at
> > > com.circuitcity.rtvcrms.rules.RtvDecisionEngine.processDetailLines (
> > > RtvDecisionEngine.java:95)
> > >     at com.circuitcity.rtvcrms.rules.RtvDecisionEngine.executeRules(
> > > RtvDecisionEngine.java :64)
> > >     at com.circuitcity.rtvcrms.test.MainBasedTester.main(
> > > MainBasedTester.java:34)
> > >
> > > The catch is that XML Beans objects are auto generated based upon and
> > > XSD and we have limited control over what gets generated.
> > >
> > > On 7/5/07, Narendra Valada < narendra.valada at gmail.com > wrote:
> > > >
> > > > Thank you for your quick response.
> > > >
> > > > I cannot make the Outer class static and public since it is not an
> > > > inner class.
> > > >
> > > > In my example, I have two inner classes : Inner and InnerInner.
> > > >
> > > > Class Inner is enclosed by Outer and class InnerInner is enclosed by
> > > > Inner. I get the "Unable to resolve object type"  error only on the
> > > > "InnerInner" class and not on the "Inner" class.
> > > >
> > > > Both the inner classes are defined as non-static.
> > > >
> > > > Thanks,
> > > >
> > > > Narendra
> > > >
> > > >
> > > >
> > > > On 7/5/07, Mark Proctor <mproctor at codehaus.org > wrote:
> > > > >
> > > > > you need to make your Outer class static and public. Look at the
> > > > > sample generated with a new drools project, that uses a static public class.
> > > > >
> > > > > Mark
> > > > > Narendra Valada wrote:
> > > > >
> > > > > ** *Hello,*
> > > > > * *
> > > > > *I am getting an "Unable to resolve object type" error on certain
> > > > > XML Bean generated inner classes. I get this error only on inner classes
> > > > > that have been defined within other inner classes. Please see example below.
> > > > > *
> > > > > * *
> > > > > *Is this a known limitation of JBoss Rules (I am using JBOSS Rules
> > > > > 3.0.6) or the JANINO compiler?*
> > > > > * *
> > > > > *Thanks.*
> > > > > *
> > > > >
> > > > > package
> > > > > *
> > > > > *com.sample;
> > > > >
> > > > > public
> > > > > class Outer{     public class Inner {     public boolean inner =
> > > > > false;         public class InnerInner {
> > > > >
> > > > >         }
> > > > >
> > > > >      }
> > > > >
> > > > > }
> > > > > * *package*
> > > > > com.sample *
> > > > >
> > > > > import
> > > > > *com.sample.Outer1.Inner.InnerInner; *
> > > > >
> > > > > rule
> > > > > *"Hello World 1" *when*
> > > > >
> > > > > InnerInner()
> > > > > *then*
> > > > >
> > > > > System.out.println(
> > > > > "");*
> > > > >
> > > > > end
> > > > > *
> > > > >
> > > > > ------------------------------
> > > > >
> > > > > _______________________________________________
> > > > > rules-users mailing list
> > > > > rules-users at lists.jboss.org
> > > > >
> > > > > https://lists.jboss.org/mailman/listinfo/rules-users
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > rules-users mailing list
> > > > > rules-users at lists.jboss.org
> > > > > https://lists.jboss.org/mailman/listinfo/rules-users
> > > > >
> > > > >
> > > >
> > > > _______________________________________________
> > > > rules-users mailing list
> > > > rules-users at lists.jboss.org
> > > > https://lists.jboss.org/mailman/listinfo/rules-users
> > > >
> > > >
> > >
> > > _______________________________________________
> > > rules-users mailing list
> > > rules-users at lists.jboss.org
> > > https://lists.jboss.org/mailman/listinfo/rules-users
> > >
> > >
> >
> >
> > --
> >   Edson Tirelli
> >   Software Engineer - JBoss Rules Core Developer
> >   Office: +55 11 3529-6000
> >   Mobile: +55 11 9287-5646
> >   JBoss, a division of Red Hat @ www.jboss.com
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> >
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>


-- 
  Edson Tirelli
  Software Engineer - JBoss Rules Core Developer
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20070706/617e9a4a/attachment.html 


More information about the rules-users mailing list