From 387abf1282ba18ddc51489ee424d2f477121dc63 Mon Sep 17 00:00:00 2001 From: Tuna Aksoy Date: Wed, 24 Sep 2014 08:17:53 +0000 Subject: [PATCH] RM-1641 (Create Relationship Service) * Refactored existing customReference classes git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@85578 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../script/CustomRefsGet.java | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/CustomRefsGet.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/CustomRefsGet.java index af0dff6a01..f7f626465e 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/CustomRefsGet.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/CustomRefsGet.java @@ -126,10 +126,10 @@ public class CustomRefsGet extends AbstractRmWebScript List> outwardReferenceData = new ArrayList>(); List assocsFromThisNode = rmAdminService.getCustomReferencesFrom(nodeRef); - addBidirectionalReferenceData(outwardReferenceData, assocsFromThisNode); + outwardReferenceData.addAll(getBidirectionalReferenceData(assocsFromThisNode)); List childAssocs = rmAdminService.getCustomChildReferences(nodeRef); - addParentChildReferenceData(outwardReferenceData, childAssocs); + outwardReferenceData.addAll(getParentChildReferenceData(childAssocs)); return outwardReferenceData; } @@ -144,11 +144,11 @@ public class CustomRefsGet extends AbstractRmWebScript { List> inwardReferenceData = new ArrayList>(); - List toAssocs = rmAdminService.getCustomReferencesTo(nodeRef); - addBidirectionalReferenceData(inwardReferenceData, toAssocs); + List assocsToThisNode = rmAdminService.getCustomReferencesTo(nodeRef); + inwardReferenceData.addAll(getBidirectionalReferenceData(assocsToThisNode)); List parentAssocs = rmAdminService.getCustomParentReferences(nodeRef); - addParentChildReferenceData(inwardReferenceData, parentAssocs); + inwardReferenceData.addAll(getParentChildReferenceData(parentAssocs)); return inwardReferenceData; } @@ -158,20 +158,21 @@ public class CustomRefsGet extends AbstractRmWebScript * for each assRef. FTL-relevant data are added to that map. The associationRefs must all be * parent/child references. * - * @param referenceData Reference data * @param childAssocs Association references + * @return The reference data */ - private void addParentChildReferenceData(List> referenceData, List childAssocs) + private List> getParentChildReferenceData(List childAssocs) { + List> referenceData = new ArrayList>(); + for (ChildAssociationRef childAssRef : childAssocs) { Map data = new HashMap(); - QName typeQName = childAssRef.getTypeQName(); - data.put(CHILD_REF, childAssRef.getChildRef().toString()); data.put(PARENT_REF, childAssRef.getParentRef().toString()); + QName typeQName = childAssRef.getTypeQName(); AssociationDefinition assDef = rmAdminService.getCustomReferenceDefinitions().get(typeQName); if (assDef != null && @@ -180,16 +181,17 @@ public class CustomRefsGet extends AbstractRmWebScript { String compoundTitle = assDef.getTitle(dictionaryService); - data.put(REF_ID, typeQName.getLocalName()); - String[] sourceAndTarget = rmAdminService.splitSourceTargetId(compoundTitle); data.put(SOURCE, sourceAndTarget[0]); data.put(TARGET, sourceAndTarget[1]); data.put(REFERENCE_TYPE, CustomReferenceType.PARENT_CHILD.toString()); + data.put(REF_ID, typeQName.getLocalName()); referenceData.add(data); } } + + return referenceData; } /** @@ -197,11 +199,13 @@ public class CustomRefsGet extends AbstractRmWebScript * for each assRef. FTL-relevant data are added to that map. The associationRefs must all be * bidirectional references. * - * @param referenceData Reference data * @param assocs Association references + * @return The reference data */ - private void addBidirectionalReferenceData(List> referenceData, List assocs) + private List> getBidirectionalReferenceData(List assocs) { + List> referenceData = new ArrayList>(); + for (AssociationRef assRef : assocs) { Map data = new HashMap(); @@ -222,6 +226,8 @@ public class CustomRefsGet extends AbstractRmWebScript referenceData.add(data); } } + + return referenceData; } /**