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(JUnit3TestReference.java:128)

            at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)

            at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)

            at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.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@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@acs-inc.com or by telephone at 859-277-8800 ext. 144. Thank you.