[jboss-jira] [JBoss JIRA] Updated: (JBRULES-2017) Custom exception handler for condition evaluator
Mark Proctor (JIRA)
jira-events at lists.jboss.org
Sat Mar 28 02:13:22 EDT 2009
[ https://jira.jboss.org/jira/browse/JBRULES-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Proctor updated JBRULES-2017:
----------------------------------
Fix Version/s: FUTURE
(was: 5.0.0.GA)
> Custom exception handler for condition evaluator
> ------------------------------------------------
>
> Key: JBRULES-2017
> URL: https://jira.jboss.org/jira/browse/JBRULES-2017
> Project: JBoss Drools
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: drools-core
> Affects Versions: 5.0.0.M5, 5.0.0.CR1
> Reporter: Sergej Iljin
> Assignee: Mark Proctor
> Priority: Critical
> Fix For: FUTURE
>
>
> Custom exception handler for condition evaluator.
> Its proposed to introduce custom exception handler for condition evaluator becaue "always re-trow" approach is not appropriate for some cases when fail-safe rule execution is necessary.
> There is an requirment which can't be satisfied with current implementation of condition evaluator: "All rules that are present in agenda should be performed fail safe and independed".
> So it means that if there are 2 rules and one of them throws a NullPointer exception while condition evaluation (because of wrong configuration) the second rule have to be performed.
> Changes have to be applied to following class:
> drools-core\src\main\java\org\drools\rule\EvalCondition.java
> in method:
> public boolean isAllowed(final Tuple tuple,
> final WorkingMemory workingMemory,
> final Object context) {
> try {
> return this.expression.evaluate( tuple,
> this.requiredDeclarations,
> workingMemory,
> context );
> } catch ( final Exception e ) {
> throw new RuntimeDroolsException( this.getEvalExpression() + " : " + e,
> e );
> }
> }
> should be replaced with somethig like this
> public boolean isAllowed(final Tuple tuple,
> final WorkingMemory workingMemory,
> final Object context) {
> try {
> return this.expression.evaluate( tuple,
> this.requiredDeclarations,
> workingMemory,
> context );
> } catch ( final Exception e ) {
> getExceptionHandler().handle(e);
> }
> }
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list