X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/blobdiff_plain/c2f269f9ae2f53a6b58a38e46f4fc6452f114703..96e3416d946aaf1d06e72ffbc83e2db8aa2e6045:/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IVersionableService.java diff --git a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IVersionableService.java b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IVersionableService.java index 046b79a02f..f8717ff80a 100644 --- a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IVersionableService.java +++ b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IVersionableService.java @@ -10,8 +10,13 @@ package eu.etaxonomy.cdm.api.service; +import java.util.List; + +import org.hibernate.envers.query.criteria.AuditCriterion; + import eu.etaxonomy.cdm.api.service.pager.Pager; import eu.etaxonomy.cdm.model.common.VersionableEntity; +import eu.etaxonomy.cdm.model.view.AuditEvent; import eu.etaxonomy.cdm.model.view.AuditEventRecord; import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort; @@ -28,9 +33,10 @@ public interface IVersionableService extends IServi * @param pageSize * @param pageNumber * @param sort + * @param propertyPaths paths initialized on the returned objects - only applied to the objects returned from the first grouping * @return a Pager containing audit event instances, plus metadata */ - public Pager> getAuditEvents(T t, Integer pageSize, Integer pageNumber, AuditEventSort sort); + public Pager> pageAuditEvents(T t, Integer pageSize, Integer pageNumber, AuditEventSort sort, List propertyPaths); /** * A convenience method which returns a record of the next (relative to the audit event in context) @@ -49,5 +55,22 @@ public interface IVersionableService extends IServi * @return a record of the previous audit event to affect t, or null if the current event is the first to affect t */ public AuditEventRecord getPreviousAuditEvent(T t); - + + /** + * Returns a list of all audit events occurring to objects of type T, optionally restricted to objects of type clazz + * between the AuditEvents from and to, inclusive, optionally filtered by other criteria + * + * @param clazz Restrict the results returned to objects of this class + * @param from The audit event to start from (inclusive, or pass null to start from the beginning of the recordset) + * @param to The audit event to continue until (exclusive, or pass null to return audit events up to the time of the query) + * @param criteria Extra criteria to filter by + * @param pageSize The maximum number of objects returned (can be null for all matching objects) + * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based, + * can be null, equivalent of starting at the beginning of the recordset) + * @param sort Sort the events either forwards or backwards in time + * @param propertyPaths properties to be initialized + * @return + */ + public Pager> pageAuditEvents(Class clazz,AuditEvent from,AuditEvent to, List criteria, Integer pageSize, Integer pageValue, AuditEventSort sort,List propertyPaths); + }