<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">I found that if you explicitly import the class, it can resolve the issue - instead of relying on package imports.<div><br></div><div>Mark<br><div><div>On 18 Nov 2013, at 18:31, Mark Proctor <<a href="mailto:mproctor@codehaus.org">mproctor@codehaus.org</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">I think it depends on the system. When we have symbols it attempts to see if they are classes are not, on some systems the file system does not recognise type and can get confused.<div><br></div><div>Mark<br><div><br></div><div><br><div><div>On 18 Nov 2013, at 15:17, Alexander Herwix <<a href="mailto:alex@herwix.com">alex@herwix.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">I actually got it to compile and work by prefixing the new var with $. Maybe it's a bug where the parser/compiler messes up, when a variable has no prefix and the same name as a class but in lowercase?! Is this even possible?<div><br></div><div>Anyway if someone has a similar problem, maybe this helps :)</div><div><br></div><div>Cheers, Alex<br><div><br></div><div><br><div><div>Am 18.11.2013 um 14:13 schrieb Martin Minka <<a href="mailto:martin.minka@gmail.com">martin.minka@gmail.com</a>>:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">I had similar problem and it was solved in 6.0.0.CR5.<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/11/18 Alexander Herwix <span dir="ltr"><<a href="mailto:alex@herwix.com" target="_blank">alex@herwix.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey guys,<br>
<br>
using Drools 6 RC4. I have a simple rule which should cast an object into a specialized object (if it is indeed a specialization) and insert that into the session.<br>
<br>
rule "Obj is SpecialObject"<br>
salience 201<br>
when<br>
<br>
$mainObj : MainObj(obj.class == SpecialObject.class, $obj : obj)<br>
then<br>
System.out.println("Obj is SpecialObj");<br>
<br>
SpecialObj specialObj = (SpecialObj) $obj;<br>
insert(specialObj);<br>
end<br>
<br>
This rule doesn't even compile and I get a nasty error: NoClassDefFoundError: com/iterranux/droolsjbpmHumanTask/domain/team__I (wrong name: com/iterranux/droolsjbpmHumanTask/domain/Team__I).<br>
<br>
I mean it looks like the Class is present, but somehow it's lowercased somewhere. It's weird I can use some other obj but this doesn't work. Anyone seen something like this before? Maybe some other way to do what I want to do? I tried to declare a trait and don that obj with that but same result.<br>
<br>
Another question would be if it is really necessary to insert the object as a new fact, or could I access the nested property directly in a rule and typecast it there somehow?<br>
<br>
Cheers, Alex<br>
<br>
Error java.lang.RuntimeException: Reloading agent exited via exception, please raise a jira<br>
| Error at org.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:104)<br>
| Error at sun.instrument.TransformerManager.transform(TransformerManager.java:188)<br>
| Error at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)<br>
| Error at java.lang.ClassLoader.defineClass1(Native Method)<br>
| Error at java.lang.ClassLoader.defineClass(ClassLoader.java:791)<br>
| Error at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)<br>
| Error at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)<br>
| Error at java.net.URLClassLoader.access$100(URLClassLoader.java:71)<br>
| Error at java.net.URLClassLoader$1.run(URLClassLoader.java:361)<br>
| Error at java.net.URLClassLoader$1.run(URLClassLoader.java:355)<br>
| Error at java.security.AccessController.doPrivileged(Native Method)<br>
| Error at java.net.URLClassLoader.findClass(URLClassLoader.java:354)<br>
| Error at java.lang.ClassLoader.loadClass(ClassLoader.java:423)<br>
| Error at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:648)<br>
| Error at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:758)<br>
| Error at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:746)<br>
| Error at java.lang.Class.forName0(Native Method)<br>
| Error at java.lang.Class.forName(Class.java:266)<br>
| Error at org.drools.core.common.ProjectClassLoader.loadClass(ProjectClassLoader.java:80)<br>
| Error at java.lang.ClassLoader.loadClass(ClassLoader.java:356)<br>
| Error at java.lang.Class.forName0(Native Method)<br>
| Error at java.lang.Class.forName(Class.java:266)<br>
| Error at org.mvel2.ParserConfiguration.checkForDynamicImport(ParserConfiguration.java:163)<br>
| Error at org.mvel2.ParserConfiguration.hasImport(ParserConfiguration.java:191)<br>
| Error at org.mvel2.ParserContext.hasImport(ParserContext.java:360)<br>
| Error at org.mvel2.compiler.AbstractParser.createPropertyToken(AbstractParser.java:1341)<br>
| Error at org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:846)<br>
| Error at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)<br>
| Error at org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)<br>
| Error at org.mvel2.MVEL.analyze(MVEL.java:680)<br>
| Error at org.mvel2.compiler.PropertyVerifier.getMethod(PropertyVerifier.java:536)<br>
| Error at org.mvel2.compiler.PropertyVerifier.analyze(PropertyVerifier.java:120)<br>
| Error at org.mvel2.compiler.ExpressionCompiler.verify(ExpressionCompiler.java:381)<br>
| Error at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:273)<br>
| Error at org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)<br>
| Error at org.mvel2.MVEL.analyze(MVEL.java:680)<br>
| Error at org.mvel2.MVEL.analyze(MVEL.java:685)<br>
| Error at org.drools.compiler.rule.builder.dialect.mvel.MVELExprAnalyzer.analyzeExpression(MVELExprAnalyzer.java:114)<br>
| Error at org.drools.compiler.rule.builder.dialect.mvel.MVELDialect.analyzeBlock(MVELDialect.java:539)<br>
| Error at org.drools.compiler.rule.builder.dialect.mvel.MVELConsequenceBuilder.build(MVELConsequenceBuilder.java:130)<br>
| Error at org.drools.compiler.rule.builder.RuleBuilder.build(RuleBuilder.java:103)<br>
| Error at org.drools.compiler.compiler.PackageBuilder.addRule(PackageBuilder.java:3160)<br>
| Error at org.drools.compiler.compiler.PackageBuilder.compileRules(PackageBuilder.java:1047)<br>
| Error at org.drools.compiler.compiler.PackageBuilder.compileAllRules(PackageBuilder.java:952)<br>
| Error at org.drools.compiler.compiler.CompositeKnowledgeBuilderImpl.buildRules(CompositeKnowledgeBuilderImpl.java:231)<br>
| Error at org.drools.compiler.compiler.CompositeKnowledgeBuilderImpl.buildPackages(CompositeKnowledgeBuilderImpl.java:86)<br>
| Error at org.drools.compiler.compiler.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:75)<br>
| Error at org.drools.compiler.kie.builder.impl.AbstractKieModule.buildKnowledgePackages(AbstractKieModule.java:201)<br>
| Error at org.drools.compiler.kie.builder.impl.AbstractKieProject.verify(AbstractKieProject.java:39)<br>
| Error at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject(KieBuilderImpl.java:305)<br>
| Error at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:187)<br>
| Error at com.iterranux.droolsjbpmCore.runtime.build.impl.KieModuleBuilder.buildKmoduleForGrailsModule(KieModuleBuilder.java:127)<br>
| Error at com.iterranux.droolsjbpmCore.runtime.build.impl.KieModuleBuilder.buildKmoduleForGrailsModule(KieModuleBuilder.java:148)<br>
| Error at com.iterranux.droolsjbpmCore.runtime.build.impl.KieModuleBuilder$buildKmoduleForGrailsModule.call(Unknown Source)<br>
| Error at DroolsjbpmCoreGrailsPlugin$_closure7.doCall(DroolsjbpmCoreGrailsPlugin.groovy:386)<br>
| Error at sun.reflect.GeneratedMethodAccessor992.invoke(Unknown Source)<br>
| Error at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
| Error at java.lang.reflect.Method.invoke(Method.java:601)<br>
| Error at org.springsource.loaded.ri.OriginalClassInvoker.invoke(OriginalClassInvoker.java:47)<br>
| Error at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1283)<br>
| Error at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br>
| Error at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br>
| Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)<br>
| Error at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110)<br>
| Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)<br>
| Error at groovy.lang.Closure.call(Closure.java:411)<br>
| Error at DroolsjbpmCoreGrailsPlugin$_closure7.call(DroolsjbpmCoreGrailsPlugin.groovy)<br>
| Error at org.codehaus.groovy.grails.plugins.DefaultGrailsPlugin.invokeOnChangeListener(DefaultGrailsPlugin.java:767)<br>
| Error at org.codehaus.groovy.grails.plugins.DefaultGrailsPlugin.notifyOfEvent(DefaultGrailsPlugin.java:716)<br>
| Error at org.codehaus.groovy.grails.plugins.DefaultGrailsPlugin.notifyOfEvent(DefaultGrailsPlugin.java:731)<br>
| Error at org.codehaus.groovy.grails.plugins.AbstractGrailsPluginManager.informOfClassChange(AbstractGrailsPluginManager.java:406)<br>
| Error at org.codehaus.groovy.grails.plugins.AbstractGrailsPluginManager.informOfFileChange(AbstractGrailsPluginManager.java:367)<br>
| Error at org.codehaus.groovy.grails.compiler.GrailsProjectWatcher.informPluginManager(GrailsProjectWatcher.java:243)<br>
| Error at org.codehaus.groovy.grails.compiler.GrailsProjectWatcher.access$400(GrailsProjectWatcher.java:46)<br>
| Error at org.codehaus.groovy.grails.compiler.GrailsProjectWatcher$1.onChange(GrailsProjectWatcher.java:154)<br>
| Error at org.codehaus.groovy.grails.compiler.DirectoryWatcher.fireOnChange(DirectoryWatcher.java:174)<br>
| Error at org.codehaus.groovy.grails.compiler.DirectoryWatcher.run(DirectoryWatcher.java:156)<br>
| Error at org.codehaus.groovy.grails.compiler.GrailsProjectWatcher.run(GrailsProjectWatcher.java:178)<br>
| Error at java_lang_Runnable$run.call(Unknown Source)<br>
| Error at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)<br>
| Error at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)<br>
| Error at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)<br>
| Error at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProcess.startProjectWatcher(ForkedGrailsProcess.groovy:702)<br>
| Error at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
| Error at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
| Error at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
| Error at java.lang.reflect.Method.invoke(Method.java:601)<br>
| Error at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1254)<br>
| Error at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br>
| Error at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br>
| Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)<br>
| Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)<br>
| Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1030)<br>
| Error at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110)<br>
| Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)<br>
| Error at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)<br>
| Error at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)<br>
| Error at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)<br>
| Error at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:145)<br>
| Error at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProcess$_setupReloading_closure16.doCall(ForkedGrailsProcess.groovy:691)<br>
| Error at org.codehaus.groovy.grails.cli.fork.ForkedGrailsProcess$_setupReloading_closure16.doCall(ForkedGrailsProcess.groovy)<br>
| Error at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
| Error at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)<br>
| Error at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
| Error at java.lang.reflect.Method.invoke(Method.java:601)<br>
| Error at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1254)<br>
| Error at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)<br>
| Error at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)<br>
| Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1085)<br>
| Error at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1110)<br>
| Error at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:909)<br>
| Error at groovy.lang.Closure.call(Closure.java:411)<br>
| Error at groovy.lang.Closure.call(Closure.java:405)<br>
| Error at groovy.lang.Closure.run(Closure.java:492)<br>
| Error at java.lang.Thread.run(Thread.java:722)<br>
| Error Caused by: org.springsource.loaded.ReloadException: Problem defining class com.iterranux.droolsjbpmHumanTask.domain.team__I<br>
| Error at org.springsource.loaded.TypeRegistry.defineClass(TypeRegistry.java:1076)<br>
| Error at org.springsource.loaded.ReloadableType.rewriteCallSitesAndDefine(ReloadableType.java:807)<br>
| Error at org.springsource.loaded.ReloadableType.<init>(ReloadableType.java:151)<br>
| Error at org.springsource.loaded.TypeRegistry.addType(TypeRegistry.java:889)<br>
| Error at org.springsource.loaded.agent.SpringLoadedPreProcessor.preProcess(SpringLoadedPreProcessor.java:246)<br>
| Error at org.springsource.loaded.agent.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:102)<br>
| Error ... 114 more<br>
| Error Caused by: java.lang.reflect.InvocationTargetException<br>
| Error at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)<br>
| Error at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>
| Error at java.lang.reflect.Method.invoke(Method.java:601)<br>
| Error at org.springsource.loaded.TypeRegistry.defineClass(TypeRegistry.java:1071)<br>
| Error ... 119 more<br>
| Error Caused by: java.lang.NoClassDefFoundError: com/iterranux/droolsjbpmHumanTask/domain/team__I (wrong name: com/iterranux/droolsjbpmHumanTask/domain/Team__I)<br>
| Error at java.lang.ClassLoader.defineClass1(Native Method)<br>
| Error at java.lang.ClassLoader.defineClass(ClassLoader.java:791)<br>
| Error at java.lang.ClassLoader.defineClass(ClassLoader.java:634)<br>
| Error ... 123 more<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</blockquote></div><br></div>
_______________________________________________<br>rules-users mailing list<br><a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a></blockquote></div><br></div></div></div>_______________________________________________<br>rules-users mailing list<br><a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a></blockquote></div><br></div></div></div></blockquote></div><br></div></body></html>