Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-759

CLONE -Unable to add package after it was added and removed

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

Details

    Description

      Unable remove a rule package when it was added after it has been added and removed.
      I have seen the issue JBRULES-358. My test go a little far than JBRULES-358.
      I remove the package again when it was added for the seconn time, then an exception was thrown.

      My test case is:

      public void testRuleBaseRemove() throws Exception

      { RuleBase ruleBase = RuleBaseFactory.newRuleBase(); File file = new File("test.drl"); //add and remove PackageBuilder builder = new PackageBuilder(); builder.addPackageFromDrl(new FileReader(file)); Package pkg = builder.getPackage(); ruleBase.addPackage(pkg); ruleBase.removePackage(pkg.getName()); //add and remove again builder = new PackageBuilder(); builder.addPackageFromDrl(new FileReader(file)); pkg = builder.getPackage(); ruleBase.addPackage(pkg); ruleBase.removePackage(pkg.getName()); }

      the exception is throw:

      java.lang.NullPointerException
      at org.drools.reteoo.HashedObjectSinkList.remove(HashedObjectSinkList.java:102)
      at org.drools.reteoo.ObjectTypeNode.remove(ObjectTypeNode.java:245)
      at org.drools.reteoo.AlphaNode.remove(AlphaNode.java:211)
      at org.drools.reteoo.AlphaNode.remove(AlphaNode.java:211)
      at org.drools.reteoo.LeftInputAdapterNode.remove(LeftInputAdapterNode.java:285)
      at org.drools.reteoo.TerminalNode.remove(TerminalNode.java:297)
      at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:589)
      at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:244)
      at org.drools.common.AbstractRuleBase.removePackage(AbstractRuleBase.java:338)
      at com.zte.ums.uep.pal.fm.osf.rules.core.RuleBaseTest.testRuleBaseRemove(RuleBaseTest.java:71)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at junit.framework.TestCase.runTest(TestCase.java:154)
      at junit.framework.TestCase.runBare(TestCase.java:127)
      at junit.framework.TestResult$1.protect(TestResult.java:106)
      at junit.framework.TestResult.runProtected(TestResult.java:124)
      at junit.framework.TestResult.run(TestResult.java:109)
      at junit.framework.TestCase.run(TestCase.java:118)
      at junit.framework.TestSuite.runTest(TestSuite.java:208)
      at junit.framework.TestSuite.run(TestSuite.java:203)
      at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
      at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
      at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

      Attachments

        Activity

          People

            etirelli@redhat.com Edson Tirelli
            abrugger_jira Brugger Antony (Inactive)
            Archiver:
            rhn-support-ceverson Clark Everson

            Dates

              Created:
              Updated:
              Resolved:
              Archived:

              PagerDuty