diff --git a/source/java/org/alfresco/repo/transfer/TransferServiceImpl.java b/source/java/org/alfresco/repo/transfer/TransferServiceImpl.java index e20a4e6d16..f21adf8eb8 100644 --- a/source/java/org/alfresco/repo/transfer/TransferServiceImpl.java +++ b/source/java/org/alfresco/repo/transfer/TransferServiceImpl.java @@ -228,17 +228,7 @@ public class TransferServiceImpl implements TransferService for(ChildAssociationRef group : groups) { NodeRef groupNode = group.getChildRef(); - Listchildren = nodeService.getChildAssocs(groupNode, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL); - - for(ChildAssociationRef child : children) - { - if(nodeService.getType(child.getChildRef()).equals(TransferModel.TYPE_TRANSFER_TARGET)) - { - TransferTargetImpl newTarget = new TransferTargetImpl(); - mapTransferTarget(child.getChildRef(), newTarget); - ret.add(newTarget); - } - } + ret.addAll(getTransferTargets(groupNode)); } return ret; @@ -251,8 +241,6 @@ public class TransferServiceImpl implements TransferService { NodeRef home = getTransferHome(); - Set ret = new HashSet(); - // get group with assoc groupName NodeRef groupNode = nodeService.getChildByName(home, ContentModel.ASSOC_CONTAINS, groupName); @@ -262,23 +250,31 @@ public class TransferServiceImpl implements TransferService throw new TransferException(MSG_NO_GROUP, new Object[]{groupName}); } - /** - * Get children of groupNode - */ - Listchildren = nodeService.getChildAssocs(groupNode, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL); - - for(ChildAssociationRef child : children) - { - if(nodeService.getType(child.getChildRef()).equals(TransferModel.TYPE_TRANSFER_TARGET)) - { - TransferTargetImpl newTarget = new TransferTargetImpl(); - mapTransferTarget(child.getChildRef(), newTarget); - ret.add(newTarget); - } - } - return ret; + return getTransferTargets(groupNode); } + /** + * Given the noderef of a group of transfer targets, return all the contained transfer targets. + * @param groupNode + * @return + */ + private Set getTransferTargets(NodeRef groupNode) + { + Set result = new HashSet(); + Listchildren = nodeService.getChildAssocs(groupNode, ContentModel.ASSOC_CONTAINS, RegexQNamePattern.MATCH_ALL); + + for(ChildAssociationRef child : children) + { + if(nodeService.getType(child.getChildRef()).equals(TransferModel.TYPE_TRANSFER_TARGET)) + { + TransferTargetImpl newTarget = new TransferTargetImpl(); + mapTransferTarget(child.getChildRef(), newTarget); + result.add(newTarget); + } + } + return result; + } + /** * */ diff --git a/source/java/org/alfresco/service/cmr/transfer/TransferService.java b/source/java/org/alfresco/service/cmr/transfer/TransferService.java index 876990fb30..b15d8f1103 100644 --- a/source/java/org/alfresco/service/cmr/transfer/TransferService.java +++ b/source/java/org/alfresco/service/cmr/transfer/TransferService.java @@ -126,7 +126,7 @@ public interface TransferService * @param endpointPath, * @param username, * @param password, - * @return the newly create transfer target. + * @return the newly created transfer target. */ public TransferTarget createAndSaveTransferTarget(String name, String title, String description, String endpointProtocol, String endpointHost, int endpointPort, String endpointPath, String username, char[] password) throws TransferException;