All this sounds eerily similar to the problem I am reporting. In the
4.0version 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(a)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(a)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@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users