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

Mario Fusco (JIRA) issues at jboss.org
Tue Aug 4 09:12:06 EDT 2015


     [ https://issues.jboss.org/browse/DROOLS-861?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mario Fusco resolved DROOLS-861.
--------------------------------
    Fix Version/s: 6.3.0.Final
       Resolution: Done


Fixed by https://github.com/droolsjbpm/drools/commit/8e3669714

> 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
>             Fix For: 6.3.0.Final
>
>
> 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