From e564eda6972cbb574e3fd8640f3e20177db3a687 Mon Sep 17 00:00:00 2001 From: Andrew Hind Date: Fri, 16 Dec 2011 19:35:21 +0000 Subject: [PATCH] ALF-11546 Tracking queries on alf_transaction table do not have an upper bound - Part 2 - refactor API + collateral damage - Fix tracking tests to cope with the presence of background transactions - should fix Oracle build and other intermittent build failures git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@32824 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../alfresco/repo/web/scripts/solr/AclChangeSetsGet.java | 6 +++++- .../alfresco/repo/web/scripts/solr/SOLRWebScriptTest.java | 4 ++-- .../org/alfresco/repo/web/scripts/solr/TransactionsGet.java | 6 +++++- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/source/java/org/alfresco/repo/web/scripts/solr/AclChangeSetsGet.java b/source/java/org/alfresco/repo/web/scripts/solr/AclChangeSetsGet.java index 78f034a80c..75ce6054e4 100644 --- a/source/java/org/alfresco/repo/web/scripts/solr/AclChangeSetsGet.java +++ b/source/java/org/alfresco/repo/web/scripts/solr/AclChangeSetsGet.java @@ -50,13 +50,17 @@ public class AclChangeSetsGet extends DeclarativeWebScript { String fromIdParam = req.getParameter("fromId"); String fromTimeParam = req.getParameter("fromTime"); + String toIdParam = req.getParameter("toId"); + String toTimeParam = req.getParameter("toTime"); String maxResultsParam = req.getParameter("maxResults"); Long fromId = (fromIdParam == null ? null : Long.valueOf(fromIdParam)); Long fromTime = (fromTimeParam == null ? null : Long.valueOf(fromTimeParam)); + Long toId = (toIdParam == null ? null : Long.valueOf(toIdParam)); + Long toTime = (toTimeParam == null ? null : Long.valueOf(toTimeParam)); int maxResults = (maxResultsParam == null ? 1024 : Integer.valueOf(maxResultsParam)); - List changesets = solrTrackingComponent.getAclChangeSets(fromId, fromTime, maxResults); + List changesets = solrTrackingComponent.getAclChangeSets(fromId, fromTime, toId, toTime, maxResults); Map model = new HashMap(1, 1.0f); model.put("aclChangeSets", changesets); diff --git a/source/java/org/alfresco/repo/web/scripts/solr/SOLRWebScriptTest.java b/source/java/org/alfresco/repo/web/scripts/solr/SOLRWebScriptTest.java index ee93545f02..375add40b2 100644 --- a/source/java/org/alfresco/repo/web/scripts/solr/SOLRWebScriptTest.java +++ b/source/java/org/alfresco/repo/web/scripts/solr/SOLRWebScriptTest.java @@ -158,7 +158,7 @@ public class SOLRWebScriptTest extends BaseWebScriptTest public void testAclsGet() throws Exception { - List aclChangeSets = solrTrackingComponent.getAclChangeSets(null, null, 100); + List aclChangeSets = solrTrackingComponent.getAclChangeSets(null, null, null, null, 100); if (aclChangeSets.size() == 0) { return; // Can't test, but very unlikely @@ -202,7 +202,7 @@ public class SOLRWebScriptTest extends BaseWebScriptTest public void testAclReadersGet() throws Exception { - List aclChangeSets = solrTrackingComponent.getAclChangeSets(null, null, 1024); + List aclChangeSets = solrTrackingComponent.getAclChangeSets(null, null, null, null, 1024); List aclChangeSetIds = new ArrayList(50); for (AclChangeSet aclChangeSet : aclChangeSets) { 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 e1bf6a306c..e1a37ef3f4 100644 --- a/source/java/org/alfresco/repo/web/scripts/solr/TransactionsGet.java +++ b/source/java/org/alfresco/repo/web/scripts/solr/TransactionsGet.java @@ -50,13 +50,17 @@ public class TransactionsGet extends DeclarativeWebScript { String minTxnIdParam = req.getParameter("minTxnId"); String fromCommitTimeParam = req.getParameter("fromCommitTime"); + String maxTxnIdParam = req.getParameter("maxTxnId"); + String toCommitTimeParam = req.getParameter("toCommitTime"); String maxResultsParam = req.getParameter("maxResults"); Long minTxnId = (minTxnIdParam == null ? null : Long.valueOf(minTxnIdParam)); Long fromCommitTime = (fromCommitTimeParam == null ? null : Long.valueOf(fromCommitTimeParam)); + Long maxTxnId = (maxTxnIdParam == null ? null : Long.valueOf(maxTxnIdParam)); + Long toCommitTime = (toCommitTimeParam == null ? null : Long.valueOf(toCommitTimeParam)); int maxResults = (maxResultsParam == null ? 1024 : Integer.valueOf(maxResultsParam)); - List transactions = solrTrackingComponent.getTransactions(minTxnId, fromCommitTime, maxResults); + List transactions = solrTrackingComponent.getTransactions(minTxnId, fromCommitTime, maxTxnId, toCommitTime, maxResults); Map model = new HashMap(1, 1.0f); model.put("transactions", transactions);