diff --git a/config/alfresco/public-rest-context.xml b/config/alfresco/public-rest-context.xml index 2332abec29..e653cd4d77 100644 --- a/config/alfresco/public-rest-context.xml +++ b/config/alfresco/public-rest-context.xml @@ -815,6 +815,10 @@ + + + + diff --git a/source/java/org/alfresco/rest/api/audit/AuditApplicationsAuditEntriesRelation.java b/source/java/org/alfresco/rest/api/audit/AuditApplicationsAuditEntriesRelation.java index a2d6b24020..ae6d269e8f 100644 --- a/source/java/org/alfresco/rest/api/audit/AuditApplicationsAuditEntriesRelation.java +++ b/source/java/org/alfresco/rest/api/audit/AuditApplicationsAuditEntriesRelation.java @@ -35,6 +35,8 @@ import org.alfresco.rest.framework.resource.parameters.Parameters; import org.alfresco.util.ParameterCheck; import org.springframework.beans.factory.InitializingBean; + + @RelationshipResource(name = "audit-entries", entityResource = AuditApplicationsEntityResource.class, title = "Audit Application Entries") public class AuditApplicationsAuditEntriesRelation implements RelationshipResourceAction.Read, InitializingBean { @@ -56,7 +58,6 @@ public class AuditApplicationsAuditEntriesRelation implements RelationshipResour @Override public CollectionWithPagingInfo readAll(String auditAppId, Parameters parameters) { - return audit.listAuditEntries(auditAppId, parameters); } diff --git a/source/java/org/alfresco/rest/api/impl/AuditImpl.java b/source/java/org/alfresco/rest/api/impl/AuditImpl.java index 4379c8f12a..ce508bec13 100644 --- a/source/java/org/alfresco/rest/api/impl/AuditImpl.java +++ b/source/java/org/alfresco/rest/api/impl/AuditImpl.java @@ -173,7 +173,6 @@ public class AuditImpl implements Audit return CollectionWithPagingInfo.asPaged(paging, auditApps, hasMoreItems, totalItems); } - @Override public CollectionWithPagingInfo listAuditEntries(String auditAppId, Parameters parameters) { @@ -186,14 +185,14 @@ public class AuditImpl implements Audit forward = sortProp.getSecond(); // Parse where clause properties. - List entriesAfterWhereQuery = new ArrayList(); + List entriesAudit = new ArrayList(); Query q = parameters.getQuery(); - if (q != null) + if (q != null && q.getTree() != null) { // filtering via "where" clause AuditEntryQueryWalker propertyWalker = new AuditEntryQueryWalker(); QueryHelper.walk(q, propertyWalker); - entriesAfterWhereQuery = getQueryResultAuditEntries(auditAppId, propertyWalker, MAX_ITEMS_AUDIT_ENTRIES, forward); + entriesAudit = getQueryResultAuditEntries(auditAppId, propertyWalker, MAX_ITEMS_AUDIT_ENTRIES, forward); } // paging @@ -202,7 +201,7 @@ public class AuditImpl implements Audit int skipCount = paging.getSkipCount(); int maxItems = paging.getMaxItems(); int max = skipCount + maxItems; // to detect hasMoreItems - int totalItems = entriesAfterWhereQuery.size(); + int totalItems = entriesAudit.size(); if (skipCount >= totalItems) { @@ -214,8 +213,8 @@ public class AuditImpl implements Audit int end = Math.min(max, totalItems); boolean hasMoreItems = totalItems > end; - entriesAfterWhereQuery = entriesAfterWhereQuery.subList(skipCount, end); - return CollectionWithPagingInfo.asPaged(paging, entriesAfterWhereQuery, hasMoreItems, totalItems); + entriesAudit = entriesAudit.subList(skipCount, end); + return CollectionWithPagingInfo.asPaged(paging, entriesAudit, hasMoreItems, totalItems); } } @@ -225,7 +224,7 @@ public class AuditImpl implements Audit * @return * @throws InvalidArgumentException */ - private Pair getAuditEntrySortProp(Parameters parameters) + private Pair getAuditEntrySortProp(Parameters parameters) { Pair sortProp = null; List sortCols = parameters.getSorting(); @@ -334,7 +333,10 @@ public class AuditImpl implements Audit params.setUser(propertyWalker.getCreatedByUser()); params.setFromTime(propertyWalker.getFromTime()); params.setToTime(propertyWalker.getToTime()); - params.addSearchKey(propertyWalker.getValuesKey(), propertyWalker.getValuesValue()); + if (propertyWalker.getValuesKey() != null && propertyWalker.getValuesValue() != null) + { + params.addSearchKey(propertyWalker.getValuesKey(), propertyWalker.getValuesValue()); + } // create the callback for auditQuery method final AuditQueryCallback callback = new AuditQueryCallback() @@ -363,7 +365,6 @@ public class AuditImpl implements Audit return results; } - @Override public AuditApp update(String auditAppId, AuditApp auditApp, Parameters parameters) { @@ -390,5 +391,4 @@ public class AuditImpl implements Audit return new AuditApp(auditApplication.getKey().substring(1), auditApplication.getName(), auditApp.getIsEnabled()); } - }