diff --git a/config/alfresco/ibatis/org.hibernate.dialect.Dialect/query-archived-nodes-common-SqlMap.xml b/config/alfresco/ibatis/org.hibernate.dialect.Dialect/query-archived-nodes-common-SqlMap.xml
index 6833b4861d..c6afbb13fe 100644
--- a/config/alfresco/ibatis/org.hibernate.dialect.Dialect/query-archived-nodes-common-SqlMap.xml
+++ b/config/alfresco/ibatis/org.hibernate.dialect.Dialect/query-archived-nodes-common-SqlMap.xml
@@ -37,5 +37,6 @@
order by childNode.id ASC
order by childNode.id DESC
+ limit #{limit}
\ No newline at end of file
diff --git a/source/java/org/alfresco/repo/node/archive/GetArchivedNodesCannedQuery.java b/source/java/org/alfresco/repo/node/archive/GetArchivedNodesCannedQuery.java
index b00ed147ec..d891c68bd7 100644
--- a/source/java/org/alfresco/repo/node/archive/GetArchivedNodesCannedQuery.java
+++ b/source/java/org/alfresco/repo/node/archive/GetArchivedNodesCannedQuery.java
@@ -74,6 +74,9 @@ public class GetArchivedNodesCannedQuery extends AbstractCannedQueryPermissions<
return Collections.emptyList();
}
+ int resultsRequired = parameters.getResultsRequired();
+ paramBean.setLimit(resultsRequired);
+
// note: refer to SQL for specific DB filtering and sorting
List results = cannedQueryDAO.executeQuery(QUERY_NAMESPACE,
QUERY_SELECT_GET_ARCHIVED_NODES, paramBean, 0, Integer.MAX_VALUE);
diff --git a/source/java/org/alfresco/repo/node/archive/GetArchivedNodesCannedQueryParams.java b/source/java/org/alfresco/repo/node/archive/GetArchivedNodesCannedQueryParams.java
index dbf4423a6b..2d9bee2191 100644
--- a/source/java/org/alfresco/repo/node/archive/GetArchivedNodesCannedQueryParams.java
+++ b/source/java/org/alfresco/repo/node/archive/GetArchivedNodesCannedQueryParams.java
@@ -28,6 +28,8 @@ package org.alfresco.repo.node.archive;
public class GetArchivedNodesCannedQueryParams extends ArchivedNodeEntity
{
+ private int limit;
+
/**
* @param parentNodeId
* @param assocTypeQNameId
@@ -43,4 +45,33 @@ public class GetArchivedNodesCannedQueryParams extends ArchivedNodeEntity
super(parentNodeId, nameQNameId, filter, assocTypeQNameId, sortOrderAscending,
filterIgnoreCase);
}
+
+ /**
+ * @param parentNodeId
+ * @param assocTypeQNameId
+ * @param filter
+ * @param filterIgnoreCase
+ * @param nameQNameId
+ * @param sortOrderAscending
+ * @param limit
+ */
+ public GetArchivedNodesCannedQueryParams(Long parentNodeId, Long assocTypeQNameId,
+ String filter, Boolean filterIgnoreCase, Long nameQNameId, Boolean sortOrderAscending,
+ int limit)
+ {
+ this(parentNodeId, assocTypeQNameId, filter, filterIgnoreCase, nameQNameId,
+ sortOrderAscending);
+ this.setLimit(limit);
+ }
+
+ public int getLimit()
+ {
+ return limit;
+ }
+
+ public void setLimit(int limit)
+ {
+ this.limit = limit;
+ }
+
}