I'm having trouble figuring out the ACTION section of a decision table.
Everything else appears to be working.
My rules result in a simple True/False condition. To do this in a decision
table, I've created a class called BooleanAnswer that looks like:
public class BooleanAnswer {
private boolean answer;
/**
* no-arg constructor
*/
public BooleanAnswer(){
}
/**
* create your own default answer
* @param answer the answer to set
*/
public BooleanAnswer(boolean answer){
setAnswer(answer);
}
/**
* @return the answer
*/
public boolean isTrue() {
return answer;
}
/**
* @param answer the answer to set
*/
public void setAnswer(boolean answer) {
this.answer = answer;
}
}
Then I create a decision table with the following ACTION in it:
ACTION
answer: BooleanAnswer
answer.setAnswer($param);
Allowed
TRUE
This generates the following errors:
...
Caused by: org.drools.rule.InvalidRulePackage: Rule Compilation error :
[Rule name=postponePart_15, agendaGroup=MAIN, salience=0, no-loop=false]
participantPostponementRules/Rule_postponePart_15_0.java (8:343)
: The field BooleanAnswer.answer is not visible
Rule Compilation error : [Rule name=postponePart_13, agendaGroup=MAIN,
salience=0, no-loop=false]
participantPostponementRules/Rule_postponePart_13_0.java (8:343)
: The field BooleanAnswer.answer is not visible
Rule Compilation error : [Rule name=postponePart_14, agendaGroup=MAIN,
salience=0, no-loop=false]
participantPostponementRules/Rule_postponePart_14_0.java (8:343)
: The field BooleanAnswer.answer is not visible
Rule Compilation error : [Rule name=postponePart_16, agendaGroup=MAIN,
salience=0, no-loop=false]
participantPostponementRules/Rule_postponePart_16_0.java (8:343)
: The field BooleanAnswer.answer is not visible
Rule Compilation error : [Rule name=postponePart_17, agendaGroup=MAIN,
salience=0, no-loop=false]
participantPostponementRules/Rule_postponePart_17_0.java (8:343)
: The field BooleanAnswer.answer is not visible
Rule Compilation error : [Rule name=postponePart_10, agendaGroup=MAIN,
salience=0, no-loop=false]
participantPostponementRules/Rule_postponePart_10_0.java (8:343)
: The field BooleanAnswer.answer is not visible
Rule Compilation error : [Rule name=postponePart_11, agendaGroup=MAIN,
salience=0, no-loop=false]
participantPostponementRules/Rule_postponePart_11_0.java (8:343)
: The field BooleanAnswer.answer is not visible
Rule Compilation error : [Rule name=postponePart_18, agendaGroup=MAIN,
salience=0, no-loop=false]
participantPostponementRules/Rule_postponePart_18_0.java (8:343)
: The field BooleanAnswer.answer is not visible
Rule Compilation error : [Rule name=postponePart_19, agendaGroup=MAIN,
salience=0, no-loop=false]
participantPostponementRules/Rule_postponePart_19_0.java (8:343)
: The field BooleanAnswer.answer is not visible
Rule Compilation error : [Rule name=postponePart_12, agendaGroup=MAIN,
salience=0, no-loop=false]
participantPostponementRules/Rule_postponePart_12_0.java (8:343)
: The field BooleanAnswer.answer is not visible
at org.drools.rule.Package.checkValidity(Package.java:408)
at
org.drools.common.AbstractRuleBase.addPackage(AbstractRuleBase.java:288)
at
com.acs.gs.juror.bizstrategy.PostponementStrategy.init(PostponementStrategy.
java:129)
... 14 more
)
at junit.framework.Assert.fail(Assert.java:47)
at junit.framework.TestSuite$1.runTest(TestSuite.java:263)
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(JUnit3T
estReference.java:128)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:3
8)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRu
nner.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)
Help for a newbie, please?
Thanks.
Thom Hehl
Sr. eJuror Architect
* Office (859) 277-8800 x 144
* Thomas.Hehl(a)acs-inc.com <mailto:Thomas.Hehl@acs-inc.com>
ACS, Inc.
Government Solutions
1733 Harrodsburg Road
Lexington, KY 40504-3617
This e-mail message, including any attachments, is for the sole use of the
intended recipient(s) and may contain confidential and privileged
information. Any unauthorized review, use, disclosure or distribution is
prohibited. If you are not the intended recipient, please contact the sender
by reply e-mail and destroy all copies of the original message and notify
sender via e-mail at Thomas.Hehl(a)acs-inc.com
<mailto:Thomas.Hehl@acs-inc.com> or by telephone at 859-277-8800 ext. 144.
Thank you.
Show replies by date