[jboss-jira] [JBoss JIRA] Created: (JBRULES-1364) Drl parser 'or'

Stjepan Cvitanoviᅣヌ (JIRA) jira-events at lists.jboss.org
Thu Dec 6 08:13:52 EST 2007


Drl parser 'or'
---------------

                 Key: JBRULES-1364
                 URL: http://jira.jboss.com/jira/browse/JBRULES-1364
             Project: JBoss Drools
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Drl Parser/Builder
    Affects Versions: 4.0.3, 4.0.2, 4.0.1,  4.0.0.GA
            Reporter: Stjepan Cvitanoviᅣヌ


I've tried to run this on the latest version of drools (4.0.3) but I get an error:
applyOrTransformation could not find transformation for parent 'OR' and child 'OR'
java.lang.RuntimeException: applyOrTransformation could not find transformation for parent 'OR' and child 'OR'
    at org.drools.rule.LogicTransformer.applyOrTransformation(LogicTransformer.java:148)
    at org.drools.rule.LogicTransformer.processTree(LogicTransformer.java:140)
    at org.drools.rule.LogicTransformer.transform(LogicTransformer.java:76)
    at org.drools.rule.Rule.getTransformedLhs(Rule.java:419)
    at org.drools.reteoo.builder.ReteooRuleBuilder.addRule(ReteooRuleBuilder.java:102)
    at org.drools.reteoo.ReteooBuilder.addRule(ReteooBuilder.java:116)
    at org.drools.reteoo.ReteooRuleBase.addRule(ReteooRuleBase.java :268)
    at org.drools.common.AbstractRuleBase.addPackage(AbstractRuleBase.java:337)
    at hr.combis.rule.editor.tester.RuleTesterFDAImpl.createRuleBase(RuleTesterFDAImpl.java:210)
    at hr.combis.rule.editor.tester.RuleTesterFDAImpl.init (RuleTesterFDAImpl.java:159)
    at hr.combis.rule.editor.testing.TestingExecutor.run(TestingExecutor.java:129)
    at java.lang.Thread.run(Thread.java:595)
this is what the rule looks like:

wine : Wine(color == "red")
or
(
    cheese : Cheese(smelly == "yes")
    and
        (
            person : Person(height == 12, fovouriteCheese == cheese)
            or
            person : Person(height == 13, fovouriteCheese == cheese)
        )
)

the rule looks perfectly sensical to me. If I change it to this (which, btw. looks non-sensical)
wine : Wine(color == "red")
or
(
    cheese : Cheese(smelly == "yes")
    or
        (
            person : Person(height == 12, fovouriteCheese == cheese)
            and
            person : Person(height == 13, fovouriteCheese == cheese)
        )
)


I'm not saying the second one shouldn't work(I fail to make the sense of it however), but it looks to me, the first one should.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       




More information about the jboss-jira mailing list