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 +}