[jboss-jira] [JBoss JIRA] (DROOLS-861) Incremental update causes NPE in TypeDeclarationFactory when declaring interface as @PropertyReactive event.

Duncan Doyle (JIRA) issues at jboss.org
Fri Jul 24 11:11:03 EDT 2015


Duncan Doyle created DROOLS-861:
-----------------------------------

             Summary: Incremental update causes NPE in TypeDeclarationFactory when declaring interface as @PropertyReactive event.
                 Key: DROOLS-861
                 URL: https://issues.jboss.org/browse/DROOLS-861
             Project: Drools
          Issue Type: Bug
          Components: core engine
    Affects Versions: 6.3.0.Beta2
         Environment: Mac OS X 10.10.3, Oracle JDK 1.7.0_79
            Reporter: Duncan Doyle
            Assignee: Mario Fusco


When incrementally updating a KieContainer, the TypeDeclarationFactory throws an NPE when an Interface is declared as an @PropertyReactive event in the new rulebase.

{code}
java.lang.NullPointerException
	at org.drools.compiler.builder.impl.TypeDeclarationFactory.compareTypeDeclarations(TypeDeclarationFactory.java:214)
	at org.drools.compiler.builder.impl.TypeDeclarationFactory.checkRedeclaration(TypeDeclarationFactory.java:152)
	at org.drools.compiler.builder.impl.TypeDeclarationBuilder.createBean(TypeDeclarationBuilder.java:235)
	at org.drools.compiler.builder.impl.TypeDeclarationBuilder.processTypeDeclarations(TypeDeclarationBuilder.java:128)
	at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildTypeDeclarations(CompositeKnowledgeBuilderImpl.java:333)
	at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildPackages(CompositeKnowledgeBuilderImpl.java:117)
	at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:105)
	at org.drools.compiler.kie.builder.impl.KieContainerImpl.rebuildAll(KieContainerImpl.java:369)
	at org.drools.compiler.kie.builder.impl.KieContainerImpl.update(KieContainerImpl.java:207)
	at org.drools.compiler.kie.builder.impl.KieContainerImpl.updateToVersion(KieContainerImpl.java:128)
	at org.jboss.ddoyle.drools.IncrementalUpdateTest.test(IncrementalUpdateTest.java:48)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75){code}

See reproducer here: https://github.com/DuncanDoyle/drools-declare-interface-incremental-update-issue/
Simply run {{mvn clean test}}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the jboss-jira mailing list