[jboss-jira] [JBoss JIRA] (JBRULES-3331) IsDoableFilter: For generic moves, provide option to disable them under certain conditions
Geoffrey De Smet (JIRA)
jira-events at lists.jboss.org
Fri Aug 3 11:57:07 EDT 2012
[ https://issues.jboss.org/browse/JBRULES-3331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Geoffrey De Smet resolved JBRULES-3331.
---------------------------------------
Fix Version/s: 5.5.0.Beta1
Resolution: Partially Completed
Instead of relying on the ability to overwrite isDoable(), use the work developed for JBRULES-3330: implement the interface SelectionFilter<Move> and configure it on the MoveSelectorConfig (with a cacheType no higher then STEP probably) to throw out the Moves during selection.
I am even considering removing the isDoable() method entirely, as the MoveFiltering is potentially far more efficient (because, for example, it's pointless to cache non-doable moves under cacheType STEP). However it's currently hand to cache non-doable moves under cacheType PHASE as the isDoable() method is checked every STEP.
> IsDoableFilter: For generic moves, provide option to disable them under certain conditions
> ------------------------------------------------------------------------------------------
>
> Key: JBRULES-3331
> URL: https://issues.jboss.org/browse/JBRULES-3331
> Project: Drools
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: drools-planner
> Affects Versions: 5.4.0.Beta1
> Reporter: Lukáš Petrovický
> Assignee: Geoffrey De Smet
> Fix For: 5.5.0.Beta1
>
>
> Once generic move factories are actually generic selectors, we'd have something like this:
> {code}
> <selector>
> <type>CHANGE_MOVE</>
> <planningEntityClassIncludes>...</>
> <planningVariableIncludes>...</>
> <isDoableFilterClass>...MyIsDoableFilterClass</>
> {code}
> Old description:
> This feature would be done for the same purpose as JBRULES-3330 and also implemented in very much the same way - the Move.isMoveDoable() checks for the existence of any filters and runs all of them. If any of them returns false, the move is not doable.
> Perhaps JBRULES-3330 and this one could even share the interface - MoveFilter.filter(Solution s, Move m) and newly added MoveFilter.isMoveDoable(Move m).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list