From dfd5af550ad6d79ddab2117144cd0d7632e60625 Mon Sep 17 00:00:00 2001 From: Angel Borroy Date: Tue, 6 Oct 2020 10:08:42 +0200 Subject: [PATCH] SEARCH-2445: Adding Elasticsearch Search Subsystem as Only Enterprise option --- .../web/scripts/solr/AclChangeSetsGet.java | 32 +++---- .../repo/web/scripts/solr/AclsGet.java | 42 ++++----- .../repo/web/scripts/solr/AclsReadersGet.java | 42 ++++----- .../web/scripts/solr/AlfrescoModelGet.java | 37 ++++---- .../web/scripts/solr/AlfrescoModelsDiff.java | 42 ++++----- .../repo/web/scripts/solr/NodesGet.java | 13 ++- .../web/scripts/solr/NodesMetaDataGet.java | 12 +-- .../web/scripts/solr/TransactionsGet.java | 42 ++++----- .../web-scripts-application-context.xml | 18 ++-- .../web/scripts/solr/SOLRWebScriptTest.java | 94 +++++++++---------- .../solr/{SOLRDAO.java => SearchDAO.java} | 2 +- .../{SOLRDAOImpl.java => SearchDAOImpl.java} | 4 +- .../repo/node/CascadeUpdateAspect.java | 12 +-- .../SearchTrackingComponent.java} | 20 +++- .../solr/DbOrIndexSwitchingQueryLanguage.java | 10 +- .../repo/solr/SOLRTrackingComponentImpl.java | 25 +++-- .../alfresco/core-services-context.xml | 11 ++- .../resources/alfresco/dao/dao-context.xml | 4 +- .../alfresco/ibatis/ibatis-context.xml | 2 +- .../alfresco/node-services-context.xml | 2 +- .../Search/common-opencmis-context.xml | 4 +- .../Search/common-search-context.xml | 6 +- .../org/alfresco/AllDBTestsTestSuite.java | 2 +- .../org/alfresco/AppContext05TestSuite.java | 2 +- .../{SOLRDAOTest.java => SearchDAOTest.java} | 16 ++-- .../DbOrIndexSwitchingQueryLanguageTest.java | 6 +- .../repo/solr/SOLRTrackingComponentTest.java | 17 ++-- 27 files changed, 265 insertions(+), 254 deletions(-) rename repository/src/main/java/org/alfresco/repo/domain/solr/{SOLRDAO.java => SearchDAO.java} (97%) rename repository/src/main/java/org/alfresco/repo/domain/solr/ibatis/{SOLRDAOImpl.java => SearchDAOImpl.java} (96%) rename repository/src/main/java/org/alfresco/repo/{solr/SOLRTrackingComponent.java => search/SearchTrackingComponent.java} (89%) rename repository/src/test/java/org/alfresco/repo/domain/solr/{SOLRDAOTest.java => SearchDAOTest.java} (94%) diff --git a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AclChangeSetsGet.java b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AclChangeSetsGet.java index 2bc64f3750..85547d4857 100644 --- a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AclChangeSetsGet.java +++ b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AclChangeSetsGet.java @@ -25,16 +25,16 @@ */ package org.alfresco.repo.web.scripts.solr; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.alfresco.repo.solr.AclChangeSet; -import org.alfresco.repo.solr.SOLRTrackingComponent; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.springframework.extensions.webscripts.DeclarativeWebScript; -import org.springframework.extensions.webscripts.Status; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.alfresco.repo.search.SearchTrackingComponent; +import org.alfresco.repo.solr.AclChangeSet; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.extensions.webscripts.DeclarativeWebScript; +import org.springframework.extensions.webscripts.Status; import org.springframework.extensions.webscripts.WebScriptRequest; /** @@ -46,11 +46,11 @@ public class AclChangeSetsGet extends DeclarativeWebScript { protected static final Log logger = LogFactory.getLog(AclChangeSetsGet.class); - private SOLRTrackingComponent solrTrackingComponent; + private SearchTrackingComponent searchTrackingComponent; - public void setSolrTrackingComponent(SOLRTrackingComponent solrTrackingComponent) + public void setSearchTrackingComponent(SearchTrackingComponent searchTrackingComponent) { - this.solrTrackingComponent = solrTrackingComponent; + this.searchTrackingComponent = searchTrackingComponent; } protected Map executeImpl(WebScriptRequest req, Status status) @@ -67,18 +67,18 @@ public class AclChangeSetsGet extends DeclarativeWebScript Long toTime = (toTimeParam == null ? null : Long.valueOf(toTimeParam)); int maxResults = (maxResultsParam == null ? 1024 : Integer.valueOf(maxResultsParam)); - List changesets = solrTrackingComponent.getAclChangeSets(fromId, fromTime, toId, toTime, maxResults); + List changesets = searchTrackingComponent.getAclChangeSets(fromId, fromTime, toId, toTime, maxResults); Map model = new HashMap(1, 1.0f); model.put("aclChangeSets", changesets); - Long maxChangeSetCommitTime = solrTrackingComponent.getMaxChangeSetCommitTime(); + Long maxChangeSetCommitTime = searchTrackingComponent.getMaxChangeSetCommitTime(); if(maxChangeSetCommitTime != null) { model.put("maxChangeSetCommitTime", maxChangeSetCommitTime); } - Long maxChangeSetId = solrTrackingComponent.getMaxChangeSetId(); + Long maxChangeSetId = searchTrackingComponent.getMaxChangeSetId(); if(maxChangeSetId != null) { model.put("maxChangeSetId", maxChangeSetId); diff --git a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AclsGet.java b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AclsGet.java index a2bbdda4e5..a354c0bd6e 100644 --- a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AclsGet.java +++ b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AclsGet.java @@ -25,23 +25,23 @@ */ package org.alfresco.repo.web.scripts.solr; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.alfresco.repo.solr.Acl; -import org.alfresco.repo.solr.SOLRTrackingComponent; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; -import org.springframework.extensions.surf.util.Content; -import org.springframework.extensions.webscripts.DeclarativeWebScript; -import org.springframework.extensions.webscripts.Status; -import org.springframework.extensions.webscripts.WebScriptException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.alfresco.repo.search.SearchTrackingComponent; +import org.alfresco.repo.solr.Acl; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.springframework.extensions.surf.util.Content; +import org.springframework.extensions.webscripts.DeclarativeWebScript; +import org.springframework.extensions.webscripts.Status; +import org.springframework.extensions.webscripts.WebScriptException; import org.springframework.extensions.webscripts.WebScriptRequest; /** @@ -53,11 +53,11 @@ public class AclsGet extends DeclarativeWebScript { protected static final Log logger = LogFactory.getLog(AclsGet.class); - private SOLRTrackingComponent solrTrackingComponent; + private SearchTrackingComponent searchTrackingComponent; - public void setSolrTrackingComponent(SOLRTrackingComponent solrTrackingComponent) + public void setSearchTrackingComponent(SearchTrackingComponent searchTrackingComponent) { - this.solrTrackingComponent = solrTrackingComponent; + this.searchTrackingComponent = searchTrackingComponent; } protected Map executeImpl(WebScriptRequest req, Status status) @@ -117,7 +117,7 @@ public class AclsGet extends DeclarativeWebScript int maxResults = (maxResultsParam == null ? 1024 : Integer.valueOf(maxResultsParam)); // Request according to the paging query style required - List acls = solrTrackingComponent.getAcls(aclChangeSetIds, fromId, maxResults); + List acls = searchTrackingComponent.getAcls(aclChangeSetIds, fromId, maxResults); Map model = new HashMap(1, 1.0f); model.put("acls", acls); diff --git a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AclsReadersGet.java b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AclsReadersGet.java index 4fc6194c00..42b3963e64 100644 --- a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AclsReadersGet.java +++ b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AclsReadersGet.java @@ -25,23 +25,23 @@ */ package org.alfresco.repo.web.scripts.solr; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.alfresco.repo.solr.AclReaders; -import org.alfresco.repo.solr.SOLRTrackingComponent; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; -import org.springframework.extensions.surf.util.Content; -import org.springframework.extensions.webscripts.DeclarativeWebScript; -import org.springframework.extensions.webscripts.Status; -import org.springframework.extensions.webscripts.WebScriptException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.alfresco.repo.search.SearchTrackingComponent; +import org.alfresco.repo.solr.AclReaders; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.springframework.extensions.surf.util.Content; +import org.springframework.extensions.webscripts.DeclarativeWebScript; +import org.springframework.extensions.webscripts.Status; +import org.springframework.extensions.webscripts.WebScriptException; import org.springframework.extensions.webscripts.WebScriptRequest; /** @@ -53,11 +53,11 @@ public class AclsReadersGet extends DeclarativeWebScript { protected static final Log logger = LogFactory.getLog(AclsReadersGet.class); - private SOLRTrackingComponent solrTrackingComponent; + private SearchTrackingComponent searchTrackingComponent; - public void setSolrTrackingComponent(SOLRTrackingComponent solrTrackingComponent) + public void setSearchTrackingComponent(SearchTrackingComponent searchTrackingComponent) { - this.solrTrackingComponent = solrTrackingComponent; + this.searchTrackingComponent = searchTrackingComponent; } protected Map executeImpl(WebScriptRequest req, Status status) @@ -111,7 +111,7 @@ public class AclsReadersGet extends DeclarativeWebScript } // Request according to the paging query style required - List aclsReaders = solrTrackingComponent.getAclsReaders(aclIds); + List aclsReaders = searchTrackingComponent.getAclsReaders(aclIds); Map model = new HashMap(1, 1.0f); model.put("aclsReaders", aclsReaders); diff --git a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AlfrescoModelGet.java b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AlfrescoModelGet.java index 18169ca2b4..e64fe8d433 100644 --- a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AlfrescoModelGet.java +++ b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AlfrescoModelGet.java @@ -25,21 +25,20 @@ */ package org.alfresco.repo.web.scripts.solr; -import java.io.IOException; -import java.util.Map; - -import org.alfresco.repo.solr.AlfrescoModel; -import org.alfresco.repo.solr.SOLRTrackingComponent; -import org.alfresco.service.cmr.dictionary.ModelDefinition; -import org.alfresco.service.namespace.NamespaceService; -import org.alfresco.service.namespace.QName; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.json.JSONException; -import org.springframework.extensions.webscripts.AbstractWebScript; -import org.springframework.extensions.webscripts.Status; -import org.springframework.extensions.webscripts.WebScriptException; -import org.springframework.extensions.webscripts.WebScriptRequest; +import java.io.IOException; + +import org.alfresco.repo.search.SearchTrackingComponent; +import org.alfresco.repo.solr.AlfrescoModel; +import org.alfresco.service.cmr.dictionary.ModelDefinition; +import org.alfresco.service.namespace.NamespaceService; +import org.alfresco.service.namespace.QName; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.json.JSONException; +import org.springframework.extensions.webscripts.AbstractWebScript; +import org.springframework.extensions.webscripts.Status; +import org.springframework.extensions.webscripts.WebScriptException; +import org.springframework.extensions.webscripts.WebScriptRequest; import org.springframework.extensions.webscripts.WebScriptResponse; /** @@ -52,11 +51,11 @@ public class AlfrescoModelGet extends AbstractWebScript protected static final Log logger = LogFactory.getLog(AlfrescoModelGet.class); private NamespaceService namespaceService; - private SOLRTrackingComponent solrTrackingComponent; + private SearchTrackingComponent searchTrackingComponent; - public void setSolrTrackingComponent(SOLRTrackingComponent solrTrackingComponent) + public void setSearchTrackingComponent(SearchTrackingComponent searchTrackingComponent) { - this.solrTrackingComponent = solrTrackingComponent; + this.searchTrackingComponent = searchTrackingComponent; } public void setNamespaceService(NamespaceService namespaceService) @@ -92,7 +91,7 @@ public class AlfrescoModelGet extends AbstractWebScript } ModelDefinition.XMLBindingType bindingType = ModelDefinition.XMLBindingType.DEFAULT; - AlfrescoModel model = solrTrackingComponent.getModel(QName.createQName(modelQName)); + AlfrescoModel model = searchTrackingComponent.getModel(QName.createQName(modelQName)); res.setHeader("XAlfresco-modelChecksum", String.valueOf(model.getModelDef().getChecksum(bindingType))); model.getModelDef().toXML(bindingType, res.getOutputStream()); } diff --git a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AlfrescoModelsDiff.java b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AlfrescoModelsDiff.java index e946bdf625..b215e3a62c 100644 --- a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AlfrescoModelsDiff.java +++ b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/AlfrescoModelsDiff.java @@ -25,23 +25,23 @@ */ package org.alfresco.repo.web.scripts.solr; -import java.io.IOException; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.alfresco.repo.solr.AlfrescoModelDiff; -import org.alfresco.repo.solr.SOLRTrackingComponent; -import org.alfresco.service.namespace.QName; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; -import org.springframework.extensions.surf.util.Content; -import org.springframework.extensions.webscripts.DeclarativeWebScript; -import org.springframework.extensions.webscripts.Status; -import org.springframework.extensions.webscripts.WebScriptException; +import java.io.IOException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.alfresco.repo.search.SearchTrackingComponent; +import org.alfresco.repo.solr.AlfrescoModelDiff; +import org.alfresco.service.namespace.QName; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.springframework.extensions.surf.util.Content; +import org.springframework.extensions.webscripts.DeclarativeWebScript; +import org.springframework.extensions.webscripts.Status; +import org.springframework.extensions.webscripts.WebScriptException; import org.springframework.extensions.webscripts.WebScriptRequest; /** @@ -57,11 +57,11 @@ public class AlfrescoModelsDiff extends DeclarativeWebScript private static final String MSG_JSON_EXCEPTION = "Unable to fetch model changes from "; - private SOLRTrackingComponent solrTrackingComponent; + private SearchTrackingComponent searchTrackingComponent; - public void setSolrTrackingComponent(SOLRTrackingComponent solrTrackingComponent) + public void setSearchTrackingComponent(SearchTrackingComponent searchTrackingComponent) { - this.solrTrackingComponent = solrTrackingComponent; + this.searchTrackingComponent = searchTrackingComponent; } protected Map executeImpl(WebScriptRequest req, Status status) @@ -122,7 +122,7 @@ public class AlfrescoModelsDiff extends DeclarativeWebScript models.put(QName.createQName(jsonModel.getString("name")), jsonModel.getLong("checksum")); } - List diffs = solrTrackingComponent.getModelDiffs(models); + List diffs = searchTrackingComponent.getModelDiffs(models); model.put("diffs", diffs); if (logger.isDebugEnabled()) diff --git a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/NodesGet.java b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/NodesGet.java index fdaf1baf9d..e99d6574a0 100644 --- a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/NodesGet.java +++ b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/NodesGet.java @@ -35,11 +35,10 @@ import java.util.Set; import org.alfresco.repo.domain.node.Node; import org.alfresco.repo.domain.qname.QNameDAO; -import org.alfresco.repo.search.impl.QueryParserUtils; +import org.alfresco.repo.search.SearchTrackingComponent; +import org.alfresco.repo.search.SearchTrackingComponent.NodeQueryCallback; import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.solr.NodeParameters; -import org.alfresco.repo.solr.SOLRTrackingComponent; -import org.alfresco.repo.solr.SOLRTrackingComponent.NodeQueryCallback; import org.alfresco.repo.tenant.TenantService; import org.alfresco.service.cmr.repository.StoreRef; import org.alfresco.service.namespace.QName; @@ -67,15 +66,15 @@ public class NodesGet extends DeclarativeWebScript { protected static final Log logger = LogFactory.getLog(NodesGet.class); - private SOLRTrackingComponent solrTrackingComponent; + private SearchTrackingComponent searchTrackingComponent; private TenantService tenantService; private QNameDAO qnameDAO; - public void setSolrTrackingComponent(SOLRTrackingComponent solrTrackingComponent) + public void setSearchTrackingComponent(SearchTrackingComponent searchTrackingComponent) { - this.solrTrackingComponent = solrTrackingComponent; + this.searchTrackingComponent = searchTrackingComponent; } public void setTenantService(TenantService tenantService) @@ -202,7 +201,7 @@ public class NodesGet extends DeclarativeWebScript WebNodeQueryCallback nodeQueryCallback = new WebNodeQueryCallback(maxResults, storeRef, tenantService, qnameDAO); - solrTrackingComponent.getNodes(nodeParameters, nodeQueryCallback); + searchTrackingComponent.getNodes(nodeParameters, nodeQueryCallback); Map model = new HashMap(1, 1.0f); List nodes = nodeQueryCallback.getNodes(); diff --git a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/NodesMetaDataGet.java b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/NodesMetaDataGet.java index a6187950dc..c2450ee93b 100644 --- a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/NodesMetaDataGet.java +++ b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/NodesMetaDataGet.java @@ -38,11 +38,11 @@ import java.util.Set; import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.repo.search.IndexerException; +import org.alfresco.repo.search.SearchTrackingComponent; +import org.alfresco.repo.search.SearchTrackingComponent.NodeMetaDataQueryCallback; import org.alfresco.repo.solr.MetaDataResultsFilter; import org.alfresco.repo.solr.NodeMetaData; import org.alfresco.repo.solr.NodeMetaDataParameters; -import org.alfresco.repo.solr.SOLRTrackingComponent; -import org.alfresco.repo.solr.SOLRTrackingComponent.NodeMetaDataQueryCallback; import org.alfresco.repo.tenant.TenantUtil; import org.alfresco.repo.tenant.TenantUtil.TenantRunAsWork; import org.alfresco.service.cmr.repository.ChildAssociationRef; @@ -74,12 +74,12 @@ public class NodesMetaDataGet extends DeclarativeWebScript private static final int INITIAL_DEFAULT_SIZE = 100; private static final int BATCH_SIZE = 50; - private SOLRTrackingComponent solrTrackingComponent; + private SearchTrackingComponent searchTrackingComponent; private SOLRSerializer solrSerializer; - public void setSolrTrackingComponent(SOLRTrackingComponent solrTrackingComponent) + public void setSearchTrackingComponent(SearchTrackingComponent searchTrackingComponent) { - this.solrTrackingComponent = solrTrackingComponent; + this.searchTrackingComponent = searchTrackingComponent; } public void setSolrSerializer(SOLRSerializer solrSerializer) @@ -188,7 +188,7 @@ public class NodesMetaDataGet extends DeclarativeWebScript params.setToNodeId(toNodeId); params.setMaxResults(maxResults); - solrTrackingComponent.getNodesMetadata(params, filter, new NodeMetaDataQueryCallback() + searchTrackingComponent.getNodesMetadata(params, filter, new NodeMetaDataQueryCallback() { private int counter = BATCH_SIZE; private int numBatches = 0; diff --git a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/TransactionsGet.java b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/TransactionsGet.java index 5ec743ed88..e593f1969d 100644 --- a/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/TransactionsGet.java +++ b/remote-api/src/main/java/org/alfresco/repo/web/scripts/solr/TransactionsGet.java @@ -25,20 +25,20 @@ */ package org.alfresco.repo.web.scripts.solr; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.alfresco.repo.index.shard.ShardMethodEnum; -import org.alfresco.repo.index.shard.ShardState; -import org.alfresco.repo.index.shard.ShardStateBuilder; -import org.alfresco.repo.solr.SOLRTrackingComponent; -import org.alfresco.repo.solr.Transaction; -import org.alfresco.service.cmr.repository.StoreRef; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.springframework.extensions.webscripts.DeclarativeWebScript; -import org.springframework.extensions.webscripts.Status; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.alfresco.repo.index.shard.ShardMethodEnum; +import org.alfresco.repo.index.shard.ShardState; +import org.alfresco.repo.index.shard.ShardStateBuilder; +import org.alfresco.repo.search.SearchTrackingComponent; +import org.alfresco.repo.solr.Transaction; +import org.alfresco.service.cmr.repository.StoreRef; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.extensions.webscripts.DeclarativeWebScript; +import org.springframework.extensions.webscripts.Status; import org.springframework.extensions.webscripts.WebScriptRequest; /** @@ -50,11 +50,11 @@ public class TransactionsGet extends DeclarativeWebScript { protected static final Log logger = LogFactory.getLog(TransactionsGet.class); - private SOLRTrackingComponent solrTrackingComponent; + private SearchTrackingComponent searchTrackingComponent; - public void setSolrTrackingComponent(SOLRTrackingComponent solrTrackingComponent) + public void setSearchTrackingComponent(SearchTrackingComponent searchTrackingComponent) { - this.solrTrackingComponent = solrTrackingComponent; + this.searchTrackingComponent = searchTrackingComponent; } protected Map executeImpl(WebScriptRequest req, Status status) @@ -128,7 +128,7 @@ public class TransactionsGet extends DeclarativeWebScript } } - solrTrackingComponent.registerShardState(shardState); + searchTrackingComponent.registerShardState(shardState); } @@ -139,18 +139,18 @@ public class TransactionsGet extends DeclarativeWebScript Long toCommitTime = (toCommitTimeParam == null ? null : Long.valueOf(toCommitTimeParam)); int maxResults = (maxResultsParam == null ? 1024 : Integer.valueOf(maxResultsParam)); - List transactions = solrTrackingComponent.getTransactions(minTxnId, fromCommitTime, maxTxnId, toCommitTime, maxResults); + List transactions = searchTrackingComponent.getTransactions(minTxnId, fromCommitTime, maxTxnId, toCommitTime, maxResults); Map model = new HashMap(1, 1.0f); model.put("transactions", transactions); - Long maxTxnCommitTime = solrTrackingComponent.getMaxTxnCommitTime(); + Long maxTxnCommitTime = searchTrackingComponent.getMaxTxnCommitTime(); if(maxTxnCommitTime != null) { model.put("maxTxnCommitTime", maxTxnCommitTime); } - Long maxTxnIdOnServer = solrTrackingComponent.getMaxTxnId(); + Long maxTxnIdOnServer = searchTrackingComponent.getMaxTxnId(); if(maxTxnIdOnServer != null) { model.put("maxTxnId", maxTxnIdOnServer); diff --git a/remote-api/src/main/resources/alfresco/web-scripts-application-context.xml b/remote-api/src/main/resources/alfresco/web-scripts-application-context.xml index 8273942fc7..4c4402c694 100644 --- a/remote-api/src/main/resources/alfresco/web-scripts-application-context.xml +++ b/remote-api/src/main/resources/alfresco/web-scripts-application-context.xml @@ -1159,13 +1159,13 @@ - + - + - + - + - + @@ -1233,7 +1233,7 @@ - + @@ -1250,14 +1250,14 @@ - + - + @@ -1266,7 +1266,7 @@ parent="webscript"> - + aclChangeSets = solrTrackingComponent.getAclChangeSets(null, null, null, null, 100); + List aclChangeSets = searchTrackingComponent.getAclChangeSets(null, null, null, null, 100); if (aclChangeSets.size() == 0) { return; // Can't test, but very unlikely @@ -203,7 +203,7 @@ public class SOLRWebScriptTest extends BaseWebScriptTest JSONArray acls = json.getJSONArray("acls"); // Check - List aclsCheck = solrTrackingComponent.getAcls(aclChangeSetIds, null, 512); + List aclsCheck = searchTrackingComponent.getAcls(aclChangeSetIds, null, 512); assertEquals("Script and API returned different number of results", aclsCheck.size(), acls.length()); } @@ -223,7 +223,7 @@ public class SOLRWebScriptTest extends BaseWebScriptTest private void aclReadersGetImpl() throws Exception { - List aclChangeSets = solrTrackingComponent.getAclChangeSets(null, null, null, null, 1024); + List aclChangeSets = searchTrackingComponent.getAclChangeSets(null, null, null, null, 1024); List aclChangeSetIds = new ArrayList(50); for (AclChangeSet aclChangeSet : aclChangeSets) { @@ -237,7 +237,7 @@ public class SOLRWebScriptTest extends BaseWebScriptTest { // No ACLs; not likely } - List acls = solrTrackingComponent.getAcls(aclChangeSetIds, null, 1024); + List acls = searchTrackingComponent.getAcls(aclChangeSetIds, null, 1024); List aclIds = new ArrayList(acls.size()); JSONObject json = new JSONObject(); JSONArray aclIdsJSON = new JSONArray(); @@ -250,7 +250,7 @@ public class SOLRWebScriptTest extends BaseWebScriptTest json.put("aclIds", aclIdsJSON); // Now get the readers - List aclsReaders = solrTrackingComponent.getAclsReaders(aclIds); + List aclsReaders = searchTrackingComponent.getAclsReaders(aclIds); assertEquals("Should have same number of ACLs as supplied", aclIds.size(), aclsReaders.size()); assertTrue("Must have *some* ACLs here", aclIds.size() > 0); Map> readersByAclId = new HashMap>(); diff --git a/repository/src/main/java/org/alfresco/repo/domain/solr/SOLRDAO.java b/repository/src/main/java/org/alfresco/repo/domain/solr/SearchDAO.java similarity index 97% rename from repository/src/main/java/org/alfresco/repo/domain/solr/SOLRDAO.java rename to repository/src/main/java/org/alfresco/repo/domain/solr/SearchDAO.java index 3e19204290..2a7ece07f1 100644 --- a/repository/src/main/java/org/alfresco/repo/domain/solr/SOLRDAO.java +++ b/repository/src/main/java/org/alfresco/repo/domain/solr/SearchDAO.java @@ -39,7 +39,7 @@ import org.alfresco.service.namespace.QName; * * @since 4.0 */ -public interface SOLRDAO +public interface SearchDAO { /** * Get the ACL changesets summary (rollup count) with paging options diff --git a/repository/src/main/java/org/alfresco/repo/domain/solr/ibatis/SOLRDAOImpl.java b/repository/src/main/java/org/alfresco/repo/domain/solr/ibatis/SearchDAOImpl.java similarity index 96% rename from repository/src/main/java/org/alfresco/repo/domain/solr/ibatis/SOLRDAOImpl.java rename to repository/src/main/java/org/alfresco/repo/domain/solr/ibatis/SearchDAOImpl.java index 8a4f3ce6b4..ce179c3d07 100644 --- a/repository/src/main/java/org/alfresco/repo/domain/solr/ibatis/SOLRDAOImpl.java +++ b/repository/src/main/java/org/alfresco/repo/domain/solr/ibatis/SearchDAOImpl.java @@ -36,7 +36,7 @@ import org.alfresco.repo.domain.node.Node; import org.alfresco.repo.domain.qname.QNameDAO; import org.alfresco.repo.domain.solr.AclEntity; import org.alfresco.repo.domain.solr.NodeParametersEntity; -import org.alfresco.repo.domain.solr.SOLRDAO; +import org.alfresco.repo.domain.solr.SearchDAO; import org.alfresco.repo.domain.solr.SOLRTrackingParameters; import org.alfresco.repo.search.impl.QueryParserUtils; import org.alfresco.repo.solr.Acl; @@ -55,7 +55,7 @@ import org.mybatis.spring.SqlSessionTemplate; * * @since 4.0 */ -public class SOLRDAOImpl implements SOLRDAO +public class SearchDAOImpl implements SearchDAO { private static final String SELECT_CHANGESETS_SUMMARY = "alfresco.solr.select_ChangeSets_Summary"; private static final String SELECT_ACLS_BY_CHANGESET_IDS = "alfresco.solr.select_AclsByChangeSetIds"; diff --git a/repository/src/main/java/org/alfresco/repo/node/CascadeUpdateAspect.java b/repository/src/main/java/org/alfresco/repo/node/CascadeUpdateAspect.java index 32b09072dc..5643386f5c 100644 --- a/repository/src/main/java/org/alfresco/repo/node/CascadeUpdateAspect.java +++ b/repository/src/main/java/org/alfresco/repo/node/CascadeUpdateAspect.java @@ -31,8 +31,8 @@ import org.alfresco.repo.node.NodeServicePolicies.OnDeleteChildAssociationPolicy import org.alfresco.repo.node.NodeServicePolicies.OnMoveNodePolicy; import org.alfresco.repo.policy.Behaviour; import org.alfresco.repo.policy.JavaBehaviour; -import org.alfresco.repo.policy.PolicyComponent; -import org.alfresco.repo.solr.SOLRTrackingComponent; +import org.alfresco.repo.policy.PolicyComponent; +import org.alfresco.repo.search.SearchTrackingComponent; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef.Status; @@ -46,7 +46,7 @@ public class CascadeUpdateAspect implements OnCreateChildAssociationPolicy, OnDe { private PolicyComponent policyComponent; private NodeService nodeService; - private SOLRTrackingComponent solrTrackingComponent; + private SearchTrackingComponent searchTrackingComponent; public void setPolicyComponent(PolicyComponent policyComponent) @@ -59,9 +59,9 @@ public class CascadeUpdateAspect implements OnCreateChildAssociationPolicy, OnDe this.nodeService = nodeService; } - public void setSolrTrackingComponent(SOLRTrackingComponent solrTrackingComponent) + public void setSearchTrackingComponent(SearchTrackingComponent searchTrackingComponent) { - this.solrTrackingComponent = solrTrackingComponent; + this.searchTrackingComponent = searchTrackingComponent; } /** @@ -112,7 +112,7 @@ public class CascadeUpdateAspect implements OnCreateChildAssociationPolicy, OnDe private void markCascadeUpdate(NodeRef nodeRef) { Status status = nodeService.getNodeStatus(nodeRef); - nodeService.setProperty(status.getNodeRef(), ContentModel.PROP_CASCADE_CRC, solrTrackingComponent.getCRC(status.getDbId())); + nodeService.setProperty(status.getNodeRef(), ContentModel.PROP_CASCADE_CRC, searchTrackingComponent.getCRC(status.getDbId())); nodeService.setProperty(status.getNodeRef(), ContentModel.PROP_CASCADE_TX, status.getDbTxnId()); } } diff --git a/repository/src/main/java/org/alfresco/repo/solr/SOLRTrackingComponent.java b/repository/src/main/java/org/alfresco/repo/search/SearchTrackingComponent.java similarity index 89% rename from repository/src/main/java/org/alfresco/repo/solr/SOLRTrackingComponent.java rename to repository/src/main/java/org/alfresco/repo/search/SearchTrackingComponent.java index 9238e16f7d..9ed9e192c0 100644 --- a/repository/src/main/java/org/alfresco/repo/solr/SOLRTrackingComponent.java +++ b/repository/src/main/java/org/alfresco/repo/search/SearchTrackingComponent.java @@ -23,22 +23,32 @@ * along with Alfresco. If not, see . * #L% */ -package org.alfresco.repo.solr; +package org.alfresco.repo.search; import java.util.List; import java.util.Map; import org.alfresco.repo.domain.node.Node; import org.alfresco.repo.index.shard.ShardRegistry; -import org.alfresco.repo.index.shard.ShardState; +import org.alfresco.repo.index.shard.ShardState; +import org.alfresco.repo.solr.Acl; +import org.alfresco.repo.solr.AclChangeSet; +import org.alfresco.repo.solr.AclReaders; +import org.alfresco.repo.solr.AlfrescoModel; +import org.alfresco.repo.solr.AlfrescoModelDiff; +import org.alfresco.repo.solr.MetaDataResultsFilter; +import org.alfresco.repo.solr.NodeMetaData; +import org.alfresco.repo.solr.NodeMetaDataParameters; +import org.alfresco.repo.solr.NodeParameters; +import org.alfresco.repo.solr.Transaction; import org.alfresco.service.namespace.QName; /** - * Interface for component to provide tracking data for SOLR. - * + * Interface for component to provide tracking data for Search Subsystem. + * * @since 4.0 */ -public interface SOLRTrackingComponent +public interface SearchTrackingComponent { /** * Get the ACL changesets for given range parameters diff --git a/repository/src/main/java/org/alfresco/repo/search/impl/solr/DbOrIndexSwitchingQueryLanguage.java b/repository/src/main/java/org/alfresco/repo/search/impl/solr/DbOrIndexSwitchingQueryLanguage.java index dba79a08e1..6edbb2af30 100644 --- a/repository/src/main/java/org/alfresco/repo/search/impl/solr/DbOrIndexSwitchingQueryLanguage.java +++ b/repository/src/main/java/org/alfresco/repo/search/impl/solr/DbOrIndexSwitchingQueryLanguage.java @@ -32,7 +32,7 @@ import java.util.Set; import java.util.regex.Matcher; import org.alfresco.repo.domain.node.Node; -import org.alfresco.repo.domain.solr.SOLRDAO; +import org.alfresco.repo.domain.solr.SearchDAO; import org.alfresco.repo.search.impl.lucene.AbstractLuceneQueryLanguage; import org.alfresco.repo.search.impl.lucene.LuceneQueryLanguageSPI; import org.alfresco.repo.search.impl.lucene.SolrJSONResultSet; @@ -65,7 +65,7 @@ public class DbOrIndexSwitchingQueryLanguage extends AbstractLuceneQueryLanguage private NodeService nodeService; - private SOLRDAO solrDao; + private SearchDAO searchDao; private boolean hybridEnabled; @@ -101,9 +101,9 @@ public class DbOrIndexSwitchingQueryLanguage extends AbstractLuceneQueryLanguage this.nodeService = nodeService; } - public void setSolrDao(SOLRDAO solrDao) + public void setSearchDao(SearchDAO searchDao) { - this.solrDao = solrDao; + this.searchDao = searchDao; } public void setHybridEnabled(boolean hybridEnabled) @@ -333,7 +333,7 @@ public class DbOrIndexSwitchingQueryLanguage extends AbstractLuceneQueryLanguage // TODO: setToTxnId(null) when SolrDAO behaviour is fixed. nodeParameters.setToTxnId(Long.MAX_VALUE); stopWatch.start("get changed nodes"); - List changedNodeList = solrDao.getNodes(nodeParameters, null, null); + List changedNodeList = searchDao.getNodes(nodeParameters, null, null); stopWatch.stop(); if (logger.isDebugEnabled()) { diff --git a/repository/src/main/java/org/alfresco/repo/solr/SOLRTrackingComponentImpl.java b/repository/src/main/java/org/alfresco/repo/solr/SOLRTrackingComponentImpl.java index 95a240a523..1f202b250a 100644 --- a/repository/src/main/java/org/alfresco/repo/solr/SOLRTrackingComponentImpl.java +++ b/repository/src/main/java/org/alfresco/repo/solr/SOLRTrackingComponentImpl.java @@ -36,14 +36,12 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; -import java.util.OptionalInt; import java.util.Set; import java.util.TreeSet; import java.util.zip.CRC32; import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.model.ContentModel; -import org.alfresco.repo.coci.CheckOutCheckInServiceImpl; import org.alfresco.repo.dictionary.DictionaryDAO; import org.alfresco.repo.domain.node.Node; import org.alfresco.repo.domain.node.NodeDAO; @@ -51,10 +49,11 @@ import org.alfresco.repo.domain.node.NodeDAO.ChildAssocRefQueryCallback; import org.alfresco.repo.domain.node.NodeEntity; import org.alfresco.repo.domain.permissions.AclDAO; import org.alfresco.repo.domain.qname.QNameDAO; -import org.alfresco.repo.domain.solr.SOLRDAO; +import org.alfresco.repo.domain.solr.SearchDAO; import org.alfresco.repo.index.shard.ShardRegistry; import org.alfresco.repo.index.shard.ShardState; import org.alfresco.repo.search.AspectIndexFilter; +import org.alfresco.repo.search.SearchTrackingComponent; import org.alfresco.repo.search.TypeIndexFilter; import org.alfresco.repo.search.impl.QueryParserUtils; import org.alfresco.repo.security.authentication.AuthenticationUtil; @@ -89,11 +88,11 @@ import org.apache.commons.logging.LogFactory; * * @since 4.0 */ -public class SOLRTrackingComponentImpl implements SOLRTrackingComponent +public class SOLRTrackingComponentImpl implements SearchTrackingComponent { private NodeDAO nodeDAO; private QNameDAO qnameDAO; - private SOLRDAO solrDAO; + private SearchDAO searchDAO; private DictionaryDAO dictionaryDAO; private PermissionService permissionService; private AclDAO aclDAO; @@ -130,9 +129,9 @@ public class SOLRTrackingComponentImpl implements SOLRTrackingComponent this.cacheAncestors = cacheAncestors; } - public void setSolrDAO(SOLRDAO solrDAO) + public void setSearchDAO(SearchDAO searchDAO) { - this.solrDAO = solrDAO; + this.searchDAO = searchDAO; } public void setNodeDAO(NodeDAO nodeDAO) @@ -200,7 +199,7 @@ public class SOLRTrackingComponentImpl implements SOLRTrackingComponent */ public void init() { - PropertyCheck.mandatory(this, "solrDAO", solrDAO); + PropertyCheck.mandatory(this, "solrDAO", searchDAO); PropertyCheck.mandatory(this, "nodeDAO", nodeDAO); PropertyCheck.mandatory(this, "qnameDAO", qnameDAO); PropertyCheck.mandatory(this, "permissionService", permissionService); @@ -219,7 +218,7 @@ public class SOLRTrackingComponentImpl implements SOLRTrackingComponent { if(enabled) { - List changesets = solrDAO.getAclChangeSets(minAclChangeSetId, fromCommitTime, maxAclChangeSetId, toCommitTime, maxResults); + List changesets = searchDAO.getAclChangeSets(minAclChangeSetId, fromCommitTime, maxAclChangeSetId, toCommitTime, maxResults); return changesets; } else @@ -233,7 +232,7 @@ public class SOLRTrackingComponentImpl implements SOLRTrackingComponent { if(enabled) { - List acls = solrDAO.getAcls(aclChangeSetIds, minAclId, maxResults); + List acls = searchDAO.getAcls(aclChangeSetIds, minAclId, maxResults); return acls; } else @@ -305,7 +304,7 @@ public class SOLRTrackingComponentImpl implements SOLRTrackingComponent List aclChangeSetIds = new ArrayList(1); aclChangeSetIds.add(aclChangeSetId); - List acls = solrDAO.getAcls(aclChangeSetIds, null, 1024); + List acls = searchDAO.getAcls(aclChangeSetIds, null, 1024); for (Acl acl : acls) { tenantDomain = getAclTenant(acl.getId()); @@ -347,7 +346,7 @@ public class SOLRTrackingComponentImpl implements SOLRTrackingComponent { if(enabled) { - List txns = solrDAO.getTransactions(minTxnId, fromCommitTime, maxTxnId, toCommitTime, maxResults); + List txns = searchDAO.getTransactions(minTxnId, fromCommitTime, maxTxnId, toCommitTime, maxResults); return txns; } else @@ -392,7 +391,7 @@ public class SOLRTrackingComponentImpl implements SOLRTrackingComponent } - List nodes = solrDAO.getNodes(nodeParameters, shardPropertQName, shardPropertyType); + List nodes = searchDAO.getNodes(nodeParameters, shardPropertQName, shardPropertyType); for (Node node : nodes) { diff --git a/repository/src/main/resources/alfresco/core-services-context.xml b/repository/src/main/resources/alfresco/core-services-context.xml index 24086d45e9..14a06bc081 100644 --- a/repository/src/main/resources/alfresco/core-services-context.xml +++ b/repository/src/main/resources/alfresco/core-services-context.xml @@ -4,6 +4,9 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> + + + @@ -998,7 +1001,7 @@ - + false @@ -1291,16 +1294,16 @@ - + - search.solrTrackingComponent + search.trackingComponent - org.alfresco.repo.solr.SOLRTrackingComponent + org.alfresco.repo.search.SearchTrackingComponent diff --git a/repository/src/main/resources/alfresco/dao/dao-context.xml b/repository/src/main/resources/alfresco/dao/dao-context.xml index 6c7eabb160..58c6545f3f 100644 --- a/repository/src/main/resources/alfresco/dao/dao-context.xml +++ b/repository/src/main/resources/alfresco/dao/dao-context.xml @@ -294,8 +294,8 @@ - - + + diff --git a/repository/src/main/resources/alfresco/ibatis/ibatis-context.xml b/repository/src/main/resources/alfresco/ibatis/ibatis-context.xml index 70314d76f1..5eff9e1862 100644 --- a/repository/src/main/resources/alfresco/ibatis/ibatis-context.xml +++ b/repository/src/main/resources/alfresco/ibatis/ibatis-context.xml @@ -52,7 +52,7 @@ - + diff --git a/repository/src/main/resources/alfresco/node-services-context.xml b/repository/src/main/resources/alfresco/node-services-context.xml index 306b7437e8..150c52ded8 100644 --- a/repository/src/main/resources/alfresco/node-services-context.xml +++ b/repository/src/main/resources/alfresco/node-services-context.xml @@ -323,7 +323,7 @@ - + diff --git a/repository/src/main/resources/alfresco/subsystems/Search/common-opencmis-context.xml b/repository/src/main/resources/alfresco/subsystems/Search/common-opencmis-context.xml index 16efcfa3d7..39e63a2332 100644 --- a/repository/src/main/resources/alfresco/subsystems/Search/common-opencmis-context.xml +++ b/repository/src/main/resources/alfresco/subsystems/Search/common-opencmis-context.xml @@ -23,7 +23,7 @@ ${solr.query.cmis.queryConsistency} - + @@ -66,7 +66,7 @@ ${solr.query.cmis.queryConsistency} - + diff --git a/repository/src/main/resources/alfresco/subsystems/Search/common-search-context.xml b/repository/src/main/resources/alfresco/subsystems/Search/common-search-context.xml index 9a18ba34be..857f856425 100644 --- a/repository/src/main/resources/alfresco/subsystems/Search/common-search-context.xml +++ b/repository/src/main/resources/alfresco/subsystems/Search/common-search-context.xml @@ -6,14 +6,14 @@ http://www.springframework.org/schema/beans/spring-beans.xsd"> - + - + @@ -83,7 +83,7 @@ ${solr.query.fts.queryConsistency} - + diff --git a/repository/src/test/java/org/alfresco/AllDBTestsTestSuite.java b/repository/src/test/java/org/alfresco/AllDBTestsTestSuite.java index 623997b326..08e82cc05b 100644 --- a/repository/src/test/java/org/alfresco/AllDBTestsTestSuite.java +++ b/repository/src/test/java/org/alfresco/AllDBTestsTestSuite.java @@ -64,7 +64,7 @@ import org.junit.runners.Suite; org.alfresco.repo.domain.patch.AppliedPatchDAOTest.class, org.alfresco.repo.domain.permissions.AclCrudDAOTest.class, org.alfresco.repo.domain.usage.UsageDAOTest.class, - org.alfresco.repo.domain.solr.SOLRDAOTest.class, + org.alfresco.repo.domain.solr.SearchDAOTest.class, org.alfresco.repo.domain.tenant.TenantAdminDAOTest.class, // REPO-1012 : run AuditDAOTest and PropertyValueCleanupTest near the end diff --git a/repository/src/test/java/org/alfresco/AppContext05TestSuite.java b/repository/src/test/java/org/alfresco/AppContext05TestSuite.java index dff8efd4c6..f07a6e0b86 100644 --- a/repository/src/test/java/org/alfresco/AppContext05TestSuite.java +++ b/repository/src/test/java/org/alfresco/AppContext05TestSuite.java @@ -71,7 +71,7 @@ import org.junit.runners.Suite; org.alfresco.repo.domain.patch.AppliedPatchDAOTest.class, org.alfresco.repo.domain.permissions.AclCrudDAOTest.class, org.alfresco.repo.domain.usage.UsageDAOTest.class, - org.alfresco.repo.domain.solr.SOLRDAOTest.class, + org.alfresco.repo.domain.solr.SearchDAOTest.class, org.alfresco.repo.domain.tenant.TenantAdminDAOTest.class, // REPO-1012 : run AuditDAOTest and PropertyValueCleanupTest near the end diff --git a/repository/src/test/java/org/alfresco/repo/domain/solr/SOLRDAOTest.java b/repository/src/test/java/org/alfresco/repo/domain/solr/SearchDAOTest.java similarity index 94% rename from repository/src/test/java/org/alfresco/repo/domain/solr/SOLRDAOTest.java rename to repository/src/test/java/org/alfresco/repo/domain/solr/SearchDAOTest.java index feffccbb2d..bcb481ad87 100644 --- a/repository/src/test/java/org/alfresco/repo/domain/solr/SOLRDAOTest.java +++ b/repository/src/test/java/org/alfresco/repo/domain/solr/SearchDAOTest.java @@ -67,7 +67,7 @@ import org.springframework.context.ConfigurableApplicationContext; * @since 4.0 */ @Category({OwnJVMTestsCategory.class, DBTests.class}) -public class SOLRDAOTest extends TestCase +public class SearchDAOTest extends TestCase { private ConfigurableApplicationContext ctx = (ConfigurableApplicationContext) ApplicationContextHelper.getApplicationContext(); @@ -77,13 +77,13 @@ public class SOLRDAOTest extends TestCase private TransactionService transactionService; private NodeService nodeService; private AclDAO aclDaoComponent; - private SOLRDAO solrDAO; + private SearchDAO searchDAO; private NodeDAO nodeDAO; @Override public void setUp() throws Exception { - solrDAO = (SOLRDAO)ctx.getBean("solrDAO"); + searchDAO = (SearchDAO)ctx.getBean("searchDAO"); nodeDAO = (NodeDAO)ctx.getBean("nodeDAO"); authenticationComponent = (AuthenticationComponent)ctx.getBean("authenticationComponent"); @@ -103,7 +103,7 @@ public class SOLRDAOTest extends TestCase @Override public List execute() throws Throwable { - return solrDAO.getNodes(nodeParameters, null, null); + return searchDAO.getNodes(nodeParameters, null, null); } }, true); } @@ -115,7 +115,7 @@ public class SOLRDAOTest extends TestCase @Override public List execute() throws Throwable { - return solrDAO.getAcls(aclChangeSetIds, minAclId, maxResults); + return searchDAO.getAcls(aclChangeSetIds, minAclId, maxResults); } }, true); } @@ -130,7 +130,7 @@ public class SOLRDAOTest extends TestCase @Override public List execute() throws Throwable { - return solrDAO.getTransactions(minTxnId, fromCommitTime, maxTxnId, toCommitTime, maxResults); + return searchDAO.getTransactions(minTxnId, fromCommitTime, maxTxnId, toCommitTime, maxResults); } }, true); } @@ -145,7 +145,7 @@ public class SOLRDAOTest extends TestCase @Override public List execute() throws Throwable { - return solrDAO.getAclChangeSets(minAclChangeSetId, fromCommitTime, maxAclChangeSetId, toCommitTime, maxResults); + return searchDAO.getAclChangeSets(minAclChangeSetId, fromCommitTime, maxAclChangeSetId, toCommitTime, maxResults); } }, true); } @@ -449,7 +449,7 @@ public class SOLRDAOTest extends TestCase List aclChangeSetIds = new ArrayList(); aclChangeSetIds.add(aclProps.getAclChangeSetId()); - List acls = solrDAO.getAcls(aclChangeSetIds, null, 1000); + List acls = searchDAO.getAcls(aclChangeSetIds, null, 1000); assertTrue("Shared Acl should be found by solrDAO so that it can be indexed", containsAclId(acls, sharedAclId)); } finally diff --git a/repository/src/test/java/org/alfresco/repo/search/impl/solr/DbOrIndexSwitchingQueryLanguageTest.java b/repository/src/test/java/org/alfresco/repo/search/impl/solr/DbOrIndexSwitchingQueryLanguageTest.java index 2d5f008288..8d74772739 100644 --- a/repository/src/test/java/org/alfresco/repo/search/impl/solr/DbOrIndexSwitchingQueryLanguageTest.java +++ b/repository/src/test/java/org/alfresco/repo/search/impl/solr/DbOrIndexSwitchingQueryLanguageTest.java @@ -37,7 +37,7 @@ import java.util.List; import org.alfresco.model.ContentModel; import org.alfresco.repo.domain.node.Node; -import org.alfresco.repo.domain.solr.SOLRDAO; +import org.alfresco.repo.domain.solr.SearchDAO; import org.alfresco.repo.search.impl.lucene.LuceneQueryLanguageSPI; import org.alfresco.repo.search.impl.lucene.SolrJSONResultSet; import org.alfresco.repo.search.impl.querymodel.QueryModelException; @@ -68,7 +68,7 @@ public class DbOrIndexSwitchingQueryLanguageTest private @Mock LuceneQueryLanguageSPI indexQueryLang; private @Mock SolrJSONResultSet indexResults; private @Mock ResultSet dbResults; - private @Mock SOLRDAO solrDAO; + private @Mock SearchDAO solrDAO; private List changedNodes; @Before @@ -77,7 +77,7 @@ public class DbOrIndexSwitchingQueryLanguageTest queryLang = new DbOrIndexSwitchingQueryLanguage(); queryLang.setDbQueryLanguage(dbQueryLang); queryLang.setIndexQueryLanguage(indexQueryLang); - queryLang.setSolrDao(solrDAO); + queryLang.setSearchDao(solrDAO); searchParameters = new SearchParameters(); changedNodes = new ArrayList<>(); diff --git a/repository/src/test/java/org/alfresco/repo/solr/SOLRTrackingComponentTest.java b/repository/src/test/java/org/alfresco/repo/solr/SOLRTrackingComponentTest.java index 1b5ac2058f..2650a51856 100644 --- a/repository/src/test/java/org/alfresco/repo/solr/SOLRTrackingComponentTest.java +++ b/repository/src/test/java/org/alfresco/repo/solr/SOLRTrackingComponentTest.java @@ -45,9 +45,10 @@ import org.alfresco.repo.domain.node.Node; import org.alfresco.repo.domain.node.NodeDAO; import org.alfresco.repo.domain.qname.QNameDAO; import org.alfresco.repo.node.db.DbNodeServiceImpl; +import org.alfresco.repo.search.SearchTrackingComponent; +import org.alfresco.repo.search.SearchTrackingComponent.NodeMetaDataQueryCallback; +import org.alfresco.repo.search.SearchTrackingComponent.NodeQueryCallback; import org.alfresco.repo.security.authentication.AuthenticationComponent; -import org.alfresco.repo.solr.SOLRTrackingComponent.NodeMetaDataQueryCallback; -import org.alfresco.repo.solr.SOLRTrackingComponent.NodeQueryCallback; import org.alfresco.repo.transaction.RetryingTransactionHelper; import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback; import org.alfresco.service.ServiceRegistry; @@ -95,7 +96,7 @@ public class SOLRTrackingComponentTest extends BaseSpringTest private NodeDAO nodeDAO; private QNameDAO qnameDAO; private DictionaryDAO dictionaryDAO; - private SOLRTrackingComponent solrTrackingComponent; + private SearchTrackingComponent solrTrackingComponent; private DbNodeServiceImpl dbNodeService; private StoreRef storeRef; @@ -108,7 +109,7 @@ public class SOLRTrackingComponentTest extends BaseSpringTest transactionService = serviceRegistry.getTransactionService(); txnHelper = transactionService.getRetryingTransactionHelper(); - solrTrackingComponent = (SOLRTrackingComponent) applicationContext.getBean("solrTrackingComponent"); + solrTrackingComponent = (SearchTrackingComponent) applicationContext.getBean("searchTrackingComponent"); nodeDAO = (NodeDAO)applicationContext.getBean("nodeDAO"); qnameDAO = (QNameDAO) applicationContext.getBean("qnameDAO"); dictionaryDAO = (DictionaryDAO)applicationContext.getBean("dictionaryDAO"); @@ -208,7 +209,7 @@ public class SOLRTrackingComponentTest extends BaseSpringTest } /** - * Call {@link SOLRTrackingComponent#getTransactions(Long, Long, Long, Long, int)} in a transaction + * Call {@link SearchTrackingComponent#getTransactions(Long, Long, Long, Long, int)} in a transaction */ private List getTransactions( final Long minTxnId, final Long fromCommitTime, @@ -227,7 +228,7 @@ public class SOLRTrackingComponentTest extends BaseSpringTest } /** - * Call {@link SOLRTrackingComponent#getNodes(NodeParameters, NodeQueryCallback)} in a transaction + * Call {@link SearchTrackingComponent#getNodes(NodeParameters, NodeQueryCallback)} in a transaction */ private void getNodes(final NodeParameters nodeParameters, final SOLRTest bt) { @@ -249,7 +250,7 @@ public class SOLRTrackingComponentTest extends BaseSpringTest } /** - * Call {@link SOLRTrackingComponent#getAcls(List, Long, int)} in a transaction + * Call {@link SearchTrackingComponent#getAcls(List, Long, int)} in a transaction */ @SuppressWarnings("unused") private List getAcls(final List aclChangeSetIds, final Long minAclId, final int maxResults) @@ -266,7 +267,7 @@ public class SOLRTrackingComponentTest extends BaseSpringTest } /** - * Call {@link SOLRTrackingComponent#getAclChangeSets(Long, Long, Long, Long, int)} in a transaction + * Call {@link SearchTrackingComponent#getAclChangeSets(Long, Long, Long, Long, int)} in a transaction */ private List getAclChangeSets( final Long minAclChangeSetId, final Long fromCommitTime,