Added reordering action

- the actioned upon node is the node that has the rules
- the rule nodes are provided as a multi-value property (list of node refs) and then reordered in the order found on the list
- additional existance checks where added to the link/unlink actions



git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18934 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Roy Wetherall
2010-03-02 00:27:35 +00:00
parent cefda8c965
commit 7d80cb0867
5 changed files with 173 additions and 28 deletions

View File

@@ -70,16 +70,19 @@ public class UnlinkRules extends ActionExecuterAbstractBase
@Override
protected void executeImpl(Action action, NodeRef actionedUponNodeRef)
{
// Check that the actioned upon node has the rules aspect applied
if (nodeService.hasAspect(actionedUponNodeRef, RuleModel.ASPECT_RULES) == true)
{
// Get the rule node the actioned upon node is linked to
NodeRef linkedToNode = ((RuleService)ruleService).getLinkedToRuleNode(actionedUponNodeRef);
if (linkedToNode != null)
{
NodeRef ruleFolder = ruleService.getSavedRuleFolderAssoc(linkedToNode).getChildRef();
nodeService.removeChild(actionedUponNodeRef, ruleFolder);
nodeService.removeAspect(actionedUponNodeRef, RuleModel.ASPECT_RULES);
if (nodeService.exists(actionedUponNodeRef) == true)
{
// Check that the actioned upon node has the rules aspect applied
if (nodeService.hasAspect(actionedUponNodeRef, RuleModel.ASPECT_RULES) == true)
{
// Get the rule node the actioned upon node is linked to
NodeRef linkedToNode = ((RuleService)ruleService).getLinkedToRuleNode(actionedUponNodeRef);
if (linkedToNode != null)
{
NodeRef ruleFolder = ruleService.getSavedRuleFolderAssoc(linkedToNode).getChildRef();
nodeService.removeChild(actionedUponNodeRef, ruleFolder);
nodeService.removeAspect(actionedUponNodeRef, RuleModel.ASPECT_RULES);
}
}
}
}