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

Getting runtime exception while I remove a validation Rule in version 5.4

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 5.4.0.Final
    • drools-core
    • None

      I am getting the following exception while removing/disabling a Drool Validation Rule, using Drools Version 5.4.0.FINAL
      i.e when I call - knowledgeBase.removeRule("pkg.trade", "2.8.I23");

      java.util.NoSuchElementException
      at java.util.HashMap$HashIterator.nextEntry(HashMap.java:980)
      at java.util.HashMap$EntryIterator.next(HashMap.java:1018)
      at java.util.HashMap$EntryIterator.next(HashMap.java:1016)
      at org.drools.reteoo.EvalConditionNode.doRemove(EvalConditionNode.java:302)
      at org.drools.common.BaseNode.remove(BaseNode.java:109)
      at org.drools.reteoo.FromNode.doRemove(FromNode.java:440)
      at org.drools.common.BaseNode.remove(BaseNode.java:109)
      at org.drools.reteoo.RightInputAdapterNode.doRemove(RightInputAdapterNode.java:285)
      at org.drools.common.BaseNode.remove(BaseNode.java:109)
      at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:499)
      at org.drools.common.BaseNode.remove(BaseNode.java:109)
      at org.drools.reteoo.RuleTerminalNode.doRemove(RuleTerminalNode.java:358)
      at org.drools.common.BaseNode.remove(BaseNode.java:109)
      at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:261)
      at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:460)
      at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:1107)
      at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:1085)
      at org.drools.impl.KnowledgeBaseImpl.removeRule(KnowledgeBaseImpl.java:210)

      Here is the Rule:
      package pkg.trade;
      rule "2.8.I23"
      when
      $trade : Trade()
      $trdDeskId : Id() from mediator.getTradingDeskId($trade)
      eval(isPositiveId($trdDeskId))
      eval($trdDeskId != null && !mediator.isValidTradingDesk($trdDeskId))
      then
      raiseException(kcontext, $trade, "tradingDeskId", stringValue($trdDeskId));
      end

              mproctor@redhat.com Mark Proctor
              premasis_jira Premasis S (Inactive)
              Archiver:
              rhn-support-ceverson Clark Everson

                Created:
                Updated:
                Archived: