RM-383: "When all events has occured" option doesn't work correctly

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.0@37273 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2012-05-31 06:13:00 +00:00
parent f892f1f670
commit deb396e592

View File

@@ -546,7 +546,9 @@ public class DispositionServiceImpl implements DispositionService, RecordsManage
if (result == false) if (result == false)
{ {
// If all the events specified on the action have been completed the action is eligible DispositionAction da = new DispositionActionImpl(serviceRegistry, nextDa);
boolean firstComplete = da.getDispositionActionDefinition().eligibleOnFirstCompleteEvent();
List<ChildAssociationRef> assocs = this.nodeService.getChildAssocs(nextDa, ASSOC_EVENT_EXECUTIONS, RegexQNamePattern.MATCH_ALL); List<ChildAssociationRef> assocs = this.nodeService.getChildAssocs(nextDa, ASSOC_EVENT_EXECUTIONS, RegexQNamePattern.MATCH_ALL);
for (ChildAssociationRef assoc : assocs) for (ChildAssociationRef assoc : assocs)
{ {
@@ -557,11 +559,22 @@ public class DispositionServiceImpl implements DispositionService, RecordsManage
{ {
isComplete = isCompleteValue.booleanValue(); isComplete = isCompleteValue.booleanValue();
// TODO this only works for the OR use case .. need to handle optional AND handling // implement AND and OR combination of event completions
if (isComplete == true) if (isComplete == true)
{ {
result = true; result = true;
break; if (firstComplete == true)
{
break;
}
}
else
{
result = false;
if (firstComplete == false)
{
break;
}
} }
} }
} }