Hi folks,

From the "Should I be loading a JIRA or have I just mucked up?" files:

The following import line makes all of the functions in that class available from ctrl-space for rules marked with both Mvel and Java (and not specified) dialects

import function bnz.btt.mylend.common.model.utils.DecisionHelper.*;

It compiles fine, and runs fine from any class _not_ marked as dialect "mvel"

However when I actually execute any of those functions from a rule marked with dialect "mvel" the following occurs:

(In this example I'm calling from the DecisionHelper the static method createSystemCreditDecisionReason)
___________________________________

org.drools.runtime.rule.ConsequenceException: rule: CAP 06 Rule

        at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:23)
        at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:981)
        at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:918)
        at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1130)
        at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:740)
        at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:706)
        at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:200)
        at bnz.btt.mylend.rules.test.MyLendingRulesTest.main(MyLendingRulesTest.java:83)
Caused by: [Error: unable to access property (null parent): createSystemCreditDecisionReason]
[Near : {... Unknown ....}]
             ^
[Line: 1, Column: 0]
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:886)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:314)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:137)
        at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:137)
        at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
        at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:104)
        at org.mvel2.MVEL.executeExpression(MVEL.java:1001)
        at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:87)
        at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:972)
        ... 6 more
___________________________________


There is a work-around: If I import each function separately it works just fine, eg:
___________________________________

import function bnz.btt.mylend.common.model.utils.DecisionHelper.createSystemCreditDecisionReason;
___________________________________

But as far as I can tell the ".*" notation to import all functions from a class SHOULD work.


So: Should I JIRA this, or have I just done something wrong?

Thanks!

Travis Smith
Analyst Programmer
Development Centre
BNZ

DDI: +644 4746356 (Or Ext 76356)
CAUTION - This message may contain privileged and confidential information 
intended only for the use of the addressee named above. If you are not the 
intended recipient of this message you are hereby notified that any use, 
dissemination, distribution or reproduction of this message is prohibited. 
This email was sent by the Bank of New Zealand. You can contact us on 
0800 ASK BNZ (0800 275 269). Any views expressed in this message are those 
of the individual sender and may not necessarily reflect the views of Bank 
of New Zealand.