From c69df9f8f081ce58255d2ee75a7562fb614fd29f Mon Sep 17 00:00:00 2001 From: Roy Wetherall Date: Thu, 10 Apr 2014 04:28:30 +0000 Subject: [PATCH] Fix patch to prevent exception that was preventing upgrade from previous schema. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@67101 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- ...2GhostOnDestroyDispositionActionPatch.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22GhostOnDestroyDispositionActionPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22GhostOnDestroyDispositionActionPatch.java index 53a94e5448..965e455d3e 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22GhostOnDestroyDispositionActionPatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22GhostOnDestroyDispositionActionPatch.java @@ -25,6 +25,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionActionDefinition; import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionSchedule; import org.alfresco.module.org_alfresco_module_rm.disposition.DispositionService; @@ -35,6 +36,7 @@ import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.namespace.QName; +import org.alfresco.service.namespace.RegexQNamePattern; /** * Sets the ghost on destroy property for existing destroy disposition actions @@ -128,16 +130,19 @@ public class RMv22GhostOnDestroyDispositionActionPatch extends AbstractModulePat */ private void getDispositionSchedules(NodeRef nodeRef, Set dispositionSchedules) { - DispositionSchedule dispositionSchedule = this.dispositionService.getDispositionSchedule(nodeRef); - if (dispositionSchedule != null) + if (filePlanService.isRecordCategory(nodeRef) == true) { - dispositionSchedules.add(dispositionSchedule); - } - - List children = nodeService.getChildAssocs(nodeRef); - for (ChildAssociationRef childAssoc : children) - { - getDispositionSchedules(childAssoc.getChildRef(), dispositionSchedules); + DispositionSchedule dispositionSchedule = this.dispositionService.getDispositionSchedule(nodeRef); + if (dispositionSchedule != null) + { + dispositionSchedules.add(dispositionSchedule); + } + + List children = nodeService.getChildAssocs(nodeRef, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL); + for (ChildAssociationRef childAssoc : children) + { + getDispositionSchedules(childAssoc.getChildRef(), dispositionSchedules); + } } }