From 33082eb63177d324448ab8dbf284f816ead68877 Mon Sep 17 00:00:00 2001 From: Derek Hulley Date: Mon, 6 Oct 2008 15:03:24 +0000 Subject: [PATCH] Merged V2.2 to HEAD 11008: FileFolderService no longer uses Lucene 11014: Fixed ETWOTWO-569: Regression after ContentStoreCleaner overhaul 11021: Fixed HibernateSessionHelperTest 11028: Fixed unit test's expected values 11035: Made cm:auditable optional and fixed 64K limit on property list sizes 11038: IncompleteNodeTagger handles aspects that are not in the dictionary 11039: Added tests to ensure that QName caching is case-insensitive 11040: Fixed use of mixed-case QNames for aspects 11044: Allow background AND in-transaction indexing to be disabled at the same time. 11046: Removed Lucene use from RegistryServiceImpl 11050: Removal of Lucene usage - ML services finding root using XPath moved to path query - RepoStore now uses simple path query - Remove unused imports on PersonServiceImpl git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@11215 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/repo/web/scripts/RepoStore.java | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/source/java/org/alfresco/repo/web/scripts/RepoStore.java b/source/java/org/alfresco/repo/web/scripts/RepoStore.java index 2ff1382b9f..2d89053a7c 100644 --- a/source/java/org/alfresco/repo/web/scripts/RepoStore.java +++ b/source/java/org/alfresco/repo/web/scripts/RepoStore.java @@ -54,6 +54,7 @@ import org.alfresco.service.cmr.repository.ContentWriter; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.StoreRef; +import org.alfresco.service.cmr.search.QueryParameterDefinition; import org.alfresco.service.cmr.search.ResultSet; import org.alfresco.service.cmr.search.SearchService; import org.alfresco.service.cmr.security.PermissionService; @@ -219,24 +220,28 @@ public class RepoStore implements Store, TenantDeployer { public NodeRef execute() throws Exception { - String query = "PATH:\"" + repoPath + "\""; - ResultSet resultSet = searchService.query(repoStore, SearchService.LANGUAGE_LUCENE, query); - try + NodeRef repoStoreRootNodeRef = nodeService.getRootNode(repoStore); + List nodeRefs = searchService.selectNodes( + repoStoreRootNodeRef, + repoPath, + new QueryParameterDefinition[] {}, + namespaceService, + false, + SearchService.LANGUAGE_XPATH); + if (nodeRefs.size() == 1) { - if (resultSet.length() == 1) - { - return resultSet.getNodeRef(0); - } - else if (mustExist) - { - throw new WebScriptException("Web Script Store " + repoStore.toString() + repoPath + " must exist; it was not found"); - } + return nodeRefs.get(0); } - finally + else if (nodeRefs.size() > 1) { - resultSet.close(); + throw new WebScriptException( + "Web Script Store " + repoStore.toString() + repoPath + " must exist; multiple entries found."); + } + else + { + throw new WebScriptException( + "Web Script Store " + repoStore.toString() + repoPath + " must exist; it was not found"); } - return null; } }); }