diff --git a/source/java/org/alfresco/repo/audit/AuditComponent.java b/source/java/org/alfresco/repo/audit/AuditComponent.java
index 213b9902d5..13637a28e6 100644
--- a/source/java/org/alfresco/repo/audit/AuditComponent.java
+++ b/source/java/org/alfresco/repo/audit/AuditComponent.java
@@ -121,5 +121,24 @@ public interface AuditComponent
*/
void auditQuery(
AuditQueryCallback callback,
- String applicationName, String user, Long from, Long to, int maxResults);
+ String applicationName, String user, Long from, Long to,
+ int maxResults);
+
+ /**
+ * Get the audit entries that match the given criteria.
+ *
+ * @param callback the callback that will handle results
+ * @param applicationName if not null, find entries logged against this application
+ * @param user if not null, find entries logged against this user
+ * @param from the start search time (null to start at the beginning)
+ * @param to the end search time (null for no limit)
+ * @param searchKey the audit key path that must exist (null to ignore)
+ * @param searchString an audit value string that must exist (null to ignore)
+ * @param maxResults the maximum number of results to retrieve (zero or negative to ignore)
+ */
+ void auditQuery(
+ AuditQueryCallback callback,
+ String applicationName, String user, Long from, Long to,
+ String searchKey, String searchString,
+ int maxResults);
}
diff --git a/source/java/org/alfresco/repo/audit/AuditComponentImpl.java b/source/java/org/alfresco/repo/audit/AuditComponentImpl.java
index 15c6fb518d..a3a2de7167 100644
--- a/source/java/org/alfresco/repo/audit/AuditComponentImpl.java
+++ b/source/java/org/alfresco/repo/audit/AuditComponentImpl.java
@@ -966,4 +966,28 @@ public class AuditComponentImpl implements AuditComponent
auditDAO.findAuditEntries(callback, applicationName, user, from, to, maxResults);
}
+
+ /**
+ * {@inheritDoc}
+ */
+ public void auditQuery(
+ AuditQueryCallback callback,
+ String applicationName,
+ String user,
+ Long from,
+ Long to,
+ String searchKey, String searchString,
+ int maxResults)
+ {
+ ParameterCheck.mandatory("callback", callback);
+
+ // Shortcuts
+ if (from != null && to != null && from.compareTo(to) > 0)
+ {
+ // Time range can't yield results
+ return;
+ }
+
+ auditDAO.findAuditEntries(callback, applicationName, user, from, to, searchKey, searchString, maxResults);
+ }
}
diff --git a/source/java/org/alfresco/repo/audit/AuditServiceImpl.java b/source/java/org/alfresco/repo/audit/AuditServiceImpl.java
index eebe35df95..469344ffc2 100644
--- a/source/java/org/alfresco/repo/audit/AuditServiceImpl.java
+++ b/source/java/org/alfresco/repo/audit/AuditServiceImpl.java
@@ -130,16 +130,32 @@ public class AuditServiceImpl implements AuditService
/**
* {@inheritDoc}
- * @see AuditComponent#auditQuery(AuditQueryCallback, String, String, Long, Long, int)
* @since 3.2
*/
public void auditQuery(
AuditQueryCallback callback,
- String applicationName, String user, Long from, Long to, int maxResults)
+ String applicationName, String user, Long from, Long to,
+ int maxResults)
{
ParameterCheck.mandatory("callback", callback);
auditComponent.auditQuery(callback, applicationName, user, from, to, maxResults);
}
+
+ /**
+ * {@inheritDoc}
+ * @since 3.2
+ */
+ public void auditQuery(
+ AuditQueryCallback callback,
+ String applicationName, String user, Long from, Long to,
+ String searchKey, String searchString,
+ int maxResults)
+
+ {
+ ParameterCheck.mandatory("callback", callback);
+
+ auditComponent.auditQuery(callback, applicationName, user, from, to, searchKey, searchString, maxResults);
+ }
}
\ No newline at end of file
diff --git a/source/java/org/alfresco/repo/audit/hibernate/HibernateAuditDAO.java b/source/java/org/alfresco/repo/audit/hibernate/HibernateAuditDAO.java
index fba44c9f5d..544bea42dc 100644
--- a/source/java/org/alfresco/repo/audit/hibernate/HibernateAuditDAO.java
+++ b/source/java/org/alfresco/repo/audit/hibernate/HibernateAuditDAO.java
@@ -694,7 +694,8 @@ public class HibernateAuditDAO extends HibernateDaoSupport implements AuditDAO,
*/
public void findAuditEntries(
AuditQueryCallback callback,
- String applicationName, String user, Long from, Long to, int maxResults)
+ String applicationName, String user, Long from, Long to,
+ int maxResults)
{
throw new UnsupportedOperationException();
}
@@ -707,8 +708,9 @@ public class HibernateAuditDAO extends HibernateDaoSupport implements AuditDAO,
*/
public void findAuditEntries(
AuditQueryCallback callback,
- String applicationName, String user, Long from, Long to, int maxResults,
- String searchKey, String searchString)
+ String applicationName, String user, Long from, Long to,
+ String searchKey, String searchString,
+ int maxResults)
{
throw new UnsupportedOperationException();
}
diff --git a/source/java/org/alfresco/repo/domain/audit/AbstractAuditDAOImpl.java b/source/java/org/alfresco/repo/domain/audit/AbstractAuditDAOImpl.java
index fcc0cfd603..f99509d0d6 100644
--- a/source/java/org/alfresco/repo/domain/audit/AbstractAuditDAOImpl.java
+++ b/source/java/org/alfresco/repo/domain/audit/AbstractAuditDAOImpl.java
@@ -343,7 +343,8 @@ public abstract class AbstractAuditDAOImpl implements AuditDAO
public void findAuditEntries(
AuditQueryCallback callback,
- String applicationName, String user, Long from, Long to, int maxResults)
+ String applicationName, String user, Long from, Long to,
+ int maxResults)
{
AuditQueryRowHandler rowHandler = new AuditQueryRowHandler(callback);
findAuditEntries(rowHandler, applicationName, user, from, to, maxResults, null, null);
@@ -351,8 +352,9 @@ public abstract class AbstractAuditDAOImpl implements AuditDAO
public void findAuditEntries(
AuditQueryCallback callback,
- String applicationName, String user, Long from, Long to, int maxResults,
- String searchKey, String searchString)
+ String applicationName, String user, Long from, Long to,
+ String searchKey, String searchString,
+ int maxResults)
{
AuditQueryRowHandler rowHandler = new AuditQueryRowHandler(callback);
findAuditEntries(rowHandler, applicationName, user, from, to, maxResults, searchKey, searchString);
diff --git a/source/java/org/alfresco/repo/domain/audit/AuditDAO.java b/source/java/org/alfresco/repo/domain/audit/AuditDAO.java
index 2360c18665..bee6aa5033 100644
--- a/source/java/org/alfresco/repo/domain/audit/AuditDAO.java
+++ b/source/java/org/alfresco/repo/domain/audit/AuditDAO.java
@@ -101,6 +101,7 @@ public interface AuditDAO
void findAuditEntries(
AuditQueryCallback callback,
- String applicationName, String user, Long from, Long to, int maxResults,
- String searchKey, String searchString);
+ String applicationName, String user, Long from, Long to,
+ String searchKey, String searchString,
+ int maxResults);
}
\ No newline at end of file
diff --git a/source/java/org/alfresco/repo/domain/audit/AuditDAOTest.java b/source/java/org/alfresco/repo/domain/audit/AuditDAOTest.java
index e1b3ab5a78..13c5400032 100644
--- a/source/java/org/alfresco/repo/domain/audit/AuditDAOTest.java
+++ b/source/java/org/alfresco/repo/domain/audit/AuditDAOTest.java
@@ -196,7 +196,7 @@ public class AuditDAOTest extends TestCase
{
public Void execute() throws Throwable
{
- auditDAO.findAuditEntries(callback, null, null, null, null, -1, "/a/b/c", null);
+ auditDAO.findAuditEntries(callback, null, null, null, null, "/a/b/c", null, -1);
return null;
}
};
diff --git a/source/java/org/alfresco/service/cmr/audit/AuditService.java b/source/java/org/alfresco/service/cmr/audit/AuditService.java
index 9f2799f816..55344e49e0 100644
--- a/source/java/org/alfresco/service/cmr/audit/AuditService.java
+++ b/source/java/org/alfresco/service/cmr/audit/AuditService.java
@@ -143,5 +143,24 @@ public interface AuditService
*/
void auditQuery(
AuditQueryCallback callback,
- String applicationName, String user, Long from, Long to, int maxResults);
+ String applicationName, String user, Long from, Long to,
+ int maxResults);
+
+ /**
+ * Get the audit entries that match the given criteria.
+ *
+ * @param callback the callback that will handle results
+ * @param applicationName if not null, find entries logged against this application
+ * @param user if not null, find entries logged against this user
+ * @param from the start search time (null to start at the beginning)
+ * @param to the end search time (null for no limit)
+ * @param searchKey the audit key path that must exist (null to ignore)
+ * @param searchString an audit value string that must exist (null to ignore)
+ * @param maxResults the maximum number of results to retrieve (zero or negative to ignore)
+ */
+ void auditQuery(
+ AuditQueryCallback callback,
+ String applicationName, String user, Long from, Long to,
+ String searchKey, String searchString,
+ int maxResults);
}