From 96ef362d6deb206043a24cd6306657ae8a3bb699 Mon Sep 17 00:00:00 2001 From: Sara Date: Thu, 29 Apr 2021 10:25:41 +0100 Subject: [PATCH] ACS-1425 Get stores at start of query (#421) * ACS-1425 Get stores at start of query * ACS-1425 Get stores at start of query * ACS-1425 Get stores at start of accelerated query * ACS-1425 Tidy up --- .../search/impl/querymodel/impl/db/DBQueryEngine.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/repository/src/main/java/org/alfresco/repo/search/impl/querymodel/impl/db/DBQueryEngine.java b/repository/src/main/java/org/alfresco/repo/search/impl/querymodel/impl/db/DBQueryEngine.java index 574ce8feec..2e47cf5f49 100644 --- a/repository/src/main/java/org/alfresco/repo/search/impl/querymodel/impl/db/DBQueryEngine.java +++ b/repository/src/main/java/org/alfresco/repo/search/impl/querymodel/impl/db/DBQueryEngine.java @@ -35,6 +35,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import javax.annotation.concurrent.NotThreadSafe; @@ -112,6 +113,8 @@ public class DBQueryEngine implements QueryEngine private long maxPermissionCheckTimeMillis; protected EntityLookupCache nodesCache; + + private List> stores; AclCrudDAO aclCrudDAO; @@ -314,6 +317,9 @@ public class DBQueryEngine implements QueryEngine FilteringResultSet acceleratedNodeSelection(QueryOptions options, DBQuery dbQuery, NodePermissionAssessor permissionAssessor) { + // get list of stores from database + stores = nodeDAO.getStores(); + List nodes = new ArrayList<>(); int requiredNodes = computeRequiredNodesCount(options); @@ -464,10 +470,9 @@ public class DBQueryEngine implements QueryEngine { StoreEntity storeEntity = node.getStore(); logger.debug("Adding store info for store id " + storeEntity.getId()); - List> stores = nodeDAO.getStores(); for (Pair storeRefPair : stores) { - if (storeEntity.getId() == storeRefPair.getFirst()) + if (Objects.equals(storeEntity.getId(), storeRefPair.getFirst())) { StoreRef storeRef = storeRefPair.getSecond(); storeEntity.setIdentifier(storeRef.getIdentifier()); @@ -477,4 +482,4 @@ public class DBQueryEngine implements QueryEngine } } } -} \ No newline at end of file +}