From b1834d4339631f13f67cb4e10331fe10e6d0bcdb Mon Sep 17 00:00:00 2001 From: Mark Rogers Date: Fri, 5 Aug 2011 12:53:40 +0000 Subject: [PATCH] ALF-9778 - Alfresco Explorer doesn't work with installed WCMQS Query changed to selectNodes method git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@29562 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/transfer/TransferServiceImpl2.java | 33 ++++++++----------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/source/java/org/alfresco/repo/transfer/TransferServiceImpl2.java b/source/java/org/alfresco/repo/transfer/TransferServiceImpl2.java index f1015d0004..d87f653581 100644 --- a/source/java/org/alfresco/repo/transfer/TransferServiceImpl2.java +++ b/source/java/org/alfresco/repo/transfer/TransferServiceImpl2.java @@ -1189,36 +1189,29 @@ public class TransferServiceImpl2 implements TransferService2 protected NodeRef getTransferHome() { String tenantDomain = tenantService.getUserDomain(AuthenticationUtil.getRunAsUser()); - NodeRef transferHome = transferHomeMap.get(tenantDomain); - if(transferHome == null) - { - String query = transferSpaceQuery; - - ResultSet result = null; - try - { - result = searchService.query(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, SearchService.LANGUAGE_XPATH, query); - if (result.length() == 0) + synchronized (transferHomeMap) + { + NodeRef transferHome = transferHomeMap.get(tenantDomain); + if(transferHome == null) + { + String query = transferSpaceQuery; + + List refs = searchService.selectNodes(nodeService.getRootNode(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE), query, null, namespaceService, false); + + if (refs.size() == 0) { // No transfer home. throw new TransferException(MSG_NO_HOME, new Object[] { query }); } - if (result.getNodeRefs().size() != 0) + if (refs.size() != 0) { - transferHome = result.getNodeRef(0); + transferHome = refs.get(0); transferHomeMap.put(tenantDomain, transferHome); } } - finally - { - if (result != null) - { - result.close(); - } - } + return transferHome; } - return transferHome; } private char[] encrypt(char[] text)