diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/solr/transactions.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/solr/transactions.get.desc.xml
index 160dc9b1c4..efd8f61ed9 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/repository/solr/transactions.get.desc.xml
+++ b/config/alfresco/templates/webscripts/org/alfresco/repository/solr/transactions.get.desc.xml
@@ -5,7 +5,8 @@
argument
none
- required
+
+ required
internal
SOLR
\ No newline at end of file
diff --git a/source/java/org/alfresco/repo/web/scripts/solr/TransactionsGet.java b/source/java/org/alfresco/repo/web/scripts/solr/TransactionsGet.java
index 5cd63b7606..5c6fb949ac 100644
--- a/source/java/org/alfresco/repo/web/scripts/solr/TransactionsGet.java
+++ b/source/java/org/alfresco/repo/web/scripts/solr/TransactionsGet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2005-2011 Alfresco Software Limited.
+ * Copyright (C) 2005-2015 Alfresco Software Limited.
*
* This file is part of Alfresco
*
@@ -22,8 +22,12 @@ 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;
@@ -53,6 +57,49 @@ public class TransactionsGet extends DeclarativeWebScript
String maxTxnIdParam = req.getParameter("maxTxnId");
String toCommitTimeParam = req.getParameter("toCommitTime");
String maxResultsParam = req.getParameter("maxResults");
+
+ String baseUrl = req.getParameter("baseUrl");
+ String hostName = req.getParameter("hostName");
+ String template = req.getParameter("template");
+ String instance = req.getParameter("instance");
+ String numberOfShards = req.getParameter("numberOfShards");
+ String port = req.getParameter("port");
+ String stores = req.getParameter("stores");
+ String isMaster = req.getParameter("isMaster");
+ String hasContent = req.getParameter("hasContent");
+ String shardMethod = req.getParameter("shardMethod");
+
+
+
+ if(baseUrl != null)
+ {
+ ShardState shardState = ShardStateBuilder.shardState()
+ .withMaster(Boolean.valueOf(isMaster))
+ .withShardInstance()
+ .withBaseUrl(baseUrl)
+ .withPort(Integer.valueOf(port))
+ .withHostName(hostName)
+ .withShard()
+ .withInstance(Integer.valueOf(instance))
+ .withFloc()
+ .withNumberOfShards(Integer.valueOf(numberOfShards))
+ .withTemplate(template)
+ .withHasContent(Boolean.valueOf(hasContent))
+ .withShardMethod(ShardMethodEnum.getShardMethod(shardMethod))
+ .endFloc()
+ .endShard()
+ .endShardInstance()
+ .build();
+
+ for(String store : stores.split(","))
+ {
+ shardState.getShardInstance().getShard().getFloc().getStoreRefs().add(new StoreRef(store));
+ }
+
+ solrTrackingComponent.registerShardState(shardState);
+
+ }
+
Long minTxnId = (minTxnIdParam == null ? null : Long.valueOf(minTxnIdParam));
Long fromCommitTime = (fromCommitTimeParam == null ? null : Long.valueOf(fromCommitTimeParam));
@@ -84,5 +131,4 @@ public class TransactionsGet extends DeclarativeWebScript
return model;
}
-
}