diff --git a/src/main/java/com/inteligr8/activiti/ActivitiPublicRestApi.java b/src/main/java/com/inteligr8/activiti/ActivitiPublicRestApi.java
new file mode 100644
index 0000000..00c0b7c
--- /dev/null
+++ b/src/main/java/com/inteligr8/activiti/ActivitiPublicRestApi.java
@@ -0,0 +1,33 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see .
+ */
+package com.inteligr8.activiti;
+
+import com.inteligr8.activiti.api.ManagementApi;
+
+/**
+ * This interface consolidates the JAX-RS APIs available in the open-source
+ * Activiti Public ReST API.
+ *
+ * @author brian@inteligr8.com
+ */
+public interface ActivitiPublicRestApi {
+
+ T getApi(Class apiClass);
+
+ default ManagementApi getManagementApi() {
+ return this.getApi(ManagementApi.class);
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/activiti/api/ManagementApi.java b/src/main/java/com/inteligr8/activiti/api/ManagementApi.java
new file mode 100644
index 0000000..4ce3e80
--- /dev/null
+++ b/src/main/java/com/inteligr8/activiti/api/ManagementApi.java
@@ -0,0 +1,173 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see .
+ */
+package com.inteligr8.activiti.api;
+
+import java.io.File;
+import java.time.LocalDate;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.inteligr8.activiti.model.Engine;
+import com.inteligr8.activiti.model.EngineProperties;
+import com.inteligr8.activiti.model.ExecuteAction;
+import com.inteligr8.activiti.model.ExecuteAction.Action;
+import com.inteligr8.activiti.model.Job;
+import com.inteligr8.activiti.model.ResultList;
+
+@Path("/api/management")
+public interface ManagementApi {
+
+ public enum JobType {
+ @JsonProperty("jobs")
+ Job,
+ @JsonProperty("deadletter-jobs")
+ DeadletterJob
+ }
+
+ @GET
+ @Path("engine")
+ @Produces({ "application/json" })
+ public Engine getEngine();
+
+ @GET
+ @Path("properties")
+ @Produces({ "application/json" })
+ public EngineProperties getEngineProperties();
+
+ @GET
+ @Path("{jobType}/{jobId}")
+ @Produces({ "application/json" })
+ public Job getJob(
+ @PathParam("jobType") JobType jobType,
+ @PathParam("jobId") String jobId);
+
+ @DELETE
+ @Path("{jobType}/{jobId}")
+ public void deleteJob(
+ @PathParam("jobType") JobType jobType,
+ @PathParam("jobId") String jobId);
+
+ @POST
+ @Path("{jobType}/{jobId}")
+ @Consumes({ "application/json" })
+ public void executeJob(
+ @PathParam("jobType") JobType jobType,
+ @PathParam("jobId") String jobId,
+ ExecuteAction execute);
+
+ default void executeJob(
+ JobType jobType,
+ String jobId,
+ Action action) {
+ this.executeJob(jobType, jobId, new ExecuteAction(action));
+ }
+
+ default void executeJob(
+ JobType jobType,
+ String jobId) {
+ this.executeJob(jobType, jobId, new ExecuteAction(Action.Execute));
+ }
+
+ @GET
+ @Path("{jobType}/{jobId}/execution-stacktrace")
+ @Produces({ "application/octet-stream" })
+ public File getJobStacktrace(
+ @PathParam("jobType") JobType jobType,
+ @PathParam("jobId") String jobId);
+
+ @GET
+ @Path("{jobType}")
+ @Produces({ "application/json" })
+ public ResultList queryJobs(
+ @PathParam("jobType") JobType jobType,
+ @QueryParam("id") String jobId,
+ @QueryParam("processInstanceId") String processInstanceId,
+ @QueryParam("executionId") String executionId,
+ @QueryParam("processDefinitionId") String processDefinitionId,
+ @QueryParam("withRetriesLeft") Boolean withRetriesLeft,
+ @QueryParam("executable") Boolean executable,
+ @QueryParam("timersOnly") Boolean timersOnly,
+ @QueryParam("messagesOnly") Boolean messagesOnly,
+ @QueryParam("withException") Boolean withException,
+ @QueryParam("dueBefore") LocalDate dueBefore,
+ @QueryParam("dueAfter") LocalDate dueAfter,
+ @QueryParam("exceptionMessage") String exceptionMessage,
+ @QueryParam("withoutTenantId") Boolean withoutTenatId,
+ @QueryParam("sort") String sort);
+
+ @GET
+ @Path("{jobType}")
+ @Produces({ "application/json" })
+ public ResultList queryJobs(
+ @PathParam("jobType") JobType jobType,
+ @QueryParam("id") String jobId,
+ @QueryParam("processInstanceId") String processInstanceId,
+ @QueryParam("executionId") String executionId,
+ @QueryParam("processDefinitionId") String processDefinitionId,
+ @QueryParam("withRetriesLeft") Boolean withRetriesLeft,
+ @QueryParam("executable") Boolean executable,
+ @QueryParam("timersOnly") Boolean timersOnly,
+ @QueryParam("messagesOnly") Boolean messagesOnly,
+ @QueryParam("withException") Boolean withException,
+ @QueryParam("dueBefore") LocalDate dueBefore,
+ @QueryParam("dueAfter") LocalDate dueAfter,
+ @QueryParam("exceptionMessage") String exceptionMessage,
+ @QueryParam("tenantId") String tenantId,
+ @QueryParam("tenantIdLike") String tenantIdLike,
+ @QueryParam("sort") String sort);
+
+ default ResultList queryTimerJobs(
+ JobType jobType,
+ @QueryParam("id") String jobId,
+ @QueryParam("processInstanceId") String processInstanceId,
+ @QueryParam("executionId") String executionId,
+ @QueryParam("processDefinitionId") String processDefinitionId,
+ @QueryParam("withRetriesLeft") Boolean withRetriesLeft,
+ @QueryParam("executable") Boolean executable,
+ @QueryParam("withException") Boolean withException,
+ @QueryParam("dueBefore") LocalDate dueBefore,
+ @QueryParam("dueAfter") LocalDate dueAfter,
+ @QueryParam("exceptionMessage") String exceptionMessage,
+ @QueryParam("withoutTenantId") Boolean withoutTenantId,
+ @QueryParam("sort") String sort) {
+ return this.queryJobs(jobType, jobId, processInstanceId, executionId, processDefinitionId, withRetriesLeft, executable, true, false, withException, dueBefore, dueAfter, exceptionMessage, withoutTenantId, sort);
+ }
+
+ default ResultList queryMessagesJobs(
+ JobType jobType,
+ @QueryParam("id") String jobId,
+ @QueryParam("processInstanceId") String processInstanceId,
+ @QueryParam("executionId") String executionId,
+ @QueryParam("processDefinitionId") String processDefinitionId,
+ @QueryParam("withRetriesLeft") Boolean withRetriesLeft,
+ @QueryParam("executable") Boolean executable,
+ @QueryParam("withException") Boolean withException,
+ @QueryParam("dueBefore") LocalDate dueBefore,
+ @QueryParam("dueAfter") LocalDate dueAfter,
+ @QueryParam("exceptionMessage") String exceptionMessage,
+ @QueryParam("withoutTenantId") Boolean withoutTenantId,
+ @QueryParam("sort") String sort) {
+ return this.queryJobs(jobType, jobId, processInstanceId, executionId, processDefinitionId, withRetriesLeft, executable, false, true, withException, dueBefore, dueAfter, exceptionMessage, withoutTenantId, sort);
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/Datum.java b/src/main/java/com/inteligr8/activiti/model/Datum.java
similarity index 86%
rename from src/main/java/com/inteligr8/alfresco/activiti/model/Datum.java
rename to src/main/java/com/inteligr8/activiti/model/Datum.java
index 477caf6..89eb1bc 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/model/Datum.java
+++ b/src/main/java/com/inteligr8/activiti/model/Datum.java
@@ -1,18 +1,15 @@
-package com.inteligr8.alfresco.activiti.model;
+package com.inteligr8.activiti.model;
import java.util.HashMap;
import java.util.Map;
+
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
-@JsonPropertyOrder({
-
-})
public class Datum {
@JsonIgnore
diff --git a/src/main/java/com/inteligr8/activiti/model/Engine.java b/src/main/java/com/inteligr8/activiti/model/Engine.java
new file mode 100644
index 0000000..fe2abf4
--- /dev/null
+++ b/src/main/java/com/inteligr8/activiti/model/Engine.java
@@ -0,0 +1,76 @@
+package com.inteligr8.activiti.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class Engine {
+
+ @JsonProperty("name")
+ private String name;
+ @JsonProperty("version")
+ private String version;
+ @JsonProperty("resourceUrl")
+ private String resourceUrl;
+ @JsonProperty("exception")
+ private String exception;
+
+ /**
+ * No args constructor for use in serialization
+ */
+ public Engine() {
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Engine withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ public Engine withVersion(String version) {
+ this.version = version;
+ return this;
+ }
+
+ public String getResourceUrl() {
+ return resourceUrl;
+ }
+
+ public void setResourceUrl(String resourceUrl) {
+ this.resourceUrl = resourceUrl;
+ }
+
+ public Engine withResourceUrl(String resourceUrl) {
+ this.resourceUrl = resourceUrl;
+ return this;
+ }
+
+ public String getException() {
+ return exception;
+ }
+
+ public void setException(String exception) {
+ this.exception = exception;
+ }
+
+ public Engine withException(String exception) {
+ this.exception = exception;
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/activiti/model/EngineProperties.java b/src/main/java/com/inteligr8/activiti/model/EngineProperties.java
new file mode 100644
index 0000000..6b9c95a
--- /dev/null
+++ b/src/main/java/com/inteligr8/activiti/model/EngineProperties.java
@@ -0,0 +1,61 @@
+package com.inteligr8.activiti.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class EngineProperties {
+
+ @JsonProperty("next.dbid")
+ private String nextDbid;
+ @JsonProperty("schema.history")
+ private String schemaHistory;
+ @JsonProperty("schema.version")
+ private String schemaVersion;
+
+ /**
+ * No args constructor for use in serialization
+ */
+ public EngineProperties() {
+ }
+
+ public String getNextDbid() {
+ return nextDbid;
+ }
+
+ public void setNextDbid(String nextDbid) {
+ this.nextDbid = nextDbid;
+ }
+
+ public EngineProperties withNextDbid(String nextDbid) {
+ this.nextDbid = nextDbid;
+ return this;
+ }
+
+ public String getSchemaHistory() {
+ return schemaHistory;
+ }
+
+ public void setSchemaHistory(String schemaHistory) {
+ this.schemaHistory = schemaHistory;
+ }
+
+ public EngineProperties withSchemaHistory(String schemaHistory) {
+ this.schemaHistory = schemaHistory;
+ return this;
+ }
+
+ public String getSchemaVersion() {
+ return schemaVersion;
+ }
+
+ public void setSchemaVersion(String schemaVersion) {
+ this.schemaVersion = schemaVersion;
+ }
+
+ public EngineProperties withSchemaVersion(String schemaVersion) {
+ this.schemaVersion = schemaVersion;
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/activiti/model/ExecuteAction.java b/src/main/java/com/inteligr8/activiti/model/ExecuteAction.java
new file mode 100644
index 0000000..9c50b41
--- /dev/null
+++ b/src/main/java/com/inteligr8/activiti/model/ExecuteAction.java
@@ -0,0 +1,40 @@
+package com.inteligr8.activiti.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class ExecuteAction {
+
+ public enum Action {
+ @JsonProperty("execute")
+ Execute
+ }
+
+ @JsonProperty("action")
+ private Action action;
+
+ /**
+ * No args constructor for use in serialization
+ */
+ public ExecuteAction() {
+ }
+
+ public ExecuteAction(Action action) {
+ this.action = action;
+ }
+
+ public Action getAction() {
+ return action;
+ }
+
+ public void setAction(Action action) {
+ this.action = action;
+ }
+
+ public ExecuteAction withAction(Action action) {
+ this.action = action;
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/activiti/model/Job.java b/src/main/java/com/inteligr8/activiti/model/Job.java
new file mode 100644
index 0000000..8414439
--- /dev/null
+++ b/src/main/java/com/inteligr8/activiti/model/Job.java
@@ -0,0 +1,189 @@
+
+package com.inteligr8.activiti.model;
+
+import java.time.OffsetDateTime;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class Job extends Datum {
+
+ @JsonProperty("id")
+ private String id;
+ @JsonProperty("processInstanceId")
+ private String processInstanceId;
+ @JsonProperty("processInstanceUrl")
+ private String processInstanceUrl;
+ @JsonProperty("processDefinitionId")
+ private String processDefinitionId;
+ @JsonProperty("processDefinitionUrl")
+ private String processDefinitionUrl;
+ @JsonProperty("executionId")
+ private String executionId;
+ @JsonProperty("executionUrl")
+ private String executionUrl;
+ @JsonProperty("retries")
+ private int retries;
+ @JsonProperty("exceptionMessage")
+ private String exceptionMessage;
+ @JsonProperty("dueDate")
+ private OffsetDateTime dueDate;
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ @JsonProperty("tenantId")
+ private String tenantId;
+
+ /**
+ * No args constructor for use in serialization
+ */
+ public Job() {
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public Job withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ public void setProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ public Job withProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ return this;
+ }
+
+ public String getProcessInstanceUrl() {
+ return processInstanceUrl;
+ }
+
+ public void setProcessInstanceUrl(String processInstanceUrl) {
+ this.processInstanceUrl = processInstanceUrl;
+ }
+
+ public Job withProcessInstanceUrl(String processInstanceUrl) {
+ this.processInstanceUrl = processInstanceUrl;
+ return this;
+ }
+
+ public String getProcessDefinitionId() {
+ return processDefinitionId;
+ }
+
+ public void setProcessDefinitionId(String processDefinitionId) {
+ this.processDefinitionId = processDefinitionId;
+ }
+
+ public Job withProcessDefinitionId(String processDefinitionId) {
+ this.processDefinitionId = processDefinitionId;
+ return this;
+ }
+
+ public String getProcessDefinitionUrl() {
+ return processDefinitionUrl;
+ }
+
+ public void setProcessDefinitionUrl(String processDefinitionUrl) {
+ this.processDefinitionUrl = processDefinitionUrl;
+ }
+
+ public Job withProcessDefinitionUrl(String processDefinitionUrl) {
+ this.processDefinitionUrl = processDefinitionUrl;
+ return this;
+ }
+
+ public String getExecutionId() {
+ return executionId;
+ }
+
+ public void setExecutionId(String executionId) {
+ this.executionId = executionId;
+ }
+
+ public Job withExecutionId(String executionId) {
+ this.executionId = executionId;
+ return this;
+ }
+
+ public String getExecutionUrl() {
+ return executionUrl;
+ }
+
+ public void setExecutionUrl(String executionUrl) {
+ this.executionUrl = executionUrl;
+ }
+
+ public Job withExecutionUrl(String executionUrl) {
+ this.executionUrl = executionUrl;
+ return this;
+ }
+
+ public int getRetries() {
+ return retries;
+ }
+
+ public void setRetries(int retries) {
+ this.retries = retries;
+ }
+
+ public Job withRetries(int retries) {
+ this.retries = retries;
+ return this;
+ }
+
+ public String getExceptionMessage() {
+ return exceptionMessage;
+ }
+
+ public void setExceptionMessage(String exceptionMessage) {
+ this.exceptionMessage = exceptionMessage;
+ }
+
+ public Job withExceptionMessage(String exceptionMessage) {
+ this.exceptionMessage = exceptionMessage;
+ return this;
+ }
+
+ public OffsetDateTime getDueDate() {
+ return dueDate;
+ }
+
+ public void setDueDate(OffsetDateTime dueDate) {
+ this.dueDate = dueDate;
+ }
+
+ public Job withDueDate(OffsetDateTime dueDate) {
+ this.dueDate = dueDate;
+ return this;
+ }
+
+ public String getTenantId() {
+ return tenantId;
+ }
+
+ public void setTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ }
+
+ public Job withTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ return this;
+ }
+
+
+
+}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/ResultList.java b/src/main/java/com/inteligr8/activiti/model/ResultList.java
similarity index 63%
rename from src/main/java/com/inteligr8/alfresco/activiti/model/ResultList.java
rename to src/main/java/com/inteligr8/activiti/model/ResultList.java
index 919203d..a202241 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/model/ResultList.java
+++ b/src/main/java/com/inteligr8/activiti/model/ResultList.java
@@ -1,5 +1,5 @@
-package com.inteligr8.alfresco.activiti.model;
+package com.inteligr8.activiti.model;
import java.util.LinkedList;
import java.util.List;
@@ -8,16 +8,28 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
-public class ResultList {
-
+public class ResultList extends Datum {
+
+ @JsonProperty("data")
+ private List data = new LinkedList();
@JsonProperty("size")
private Integer size;
@JsonProperty("total")
private Integer total;
@JsonProperty("start")
private Integer start;
- @JsonProperty("data")
- private List data = new LinkedList();
+ @JsonProperty("sort")
+ private String sort;
+ @JsonProperty("order")
+ private String order;
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
public Integer getSize() {
return size;
@@ -43,12 +55,20 @@ public class ResultList {
this.start = start;
}
- public List getData() {
- return data;
- }
+ public String getSort() {
+ return sort;
+ }
- public void setData(List data) {
- this.data = data;
- }
+ public void setSort(String sort) {
+ this.sort = sort;
+ }
+
+ public String getOrder() {
+ return order;
+ }
+
+ public void setOrder(String order) {
+ this.order = order;
+ }
}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java b/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java
index 3c90f08..d7a7010 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/ApsPublicRestApi.java
@@ -14,10 +14,11 @@
*/
package com.inteligr8.alfresco.activiti;
+import com.inteligr8.activiti.ActivitiPublicRestApi;
import com.inteligr8.alfresco.activiti.api.AdminApi;
import com.inteligr8.alfresco.activiti.api.AppDefinitionsApi;
import com.inteligr8.alfresco.activiti.api.AppVersionApi;
-import com.inteligr8.alfresco.activiti.api.HistoricProcessInstancesApi;
+import com.inteligr8.alfresco.activiti.api.HistoricApi;
import com.inteligr8.alfresco.activiti.api.ModelsApi;
import com.inteligr8.alfresco.activiti.api.ProcessInstancesApi;
import com.inteligr8.alfresco.activiti.api.ProfileApi;
@@ -30,7 +31,7 @@ import com.inteligr8.alfresco.activiti.api.TasksApi;
*
* @author brian@inteligr8.com
*/
-public interface ApsPublicRestApi {
+public interface ApsPublicRestApi extends ActivitiPublicRestApi {
T getApi(Class apiClass);
@@ -46,8 +47,8 @@ public interface ApsPublicRestApi {
return this.getApi(AppVersionApi.class);
}
- default HistoricProcessInstancesApi getHistoricProcessInstancesApi() {
- return this.getApi(HistoricProcessInstancesApi.class);
+ default HistoricApi getHistoricProcessInstancesApi() {
+ return this.getApi(HistoricApi.class);
}
default ModelsApi getModelsApi() {
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/AdminApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/AdminApi.java
index 0b38b3d..7022b18 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/api/AdminApi.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/api/AdminApi.java
@@ -26,9 +26,9 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
+import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.Group;
import com.inteligr8.alfresco.activiti.model.GroupLight;
-import com.inteligr8.alfresco.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.Tenant;
import com.inteligr8.alfresco.activiti.model.UserLight;
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/GroupsApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/GroupsApi.java
index 41cffe7..0346529 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/api/GroupsApi.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/api/GroupsApi.java
@@ -20,8 +20,8 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
+import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.GroupLight;
-import com.inteligr8.alfresco.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.UserLight;
@Path("/api/enterprise/groups")
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/HistoricProcessInstancesApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/HistoricApi.java
similarity index 73%
rename from src/main/java/com/inteligr8/alfresco/activiti/api/HistoricProcessInstancesApi.java
rename to src/main/java/com/inteligr8/alfresco/activiti/api/HistoricApi.java
index 2a16d05..5db781e 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/api/HistoricProcessInstancesApi.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/api/HistoricApi.java
@@ -20,16 +20,24 @@ import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import com.inteligr8.alfresco.activiti.model.HistoricProcessInstanceQueryRepresentation;
+import com.inteligr8.alfresco.activiti.model.HistoricTaskQueryRepresentation;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;
import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation;
+import com.inteligr8.alfresco.activiti.model.Task;
-@Path("/api/enterprise/historic-process-instances")
-public interface HistoricProcessInstancesApi {
+@Path("/api/enterprise")
+public interface HistoricApi {
@POST
- @Path("query")
+ @Path("historic-process-instances/query")
@Consumes({ "application/json" })
@Produces({ "application/json" })
ResultListDataRepresentation query(HistoricProcessInstanceQueryRepresentation request);
+ @POST
+ @Path("historic-tasks/query")
+ @Consumes({ "application/json" })
+ @Produces({ "application/json" })
+ ResultListDataRepresentation query(HistoricTaskQueryRepresentation request);
+
}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/ProcessDefinitionsApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/ProcessDefinitionsApi.java
new file mode 100644
index 0000000..676280d
--- /dev/null
+++ b/src/main/java/com/inteligr8/alfresco/activiti/api/ProcessDefinitionsApi.java
@@ -0,0 +1,35 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see .
+ */
+package com.inteligr8.alfresco.activiti.api;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+
+import com.inteligr8.alfresco.activiti.model.ProcessDefinition;
+import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation;
+
+@Path("/api/enterprise/process-definitions")
+public interface ProcessDefinitionsApi {
+
+ @GET
+ @Produces({ "application/json" })
+ ResultListDataRepresentation get(
+ @QueryParam("latest") Boolean latest,
+ @QueryParam("appDefinitionId") Integer appDefinitionId,
+ @QueryParam("deploymentId") String deploymentId);
+
+}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/ProcessInstancesApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/ProcessInstancesApi.java
index 7be99d2..a9cfa53 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/api/ProcessInstancesApi.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/api/ProcessInstancesApi.java
@@ -27,7 +27,9 @@ import javax.ws.rs.Produces;
import com.inteligr8.alfresco.activiti.model.CreateProcessInstance;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;
+import com.inteligr8.alfresco.activiti.model.ProcessInstanceFilterRepresentation;
import com.inteligr8.alfresco.activiti.model.ProcessInstanceQueryRepresentation;
+import com.inteligr8.alfresco.activiti.model.ProcessInstanceVariable;
import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation;
import com.inteligr8.alfresco.activiti.model.Variable;
@@ -39,6 +41,12 @@ public interface ProcessInstancesApi {
@Produces({ "application/json" })
ProcessInstance create(CreateProcessInstance processInstance);
+ @POST
+ @Path("filter")
+ @Consumes({ "application/json" })
+ @Produces({ "application/json" })
+ ResultListDataRepresentation filter(ProcessInstanceFilterRepresentation request);
+
@POST
@Path("query")
@Consumes({ "application/json" })
@@ -64,6 +72,11 @@ public interface ProcessInstancesApi {
@Produces({ "application/json" })
ProcessInstance suspend(@PathParam("processInstanceId") String processInstanceId);
+ @GET
+ @Path("{processInstanceId}/historic-variables")
+ @Produces({ "application/json" })
+ List getHistoricVariables(@PathParam("processInstanceId") String processInstanceId);
+
@GET
@Path("{processInstanceId}/variables")
@Produces({ "application/json" })
@@ -88,6 +101,6 @@ public interface ProcessInstancesApi {
@DELETE
@Path("{processInstanceId}/variables/{variableName}")
- void deleteVariable(@PathParam("processInstanceId") String processInstanceId, @PathParam("variableName") String variableName);
+ void removeVariable(@PathParam("processInstanceId") String processInstanceId, @PathParam("variableName") String variableName);
}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/ShareApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/ShareApi.java
index 21ed9b0..9a3da50 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/api/ShareApi.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/api/ShareApi.java
@@ -22,7 +22,7 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
-import com.inteligr8.alfresco.activiti.model.ResultList;
+import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.ShareInfoRequest;
import com.inteligr8.alfresco.activiti.model.SharePermission;
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/api/TasksApi.java b/src/main/java/com/inteligr8/alfresco/activiti/api/TasksApi.java
index 86f8844..1bce98f 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/api/TasksApi.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/api/TasksApi.java
@@ -19,36 +19,111 @@ import java.util.List;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
+import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
+import com.inteligr8.alfresco.activiti.model.AssigneeIdentifier;
+import com.inteligr8.alfresco.activiti.model.HistoricTaskQueryRepresentation;
+import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation;
import com.inteligr8.alfresco.activiti.model.Task;
+import com.inteligr8.alfresco.activiti.model.TaskQueryRepresentation;
import com.inteligr8.alfresco.activiti.model.TaskUpdate;
+import com.inteligr8.alfresco.activiti.model.UserIdentifier;
import com.inteligr8.alfresco.activiti.model.Variable;
@Path("/api/enterprise/tasks")
public interface TasksApi {
+ @GET
+ @Path("{taskId}")
+ @Produces({ "application/json" })
+ Task get(@PathParam("taskId") String taskId);
+
@PUT
@Path("{taskId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
- public Task update(@PathParam("taskId") String taskId, TaskUpdate taskUpdate);
+ Task update(@PathParam("taskId") String taskId, TaskUpdate taskUpdate);
+
+ @DELETE
+ @Path("{taskId}")
+ @Produces({ "application/json" })
+ void delete(@PathParam("taskId") String taskId);
+
+ @POST
+ @Path("query")
+ @Produces({ "application/json" })
+ ResultListDataRepresentation query(TaskQueryRepresentation request);
+
+ @POST
+ @Path("filter")
+ @Produces({ "application/json" })
+ ResultListDataRepresentation query(HistoricTaskQueryRepresentation request);
+
+ @PUT
+ @Path("{taskId}/action/assign")
+ @Consumes({ "application/json" })
+ @Produces({ "application/json" })
+ Task assign(@PathParam("taskId") String taskId, AssigneeIdentifier request);
+
+ @PUT
+ @Path("{taskId}/action/claim")
+ void claim(@PathParam("taskId") String taskId);
+
+ @PUT
+ @Path("{taskId}/action/complete")
+ void complete(@PathParam("taskId") String taskId);
+
+ @PUT
+ @Path("{taskId}/action/delegate")
+ @Consumes({ "application/json" })
+ void delegate(@PathParam("taskId") String taskId, UserIdentifier request);
+
+ @PUT
+ @Path("{taskId}/action/involve")
+ @Consumes({ "application/json" })
+ void involve(@PathParam("taskId") String taskId, UserIdentifier request);
+
+ @POST
+ @Path("{taskId}/groups/{groupId}")
+ void involveGroup(@PathParam("taskId") String taskId, @PathParam("groupId") String groupId);
+
+ @DELETE
+ @Path("{taskId}/groups/{groupId}")
+ void removeInvolvedGroup(@PathParam("taskId") String taskId, @PathParam("groupId") String groupId);
+
+ @PUT
+ @Path("{taskId}/action/remove-involved")
+ @Consumes({ "application/json" })
+ void removeInvolved(@PathParam("taskId") String taskId, UserIdentifier request);
+
+ @PUT
+ @Path("{taskId}/action/resolve")
+ void resolve(@PathParam("taskId") String taskId);
+
+ @PUT
+ @Path("{taskId}/action/unclaim")
+ void unclaim(@PathParam("taskId") String taskId);
@GET
@Path("{taskId}/variables")
@Produces({ "application/json" })
List getVariables(@PathParam("taskId") String taskId, @QueryParam("scope") String scope);
- @PUT
+ @POST
@Path("{taskId}/variables")
@Consumes({ "application/json" })
@Produces({ "application/json" })
List setVariables(@PathParam("taskId") String taskId, List variables);
+ @DELETE
+ @Path("{taskId}/variables")
+ List removeVariables(@PathParam("taskId") String taskId);
+
@GET
@Path("{taskId}/variables/{variableName}")
@Produces({ "application/json" })
@@ -62,6 +137,6 @@ public interface TasksApi {
@DELETE
@Path("{taskId}/variables/{variableName}")
- void deleteVariable(@PathParam("taskId") String taskId, @PathParam("variableName") String variableName, @QueryParam("scope") String scope);
+ void removeVariable(@PathParam("taskId") String taskId, @PathParam("variableName") String variableName, @QueryParam("scope") String scope);
}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/AssigneeIdentifier.java b/src/main/java/com/inteligr8/alfresco/activiti/model/AssigneeIdentifier.java
new file mode 100644
index 0000000..cb63869
--- /dev/null
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/AssigneeIdentifier.java
@@ -0,0 +1,42 @@
+package com.inteligr8.alfresco.activiti.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class AssigneeIdentifier {
+
+ @JsonProperty
+ private String assignee;
+ @JsonProperty
+ private String email;
+
+ public String getAssignee() {
+ return assignee;
+ }
+
+ public void setAssignee(String assignee) {
+ this.assignee = assignee;
+ }
+
+ public AssigneeIdentifier withAssignee(String assignee) {
+ this.assignee = assignee;
+ return this;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public AssigneeIdentifier withEmail(String email) {
+ this.email = email;
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/HistoricProcessInstanceQueryRepresentation.java b/src/main/java/com/inteligr8/alfresco/activiti/model/HistoricProcessInstanceQueryRepresentation.java
index c73c606..16b754f 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/model/HistoricProcessInstanceQueryRepresentation.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/HistoricProcessInstanceQueryRepresentation.java
@@ -6,9 +6,11 @@ import java.time.OffsetDateTime;
import java.util.LinkedList;
import java.util.List;
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
@@ -43,8 +45,10 @@ public class HistoricProcessInstanceQueryRepresentation {
@JsonProperty("finished")
private Boolean finished;
@JsonProperty("finishedAfter")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
private OffsetDateTime finishedAfter;
@JsonProperty("finishedBefore")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
private OffsetDateTime finishedBefore;
@JsonProperty("includeProcessVariables")
private Boolean includeProcessVariables;
@@ -69,8 +73,10 @@ public class HistoricProcessInstanceQueryRepresentation {
@JsonProperty("start")
private Integer start;
@JsonProperty("startedAfter")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
private OffsetDateTime startedAfter;
@JsonProperty("startedBefore")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
private OffsetDateTime startedBefore;
@JsonProperty("startedBy")
private String startedBy;
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/HistoricTaskQueryRepresentation.java b/src/main/java/com/inteligr8/alfresco/activiti/model/HistoricTaskQueryRepresentation.java
new file mode 100644
index 0000000..97d30fb
--- /dev/null
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/HistoricTaskQueryRepresentation.java
@@ -0,0 +1,835 @@
+
+
+package com.inteligr8.alfresco.activiti.model;
+
+import java.time.OffsetDateTime;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({
+ "taskId",
+ "parentTaskId",
+ "taskName",
+ "taskNameLike",
+ "taskDefinitionKey",
+ "taskDefinitionKeyLike",
+ "finished",
+ "taskPriority",
+ "taskMinPriority",
+ "taskMaxPriority",
+ "taskAssignee",
+ "taskAssigneeLike",
+ "taskOwner",
+ "taskOwnerLike",
+ "taskInvolvedUser",
+ "taskCandidateGroup",
+ "taskCreatedOn",
+ "taskCreatedAfter",
+ "taskCreatedBefore",
+ "dueDate",
+ "dueDateAfter",
+ "dueDateBefore",
+ "withoutDueDate",
+ "taskCompletedOn",
+ "taskCompletedAfter",
+ "taskCompletedBefore",
+ "taskDeleteReason",
+ "taskDeleteReasonLike",
+ "taskDescription",
+ "taskDescriptionLike",
+ "processBusinessKey",
+ "processBusinessKeyLike",
+ "processDefinitionId",
+ "processDefinitionKey",
+ "processDefinitionKeyLike",
+ "processDefinitionName",
+ "processDefinitionNameLike",
+ "processFinished",
+ "processInstanceId",
+ "includeProcessVariables",
+ "includeTaskLocalVariables",
+ "processVariables",
+ "taskVariables",
+ "size",
+ "sort",
+ "order",
+ "start",
+ "tenantId",
+ "tenantIdLike",
+ "withoutTenantId",
+})
+public class HistoricTaskQueryRepresentation {
+
+ @JsonProperty("taskId")
+ private String taskId;
+ @JsonProperty("parentTaskId")
+ private String parentTaskId;
+ @JsonProperty("taskName")
+ private String taskName;
+ @JsonProperty("taskNameLike")
+ private String taskNameLike;
+ @JsonProperty("taskDefinitionKey")
+ private String taskDefinitionKey;
+ @JsonProperty("taskDefinitionKeyLike")
+ private String taskDefinitionKeyLike;
+ @JsonProperty("finished")
+ private Boolean finished;
+ @JsonProperty("taskPriority")
+ private Integer taskPriority;
+ @JsonProperty("taskMinPriority")
+ private Integer taskMinPriority;
+ @JsonProperty("taskMaxPriority")
+ private Integer taskMaxPriority;
+ @JsonProperty("taskAssignee")
+ private String taskAssignee;
+ @JsonProperty("taskAssigneeLike")
+ private String taskAssigneeLike;
+ @JsonProperty("taskOwner")
+ private String taskOwner;
+ @JsonProperty("taskOwnerLike")
+ private String taskOwnerLike;
+ @JsonProperty("taskInvolvedUser")
+ private String taskInvolvedUser;
+ @JsonProperty("taskCandidateGroup")
+ private String taskCandidateGroup;
+ @JsonProperty("taskCreatedOn")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime taskCreated;
+ @JsonProperty("taskCreatedBefore")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime taskCreatedBefore;
+ @JsonProperty("taskCreatedAfter")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime taskCreatedAfter;
+ @JsonProperty("dueDate")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime dueDate;
+ @JsonProperty("dueDateBefore")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime dueDateBefore;
+ @JsonProperty("dueDateAfter")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime dueDateAfter;
+ @JsonProperty("withoutDueDate")
+ private Boolean withoutDueDate;
+ @JsonProperty("taskCompletedOn")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime taskCompleted;
+ @JsonProperty("taskCompletedBefore")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime taskCompletedBefore;
+ @JsonProperty("taskCompletedAfter")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime taskCompletedAfter;
+ @JsonProperty("taskDeleteReason")
+ private String taskDeleteReason;
+ @JsonProperty("taskDeleteReasonLike")
+ private String taskDeleteReasonLike;
+ @JsonProperty("taskDescription")
+ private String taskDescription;
+ @JsonProperty("taskDescriptionLike")
+ private String taskDescriptionLike;
+ @JsonProperty("processBusinessKey")
+ private String processBusinessKey;
+ @JsonProperty("processBusinessKeyLike")
+ private String processBusinessKeyLike;
+ @JsonProperty("processDefinitionId")
+ private String processDefinitionId;
+ @JsonProperty("processDefinitionKey")
+ private String processDefinitionKey;
+ @JsonProperty("processDefinitionKeyLike")
+ private String processDefinitionKeyLike;
+ @JsonProperty("processDefinitionName")
+ private String processDefinitionName;
+ @JsonProperty("processDefinitionNameLike")
+ private String processDefinitionNameLike;
+ @JsonProperty("processFinished")
+ private Boolean processFinished;
+ @JsonProperty("processInstanceId")
+ private String processInstanceId;
+ @JsonProperty("includeProcessVariables")
+ private Boolean includeProcessVariables;
+ @JsonProperty("includeTaskLocalVariables")
+ private Boolean includeTaskLocalVariables;
+ @JsonProperty("taskVariables")
+ private List taskVariables;
+ @JsonProperty("processVariables")
+ private List processVariables;
+ @JsonProperty("size")
+ private Integer size;
+ @JsonProperty("sort")
+ private String sort;
+ @JsonProperty("order")
+ private String order;
+ @JsonProperty("start")
+ private Integer start;
+ @JsonProperty("tenantId")
+ private String tenantId;
+ @JsonProperty("tenantIdLike")
+ private String tenantIdLike;
+ @JsonProperty("withoutTenantId")
+ private Boolean withoutTenantId;
+
+ /**
+ * No args constructor for use in serialization
+ */
+ public HistoricTaskQueryRepresentation() {
+ }
+
+ public String getTaskId() {
+ return taskId;
+ }
+
+ public void setTaskId(String taskId) {
+ this.taskId = taskId;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskId(String taskId) {
+ this.taskId = taskId;
+ return this;
+ }
+
+ public String getParentTaskId() {
+ return parentTaskId;
+ }
+
+ public void setParentTaskId(String parentTaskId) {
+ this.parentTaskId = parentTaskId;
+ }
+
+ public HistoricTaskQueryRepresentation withParentTaskId(String parentTaskId) {
+ this.parentTaskId = parentTaskId;
+ return this;
+ }
+
+ public String getTaskName() {
+ return taskName;
+ }
+
+ public void setTaskName(String taskName) {
+ this.taskName = taskName;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskName(String taskName) {
+ this.taskName = taskName;
+ return this;
+ }
+
+ public String getTaskNameLike() {
+ return taskNameLike;
+ }
+
+ public void setTaskNameLike(String taskNameLike) {
+ this.taskNameLike = taskNameLike;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskNameLike(String taskNameLike) {
+ this.taskNameLike = taskNameLike;
+ return this;
+ }
+
+ public String getTaskDefinitionKey() {
+ return taskDefinitionKey;
+ }
+
+ public void setTaskDefinitionKey(String taskDefinitionKey) {
+ this.taskDefinitionKey = taskDefinitionKey;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskDefinitionKey(String taskDefinitionKey) {
+ this.taskDefinitionKey = taskDefinitionKey;
+ return this;
+ }
+
+ public String getTaskDefinitionKeyLike() {
+ return taskDefinitionKeyLike;
+ }
+
+ public void setTaskDefinitionKeyLike(String taskDefinitionKeyLike) {
+ this.taskDefinitionKeyLike = taskDefinitionKeyLike;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskDefinitionKeyLike(String taskDefinitionKeyLike) {
+ this.taskDefinitionKeyLike = taskDefinitionKeyLike;
+ return this;
+ }
+
+ public Boolean getFinished() {
+ return finished;
+ }
+
+ public void setFinished(Boolean finished) {
+ this.finished = finished;
+ }
+
+ public HistoricTaskQueryRepresentation withFinished(Boolean finished) {
+ this.finished = finished;
+ return this;
+ }
+
+ public Integer getTaskPriority() {
+ return taskPriority;
+ }
+
+ public void setTaskPriority(Integer taskPriority) {
+ this.taskPriority = taskPriority;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskPriority(Integer taskPriority) {
+ this.taskPriority = taskPriority;
+ return this;
+ }
+
+ public Integer getTaskMinPriority() {
+ return taskMinPriority;
+ }
+
+ public void setTaskMinPriority(Integer taskMinPriority) {
+ this.taskMinPriority = taskMinPriority;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskMinPriority(Integer taskMinPriority) {
+ this.taskMinPriority = taskMinPriority;
+ return this;
+ }
+
+ public Integer getTaskMaxPriority() {
+ return taskMaxPriority;
+ }
+
+ public void setTaskMaxPriority(Integer taskMaxPriority) {
+ this.taskMaxPriority = taskMaxPriority;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskMaxPriority(Integer taskMaxPriority) {
+ this.taskMaxPriority = taskMaxPriority;
+ return this;
+ }
+
+ public String getTaskAssignee() {
+ return taskAssignee;
+ }
+
+ public void setTaskAssignee(String taskAssignee) {
+ this.taskAssignee = taskAssignee;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskAssignee(String taskAssignee) {
+ this.taskAssignee = taskAssignee;
+ return this;
+ }
+
+ public String getTaskAssigneeLike() {
+ return taskAssigneeLike;
+ }
+
+ public void setTaskAssigneeLike(String taskAssigneeLike) {
+ this.taskAssigneeLike = taskAssigneeLike;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskAssigneeLike(String taskAssigneeLike) {
+ this.taskAssigneeLike = taskAssigneeLike;
+ return this;
+ }
+
+ public String getTaskOwner() {
+ return taskOwner;
+ }
+
+ public void setTaskOwner(String taskOwner) {
+ this.taskOwner = taskOwner;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskOwner(String taskOwner) {
+ this.taskOwner = taskOwner;
+ return this;
+ }
+
+ public String getTaskOwnerLike() {
+ return taskOwnerLike;
+ }
+
+ public void setTaskOwnerLike(String taskOwnerLike) {
+ this.taskOwnerLike = taskOwnerLike;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskOwnerLike(String taskOwnerLike) {
+ this.taskOwnerLike = taskOwnerLike;
+ return this;
+ }
+
+ public String getTaskInvolvedUser() {
+ return taskInvolvedUser;
+ }
+
+ public void setTaskInvolvedUser(String taskInvolvedUser) {
+ this.taskInvolvedUser = taskInvolvedUser;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskInvolvedUser(String taskInvolvedUser) {
+ this.taskInvolvedUser = taskInvolvedUser;
+ return this;
+ }
+
+ public String getTaskCandidateGroup() {
+ return taskCandidateGroup;
+ }
+
+ public void setTaskCandidateGroup(String taskCandidateGroup) {
+ this.taskCandidateGroup = taskCandidateGroup;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskCandidateGroup(String taskCandidateGroup) {
+ this.taskCandidateGroup = taskCandidateGroup;
+ return this;
+ }
+
+ public OffsetDateTime getTaskCreated() {
+ return taskCreated;
+ }
+
+ public void setTaskCreated(OffsetDateTime taskCreated) {
+ this.taskCreated = taskCreated;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskCreated(OffsetDateTime taskCreated) {
+ this.taskCreated = taskCreated;
+ return this;
+ }
+
+ public OffsetDateTime getTaskCreatedBefore() {
+ return taskCreatedBefore;
+ }
+
+ public void setTaskCreatedBefore(OffsetDateTime taskCreatedBefore) {
+ this.taskCreatedBefore = taskCreatedBefore;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskCreatedBefore(OffsetDateTime taskCreatedBefore) {
+ this.taskCreatedBefore = taskCreatedBefore;
+ return this;
+ }
+
+ public OffsetDateTime getTaskCreatedAfter() {
+ return taskCreatedAfter;
+ }
+
+ public void setTaskCreatedAfter(OffsetDateTime taskCreatedAfter) {
+ this.taskCreatedAfter = taskCreatedAfter;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskCreatedAfter(OffsetDateTime taskCreatedAfter) {
+ this.taskCreatedAfter = taskCreatedAfter;
+ return this;
+ }
+
+ public OffsetDateTime getDueDate() {
+ return dueDate;
+ }
+
+ public void setDueDate(OffsetDateTime dueDate) {
+ this.dueDate = dueDate;
+ }
+
+ public HistoricTaskQueryRepresentation withDueDate(OffsetDateTime dueDate) {
+ this.dueDate = dueDate;
+ return this;
+ }
+
+ public OffsetDateTime getDueDateBefore() {
+ return dueDateBefore;
+ }
+
+ public void setDueDateBefore(OffsetDateTime dueDateBefore) {
+ this.dueDateBefore = dueDateBefore;
+ }
+
+ public HistoricTaskQueryRepresentation withDueDateBefore(OffsetDateTime dueDateBefore) {
+ this.dueDateBefore = dueDateBefore;
+ return this;
+ }
+
+ public OffsetDateTime getDueDateAfter() {
+ return dueDateAfter;
+ }
+
+ public void setDueDateAfter(OffsetDateTime dueDateAfter) {
+ this.dueDateAfter = dueDateAfter;
+ }
+
+ public HistoricTaskQueryRepresentation withDueDateAfter(OffsetDateTime dueDateAfter) {
+ this.dueDateAfter = dueDateAfter;
+ return this;
+ }
+
+ public Boolean getWithoutDueDate() {
+ return withoutDueDate;
+ }
+
+ public void setWithoutDueDate(Boolean withoutDueDate) {
+ this.withoutDueDate = withoutDueDate;
+ }
+
+ public HistoricTaskQueryRepresentation withWithoutDueDate(Boolean withoutDueDate) {
+ this.withoutDueDate = withoutDueDate;
+ return this;
+ }
+
+ public OffsetDateTime getTaskCompleted() {
+ return taskCompleted;
+ }
+
+ public void setTaskCompleted(OffsetDateTime taskCompleted) {
+ this.taskCompleted = taskCompleted;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskCompleted(OffsetDateTime taskCompleted) {
+ this.taskCompleted = taskCompleted;
+ return this;
+ }
+
+ public OffsetDateTime getTaskCompletedBefore() {
+ return taskCompletedBefore;
+ }
+
+ public void setTaskCompletedBefore(OffsetDateTime taskCompletedBefore) {
+ this.taskCompletedBefore = taskCompletedBefore;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskCompletedBefore(OffsetDateTime taskCompletedBefore) {
+ this.taskCompletedBefore = taskCompletedBefore;
+ return this;
+ }
+
+ public OffsetDateTime getTaskCompletedAfter() {
+ return taskCompletedAfter;
+ }
+
+ public void setTaskCompletedAfter(OffsetDateTime taskCompletedAfter) {
+ this.taskCompletedAfter = taskCompletedAfter;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskCompletedAfter(OffsetDateTime taskCompletedAfter) {
+ this.taskCompletedAfter = taskCompletedAfter;
+ return this;
+ }
+
+ public String getTaskDeleteReason() {
+ return taskDeleteReason;
+ }
+
+ public void setTaskDeleteReason(String taskDeleteReason) {
+ this.taskDeleteReason = taskDeleteReason;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskDeleteReason(String taskDeleteReason) {
+ this.taskDeleteReason = taskDeleteReason;
+ return this;
+ }
+
+ public String getTaskDeleteReasonLike() {
+ return taskDeleteReasonLike;
+ }
+
+ public void setTaskDeleteReasonLike(String taskDeleteReasonLike) {
+ this.taskDeleteReasonLike = taskDeleteReasonLike;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskDeleteReasonLike(String taskDeleteReasonLike) {
+ this.taskDeleteReasonLike = taskDeleteReasonLike;
+ return this;
+ }
+
+ public String getTaskDescription() {
+ return taskDescription;
+ }
+
+ public void setTaskDescription(String taskDescription) {
+ this.taskDescription = taskDescription;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskDescription(String taskDescription) {
+ this.taskDescription = taskDescription;
+ return this;
+ }
+
+ public String getTaskDescriptionLike() {
+ return taskDescriptionLike;
+ }
+
+ public void setTaskDescriptionLike(String taskDescriptionLike) {
+ this.taskDescriptionLike = taskDescriptionLike;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskDescriptionLike(String taskDescriptionLike) {
+ this.taskDescriptionLike = taskDescriptionLike;
+ return this;
+ }
+
+ public String getProcessBusinessKey() {
+ return processBusinessKey;
+ }
+
+ public void setProcessBusinessKey(String processBusinessKey) {
+ this.processBusinessKey = processBusinessKey;
+ }
+
+ public HistoricTaskQueryRepresentation withProcessBusinessKey(String processBusinessKey) {
+ this.processBusinessKey = processBusinessKey;
+ return this;
+ }
+
+ public String getProcessBusinessKeyLike() {
+ return processBusinessKeyLike;
+ }
+
+ public void setProcessBusinessKeyLike(String processBusinessKeyLike) {
+ this.processBusinessKeyLike = processBusinessKeyLike;
+ }
+
+ public HistoricTaskQueryRepresentation withProcessBusinessKeyLike(String processBusinessKeyLike) {
+ this.processBusinessKeyLike = processBusinessKeyLike;
+ return this;
+ }
+
+ public String getProcessDefinitionId() {
+ return processDefinitionId;
+ }
+
+ public void setProcessDefinitionId(String processDefinitionId) {
+ this.processDefinitionId = processDefinitionId;
+ }
+
+ public HistoricTaskQueryRepresentation withProcessDefinitionId(String processDefinitionId) {
+ this.processDefinitionId = processDefinitionId;
+ return this;
+ }
+
+ public String getProcessDefinitionKey() {
+ return processDefinitionKey;
+ }
+
+ public void setProcessDefinitionKey(String processDefinitionKey) {
+ this.processDefinitionKey = processDefinitionKey;
+ }
+
+ public HistoricTaskQueryRepresentation withProcessDefinitionKey(String processDefinitionKey) {
+ this.processDefinitionKey = processDefinitionKey;
+ return this;
+ }
+
+ public String getProcessDefinitionKeyLike() {
+ return processDefinitionKeyLike;
+ }
+
+ public void setProcessDefinitionKeyLike(String processDefinitionKeyLike) {
+ this.processDefinitionKeyLike = processDefinitionKeyLike;
+ }
+
+ public HistoricTaskQueryRepresentation withProcessDefinitionKeyLike(String processDefinitionKeyLike) {
+ this.processDefinitionKeyLike = processDefinitionKeyLike;
+ return this;
+ }
+
+ public String getProcessDefinitionName() {
+ return processDefinitionName;
+ }
+
+ public void setProcessDefinitionName(String processDefinitionName) {
+ this.processDefinitionName = processDefinitionName;
+ }
+
+ public HistoricTaskQueryRepresentation withProcessDefinitionName(String processDefinitionName) {
+ this.processDefinitionName = processDefinitionName;
+ return this;
+ }
+
+ public String getProcessDefinitionNameLike() {
+ return processDefinitionNameLike;
+ }
+
+ public void setProcessDefinitionNameLike(String processDefinitionNameLike) {
+ this.processDefinitionNameLike = processDefinitionNameLike;
+ }
+
+ public HistoricTaskQueryRepresentation withProcessDefinitionNameLike(String processDefinitionNameLike) {
+ this.processDefinitionNameLike = processDefinitionNameLike;
+ return this;
+ }
+
+ public Boolean getProcessFinished() {
+ return processFinished;
+ }
+
+ public void setProcessFinished(Boolean processFinished) {
+ this.processFinished = processFinished;
+ }
+
+ public HistoricTaskQueryRepresentation withProcessFinished(Boolean processFinished) {
+ this.processFinished = processFinished;
+ return this;
+ }
+
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ public void setProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ public HistoricTaskQueryRepresentation withProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ return this;
+ }
+
+ public Boolean getIncludeProcessVariables() {
+ return includeProcessVariables;
+ }
+
+ public void setIncludeProcessVariables(Boolean includeProcessVariables) {
+ this.includeProcessVariables = includeProcessVariables;
+ }
+
+ public HistoricTaskQueryRepresentation withIncludeProcessVariables(Boolean includeProcessVariables) {
+ this.includeProcessVariables = includeProcessVariables;
+ return this;
+ }
+
+ public Boolean getIncludeTaskLocalVariables() {
+ return includeTaskLocalVariables;
+ }
+
+ public void setIncludeTaskLocalVariables(Boolean includeTaskLocalVariables) {
+ this.includeTaskLocalVariables = includeTaskLocalVariables;
+ }
+
+ public HistoricTaskQueryRepresentation withIncludeTaskLocalVariables(Boolean includeTaskLocalVariables) {
+ this.includeTaskLocalVariables = includeTaskLocalVariables;
+ return this;
+ }
+
+ public List getTaskVariables() {
+ return taskVariables;
+ }
+
+ public void setTaskVariables(List taskVariables) {
+ this.taskVariables = taskVariables;
+ }
+
+ public HistoricTaskQueryRepresentation withTaskVariables(List taskVariables) {
+ this.taskVariables = taskVariables;
+ return this;
+ }
+
+ public List getProcessVariables() {
+ return processVariables;
+ }
+
+ public void setProcessVariables(List processVariables) {
+ this.processVariables = processVariables;
+ }
+
+ public HistoricTaskQueryRepresentation withProcessVariables(List processVariables) {
+ this.processVariables = processVariables;
+ return this;
+ }
+
+ public Integer getSize() {
+ return size;
+ }
+
+ public void setSize(Integer size) {
+ this.size = size;
+ }
+
+ public HistoricTaskQueryRepresentation withSize(Integer size) {
+ this.size = size;
+ return this;
+ }
+
+ public String getSort() {
+ return sort;
+ }
+
+ public void setSort(String sort) {
+ this.sort = sort;
+ }
+
+ public HistoricTaskQueryRepresentation withSort(String sort) {
+ this.sort = sort;
+ return this;
+ }
+
+ public String getOrder() {
+ return order;
+ }
+
+ public void setOrder(String order) {
+ this.order = order;
+ }
+
+ public HistoricTaskQueryRepresentation withOrder(String order) {
+ this.order = order;
+ return this;
+ }
+
+ public Integer getStart() {
+ return start;
+ }
+
+ public void setStart(Integer start) {
+ this.start = start;
+ }
+
+ public HistoricTaskQueryRepresentation withStart(Integer start) {
+ this.start = start;
+ return this;
+ }
+
+ public String getTenantId() {
+ return tenantId;
+ }
+
+ public void setTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ }
+
+ public HistoricTaskQueryRepresentation withTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ return this;
+ }
+
+ public String getTenantIdLike() {
+ return tenantIdLike;
+ }
+
+ public void setTenantIdLike(String tenantIdLike) {
+ this.tenantIdLike = tenantIdLike;
+ }
+
+ public HistoricTaskQueryRepresentation withTenantIdLike(String tenantIdLike) {
+ this.tenantIdLike = tenantIdLike;
+ return this;
+ }
+
+ public Boolean getWithoutTenantId() {
+ return withoutTenantId;
+ }
+
+ public void setWithoutTenantId(Boolean withoutTenantId) {
+ this.withoutTenantId = withoutTenantId;
+ }
+
+ public HistoricTaskQueryRepresentation withWithoutTenantId(Boolean withoutTenantId) {
+ this.withoutTenantId = withoutTenantId;
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessDefinition.java b/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessDefinition.java
new file mode 100644
index 0000000..5da3b87
--- /dev/null
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessDefinition.java
@@ -0,0 +1,166 @@
+
+
+package com.inteligr8.alfresco.activiti.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.inteligr8.activiti.model.Datum;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({
+ "id",
+ "key",
+ "name",
+ "description",
+ "hasStartForm",
+ "deploymentId",
+ "version",
+ "category",
+ "tenantId"
+})
+public class ProcessDefinition extends Datum {
+
+ @JsonProperty("category")
+ private String category;
+ @JsonProperty("deploymentId")
+ private String deploymentId;
+ @JsonProperty("description")
+ private String description;
+ @JsonProperty("hasStartForm")
+ private boolean hasStartForm;
+ @JsonProperty("id")
+ private String id;
+ @JsonProperty("key")
+ private String key;
+ @JsonProperty("name")
+ private String name;
+ @JsonProperty("tenantId")
+ private String tenantId;
+ @JsonProperty("version")
+ private Integer version;
+
+ /**
+ * No args constructor for use in serialization
+ */
+ public ProcessDefinition() {
+ }
+
+ public String getCategory() {
+ return category;
+ }
+
+ public void setCategory(String category) {
+ this.category = category;
+ }
+
+ public ProcessDefinition withCategory(String category) {
+ this.category = category;
+ return this;
+ }
+
+ public String getDeploymentId() {
+ return deploymentId;
+ }
+
+ public void setDeploymentId(String deploymentId) {
+ this.deploymentId = deploymentId;
+ }
+
+ public ProcessDefinition withDeploymentId(String deploymentId) {
+ this.deploymentId = deploymentId;
+ return this;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public ProcessDefinition withDescription(String description) {
+ this.description = description;
+ return this;
+ }
+
+ public boolean isHasStartForm() {
+ return hasStartForm;
+ }
+
+ public void setHasStartForm(boolean hasStartForm) {
+ this.hasStartForm = hasStartForm;
+ }
+
+ public ProcessDefinition withHasStartForm(boolean hasStartForm) {
+ this.hasStartForm = hasStartForm;
+ return this;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public ProcessDefinition withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ public ProcessDefinition withKey(String key) {
+ this.key = key;
+ return this;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public ProcessDefinition withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getTenantId() {
+ return tenantId;
+ }
+
+ public void setTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ }
+
+ public ProcessDefinition withTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ return this;
+ }
+
+ public Integer getVersion() {
+ return version;
+ }
+
+ public void setVersion(Integer version) {
+ this.version = version;
+ }
+
+ public ProcessDefinition withVersion(Integer version) {
+ this.version = version;
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstance.java b/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstance.java
index c69fd67..52c16f6 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstance.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstance.java
@@ -2,12 +2,16 @@
package com.inteligr8.alfresco.activiti.model;
+import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+import com.inteligr8.activiti.model.Datum;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
@@ -35,7 +39,8 @@ public class ProcessInstance extends Datum {
@JsonProperty("businessKey")
private String businessKey;
@JsonProperty("ended")
- private String ended;
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime ended;
@JsonProperty("graphicalNotationDefined")
private Boolean graphicalNotationDefined;
@JsonProperty("id")
@@ -59,7 +64,8 @@ public class ProcessInstance extends Datum {
@JsonProperty("startFormDefined")
private Boolean startFormDefined;
@JsonProperty("started")
- private String started;
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime started;
@JsonProperty("startedBy")
private UserLight startedBy;
@JsonProperty("suspended")
@@ -88,15 +94,15 @@ public class ProcessInstance extends Datum {
return this;
}
- public String getEnded() {
+ public OffsetDateTime getEnded() {
return ended;
}
- public void setEnded(String ended) {
+ public void setEnded(OffsetDateTime ended) {
this.ended = ended;
}
- public ProcessInstance withEnded(String ended) {
+ public ProcessInstance withEnded(OffsetDateTime ended) {
this.ended = ended;
return this;
}
@@ -244,15 +250,15 @@ public class ProcessInstance extends Datum {
return this;
}
- public String getStarted() {
+ public OffsetDateTime getStarted() {
return started;
}
- public void setStarted(String started) {
+ public void setStarted(OffsetDateTime started) {
this.started = started;
}
- public ProcessInstance withStarted(String started) {
+ public ProcessInstance withStarted(OffsetDateTime started) {
this.started = started;
return this;
}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstanceFilter.java b/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstanceFilter.java
new file mode 100644
index 0000000..6beb1d4
--- /dev/null
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstanceFilter.java
@@ -0,0 +1,127 @@
+
+
+package com.inteligr8.alfresco.activiti.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.inteligr8.activiti.model.Datum;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({
+ "name",
+ "processDefinitionId",
+ "processDefinitionKey",
+ "sort",
+ "asc",
+ "state"
+})
+public class ProcessInstanceFilter extends Datum {
+
+ public enum State {
+ @JsonProperty("all")
+ All,
+ @JsonProperty("completed")
+ Completed,
+ @JsonProperty("running")
+ Running
+ }
+
+ @JsonProperty("name")
+ private String name;
+ @JsonProperty("processDefinitionId")
+ private String processDefinitionId;
+ @JsonProperty("processDefinitionKey")
+ private String processDefinitionKey;
+ @JsonProperty("sort")
+ private String sort;
+ @JsonProperty("asc")
+ private Boolean asc;
+ @JsonProperty("state")
+ private State state;
+
+ /**
+ * No args constructor for use in serialization
+ */
+ public ProcessInstanceFilter() {
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public ProcessInstanceFilter withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getProcessDefinitionId() {
+ return processDefinitionId;
+ }
+
+ public void setProcessDefinitionId(String id) {
+ this.processDefinitionId = id;
+ }
+
+ public ProcessInstanceFilter withProcessDefinitionId(String id) {
+ this.processDefinitionId = id;
+ return this;
+ }
+
+ public String getProcessDefinitionKey() {
+ return processDefinitionKey;
+ }
+
+ public void setProcessDefinitionKey(String key) {
+ this.processDefinitionKey = key;
+ }
+
+ public ProcessInstanceFilter withProcessDefinitionKey(String key) {
+ this.processDefinitionKey = key;
+ return this;
+ }
+
+ public String getSort() {
+ return sort;
+ }
+
+ public void setSort(String sort) {
+ this.sort = sort;
+ }
+
+ public ProcessInstanceFilter withSort(String sort) {
+ this.sort = sort;
+ return this;
+ }
+
+ public Boolean isAsc() {
+ return asc;
+ }
+
+ public void setAsc(Boolean asc) {
+ this.asc = asc;
+ }
+
+ public ProcessInstanceFilter withAsc(Boolean asc) {
+ this.asc = asc;
+ return this;
+ }
+
+ public State getState() {
+ return state;
+ }
+
+ public void setState(State state) {
+ this.state = state;
+ }
+
+ public ProcessInstanceFilter withState(State state) {
+ this.state = state;
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstanceFilterRepresentation.java b/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstanceFilterRepresentation.java
new file mode 100644
index 0000000..ebc00f6
--- /dev/null
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstanceFilterRepresentation.java
@@ -0,0 +1,101 @@
+
+
+package com.inteligr8.alfresco.activiti.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({
+ "filterId",
+ "filter",
+ "appDefinitionId",
+ "page",
+ "size"
+})
+public class ProcessInstanceFilterRepresentation {
+
+ @JsonProperty("filterId")
+ private Long filterId;
+ @JsonProperty("filter")
+ private ProcessInstanceFilter filter;
+ @JsonProperty("appDefinitionId")
+ private Long appDefinitionId;
+ @JsonProperty("page")
+ private Integer page;
+ @JsonProperty("size")
+ private Integer size;
+
+ /**
+ * No args constructor for use in serialization
+ */
+ public ProcessInstanceFilterRepresentation() {
+ }
+
+ public Long getFilterId() {
+ return filterId;
+ }
+
+ public void setFilterId(Long filterId) {
+ this.filterId = filterId;
+ }
+
+ public ProcessInstanceFilterRepresentation withFilterId(Long filterId) {
+ this.filterId = filterId;
+ return this;
+ }
+
+ public ProcessInstanceFilter getFilter() {
+ return filter;
+ }
+
+ public void setFilter(ProcessInstanceFilter filter) {
+ this.filter = filter;
+ }
+
+ public ProcessInstanceFilterRepresentation withFilter(ProcessInstanceFilter filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ public Long getAppDefinitionId() {
+ return appDefinitionId;
+ }
+
+ public void setAppDefinitionId(Long appDefinitionId) {
+ this.appDefinitionId = appDefinitionId;
+ }
+
+ public ProcessInstanceFilterRepresentation withAppDefinitionId(Long appDefinitionId) {
+ this.appDefinitionId = appDefinitionId;
+ return this;
+ }
+
+ public Integer getPage() {
+ return page;
+ }
+
+ public void setPage(Integer page) {
+ this.page = page;
+ }
+
+ public ProcessInstanceFilterRepresentation withPage(Integer page) {
+ this.page = page;
+ return this;
+ }
+
+ public Integer getSize() {
+ return size;
+ }
+
+ public void setSize(Integer size) {
+ this.size = size;
+ }
+
+ public ProcessInstanceFilterRepresentation withSize(Integer size) {
+ this.size = size;
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstanceQueryRepresentation.java b/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstanceQueryRepresentation.java
index 2949b2c..971b23a 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstanceQueryRepresentation.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstanceQueryRepresentation.java
@@ -45,6 +45,8 @@ public class ProcessInstanceQueryRepresentation {
private String processDefinitionId;
@JsonProperty("processInstanceId")
private String processInstanceId;
+ @JsonProperty("page")
+ private Integer page;
@JsonProperty("size")
private Integer size;
@JsonProperty("sort")
@@ -98,6 +100,19 @@ public class ProcessInstanceQueryRepresentation {
this.processInstanceId = processInstanceId;
return this;
}
+
+ public Integer getPage() {
+ return page;
+ }
+
+ public void setPage(Integer page) {
+ this.page = page;
+ }
+
+ public ProcessInstanceQueryRepresentation withPage(Integer page) {
+ this.page = page;
+ return this;
+ }
public Integer getSize() {
return size;
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstanceVariable.java b/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstanceVariable.java
new file mode 100644
index 0000000..06c9365
--- /dev/null
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/ProcessInstanceVariable.java
@@ -0,0 +1,73 @@
+package com.inteligr8.alfresco.activiti.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({
+ "id",
+ "type",
+ "value"
+})
+public class ProcessInstanceVariable {
+
+ @JsonProperty("id")
+ private String id;
+ @JsonProperty("type")
+ private String type;
+ @JsonProperty("value")
+ private Object value;
+
+ /**
+ * No args constructor for use in serialization
+ */
+ public ProcessInstanceVariable() {
+ }
+
+ public ProcessInstanceVariable(String id, String type, Object value) {
+ this.id = id;
+ this.type = type;
+ this.value = value;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public ProcessInstanceVariable withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ public ProcessInstanceVariable withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public void setValue(Object value) {
+ this.value = value;
+ }
+
+ public ProcessInstanceVariable withValue(Object value) {
+ this.value = value;
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/ResultListDataRepresentation.java b/src/main/java/com/inteligr8/alfresco/activiti/model/ResultListDataRepresentation.java
index 3b47d86..ce0265d 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/model/ResultListDataRepresentation.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/ResultListDataRepresentation.java
@@ -2,15 +2,12 @@
package com.inteligr8.alfresco.activiti.model;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
-import com.fasterxml.jackson.annotation.JsonAnyGetter;
-import com.fasterxml.jackson.annotation.JsonAnySetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
+
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.inteligr8.activiti.model.Datum;
/**
@@ -26,7 +23,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
"start",
"total"
})
-public class ResultListDataRepresentation {
+public class ResultListDataRepresentation extends Datum {
@JsonProperty("data")
private List data = new ArrayList<>();
@@ -36,8 +33,6 @@ public class ResultListDataRepresentation {
private Integer start;
@JsonProperty("total")
private Integer total;
- @JsonIgnore
- private Map additionalProperties = new HashMap();
@JsonProperty("data")
public List getData() {
@@ -99,19 +94,4 @@ public class ResultListDataRepresentation {
return this;
}
- @JsonAnyGetter
- public Map getAdditionalProperties() {
- return this.additionalProperties;
- }
-
- @JsonAnySetter
- public void setAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- }
-
- public ResultListDataRepresentation withAdditionalProperty(String name, Object value) {
- this.additionalProperties.put(name, value);
- return this;
- }
-
}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/Task.java b/src/main/java/com/inteligr8/alfresco/activiti/model/Task.java
index 0c2b093..f94ffe0 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/model/Task.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/Task.java
@@ -1,12 +1,16 @@
package com.inteligr8.alfresco.activiti.model;
+import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+import com.inteligr8.activiti.model.Datum;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
@@ -43,7 +47,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
"taskDefinitionKey",
"variables"
})
-public class Task {
+public class Task extends Datum {
@JsonProperty("adhocTaskCanBeReassigned")
private Boolean adhocTaskCanBeReassigned;
@@ -52,15 +56,18 @@ public class Task {
@JsonProperty("category")
private String category;
@JsonProperty("created")
- private String created;
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime created;
@JsonProperty("description")
private String description;
@JsonProperty("dueDate")
- private String dueDate;
+ private OffsetDateTime dueDate;
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
@JsonProperty("duration")
private Long duration;
@JsonProperty("endDate")
- private String endDate;
+ private OffsetDateTime endDate;
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
@JsonProperty("executionId")
private String executionId;
@JsonProperty("formKey")
@@ -155,15 +162,15 @@ public class Task {
return this;
}
- public String getCreated() {
+ public OffsetDateTime getCreated() {
return created;
}
- public void setCreated(String created) {
+ public void setCreated(OffsetDateTime created) {
this.created = created;
}
- public Task withCreated(String created) {
+ public Task withCreated(OffsetDateTime created) {
this.created = created;
return this;
}
@@ -181,15 +188,15 @@ public class Task {
return this;
}
- public String getDueDate() {
+ public OffsetDateTime getDueDate() {
return dueDate;
}
- public void setDueDate(String dueDate) {
+ public void setDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate;
}
- public Task withDueDate(String dueDate) {
+ public Task withDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate;
return this;
}
@@ -207,15 +214,15 @@ public class Task {
return this;
}
- public String getEndDate() {
+ public OffsetDateTime getEndDate() {
return endDate;
}
- public void setEndDate(String endDate) {
+ public void setEndDate(OffsetDateTime endDate) {
this.endDate = endDate;
}
- public Task withEndDate(String endDate) {
+ public Task withEndDate(OffsetDateTime endDate) {
this.endDate = endDate;
return this;
}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/TaskFilter.java b/src/main/java/com/inteligr8/alfresco/activiti/model/TaskFilter.java
new file mode 100644
index 0000000..7561d9c
--- /dev/null
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/TaskFilter.java
@@ -0,0 +1,181 @@
+
+
+package com.inteligr8.alfresco.activiti.model;
+
+import java.time.OffsetDateTime;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+import com.inteligr8.activiti.model.Datum;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({
+ "name",
+ "assignment",
+ "dueAfter",
+ "dueBefore",
+ "processDefinitionId",
+ "processDefinitionKey",
+ "sort",
+ "asc",
+ "state"
+})
+public class TaskFilter extends Datum {
+
+ public enum State {
+ @JsonProperty("all")
+ All,
+ @JsonProperty("completed")
+ Completed,
+ @JsonProperty("running")
+ Running
+ }
+
+ @JsonProperty("name")
+ private String name;
+ @JsonProperty("assignment")
+ private String assignment;
+ @JsonProperty("dueBefore")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime dueBefore;
+ @JsonProperty("dueAfter")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime dueAfter;
+ @JsonProperty("processDefinitionId")
+ private String processDefinitionId;
+ @JsonProperty("processDefinitionKey")
+ private String processDefinitionKey;
+ @JsonProperty("sort")
+ private String sort;
+ @JsonProperty("asc")
+ private Boolean asc;
+ @JsonProperty("state")
+ private State state;
+
+ /**
+ * No args constructor for use in serialization
+ */
+ public TaskFilter() {
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public TaskFilter withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public String getAssignment() {
+ return assignment;
+ }
+
+ public void setAssignment(String assignment) {
+ this.assignment = assignment;
+ }
+
+ public TaskFilter withAssignment(String assignment) {
+ this.assignment = assignment;
+ return this;
+ }
+
+ public OffsetDateTime getDueAfter() {
+ return dueAfter;
+ }
+
+ public void setDueAfter(OffsetDateTime dueAfter) {
+ this.dueAfter = dueAfter;
+ }
+
+ public TaskFilter withDueAfter(OffsetDateTime dueAfter) {
+ this.dueAfter = dueAfter;
+ return this;
+ }
+
+ public OffsetDateTime getDueBefore() {
+ return dueBefore;
+ }
+
+ public void setDueBefore(OffsetDateTime dueBefore) {
+ this.dueBefore = dueBefore;
+ }
+
+ public TaskFilter withDueBefore(OffsetDateTime dueBefore) {
+ this.dueBefore = dueBefore;
+ return this;
+ }
+
+ public String getProcessDefinitionId() {
+ return processDefinitionId;
+ }
+
+ public void setProcessDefinitionId(String id) {
+ this.processDefinitionId = id;
+ }
+
+ public TaskFilter withProcessDefinitionId(String id) {
+ this.processDefinitionId = id;
+ return this;
+ }
+
+ public String getProcessDefinitionKey() {
+ return processDefinitionKey;
+ }
+
+ public void setProcessDefinitionKey(String key) {
+ this.processDefinitionKey = key;
+ }
+
+ public TaskFilter withProcessDefinitionKey(String key) {
+ this.processDefinitionKey = key;
+ return this;
+ }
+
+ public String getSort() {
+ return sort;
+ }
+
+ public void setSort(String sort) {
+ this.sort = sort;
+ }
+
+ public TaskFilter withSort(String sort) {
+ this.sort = sort;
+ return this;
+ }
+
+ public Boolean isAsc() {
+ return asc;
+ }
+
+ public void setAsc(Boolean asc) {
+ this.asc = asc;
+ }
+
+ public TaskFilter withAsc(Boolean asc) {
+ this.asc = asc;
+ return this;
+ }
+
+ public State getState() {
+ return state;
+ }
+
+ public void setState(State state) {
+ this.state = state;
+ }
+
+ public TaskFilter withState(State state) {
+ this.state = state;
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/TaskFilterRepresentation.java b/src/main/java/com/inteligr8/alfresco/activiti/model/TaskFilterRepresentation.java
new file mode 100644
index 0000000..2b4f73c
--- /dev/null
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/TaskFilterRepresentation.java
@@ -0,0 +1,101 @@
+
+
+package com.inteligr8.alfresco.activiti.model;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({
+ "filterId",
+ "filter",
+ "appDefinitionId",
+ "page",
+ "size"
+})
+public class TaskFilterRepresentation {
+
+ @JsonProperty("filterId")
+ private Long filterId;
+ @JsonProperty("filter")
+ private TaskFilter filter;
+ @JsonProperty("appDefinitionId")
+ private Long appDefinitionId;
+ @JsonProperty("page")
+ private Integer page;
+ @JsonProperty("size")
+ private Integer size;
+
+ /**
+ * No args constructor for use in serialization
+ */
+ public TaskFilterRepresentation() {
+ }
+
+ public Long getFilterId() {
+ return filterId;
+ }
+
+ public void setFilterId(Long filterId) {
+ this.filterId = filterId;
+ }
+
+ public TaskFilterRepresentation withFilterId(Long filterId) {
+ this.filterId = filterId;
+ return this;
+ }
+
+ public TaskFilter getFilter() {
+ return filter;
+ }
+
+ public void setFilter(TaskFilter filter) {
+ this.filter = filter;
+ }
+
+ public TaskFilterRepresentation withFilter(TaskFilter filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ public Long getAppDefinitionId() {
+ return appDefinitionId;
+ }
+
+ public void setAppDefinitionId(Long appDefinitionId) {
+ this.appDefinitionId = appDefinitionId;
+ }
+
+ public TaskFilterRepresentation withAppDefinitionId(Long appDefinitionId) {
+ this.appDefinitionId = appDefinitionId;
+ return this;
+ }
+
+ public Integer getPage() {
+ return page;
+ }
+
+ public void setPage(Integer page) {
+ this.page = page;
+ }
+
+ public TaskFilterRepresentation withPage(Integer page) {
+ this.page = page;
+ return this;
+ }
+
+ public Integer getSize() {
+ return size;
+ }
+
+ public void setSize(Integer size) {
+ this.size = size;
+ }
+
+ public TaskFilterRepresentation withSize(Integer size) {
+ this.size = size;
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/TaskQueryRepresentation.java b/src/main/java/com/inteligr8/alfresco/activiti/model/TaskQueryRepresentation.java
new file mode 100644
index 0000000..05bf318
--- /dev/null
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/TaskQueryRepresentation.java
@@ -0,0 +1,243 @@
+
+
+package com.inteligr8.alfresco.activiti.model;
+
+import java.time.OffsetDateTime;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({
+ "text",
+ "assignment",
+ "taskId",
+ "dueAfter",
+ "dueBefore",
+ "processInstanceId",
+ "processDefinitionId",
+ "appDefinitionId",
+ "includeProcessInstance",
+ "includeProcessVariables",
+ "includeTaskLocalVariables",
+ "page",
+ "size",
+ "sort",
+ "start",
+ "state"
+})
+public class TaskQueryRepresentation {
+
+ public enum Sort {
+ @JsonProperty("created-asc")
+ CreatedAsc,
+ @JsonProperty("created-desc")
+ CreatedDesc,
+ @JsonProperty("due-asc")
+ DueAsc,
+ @JsonProperty("due-desc")
+ DueDesc,
+ }
+
+ public enum State {
+ @JsonProperty("all")
+ All,
+ @JsonProperty("completed")
+ Completed,
+ @JsonProperty("active")
+ Active
+ }
+
+ @JsonProperty("text")
+ private String text;
+ @JsonProperty("dueBefore")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime dueBefore;
+ @JsonProperty("dueAfter")
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime dueAfter;
+ @JsonProperty("taskId")
+ private String taskId;
+ @JsonProperty("processInstanceId")
+ private String processInstanceId;
+ @JsonProperty("processDefinitionId")
+ private String processDefinitionId;
+ @JsonProperty("appDefinitionId")
+ private Long appDefinitionId;
+ @JsonProperty("page")
+ private Integer page;
+ @JsonProperty("size")
+ private Integer size;
+ @JsonProperty("sort")
+ private Sort sort;
+ @JsonProperty("start")
+ private Integer start;
+ @JsonProperty("state")
+ private State state;
+
+ /**
+ * No args constructor for use in serialization
+ */
+ public TaskQueryRepresentation() {
+ }
+
+ public String getText() {
+ return text;
+ }
+
+ public void setText(String text) {
+ this.text = text;
+ }
+
+ public TaskQueryRepresentation withText(String text) {
+ this.text = text;
+ return this;
+ }
+
+ public OffsetDateTime getDueAfter() {
+ return dueAfter;
+ }
+
+ public void setDueAfter(OffsetDateTime dueAfter) {
+ this.dueAfter = dueAfter;
+ }
+
+ public TaskQueryRepresentation withDueAfter(OffsetDateTime dueAfter) {
+ this.dueAfter = dueAfter;
+ return this;
+ }
+
+ public OffsetDateTime getDueBefore() {
+ return dueBefore;
+ }
+
+ public void setDueBefore(OffsetDateTime dueBefore) {
+ this.dueBefore = dueBefore;
+ }
+
+ public TaskQueryRepresentation withDueBefore(OffsetDateTime dueBefore) {
+ this.dueBefore = dueBefore;
+ return this;
+ }
+
+ public String getTaskId() {
+ return taskId;
+ }
+
+ public void setTaskId(String taskId) {
+ this.taskId = taskId;
+ }
+
+ public TaskQueryRepresentation withTaskId(String taskId) {
+ this.taskId = taskId;
+ return this;
+ }
+
+ public Long getAppDefinitionId() {
+ return appDefinitionId;
+ }
+
+ public void setAppDefinitionId(Long appDefinitionId) {
+ this.appDefinitionId = appDefinitionId;
+ }
+
+ public TaskQueryRepresentation withAppDefinitionId(Long appDefinitionId) {
+ this.appDefinitionId = appDefinitionId;
+ return this;
+ }
+
+ public String getProcessDefinitionId() {
+ return processDefinitionId;
+ }
+
+ public void setProcessDefinitionId(String processDefinitionId) {
+ this.processDefinitionId = processDefinitionId;
+ }
+
+ public TaskQueryRepresentation withProcessDefinitionId(String processDefinitionId) {
+ this.processDefinitionId = processDefinitionId;
+ return this;
+ }
+
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ public void setProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ public TaskQueryRepresentation withProcessInstanceId(String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ return this;
+ }
+
+ public Integer getPage() {
+ return page;
+ }
+
+ public void setPage(Integer page) {
+ this.page = page;
+ }
+
+ public TaskQueryRepresentation withPage(Integer page) {
+ this.page = page;
+ return this;
+ }
+
+ public Integer getSize() {
+ return size;
+ }
+
+ public void setSize(Integer size) {
+ this.size = size;
+ }
+
+ public TaskQueryRepresentation withSize(Integer size) {
+ this.size = size;
+ return this;
+ }
+
+ public Sort getSort() {
+ return sort;
+ }
+
+ public void setSort(Sort sort) {
+ this.sort = sort;
+ }
+
+ public TaskQueryRepresentation withSort(Sort sort) {
+ this.sort = sort;
+ return this;
+ }
+
+ public Integer getStart() {
+ return start;
+ }
+
+ public void setStart(Integer start) {
+ this.start = start;
+ }
+
+ public TaskQueryRepresentation withStart(Integer start) {
+ this.start = start;
+ return this;
+ }
+
+ public State getState() {
+ return state;
+ }
+
+ public void setState(State state) {
+ this.state = state;
+ }
+
+ public TaskQueryRepresentation withState(State state) {
+ this.state = state;
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/TaskUpdate.java b/src/main/java/com/inteligr8/alfresco/activiti/model/TaskUpdate.java
index 32a2d92..708c725 100644
--- a/src/main/java/com/inteligr8/alfresco/activiti/model/TaskUpdate.java
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/TaskUpdate.java
@@ -1,9 +1,13 @@
package com.inteligr8.alfresco.activiti.model;
+import java.time.OffsetDateTime;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
@@ -33,7 +37,8 @@ public class TaskUpdate {
@JsonProperty("descriptionSet")
private Boolean descriptionSet;
@JsonProperty("dueDate")
- private String dueDate;
+ @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ssXXX")
+ private OffsetDateTime dueDate;
@JsonProperty("dueDateSet")
private Boolean dueDateSet;
@JsonProperty("formKey")
@@ -111,15 +116,15 @@ public class TaskUpdate {
return this;
}
- public String getDueDate() {
+ public OffsetDateTime getDueDate() {
return dueDate;
}
- public void setDueDate(String dueDate) {
+ public void setDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate;
}
- public TaskUpdate withDueDate(String dueDate) {
+ public TaskUpdate withDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate;
return this;
}
diff --git a/src/main/java/com/inteligr8/alfresco/activiti/model/UserIdentifier.java b/src/main/java/com/inteligr8/alfresco/activiti/model/UserIdentifier.java
new file mode 100644
index 0000000..36c2f0c
--- /dev/null
+++ b/src/main/java/com/inteligr8/alfresco/activiti/model/UserIdentifier.java
@@ -0,0 +1,42 @@
+package com.inteligr8.alfresco.activiti.model;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+@JsonIgnoreProperties(ignoreUnknown = true)
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class UserIdentifier {
+
+ @JsonProperty
+ private String userId;
+ @JsonProperty
+ private String email;
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ public UserIdentifier withUserId(String userId) {
+ this.userId = userId;
+ return this;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public UserIdentifier withEmail(String email) {
+ this.email = email;
+ return this;
+ }
+
+}