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

org.mvel.CompileException: variable already defined within scope

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 4.0.4, 5.0.0.M1
    • 4.0.3
    • None
    • None

      Reported by Alexander Bagerman.

      The following rule and code snippet raises the problem:

      rule "rule"
      dialect "mvel"
      when
      $p : Person( $likes : likes )
      then
      Cheese c = new Cheese( $likes );
      System.out.println( $p + " -> " + c );
      insert( c );
      end

      // snippet
      Person bob = new Person( "Bob", "stilton" );
      Person mark = new Person( "Mark", "brie" );
      workingMemory.insert( bob );
      workingMemory.insert( mark );
      workingMemory.fireAllRules();

      The exception is:

      Caused by: org.mvel.CompileException: variable already defined within scope: class com.sample.Cheese c
      at org.drools.base.mvel.DroolsMVELFactory.createVariable(DroolsMVELFactory.java:218)
      at org.mvel.ast.TypedVarNode.getReducedValueAccelerated(TypedVarNode.java:43)
      at org.mvel.MVELRuntime.execute(MVELRuntime.java:88)
      at org.mvel.CompiledExpression.getValue(CompiledExpression.java:108)
      at org.mvel.MVEL.executeExpression(MVEL.java:235)
      at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:47)
      at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:550)

            etirelli@redhat.com Edson Tirelli
            etirelli@redhat.com Edson Tirelli
            Archiver:
            rhn-support-ceverson Clark Everson

              Created:
              Updated:
              Resolved:
              Archived: