SEARCH-2445: Adding Elasticsearch Search Subsystem as Only Enterprise option

This commit is contained in:
Angel Borroy
2020-10-06 10:08:42 +02:00
parent 7b99a414b0
commit dfd5af550a
27 changed files with 265 additions and 254 deletions

View File

@@ -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<String, Object> 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<AclChangeSet> changesets = solrTrackingComponent.getAclChangeSets(fromId, fromTime, toId, toTime, maxResults);
List<AclChangeSet> changesets = searchTrackingComponent.getAclChangeSets(fromId, fromTime, toId, toTime, maxResults);
Map<String, Object> model = new HashMap<String, Object>(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);

View File

@@ -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<String, Object> 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<Acl> acls = solrTrackingComponent.getAcls(aclChangeSetIds, fromId, maxResults);
List<Acl> acls = searchTrackingComponent.getAcls(aclChangeSetIds, fromId, maxResults);
Map<String, Object> model = new HashMap<String, Object>(1, 1.0f);
model.put("acls", acls);

View File

@@ -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<String, Object> executeImpl(WebScriptRequest req, Status status)
@@ -111,7 +111,7 @@ public class AclsReadersGet extends DeclarativeWebScript
}
// Request according to the paging query style required
List<AclReaders> aclsReaders = solrTrackingComponent.getAclsReaders(aclIds);
List<AclReaders> aclsReaders = searchTrackingComponent.getAclsReaders(aclIds);
Map<String, Object> model = new HashMap<String, Object>(1, 1.0f);
model.put("aclsReaders", aclsReaders);

View File

@@ -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());
}

View File

@@ -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<String, Object> 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<AlfrescoModelDiff> diffs = solrTrackingComponent.getModelDiffs(models);
List<AlfrescoModelDiff> diffs = searchTrackingComponent.getModelDiffs(models);
model.put("diffs", diffs);
if (logger.isDebugEnabled())

View File

@@ -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<String, Object> model = new HashMap<String, Object>(1, 1.0f);
List<NodeRecord> nodes = nodeQueryCallback.getNodes();

View File

@@ -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;

View File

@@ -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<String, Object> 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<Transaction> transactions = solrTrackingComponent.getTransactions(minTxnId, fromCommitTime, maxTxnId, toCommitTime, maxResults);
List<Transaction> transactions = searchTrackingComponent.getTransactions(minTxnId, fromCommitTime, maxTxnId, toCommitTime, maxResults);
Map<String, Object> model = new HashMap<String, Object>(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);

View File

@@ -1159,13 +1159,13 @@
<bean id="webscript.org.alfresco.repository.solr.aclChangeSets.get"
class="org.alfresco.repo.web.scripts.solr.AclChangeSetsGet"
parent="webscript">
<property name="solrTrackingComponent" ref="solrTrackingComponent"/>
<property name="searchTrackingComponent" ref="searchTrackingComponent"/>
</bean>
<bean id="webscript.org.alfresco.repository.solr.acls.post"
class="org.alfresco.repo.web.scripts.solr.AclsGet"
parent="webscript">
<property name="solrTrackingComponent" ref="solrTrackingComponent"/>
<property name="searchTrackingComponent" ref="searchTrackingComponent"/>
</bean>
<bean id="webscript.org.alfresco.repository.solr.acls.get"
@@ -1174,7 +1174,7 @@
<bean id="webscript.org.alfresco.repository.solr.aclsReaders.post"
class="org.alfresco.repo.web.scripts.solr.AclsReadersGet"
parent="webscript">
<property name="solrTrackingComponent" ref="solrTrackingComponent"/>
<property name="searchTrackingComponent" ref="searchTrackingComponent"/>
</bean>
<bean id="webscript.org.alfresco.repository.solr.aclsReaders.get"
@@ -1183,7 +1183,7 @@
<bean id="webscript.org.alfresco.repository.solr.transactions.get"
class="org.alfresco.repo.web.scripts.solr.TransactionsGet"
parent="webscript">
<property name="solrTrackingComponent" ref="solrTrackingComponent"/>
<property name="searchTrackingComponent" ref="searchTrackingComponent"/>
</bean>
<bean id="webscript.org.alfresco.repository.solr.stats.get"
@@ -1225,7 +1225,7 @@
<bean id="webscript.org.alfresco.repository.solr.nodes.post"
class="org.alfresco.repo.web.scripts.solr.NodesGet"
parent="webscript">
<property name="solrTrackingComponent" ref="solrTrackingComponent"/>
<property name="searchTrackingComponent" ref="searchTrackingComponent"/>
<property name="tenantService" ref="tenantService"/>
<property name="qnameDAO" ref="qnameDAO"/>
</bean>
@@ -1233,7 +1233,7 @@
<bean id="webscript.org.alfresco.repository.solr.nodesMetaData.post"
class="org.alfresco.repo.web.scripts.solr.NodesMetaDataGet"
parent="webscript">
<property name="solrTrackingComponent" ref="solrTrackingComponent"/>
<property name="searchTrackingComponent" ref="searchTrackingComponent"/>
<property name="solrSerializer" ref="solrSerializer"/>
</bean>
@@ -1250,14 +1250,14 @@
<bean id="webscript.org.alfresco.repository.solr.model.get"
class="org.alfresco.repo.web.scripts.solr.AlfrescoModelGet"
parent="webscript">
<property name="solrTrackingComponent" ref="solrTrackingComponent"/>
<property name="searchTrackingComponent" ref="searchTrackingComponent"/>
<property name="namespaceService" ref="namespaceService"/>
</bean>
<bean id="webscript.org.alfresco.repository.solr.modelsdiff.post"
class="org.alfresco.repo.web.scripts.solr.AlfrescoModelsDiff"
parent="webscript">
<property name="solrTrackingComponent" ref="solrTrackingComponent"/>
<property name="searchTrackingComponent" ref="searchTrackingComponent"/>
</bean>
<!-- /api/solr webscript returning the min txId and the max TxId in a nodeId range -->
@@ -1266,7 +1266,7 @@
parent="webscript">
<property name="nodeDAO" ref="nodeDAO" />
</bean>
<!-- /api/solr webscript returning the min txId in a nodeId range -->
<bean id="webscript.org.alfresco.repository.solr.nextTransactionCommitTime.get"
class="org.alfresco.repo.web.scripts.solr.NextTransactionGet"

View File

@@ -25,46 +25,46 @@
*/
package org.alfresco.repo.web.scripts.solr;
import java.io.PrintWriter;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.domain.node.NodeDAO;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.solr.Acl;
import org.alfresco.repo.solr.AclChangeSet;
import org.alfresco.repo.solr.AclReaders;
import org.alfresco.repo.solr.SOLRTrackingComponent;
import org.alfresco.repo.transaction.RetryingTransactionHelper;
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
import org.alfresco.repo.web.scripts.BaseWebScriptTest;
import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.model.FileFolderService;
import org.alfresco.service.cmr.model.FileInfo;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.alfresco.service.transaction.TransactionService;
import org.alfresco.util.Pair;
import org.alfresco.util.PropertyMap;
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.context.ApplicationContext;
import org.springframework.extensions.webscripts.Status;
import org.springframework.extensions.webscripts.TestWebScriptServer;
import java.io.PrintWriter;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.alfresco.model.ContentModel;
import org.alfresco.repo.domain.node.NodeDAO;
import org.alfresco.repo.search.SearchTrackingComponent;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.solr.Acl;
import org.alfresco.repo.solr.AclChangeSet;
import org.alfresco.repo.solr.AclReaders;
import org.alfresco.repo.transaction.RetryingTransactionHelper;
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
import org.alfresco.repo.web.scripts.BaseWebScriptTest;
import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.cmr.model.FileFolderService;
import org.alfresco.service.cmr.model.FileInfo;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.alfresco.service.transaction.TransactionService;
import org.alfresco.util.Pair;
import org.alfresco.util.PropertyMap;
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.context.ApplicationContext;
import org.springframework.extensions.webscripts.Status;
import org.springframework.extensions.webscripts.TestWebScriptServer;
import org.springframework.extensions.webscripts.TestWebScriptServer.Response;
/**
@@ -77,7 +77,7 @@ public class SOLRWebScriptTest extends BaseWebScriptTest
protected static final Log logger = LogFactory.getLog(SOLRWebScriptTest.class);
private ApplicationContext ctx;
private SOLRTrackingComponent solrTrackingComponent;
private SearchTrackingComponent searchTrackingComponent;
private NodeDAO nodeDAO;
private TransactionService transactionService;
private NodeService nodeService;
@@ -107,7 +107,7 @@ public class SOLRWebScriptTest extends BaseWebScriptTest
namespaceService = serviceRegistry.getNamespaceService();
txnHelper = transactionService.getRetryingTransactionHelper();
nodeDAO = (NodeDAO)ctx.getBean("nodeDAO");
solrTrackingComponent = (SOLRTrackingComponent) ctx.getBean("solrTrackingComponent");
searchTrackingComponent = (SearchTrackingComponent) ctx.getBean("searchTrackingComponent");
admin = AuthenticationUtil.getAdminUserName();
@@ -165,7 +165,7 @@ public class SOLRWebScriptTest extends BaseWebScriptTest
public void testAclsGet() throws Exception
{
List<AclChangeSet> aclChangeSets = solrTrackingComponent.getAclChangeSets(null, null, null, null, 100);
List<AclChangeSet> 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<Acl> aclsCheck = solrTrackingComponent.getAcls(aclChangeSetIds, null, 512);
List<Acl> 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<AclChangeSet> aclChangeSets = solrTrackingComponent.getAclChangeSets(null, null, null, null, 1024);
List<AclChangeSet> aclChangeSets = searchTrackingComponent.getAclChangeSets(null, null, null, null, 1024);
List<Long> aclChangeSetIds = new ArrayList<Long>(50);
for (AclChangeSet aclChangeSet : aclChangeSets)
{
@@ -237,7 +237,7 @@ public class SOLRWebScriptTest extends BaseWebScriptTest
{
// No ACLs; not likely
}
List<Acl> acls = solrTrackingComponent.getAcls(aclChangeSetIds, null, 1024);
List<Acl> acls = searchTrackingComponent.getAcls(aclChangeSetIds, null, 1024);
List<Long> aclIds = new ArrayList<Long>(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<AclReaders> aclsReaders = solrTrackingComponent.getAclsReaders(aclIds);
List<AclReaders> 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<Long, Set<String>> readersByAclId = new HashMap<Long, Set<String>>();