Compare commits

...
12 Commits
36 changed files with 3075 additions and 699 deletions
+43 -25
View File
@@ -5,11 +5,11 @@
<groupId>com.inteligr8.alfresco</groupId>
<artifactId>aps-public-rest-api</artifactId>
<version>3.0-SNAPSHOT</version>
<version>3.1-SNAPSHOT</version>
<name>Alfresco Process Services ReST API for Java</name>
<description>An APS API library for building REST API clients that support both the CXF and Jersey frameworks</description>
<url>https://bitbucket.org/inteligr8/aps-public-rest-api</url>
<url>https://git.inteligr8.com/inteligr8/aps-public-rest-api</url>
<licenses>
<license>
@@ -19,9 +19,9 @@
</licenses>
<scm>
<connection>scm:git:https://bitbucket.org/inteligr8/aps-public-rest-api.git</connection>
<developerConnection>scm:git:git@bitbucket.org:inteligr8/aps-public-rest-api.git</developerConnection>
<url>https://bitbucket.org/inteligr8/aps-public-rest-api</url>
<connection>scm:git:https://git.inteligr8.com/inteligr8/aps-public-rest-api.git</connection>
<developerConnection>scm:git:git@git.inteligr8.com:inteligr8/aps-public-rest-api.git</developerConnection>
<url>https://git.inteligr8.com/inteligr8/aps-public-rest-api</url>
</scm>
<organization>
<name>Inteligr8</name>
@@ -41,11 +41,10 @@
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.release>11</maven.compiler.release>
<maven.compiler.debuglevel>lines,vars,source</maven.compiler.debuglevel>
<jersey.version>3.1.8</jersey.version>
<cxf.version>4.0.2</cxf.version>
<jackson.version>2.17.2</jackson.version>
<jersey.version>4.0.2</jersey.version>
<cxf.version>4.1.5</cxf.version>
<jackson.version>2.21.2</jackson.version>
</properties>
<dependencies>
@@ -57,11 +56,11 @@
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>2.1.3</version>
<version>2.1.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<artifactId>jackson-module-jakarta-xmlbind-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
@@ -91,10 +90,32 @@
<basePackage>com.inteligr8.alfresco.activiti</basePackage>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.5.0</version>
</plugin>
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.13.0</version>
</plugin>
<plugin>
<groupId>com.inteligr8</groupId>
<artifactId>regex-maven-plugin</artifactId>
<version>1.0.7</version>
</plugin>
<plugin>
<groupId>org.raml.jaxrs</groupId>
<artifactId>raml-to-jaxrs-maven-plugin</artifactId>
<version>3.0.7</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<filesets>
<fileset>
@@ -109,7 +130,6 @@
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
<artifactId>download-maven-plugin</artifactId>
<version>1.6.3</version>
<executions>
<execution>
<id>download-aps-raml</id>
@@ -127,7 +147,6 @@
<plugin>
<groupId>com.inteligr8</groupId>
<artifactId>regex-maven-plugin</artifactId>
<version>1.0.5</version>
<executions>
<execution>
<id>fix-displayName</id>
@@ -186,7 +205,6 @@
<plugin>
<groupId>org.raml.jaxrs</groupId>
<artifactId>raml-to-jaxrs-maven-plugin</artifactId>
<version>3.0.7</version>
<executions>
<execution>
<id>raml-codegen</id>
@@ -209,7 +227,7 @@
</build>
</profile>
<profile>
<id>ossrh-release</id>
<id>central-publish</id>
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
</properties>
@@ -227,7 +245,6 @@
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.2</version>
<executions>
<execution>
<id>javadoc</id>
@@ -251,19 +268,20 @@
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.13</version>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.10.0</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
<publishingServerId>central</publishingServerId>
<autoPublish>true</autoPublish>
</configuration>
<!-- for some reason this is required... -->
<executions>
<execution>
<id>ossrh-deploy</id>
<id>deploy</id>
<phase>deploy</phase>
<goals><goal>deploy</goal></goals>
<goals><goal>publish</goal></goals>
</execution>
</executions>
</plugin>
@@ -15,8 +15,13 @@
package com.inteligr8.activiti.api;
import java.io.File;
import java.time.LocalDate;
import com.inteligr8.activiti.model.Job;
import com.inteligr8.activiti.model.JobsQueryParams;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ResultList;
import jakarta.ws.rs.BeanParam;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE;
import jakarta.ws.rs.GET;
@@ -24,15 +29,8 @@ import jakarta.ws.rs.POST;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ProcessInstanceAction.ActionValue;
import com.inteligr8.activiti.model.Job;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
public interface BaseJobsApi {
@GET
@@ -53,17 +51,6 @@ public interface BaseJobsApi {
@PathParam("jobId") String jobId,
ProcessInstanceAction execute);
default void executeJob(
String jobId,
ActionValue action) {
this.executeJob(jobId, new ProcessInstanceAction(action));
}
default void executeJob(
String jobId) {
this.executeJob(jobId, new ProcessInstanceAction(ActionValue.Execute));
}
@GET
@Path("{jobId}/execution-stacktrace")
@Produces({ MediaType.APPLICATION_OCTET_STREAM })
@@ -73,110 +60,6 @@ public interface BaseJobsApi {
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("executionId") String executionId,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("withRetriesLeft") Boolean withRetriesLeft,
@QueryParam("executable") Boolean executable,
@QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("withoutTenantId") Boolean withoutTenatId,
@QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("executionId") String executionId,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("withRetriesLeft") Boolean withRetriesLeft,
@QueryParam("executable") Boolean executable,
@QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@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 withoutTenatId,
@QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@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("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@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 withoutTenatId,
@QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@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("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@BeanParam JobsQueryParams jobsConstraint);
}
@@ -16,6 +16,15 @@ package com.inteligr8.activiti.api;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.Execution;
import com.inteligr8.activiti.model.ExecutionsQueryParams;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.Variable;
import com.inteligr8.activiti.model.VariableScope;
import jakarta.ws.rs.BeanParam;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.POST;
@@ -26,15 +35,6 @@ import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ProcessInstanceAction.ActionValue;
import com.inteligr8.activiti.model.Execution;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SignalEventAction;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.Variable;
@Path("/api/runtime/executions")
public interface ExecutionApi {
@@ -48,13 +48,6 @@ public interface ExecutionApi {
@JsonProperty("processDefinitionKey")
ProcessDefinitionKey;
}
public enum VariableScope {
@JsonProperty("local")
Local,
@JsonProperty("global")
Global,
}
@GET
@Path("{executionId}")
@@ -68,35 +61,6 @@ public interface ExecutionApi {
List<String> getActiveActivities(
@PathParam("executionId") String executionId);
default Execution signal(
String processInstanceId,
List<Variable> variables) {
ProcessInstanceAction action = new ProcessInstanceAction(ActionValue.Signal);
if (variables != null && !variables.isEmpty())
action.setVariables(variables);
return this.execute(processInstanceId, action);
}
default Execution signalReceived(
String processInstanceId,
String signal,
List<Variable> variables) {
ProcessInstanceAction action = new SignalEventAction(ActionValue.SignalReceived, signal);
if (variables != null && !variables.isEmpty())
action.setVariables(variables);
return this.execute(processInstanceId, action);
}
default Execution messageReceived(
String processInstanceId,
String message,
List<Variable> variables) {
ProcessInstanceAction action = new SignalEventAction(ActionValue.MessageReceived, message);
if (variables != null && !variables.isEmpty())
action.setVariables(variables);
return this.execute(processInstanceId, action);
}
@PUT
@Path("{executionId}")
@Consumes({ MediaType.APPLICATION_JSON })
@@ -105,80 +69,10 @@ public interface ExecutionApi {
@PathParam("executionId") String executionId,
ProcessInstanceAction action);
default ResultList<Execution> getWithoutTenant(
String executionId,
String activityId,
String processDefinitionKey,
String processDefinitionId,
String processInstanceId,
String messageEventSubscriptionName,
String signalEventSubscriptionName,
String parentId,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(executionId, activityId, processDefinitionKey, processDefinitionId, processInstanceId,
messageEventSubscriptionName, signalEventSubscriptionName, parentId, null, null, true,
sort, sortOrder, pageStart, pageSize);
}
default ResultList<Execution> getByTenant(
String executionId,
String activityId,
String processDefinitionKey,
String processDefinitionId,
String processInstanceId,
String messageEventSubscriptionName,
String signalEventSubscriptionName,
String parentId,
String tenantId,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(executionId, activityId, processDefinitionKey, processDefinitionId, processInstanceId,
messageEventSubscriptionName, signalEventSubscriptionName, parentId, tenantId, null, false,
sort, sortOrder, pageStart, pageSize);
}
default ResultList<Execution> getByTenants(
String executionId,
String activityId,
String processDefinitionKey,
String processDefinitionId,
String processInstanceId,
String messageEventSubscriptionName,
String signalEventSubscriptionName,
String parentId,
String tenantIdLike,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(executionId, activityId, processDefinitionKey, processDefinitionId, processInstanceId,
messageEventSubscriptionName, signalEventSubscriptionName, parentId, null, tenantIdLike, false,
sort, sortOrder, pageStart, pageSize);
}
@GET
@Produces({ MediaType.APPLICATION_JSON })
ResultList<Execution> getByAny(
@QueryParam("id") String executionId,
@QueryParam("activityId") String activityId,
@QueryParam("processDefinitionKey") String processDefinitionKey,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("messageEventSubscriptionName") String messageEventSubscriptionName,
@QueryParam("signalEventSubscriptionName") String signalEventSubscriptionName,
@QueryParam("parentId") String parentId,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("withoutTenantId") Boolean withoutTenantId,
@QueryParam("sort") Sort sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
ResultList<Execution> query(
@BeanParam ExecutionsQueryParams params);
@GET
@Path("{executionId}/variables")
@@ -207,12 +101,6 @@ public interface ExecutionApi {
void updateVariables(
@PathParam("executionId") String executionId,
List<Variable> variables);
default void updateVariable(
String executionId,
Variable variable) {
this.updateVariable(executionId, variable.getName(), variable);
}
@PUT
@Path("{executionId}/variables/{variableName}")
@@ -0,0 +1,65 @@
/*
* 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 <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.activiti.api;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.HistoricProcessInstance;
import com.inteligr8.activiti.model.HistoryQueryParams;
import com.inteligr8.activiti.model.ResultList;
import jakarta.ws.rs.BeanParam;
import jakarta.ws.rs.DELETE;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
@Path("/api/history")
public interface HistoryApi {
public enum Sort {
@JsonProperty("processInstanceId")
ProcessInstanceId,
@JsonProperty("processDefinitionId")
ProcessDefinitionId,
@JsonProperty("tenantId")
TenantId,
@JsonProperty("processDefinitionKey")
ProcessDefinitionKey,
@JsonProperty("startTime")
StartTime,
@JsonProperty("endTime")
EndTime;
}
@GET
@Path("historic-process-instances/{processInstanceId}")
@Produces({ MediaType.APPLICATION_JSON })
HistoricProcessInstance get(
@PathParam("processInstanceId") String processInstanceId);
@DELETE
@Path("historic-process-instances/{processInstanceId}")
void delete(
@PathParam("processInstanceId") String processInstanceId);
@GET
@Path("historic-process-instances")
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<HistoricProcessInstance> query(
@BeanParam HistoryQueryParams params);
}
@@ -14,20 +14,18 @@
*/
package com.inteligr8.activiti.api;
import com.inteligr8.activiti.api.ProcessInstanceApi.Sort;
import com.inteligr8.activiti.model.ProcessDefinition;
import com.inteligr8.activiti.model.ProcessDefinitionAction;
import com.inteligr8.activiti.model.ProcessDefinitionsQueryParams;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.ProcessDefinitionAction.ActionValue;
import jakarta.ws.rs.BeanParam;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.PUT;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;
@Path("/api/repository/process-definitions")
@@ -39,16 +37,6 @@ public interface ProcessDefinitionApi {
ProcessDefinition get(
@PathParam("processDefinitionId") String processDefinitionId);
default void activate(
String processDefinitionId) {
this.act(processDefinitionId, new ProcessDefinitionAction(ActionValue.Activate));
}
default void suspend(
String processDefinitionId) {
this.act(processDefinitionId, new ProcessDefinitionAction(ActionValue.Suspend));
}
@PUT
@Path("{processDefinitionId}")
@Consumes({ MediaType.APPLICATION_JSON })
@@ -56,80 +44,9 @@ public interface ProcessDefinitionApi {
@PathParam("processDefinitionId") String processDefinitionId,
ProcessDefinitionAction action);
default ResultList<ProcessDefinition> getByTenant(
String category,
String categoryLike,
String categoryNotEquals,
String key,
String keyLike,
String name,
String nameLike,
String resourceName,
String resourceNameLike,
String version,
Boolean suspended,
boolean latest,
String deploymentId,
String startableByUser,
String tenantId,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(category, categoryLike, categoryNotEquals, key, keyLike,
name, nameLike, resourceName, resourceNameLike, version,
suspended, latest, deploymentId, startableByUser,
tenantId, null, sort, sortOrder, pageStart, pageSize);
}
default ResultList<ProcessDefinition> getByTenants(
String category,
String categoryLike,
String categoryNotEquals,
String key,
String keyLike,
String name,
String nameLike,
String resourceName,
String resourceNameLike,
String version,
Boolean suspended,
boolean latest,
String deploymentId,
String startableByUser,
String tenantIdLike,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(category, categoryLike, categoryNotEquals, key, keyLike,
name, nameLike, resourceName, resourceNameLike, version,
suspended, latest, deploymentId, startableByUser,
null, tenantIdLike, sort, sortOrder, pageStart, pageSize);
}
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<ProcessDefinition> getByAny(
@QueryParam("category") String category,
@QueryParam("categoryLike") String categoryLike,
@QueryParam("categoryNotEquals") String categoryNotEquals,
@QueryParam("key") String key,
@QueryParam("keyLike") String keyLike,
@QueryParam("name") String name,
@QueryParam("nameLike") String nameLike,
@QueryParam("resourceName") String resourceName,
@QueryParam("resourceNameLike") String resourceNameLike,
@QueryParam("version") String version,
@QueryParam("suspended") Boolean suspended,
@QueryParam("latest") Boolean latest,
@QueryParam("deploymentId") String deploymentId,
@QueryParam("startableByUser") String startableByUser,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") Sort sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
public ResultList<ProcessDefinition> query(
@BeanParam ProcessDefinitionsQueryParams params);
}
@@ -17,6 +17,14 @@ package com.inteligr8.activiti.api;
import java.io.File;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.ProcessInstance;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ProcessInstancesQueryParams;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.Variable;
import jakarta.ws.rs.BeanParam;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE;
import jakarta.ws.rs.GET;
@@ -25,17 +33,8 @@ import jakarta.ws.rs.PUT;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ProcessInstanceAction.ActionValue;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.Variable;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;
@Path("/api/runtime/process-instances")
public interface ProcessInstanceApi {
@@ -61,16 +60,6 @@ public interface ProcessInstanceApi {
void delete(
@PathParam("processInstanceId") String processInstanceId);
default void activate(
String processInstanceId) {
this.act(processInstanceId, new ProcessInstanceAction(ActionValue.Activate));
}
default void suspend(
String processInstanceId) {
this.act(processInstanceId, new ProcessInstanceAction(ActionValue.Suspend));
}
@PUT
@Path("{processInstanceId}")
@Consumes({ MediaType.APPLICATION_JSON })
@@ -78,91 +67,10 @@ public interface ProcessInstanceApi {
@PathParam("processInstanceId") String processInstanceId,
ProcessInstanceAction action);
default ResultList<ProcessInstance> getWithoutTenant(
String processInstanceId,
String processDefinitionKey,
String processDefinitionId,
String businessKey,
String involvedUser,
Boolean suspended,
String superProcessInstanceId,
String subProcessInstanceId,
Boolean excludeSubprocesses,
Boolean includeProcessVariables,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(processInstanceId, processDefinitionKey, processDefinitionId,
businessKey, involvedUser, suspended, superProcessInstanceId, subProcessInstanceId,
excludeSubprocesses, includeProcessVariables, null, null, true,
sort, sortOrder, pageStart, pageSize);
}
default ResultList<ProcessInstance> getByTenant(
String processInstanceId,
String processDefinitionKey,
String processDefinitionId,
String businessKey,
String involvedUser,
Boolean suspended,
String superProcessInstanceId,
String subProcessInstanceId,
Boolean excludeSubprocesses,
Boolean includeProcessVariables,
String tenantId,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(processInstanceId, processDefinitionKey, processDefinitionId,
businessKey, involvedUser, suspended, superProcessInstanceId, subProcessInstanceId,
excludeSubprocesses, includeProcessVariables, tenantId, null, false,
sort, sortOrder, pageStart, pageSize);
}
default ResultList<ProcessInstance> getByTenants(
String processInstanceId,
String processDefinitionKey,
String processDefinitionId,
String businessKey,
String involvedUser,
Boolean suspended,
String superProcessInstanceId,
String subProcessInstanceId,
Boolean excludeSubprocesses,
Boolean includeProcessVariables,
String tenantIdLike,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(processInstanceId, processDefinitionKey, processDefinitionId,
businessKey, involvedUser, suspended, superProcessInstanceId, subProcessInstanceId,
excludeSubprocesses, includeProcessVariables, null, tenantIdLike, false,
sort, sortOrder, pageStart, pageSize);
}
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<ProcessInstance> getByAny(
@QueryParam("id") String processInstanceId,
@QueryParam("processDefinitionKey") String processDefinitionKey,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("businessKey") String businessKey,
@QueryParam("involvedUser") String involvedUser,
@QueryParam("suspended") Boolean suspended,
@QueryParam("superProcessInstanceId") String superProcessInstanceId,
@QueryParam("subProcessInstanceId") String subProcessInstanceId,
@QueryParam("excludeSubprocesses") Boolean excludeSubprocesses,
@QueryParam("includeProcessVariables") Boolean includeProcessVariables,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("withoutTenantId") Boolean withoutTenantId,
@QueryParam("sort") Sort sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
public ResultList<ProcessInstance> query(
@BeanParam ProcessInstancesQueryParams params);
@GET
@Path("{processInstanceId}/diagram")
@@ -196,12 +104,6 @@ public interface ProcessInstanceApi {
void updateVariables(
@PathParam("processInstanceId") String processInstanceId,
List<Variable> variables);
default void updateVariable(
String processInstanceId,
Variable variable) {
this.updateVariable(processInstanceId, variable.getName(), variable);
}
@PUT
@Path("{processInstanceId}/variables/{variableName}")
@@ -0,0 +1,133 @@
/*
* 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 <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.activiti.api;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.ProcessInstance;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.Task;
import com.inteligr8.activiti.model.TaskAction;
import com.inteligr8.activiti.model.TasksQueryParams;
import com.inteligr8.activiti.model.Variable;
import com.inteligr8.activiti.model.VariableScope;
import jakarta.ws.rs.BeanParam;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE;
import jakarta.ws.rs.DefaultValue;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.POST;
import jakarta.ws.rs.PUT;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;
@Path("/api/runtime/tasks")
public interface TaskApi {
public enum Sort {
@JsonProperty("createTime")
CreateTime,
@JsonProperty("dueDate")
DueDate,
@JsonProperty("priority")
Priority,
@JsonProperty("tenantId")
TenantId,
@JsonProperty("taskDefinitionKey")
TaskDefinitionKey;
}
@GET
@Path("{taskId}")
@Produces({ MediaType.APPLICATION_JSON })
Task get(
@PathParam("taskId") String taskId);
@DELETE
@Path("{taskId}")
void delete(
@PathParam("taskId") String taskId,
@QueryParam("cascadeHistory") @DefaultValue("false") Boolean cascadeHistory,
@QueryParam("deleteReason") String deleteReason);
@PUT
@Path("{taskId}")
@Consumes({ MediaType.APPLICATION_JSON })
void update(
@PathParam("taskId") String taskId,
Task task);
@POST
@Path("{taskId}")
@Consumes({ MediaType.APPLICATION_JSON })
void act(
@PathParam("taskId") String taskId,
TaskAction action);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<ProcessInstance> query(
@BeanParam TasksQueryParams params);
@GET
@Path("{taskId}/variables")
@Produces({ MediaType.APPLICATION_JSON })
List<Variable> getVariables(
@PathParam("taskId") String taskId,
@QueryParam("scope") VariableScope scope);
@GET
@Path("{taskId}/variables/{variableName}")
@Produces({ MediaType.APPLICATION_JSON })
Variable getVariable(
@PathParam("taskId") String taskId,
@PathParam("variableName") String variableName,
@QueryParam("scope") VariableScope scope);
@POST
@Path("{taskId}/variables")
@Consumes({ MediaType.APPLICATION_JSON })
void createVariables(
@PathParam("taskId") String taskId,
List<Variable> variables);
@PUT
@Path("{taskId}/variables/{variableName}")
@Consumes({ MediaType.APPLICATION_JSON })
void updateVariable(
@PathParam("taskId") String taskId,
@PathParam("variableName") String variableName,
Variable variable);
@DELETE
@Path("{taskId}/variables/{variableName}")
@Consumes({ MediaType.APPLICATION_JSON })
void deleteVariable(
@PathParam("taskId") String taskId,
@PathParam("variableName") String variableName,
@QueryParam("scope") VariableScope scope);
@DELETE
@Path("{taskId}/variables")
@Consumes({ MediaType.APPLICATION_JSON })
void deleteTaskVariables(
@PathParam("taskId") String taskId);
}
@@ -0,0 +1,27 @@
package com.inteligr8.activiti.jackson;
import java.io.IOException;
import java.util.Collection;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
public class CollectionJsonSerializer extends JsonSerializer<Collection<?>> {
@Override
public void serialize(Collection<?> values, JsonGenerator gen, SerializerProvider serializers) throws IOException {
if (values == null) {
gen.writeNull();
} else if (values.isEmpty()) {
gen.writeString("");
} else {
StringBuilder str = new StringBuilder();
for (Object value : values)
str.append(value).append(',');
str.deleteCharAt(str.length()-1);
gen.writeString(str.toString());
}
}
}
@@ -0,0 +1,22 @@
package com.inteligr8.activiti.jackson;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import com.fasterxml.jackson.core.JacksonException;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
public class StringListJsonDeserializer extends JsonDeserializer<List<String>> {
@Override
public List<String> deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JacksonException {
String values = ctxt.readValue(p, String.class);
if (values == null)
return null;
return Arrays.asList(values.split(","));
}
}
@@ -0,0 +1,30 @@
package com.inteligr8.activiti.jakarta;
import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;
import jakarta.ws.rs.ext.ParamConverter;
public class OffsetDateTimeConverter implements ParamConverter<OffsetDateTime> {
private final DateTimeFormatter formatter;
public OffsetDateTimeConverter(DateTimeFormatter formatter) {
this.formatter = formatter;
}
@Override
public OffsetDateTime fromString(String value) {
if (value == null)
return null;
return OffsetDateTime.parse(value, this.formatter);
}
@Override
public String toString(OffsetDateTime value) {
if (value == null)
return null;
return value.format(this.formatter);
}
}
@@ -0,0 +1,23 @@
package com.inteligr8.activiti.jakarta;
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;
import jakarta.ws.rs.ext.ParamConverter;
import jakarta.ws.rs.ext.ParamConverterProvider;
public class OffsetDateTimeConverterProvider implements ParamConverterProvider {
@SuppressWarnings("unchecked")
@Override
public <T> ParamConverter<T> getConverter(Class<T> rawType, Type genericType, Annotation[] annotations) {
if (OffsetDateTime.class.isAssignableFrom(rawType)) {
return (ParamConverter<T>) new OffsetDateTimeConverter(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXX"));
} else {
return null;
}
}
}
@@ -0,0 +1,12 @@
package com.inteligr8.activiti.model;
import com.fasterxml.jackson.annotation.JsonProperty;
public enum DelegationState {
@JsonProperty("pending")
Pending,
@JsonProperty("resolved")
Resolved
}
@@ -0,0 +1,182 @@
package com.inteligr8.activiti.model;
import jakarta.ws.rs.QueryParam;
public class ExecutionsQueryParams extends QueryParams<ExecutionsQueryParams> {
@QueryParam("id")
private String id;
@QueryParam("activityId")
private String activityId;
@QueryParam("processInstanceId")
private String processInstanceId;
@QueryParam("processDefinitionId")
private String processDefinitionId;
@QueryParam("processDefinitionKey")
private String processDefinitionKey;
@QueryParam("messageEventSubscriptionName")
private String messageEventSubscriptionName;
@QueryParam("signalEventSubscriptionName")
private String signalEventSubscriptionName;
@QueryParam("parentId")
private String parentId;
@QueryParam("tenantId")
private String tenantId;
@QueryParam("tenantIdLike")
private String tenantIdLike;
@QueryParam("withoutTenantId")
private Boolean withoutTenantId;
/**
* No args constructor for use in serialization
*/
public ExecutionsQueryParams() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public ExecutionsQueryParams withId(String id) {
this.id = id;
return this;
}
public String getActivityId() {
return activityId;
}
public void setActivityId(String activityId) {
this.activityId = activityId;
}
public ExecutionsQueryParams withActivityId(String activityId) {
this.activityId = activityId;
return this;
}
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public ExecutionsQueryParams withProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public ExecutionsQueryParams withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getProcessDefinitionKey() {
return processDefinitionKey;
}
public void setProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
}
public ExecutionsQueryParams withProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
return this;
}
public String getMessageEventSubscriptionName() {
return messageEventSubscriptionName;
}
public void setMessageEventSubscriptionName(String messageEventSubscriptionName) {
this.messageEventSubscriptionName = messageEventSubscriptionName;
}
public ExecutionsQueryParams withMessageEventSubscriptionName(String messageEventSubscriptionName) {
this.messageEventSubscriptionName = messageEventSubscriptionName;
return this;
}
public String getSignalEventSubscriptionName() {
return signalEventSubscriptionName;
}
public void setSignalEventSubscriptionName(String signalEventSubscriptionName) {
this.signalEventSubscriptionName = signalEventSubscriptionName;
}
public ExecutionsQueryParams withSignalEventSubscriptionName(String signalEventSubscriptionName) {
this.signalEventSubscriptionName = signalEventSubscriptionName;
return this;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public ExecutionsQueryParams withParentId(String parentId) {
this.parentId = parentId;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public ExecutionsQueryParams withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getTenantIdLike() {
return tenantIdLike;
}
public void setTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
}
public ExecutionsQueryParams withTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
return this;
}
public Boolean getWithoutTenantId() {
return withoutTenantId;
}
public void setWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
}
public ExecutionsQueryParams withWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
return this;
}
}
@@ -0,0 +1,265 @@
package com.inteligr8.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.JsonFormat.Shape;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class HistoricProcessInstance extends Datum {
@JsonProperty("businessKey")
private String businessKey;
@JsonProperty("deleteReason")
private String deleteReason;
@JsonProperty("durationInMillis")
private Long durationInMillis;
@JsonProperty("endActivityId")
private String endActivityId;
@JsonProperty("endTime")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime endTime;
@JsonProperty("id")
private String id;
@JsonProperty("processDefinitionId")
private String processDefinitionId;
@JsonProperty("processDefinitionKey")
private String processDefinitionKey;
@JsonProperty("processDefinitionUrl")
private String processDefinitionUrl;
@JsonProperty("startActivityId")
private String startActivityId;
@JsonProperty("startTime")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime startTime;
@JsonProperty("startUserId")
private String startUserId;
@JsonProperty("superProcessInstanceId")
private String superProcessInstanceId;
@JsonProperty("tenantId")
private String tenantId;
@JsonProperty("url")
private String url;
@JsonProperty("variables")
private List<Variable> variables = new ArrayList<Variable>();
/**
* No args constructor for use in serialization
*/
public HistoricProcessInstance() {
}
public String getBusinessKey() {
return businessKey;
}
public void setBusinessKey(String businessKey) {
this.businessKey = businessKey;
}
public HistoricProcessInstance withBusinessKey(String businessKey) {
this.businessKey = businessKey;
return this;
}
public String getDeleteReason() {
return deleteReason;
}
public void setDeleteReason(String deleteReason) {
this.deleteReason = deleteReason;
}
public HistoricProcessInstance withDeleteReason(String deleteReason) {
this.deleteReason = deleteReason;
return this;
}
public Long getDurationInMillis() {
return durationInMillis;
}
public void setDurationInMillis(Long durationInMillis) {
this.durationInMillis = durationInMillis;
}
public HistoricProcessInstance withDurationInMillis(Long durationInMillis) {
this.durationInMillis = durationInMillis;
return this;
}
public String getEndActivityId() {
return endActivityId;
}
public void setEndActivityId(String endActivityId) {
this.endActivityId = endActivityId;
}
public HistoricProcessInstance withEndActivityId(String endActivityId) {
this.endActivityId = endActivityId;
return this;
}
public OffsetDateTime getEndTime() {
return endTime;
}
public void setEndTime(OffsetDateTime endTime) {
this.endTime = endTime;
}
public HistoricProcessInstance withEndTime(OffsetDateTime endTime) {
this.endTime = endTime;
return this;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public HistoricProcessInstance withId(String id) {
this.id = id;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public HistoricProcessInstance withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getProcessDefinitionKey() {
return processDefinitionKey;
}
public void setProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
}
public HistoricProcessInstance withProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
return this;
}
public String getProcessDefinitionUrl() {
return processDefinitionUrl;
}
public void setProcessDefinitionUrl(String processDefinitionUrl) {
this.processDefinitionUrl = processDefinitionUrl;
}
public HistoricProcessInstance withProcessDefinitionUrl(String processDefinitionUrl) {
this.processDefinitionUrl = processDefinitionUrl;
return this;
}
public String getStartActivityId() {
return startActivityId;
}
public void setStartActivityId(String startActivityId) {
this.startActivityId = startActivityId;
}
public HistoricProcessInstance withStartActivityId(String startActivityId) {
this.startActivityId = startActivityId;
return this;
}
public OffsetDateTime getStartTime() {
return startTime;
}
public void setStartTime(OffsetDateTime startTime) {
this.startTime = startTime;
}
public HistoricProcessInstance withStartime(OffsetDateTime startTime) {
this.startTime = startTime;
return this;
}
public String getStartUserId() {
return startUserId;
}
public void setStartUserId(String startUserId) {
this.startUserId = startUserId;
}
public HistoricProcessInstance withStartUserId(String startUserId) {
this.startUserId = startUserId;
return this;
}
public String getSuperProcessInstanceId() {
return superProcessInstanceId;
}
public void setSuperProcessInstanceId(String superProcessInstanceId) {
this.superProcessInstanceId = superProcessInstanceId;
}
public HistoricProcessInstance withSuperProcessInstanceId(String superProcessInstanceId) {
this.superProcessInstanceId = superProcessInstanceId;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public HistoricProcessInstance withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public HistoricProcessInstance withUrl(String url) {
this.url = url;
return this;
}
public List<Variable> getVariables() {
return variables;
}
public void setVariables(List<Variable> variables) {
this.variables = variables;
}
public HistoricProcessInstance withVariables(List<Variable> variables) {
this.variables = variables;
return this;
}
}
@@ -0,0 +1,281 @@
package com.inteligr8.activiti.model;
import java.time.OffsetDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import jakarta.ws.rs.QueryParam;
public class HistoryQueryParams extends QueryParams<HistoryQueryParams> {
@QueryParam("processInstanceId")
private String processInstanceId;
@QueryParam("processDefinitionId")
private String processDefinitionId;
@QueryParam("processDefinitionKey")
private String processDefinitionKey;
@QueryParam("businessKey")
private String businessKey;
@QueryParam("involvedUser")
private String involvedUser;
@QueryParam("finished")
private Boolean finished;
@QueryParam("superProcessInstanceId")
private String superProcessInstanceId;
@QueryParam("excludeSubprocesses")
private Boolean excludeSubprocesses;
@QueryParam("finishedAfter")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime finishedAfter;
@QueryParam("finishedBefore")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime finishedBefore;
@QueryParam("startedAfter")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime startedAfter;
@QueryParam("startedBefore")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime startedBefore;
@QueryParam("startedBy")
private String startedBy;
@QueryParam("includeProcessVariables")
private Boolean includeProcessVariables;
@QueryParam("tenantId")
private String tenantId;
@QueryParam("tenantIdLike")
private String tenantIdLike;
@QueryParam("withoutTenantId")
private Boolean withoutTenantId;
/**
* No args constructor for use in serialization
*/
public HistoryQueryParams() {
}
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public HistoryQueryParams withProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public HistoryQueryParams withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getProcessDefinitionKey() {
return processDefinitionKey;
}
public void setProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
}
public HistoryQueryParams withProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
return this;
}
public String getBusinessKey() {
return businessKey;
}
public void setBusinessKey(String businessKey) {
this.businessKey = businessKey;
}
public HistoryQueryParams withBusinessKey(String businessKey) {
this.businessKey = businessKey;
return this;
}
public String getInvolvedUser() {
return involvedUser;
}
public void setInvolvedUser(String involvedUser) {
this.involvedUser = involvedUser;
}
public HistoryQueryParams withInvolvedUser(String involvedUser) {
this.involvedUser = involvedUser;
return this;
}
public Boolean isFinished() {
return finished;
}
public void setFinished(Boolean finished) {
this.finished = finished;
}
public HistoryQueryParams withFinished(Boolean finished) {
this.finished = finished;
return this;
}
public String getSuperProcessInstanceId() {
return superProcessInstanceId;
}
public void setSuperProcessInstanceId(String superProcessInstanceId) {
this.superProcessInstanceId = superProcessInstanceId;
}
public HistoryQueryParams withSuperProcessInstanceId(String superProcessInstanceId) {
this.superProcessInstanceId = superProcessInstanceId;
return this;
}
public Boolean isExcludeSubprocesses() {
return excludeSubprocesses;
}
public void setExcludeSubprocesses(Boolean excludeSubprocesses) {
this.excludeSubprocesses = excludeSubprocesses;
}
public HistoryQueryParams withExcludeSubprocesses(Boolean excludeSubprocesses) {
this.excludeSubprocesses = excludeSubprocesses;
return this;
}
public OffsetDateTime getFinishedAfter() {
return finishedAfter;
}
public void setFinishedAfter(OffsetDateTime finishedAfter) {
this.finishedAfter = finishedAfter;
}
public HistoryQueryParams withFinishedAfter(OffsetDateTime finishedAfter) {
this.finishedAfter = finishedAfter;
return this;
}
public OffsetDateTime getFinishedBefore() {
return finishedBefore;
}
public void setFinishedBefore(OffsetDateTime finishedBefore) {
this.finishedBefore = finishedBefore;
}
public HistoryQueryParams withFinishedBefore(OffsetDateTime finishedBefore) {
this.finishedBefore = finishedBefore;
return this;
}
public OffsetDateTime getStartedAfter() {
return startedAfter;
}
public void setStartedAfter(OffsetDateTime startedAfter) {
this.startedAfter = startedAfter;
}
public HistoryQueryParams withStartedAfter(OffsetDateTime startedAfter) {
this.startedAfter = startedAfter;
return this;
}
public OffsetDateTime getStartedBefore() {
return startedBefore;
}
public void setStartedBefore(OffsetDateTime startedBefore) {
this.startedBefore = startedBefore;
}
public HistoryQueryParams withStartedBefore(OffsetDateTime startedBefore) {
this.startedBefore = startedBefore;
return this;
}
public String getStartedBy() {
return startedBy;
}
public void setStartedBy(String startedBy) {
this.startedBy = startedBy;
}
public HistoryQueryParams withStartedBy(String startedBy) {
this.startedBy = startedBy;
return this;
}
public Boolean isIncludeProcessVariables() {
return includeProcessVariables;
}
public void setIncludeProcessVariables(Boolean includeProcessVariables) {
this.includeProcessVariables = includeProcessVariables;
}
public HistoryQueryParams withIncludeProcessVariables(Boolean includeProcessVariables) {
this.includeProcessVariables = includeProcessVariables;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public HistoryQueryParams withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getTenantIdLike() {
return tenantIdLike;
}
public void setTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
}
public HistoryQueryParams withTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
return this;
}
public Boolean getWithoutTenantId() {
return withoutTenantId;
}
public void setWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
}
public HistoryQueryParams withWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
return this;
}
}
@@ -30,8 +30,8 @@ public class Job extends Datum {
@JsonProperty("exceptionMessage")
private String exceptionMessage;
@JsonProperty("dueDate")
private OffsetDateTime dueDate;
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime dueDate;
@JsonProperty("tenantId")
private String tenantId;
@@ -0,0 +1,214 @@
package com.inteligr8.activiti.model;
import java.time.OffsetDateTime;
import jakarta.ws.rs.QueryParam;
public class JobsQueryParams extends QueryParams<JobsQueryParams> {
@QueryParam("id")
private String id;
@QueryParam("processInstanceId")
private String processInstanceId;
@QueryParam("processDefinitionId")
private String processDefinitionId;
@QueryParam("executionId")
private String executionId;
@QueryParam("withRetriesLeft")
private Boolean withRetriesLeft;
@QueryParam("executable")
private Boolean executable;
@QueryParam("withException")
private Boolean withException;
@QueryParam("dueAfter")
private OffsetDateTime dueAfter;
@QueryParam("dueBefore")
private OffsetDateTime dueBefore;
@QueryParam("exceptionMessage")
private String exceptionMessage;
@QueryParam("tenantId")
private String tenantId;
@QueryParam("tenantIdLike")
private String tenantIdLike;
@QueryParam("withoutTenantId")
private Boolean withoutTenantId;
/**
* No args constructor for use in serialization
*/
public JobsQueryParams() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public JobsQueryParams withId(String id) {
this.id = id;
return this;
}
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public JobsQueryParams withProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public JobsQueryParams withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getExecutionId() {
return executionId;
}
public void setExecutionId(String executionId) {
this.executionId = executionId;
}
public JobsQueryParams withExecutionId(String executionId) {
this.executionId = executionId;
return this;
}
public Boolean getWithRetriesLeft() {
return withRetriesLeft;
}
public void setWithRetriesLeft(Boolean withRetriesLeft) {
this.withRetriesLeft = withRetriesLeft;
}
public JobsQueryParams withRetriesLeft(Boolean withRetriesLeft) {
this.withRetriesLeft = withRetriesLeft;
return this;
}
public Boolean getExecutable() {
return executable;
}
public void setExecutable(Boolean executable) {
this.executable = executable;
}
public JobsQueryParams withExecutable(Boolean executable) {
this.executable = executable;
return this;
}
public Boolean getWithException() {
return withException;
}
public void setWithException(Boolean withException) {
this.withException = withException;
}
public JobsQueryParams withException(Boolean withException) {
this.withException = withException;
return this;
}
public OffsetDateTime getDueBefore() {
return dueBefore;
}
public void setDueBefore(OffsetDateTime dueBefore) {
this.dueBefore = dueBefore;
}
public JobsQueryParams withDueBefore(OffsetDateTime dueBefore) {
this.dueBefore = dueBefore;
return this;
}
public OffsetDateTime getDueAfter() {
return dueAfter;
}
public void setDueAfter(OffsetDateTime dueAfter) {
this.dueAfter = dueAfter;
}
public JobsQueryParams withDueAfter(OffsetDateTime dueAfter) {
this.dueAfter = dueAfter;
return this;
}
public String getExceptionMessage() {
return exceptionMessage;
}
public void setExceptionMessage(String exceptionMessage) {
this.exceptionMessage = exceptionMessage;
}
public JobsQueryParams withExceptionMessage(String exceptionMessage) {
this.exceptionMessage = exceptionMessage;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public JobsQueryParams withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getTenantIdLike() {
return tenantIdLike;
}
public void setTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
}
public JobsQueryParams withTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
return this;
}
public Boolean getWithoutTenantId() {
return withoutTenantId;
}
public void setWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
}
public JobsQueryParams withWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
return this;
}
}
@@ -0,0 +1,257 @@
package com.inteligr8.activiti.model;
import jakarta.ws.rs.QueryParam;
public class ProcessDefinitionsQueryParams extends QueryParams<ProcessDefinitionsQueryParams> {
@QueryParam("category")
private String category;
@QueryParam("categoryLike")
private String categoryLike;
@QueryParam("categoryNotEquals")
private String categoryNotEquals;
@QueryParam("key")
private String key;
@QueryParam("keyLike")
private String keyLike;
@QueryParam("name")
private String name;
@QueryParam("nameLike")
private String nameLike;
@QueryParam("resourceName")
private String resourceName;
@QueryParam("resourceNameLike")
private String resourceNameLike;
@QueryParam("version")
private String version;
@QueryParam("suspended")
private Boolean suspended;
@QueryParam("latest")
private Boolean latest;
@QueryParam("deploymentId")
private String deploymentId;
@QueryParam("startableByUser")
private String startableByUser;
@QueryParam("tenantId")
private String tenantId;
@QueryParam("tenantIdLike")
private String tenantIdLike;
/**
* No args constructor for use in serialization
*/
public ProcessDefinitionsQueryParams() {
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public ProcessDefinitionsQueryParams withCategory(String category) {
this.category = category;
return this;
}
public String getCategoryLike() {
return categoryLike;
}
public void setCategoryLike(String categoryLike) {
this.categoryLike = categoryLike;
}
public ProcessDefinitionsQueryParams withCategoryLike(String categoryLike) {
this.categoryLike = categoryLike;
return this;
}
public String getCategoryNotEquals() {
return categoryNotEquals;
}
public void setCategoryNotEquals(String categoryNotEquals) {
this.categoryNotEquals = categoryNotEquals;
}
public ProcessDefinitionsQueryParams withCategoryNotEquals(String categoryNotEquals) {
this.categoryNotEquals = categoryNotEquals;
return this;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public ProcessDefinitionsQueryParams withKey(String key) {
this.key = key;
return this;
}
public String getKeyLike() {
return keyLike;
}
public void setKeyLike(String keyLike) {
this.keyLike = keyLike;
}
public ProcessDefinitionsQueryParams withKeyLike(String keyLike) {
this.keyLike = keyLike;
return this;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ProcessDefinitionsQueryParams withName(String name) {
this.name = name;
return this;
}
public String getNameLike() {
return nameLike;
}
public void setNameLike(String nameLike) {
this.nameLike = nameLike;
}
public ProcessDefinitionsQueryParams withNameLike(String nameLike) {
this.nameLike = nameLike;
return this;
}
public String getResourceName() {
return resourceName;
}
public void setResourceName(String resourceName) {
this.resourceName = resourceName;
}
public ProcessDefinitionsQueryParams withResourceName(String resourceName) {
this.resourceName = resourceName;
return this;
}
public String getResourceNameLike() {
return resourceNameLike;
}
public void setResourceNameLike(String resourceNameLike) {
this.resourceNameLike = resourceNameLike;
}
public ProcessDefinitionsQueryParams withResourceNameLike(String resourceNameLike) {
this.resourceNameLike = resourceNameLike;
return this;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public ProcessDefinitionsQueryParams withVersion(String version) {
this.version = version;
return this;
}
public Boolean isSuspended() {
return suspended;
}
public void setSuspended(Boolean suspended) {
this.suspended = suspended;
}
public ProcessDefinitionsQueryParams withSuspended(Boolean suspended) {
this.suspended = suspended;
return this;
}
public Boolean isLatest() {
return latest;
}
public void setLatest(Boolean latest) {
this.latest = latest;
}
public ProcessDefinitionsQueryParams withLatest(Boolean latest) {
this.latest = latest;
return this;
}
public String getDeploymentId() {
return deploymentId;
}
public void setDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
}
public ProcessDefinitionsQueryParams withDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
return this;
}
public String getStartableByUser() {
return startableByUser;
}
public void setStartableByUser(String startableByUser) {
this.startableByUser = startableByUser;
}
public ProcessDefinitionsQueryParams withStartableByUser(String startableByUser) {
this.startableByUser = startableByUser;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public ProcessDefinitionsQueryParams withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getTenantIdLike() {
return tenantIdLike;
}
public void setTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
}
public ProcessDefinitionsQueryParams withTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
return this;
}
}
@@ -146,6 +146,19 @@ public class ProcessInstance extends Datum {
this.processDefinitionKey = processDefinitionKey;
return this;
}
public String getProcessDefinitionUrl() {
return processDefinitionUrl;
}
public void setProcessDefinitionUrl(String processDefinitionUrl) {
this.processDefinitionUrl = processDefinitionUrl;
}
public ProcessInstance withProcessDefinitionUrl(String processDefinitionUrl) {
this.processDefinitionUrl = processDefinitionUrl;
return this;
}
public Boolean getSuspended() {
return suspended;
@@ -0,0 +1,210 @@
package com.inteligr8.activiti.model;
import jakarta.ws.rs.QueryParam;
public class ProcessInstancesQueryParams extends QueryParams<ProcessDefinitionsQueryParams> {
@QueryParam("id")
private String processInstanceId;
@QueryParam("processDefinitionKey")
private String processDefinitionKey;
@QueryParam("processDefinitionId")
private String processDefinitionId;
@QueryParam("businessKey")
private String businessKey;
@QueryParam("involvedUser")
private String involvedUser;
@QueryParam("suspended")
private Boolean suspended;
@QueryParam("superProcessInstanceId")
private String superProcessInstanceId;
@QueryParam("subProcessInstanceId")
private String subProcessInstanceId;
@QueryParam("excludeSubprocesses")
private Boolean excludeSubprocesses;
@QueryParam("includeProcessVariables")
private Boolean includeProcessVariables;
@QueryParam("tenantId")
private String tenantId;
@QueryParam("tenantIdLike")
private String tenantIdLike;
@QueryParam("withoutTenantId")
private Boolean withoutTenantId;
/**
* No args constructor for use in serialization
*/
public ProcessInstancesQueryParams() {
}
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public ProcessInstancesQueryParams withProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public ProcessInstancesQueryParams withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getProcessDefinitionKey() {
return processDefinitionKey;
}
public void setProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
}
public ProcessInstancesQueryParams withProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
return this;
}
public String getBusinessKey() {
return businessKey;
}
public void setBusinessKey(String businessKey) {
this.businessKey = businessKey;
}
public ProcessInstancesQueryParams withBusinessKey(String businessKey) {
this.businessKey = businessKey;
return this;
}
public String getInvolvedUser() {
return involvedUser;
}
public void setInvolvedUser(String involvedUser) {
this.involvedUser = involvedUser;
}
public ProcessInstancesQueryParams withInvolvedUser(String involvedUser) {
this.involvedUser = involvedUser;
return this;
}
public Boolean isSuspended() {
return suspended;
}
public void setSuspended(Boolean suspended) {
this.suspended = suspended;
}
public ProcessInstancesQueryParams withSuspended(Boolean suspended) {
this.suspended = suspended;
return this;
}
public String getSuperProcessInstanceId() {
return superProcessInstanceId;
}
public void setSuperProcessInstanceId(String superProcessInstanceId) {
this.superProcessInstanceId = superProcessInstanceId;
}
public ProcessInstancesQueryParams withSuperProcessInstanceId(String superProcessInstanceId) {
this.superProcessInstanceId = superProcessInstanceId;
return this;
}
public String getSubProcessInstanceId() {
return subProcessInstanceId;
}
public void setSubProcessInstanceId(String subProcessInstanceId) {
this.subProcessInstanceId = subProcessInstanceId;
}
public ProcessInstancesQueryParams withSubProcessInstanceId(String subProcessInstanceId) {
this.subProcessInstanceId = subProcessInstanceId;
return this;
}
public Boolean isExcludeSubprocesses() {
return excludeSubprocesses;
}
public void setExcludeSubprocesses(Boolean excludeSubprocesses) {
this.excludeSubprocesses = excludeSubprocesses;
}
public ProcessInstancesQueryParams withExcludeSubprocesses(Boolean excludeSubprocesses) {
this.excludeSubprocesses = excludeSubprocesses;
return this;
}
public Boolean isIncludeProcessVariables() {
return includeProcessVariables;
}
public void setIncludeProcessVariables(Boolean includeProcessVariables) {
this.includeProcessVariables = includeProcessVariables;
}
public ProcessInstancesQueryParams withIncludeProcessVariables(Boolean includeProcessVariables) {
this.includeProcessVariables = includeProcessVariables;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public ProcessInstancesQueryParams withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getTenantIdLike() {
return tenantIdLike;
}
public void setTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
}
public ProcessInstancesQueryParams withTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
return this;
}
public Boolean isWithoutTenantId() {
return withoutTenantId;
}
public void setWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
}
public ProcessInstancesQueryParams withWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
return this;
}
}
@@ -0,0 +1,74 @@
package com.inteligr8.activiti.model;
import jakarta.ws.rs.QueryParam;
public class QueryParams<C extends QueryParams<?>> {
@QueryParam("sort")
private String sortField;
@QueryParam("order")
private SortOrder sortDirection;
@QueryParam("start")
private Integer startIndex;
@QueryParam("size")
private Integer maxSize;
public String getSortField() {
return sortField;
}
public void setSortField(String sortField) {
this.sortField = sortField;
}
public C withSortField(String sortField) {
this.sortField = sortField;
return this.castThis();
}
public SortOrder getSortDirection() {
return sortDirection;
}
public void setSortDirection(SortOrder sortDirection) {
this.sortDirection = sortDirection;
}
public C withSortDirection(SortOrder sortDirection) {
this.sortDirection = sortDirection;
return this.castThis();
}
public Integer getStartIndex() {
return startIndex;
}
public void setStartIndex(Integer startIndex) {
this.startIndex = startIndex;
}
public C withStartIndex(Integer startIndex) {
this.startIndex = startIndex;
return this.castThis();
}
public Integer getMaxSize() {
return maxSize;
}
public void setMaxSize(Integer maxSize) {
this.maxSize = maxSize;
}
public C withMaxSize(Integer maxSize) {
this.maxSize = maxSize;
return this.castThis();
}
@SuppressWarnings("unchecked")
protected C castThis() {
return (C) this;
}
}
@@ -0,0 +1,381 @@
package com.inteligr8.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.JsonFormat.Shape;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.inteligr8.alfresco.activiti.model.Variable;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"assignee",
"createTime",
"delegationState",
"description",
"dueDate",
"executionId",
"executionUrl",
"id",
"name",
"owner",
"parentTaskId",
"parentTaskUrl",
"priority",
"processDefinitionId",
"processDefinitionUrl",
"processInstanceId",
"processInstanceUrl",
"suspended",
"taskDefinitionKey",
"tenantId",
"url",
"variables"
})
public class Task extends Datum {
@JsonProperty("assignee")
private String assignee;
@JsonProperty("createTime")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime createTime;
@JsonProperty("delegationState")
private DelegationState delegationState;
@JsonProperty("description")
private String description;
@JsonProperty("dueDate")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime dueDate;
@JsonProperty("executionId")
private String executionId;
@JsonProperty("executionUrl")
private String executionUrl;
@JsonProperty("id")
private String id;
@JsonProperty("name")
private String name;
@JsonProperty("owner")
private String owner;
@JsonProperty("parentTaskId")
private String parentTaskId;
@JsonProperty("parentTaskUrl")
private String parentTaskUrl;
@JsonProperty("priority")
private Integer priority;
@JsonProperty("processDefinitionId")
private String processDefinitionId;
@JsonProperty("processDefinitionUrl")
private String processDefinitionUrl;
@JsonProperty("processInstanceId")
private String processInstanceId;
@JsonProperty("processInstanceUrl")
private String processInstanceUrl;
@JsonProperty("suspended")
private Boolean suspended;
@JsonProperty("taskDefinitionKey")
private String taskDefinitionKey;
@JsonProperty("tenantId")
private String tenantId;
@JsonProperty("url")
private String url;
@JsonProperty("variables")
private List<Variable> variables = new ArrayList<Variable>();
/**
* No args constructor for use in serialization
*/
public Task() {
}
public String getAssignee() {
return assignee;
}
public void setAssignee(String assignee) {
this.assignee = assignee;
}
public Task withAssignee(String assignee) {
this.assignee = assignee;
return this;
}
public OffsetDateTime getCreateTime() {
return createTime;
}
public void setCreateTime(OffsetDateTime created) {
this.createTime = created;
}
public Task withCreateTime(OffsetDateTime created) {
this.createTime = created;
return this;
}
public DelegationState getDelegationState() {
return delegationState;
}
public void setDelegationState(DelegationState delegationState) {
this.delegationState = delegationState;
}
public Task withDelegationState(DelegationState delegationState) {
this.delegationState = delegationState;
return this;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Task withDescription(String description) {
this.description = description;
return this;
}
public OffsetDateTime getDueDate() {
return dueDate;
}
public void setDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate;
}
public Task withDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate;
return this;
}
public String getExecutionId() {
return executionId;
}
public void setExecutionId(String executionId) {
this.executionId = executionId;
}
public Task withExecutionId(String executionId) {
this.executionId = executionId;
return this;
}
public String getExecutionUrl() {
return executionUrl;
}
public void setExecutionUrl(String executionUrl) {
this.executionUrl = executionUrl;
}
public Task withExecutionUrl(String executionUrl) {
this.executionUrl = executionUrl;
return this;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Task withId(String id) {
this.id = id;
return this;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Task withName(String name) {
this.name = name;
return this;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public Task withOwner(String owner) {
this.owner = owner;
return this;
}
public String getParentTaskId() {
return parentTaskId;
}
public void setParentTaskId(String parentTaskId) {
this.parentTaskId = parentTaskId;
}
public Task withParentTaskId(String parentTaskId) {
this.parentTaskId = parentTaskId;
return this;
}
public String getParentTaskUrl() {
return parentTaskUrl;
}
public void setParentTaskUrl(String parentTaskUrl) {
this.parentTaskUrl = parentTaskUrl;
}
public Task withParentTaskUrl(String parentTaskUrl) {
this.parentTaskUrl = parentTaskUrl;
return this;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public Task withPriority(Integer priority) {
this.priority = priority;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public Task withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getProcessDefinitionUrl() {
return processDefinitionUrl;
}
public void setProcessDefinitionUrl(String processDefinitionUrl) {
this.processDefinitionUrl = processDefinitionUrl;
}
public Task withProcessDefinitionUrl(String processDefinitionUrl) {
this.processDefinitionUrl = processDefinitionUrl;
return this;
}
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public Task withProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
return this;
}
public String getProcessInstanceUrl() {
return processInstanceUrl;
}
public void setProcessInstanceUrl(String processInstanceUrl) {
this.processInstanceUrl = processInstanceUrl;
}
public Task withProcessInstanceUrl(String processInstanceUrl) {
this.processInstanceUrl = processInstanceUrl;
return this;
}
public Boolean getSuspended() {
return suspended;
}
public void setSuspended(Boolean suspended) {
this.suspended = suspended;
}
public Task withSuspended(Boolean suspended) {
this.suspended = suspended;
return this;
}
public String getTaskDefinitionKey() {
return taskDefinitionKey;
}
public void setTaskDefinitionKey(String taskDefinitionKey) {
this.taskDefinitionKey = taskDefinitionKey;
}
public Task withTaskDefinitionKey(String taskDefinitionKey) {
this.taskDefinitionKey = taskDefinitionKey;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public Task withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public Task withUrl(String url) {
this.url = url;
return this;
}
public List<Variable> getVariables() {
return variables;
}
public void setVariables(List<Variable> variables) {
this.variables = variables;
}
public Task withVariables(List<Variable> variables) {
this.variables = variables;
return this;
}
}
@@ -0,0 +1,78 @@
package com.inteligr8.activiti.model;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class TaskAction {
public enum ActionValue {
@JsonProperty("complete")
Complete,
@JsonProperty("claim")
Claim,
@JsonProperty("delegate")
Delegate,
@JsonProperty("resolve")
Resolve
}
@JsonProperty("action")
private ActionValue action;
@JsonProperty("assignee")
private String assignee;
@JsonProperty("variables")
private List<Variable> variables;
/**
* No args constructor for use in serialization
*/
public TaskAction() {
}
public TaskAction(ActionValue action) {
this.action = action;
}
public ActionValue getAction() {
return action;
}
public void setAction(ActionValue action) {
this.action = action;
}
public TaskAction withAction(ActionValue action) {
this.action = action;
return this;
}
public String getAssignee() {
return assignee;
}
public void setAssignee(String assignee) {
this.assignee = assignee;
}
public TaskAction withAssignee(String assignee) {
this.assignee = assignee;
return this;
}
public List<Variable> getVariables() {
return variables;
}
public void setVariables(List<Variable> variables) {
this.variables = variables;
}
public TaskAction withVariables(List<Variable> variables) {
this.variables = variables;
return this;
}
}
@@ -0,0 +1,660 @@
package com.inteligr8.activiti.model;
import java.time.LocalDate;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.inteligr8.activiti.jackson.CollectionJsonSerializer;
import jakarta.ws.rs.QueryParam;
public class TasksQueryParams extends QueryParams<TasksQueryParams> {
@QueryParam("name")
private String name;
@QueryParam("nameLike")
private String nameLike;
@QueryParam("description")
private String description;
@QueryParam("priority")
private Integer priority;
@QueryParam("minimumPriority")
private Integer minimumPriority;
@QueryParam("maximumPriority")
private Integer maximumPriority;
@QueryParam("assignee")
private String assignee;
@QueryParam("assigneeLike")
private String assigneeLike;
@QueryParam("owner")
private String owner;
@QueryParam("ownerLike")
private String ownerLike;
@QueryParam("unassigned")
private Boolean unassigned;
@QueryParam("delegationState")
private DelegationState delegationState;
@QueryParam("candidateUser")
private String candidateUser;
@QueryParam("candidateGroups")
@JsonSerialize(contentUsing = CollectionJsonSerializer.class)
private List<String> candidateGroups;
@QueryParam("involvedUser")
private String involvedUser;
@QueryParam("taskDefinitionKey")
private String taskDefinitionKey;
@QueryParam("taskDefinitionKeyLike")
private String taskDefinitionKeyLike;
@QueryParam("processInstanceId")
private String processInstanceId;
@QueryParam("processInstanceBusinessKey")
private String processInstanceBusinessKey;
@QueryParam("processInstanceBusinessKeyLike")
private String processInstanceBusinessKeyLike;
@QueryParam("processDefinitionId")
private String processDefinitionId;
@QueryParam("processDefinitionKey")
private String processDefinitionKey;
@QueryParam("processDefinitionKeyLike")
private String processDefinitionKeyLike;
@QueryParam("processDefinitionName")
private String processDefinitionName;
@QueryParam("processDefinitionNameLike")
private String processDefinitionNameLike;
@QueryParam("executionId")
private String executionId;
@QueryParam("createdOn")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd")
private LocalDate createdOn;
@QueryParam("createdBefore")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd")
private LocalDate createdBefore;
@QueryParam("createdAfter")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd")
private LocalDate createdAfter;
@QueryParam("dueOn")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd")
private LocalDate dueOn;
@QueryParam("dueBefore")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd")
private LocalDate dueBefore;
@QueryParam("dueAfter")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd")
private LocalDate dueAfter;
@QueryParam("withoutDueDate")
private Boolean withoutDueDate;
@QueryParam("excludeSubTasks")
private Boolean excludeSubTasks;
@QueryParam("active")
private Boolean active;
@QueryParam("includeProcessVariables")
private Boolean includeProcessVariables;
@QueryParam("includeTaskLocalVariables")
private Boolean includeTaskLocalVariables;
@QueryParam("tenantId")
private String tenantId;
@QueryParam("tenantIdLike")
private String tenantIdLike;
@QueryParam("withoutTenantId")
private Boolean withoutTenantId;
@QueryParam("candidateOrAssigned")
private String candidateOrAssigned;
@QueryParam("category")
private String category;
/**
* No args constructor for use in serialization
*/
public TasksQueryParams() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public TasksQueryParams withName(String name) {
this.name = name;
return this;
}
public String getNameLike() {
return nameLike;
}
public void setNameLike(String nameLike) {
this.nameLike = nameLike;
}
public TasksQueryParams withNameLike(String nameLike) {
this.nameLike = nameLike;
return this;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public TasksQueryParams withDescription(String description) {
this.description = description;
return this;
}
public Integer getPriority() {
return priority;
}
public void setPriority(Integer priority) {
this.priority = priority;
}
public TasksQueryParams withPriority(Integer priority) {
this.priority = priority;
return this;
}
public Integer getMinimumPriority() {
return minimumPriority;
}
public void setMinimumPriority(Integer minimumPriority) {
this.minimumPriority = minimumPriority;
}
public TasksQueryParams withMinimumPriority(Integer minimumPriority) {
this.minimumPriority = minimumPriority;
return this;
}
public Integer getMaximumPriority() {
return maximumPriority;
}
public void setMaximumPriority(Integer maximumPriority) {
this.maximumPriority = maximumPriority;
}
public TasksQueryParams withMaximumPriority(Integer maximumPriority) {
this.maximumPriority = maximumPriority;
return this;
}
public String getAssignee() {
return assignee;
}
public void setAssignee(String assignee) {
this.assignee = assignee;
}
public TasksQueryParams withAssignee(String assignee) {
this.assignee = assignee;
return this;
}
public String getAssigneeLike() {
return assigneeLike;
}
public void setAssigneeLike(String assigneeLike) {
this.assigneeLike = assigneeLike;
}
public TasksQueryParams withAssigneeLike(String assigneeLike) {
this.assigneeLike = assigneeLike;
return this;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public TasksQueryParams withOwner(String owner) {
this.owner = owner;
return this;
}
public String getOwnerLike() {
return ownerLike;
}
public void setOwnerLike(String ownerLike) {
this.ownerLike = ownerLike;
}
public TasksQueryParams withOwnerLike(String ownerLike) {
this.ownerLike = ownerLike;
return this;
}
public Boolean isUnassigned() {
return unassigned;
}
public void setUnassigned(Boolean unassigned) {
this.unassigned = unassigned;
}
public TasksQueryParams withUnassigned(Boolean unassigned) {
this.unassigned = unassigned;
return this;
}
public DelegationState getDelegationState() {
return delegationState;
}
public void setDelegationState(DelegationState delegationState) {
this.delegationState = delegationState;
}
public TasksQueryParams withDelegationState(DelegationState delegationState) {
this.delegationState = delegationState;
return this;
}
public String getCandidateUser() {
return candidateUser;
}
public void setCandidateUser(String candidateUser) {
this.candidateUser = candidateUser;
}
public TasksQueryParams withCandidateUser(String candidateUser) {
this.candidateUser = candidateUser;
return this;
}
public List<String> getCandidateGroups() {
return candidateGroups;
}
public void setCandidateGroups(List<String> candidateGroups) {
this.candidateGroups = candidateGroups;
}
public TasksQueryParams withCandidateGroups(List<String> candidateGroups) {
this.candidateGroups = candidateGroups;
return this;
}
public String getInvolvedUser() {
return involvedUser;
}
public void setInvolvedUser(String involvedUser) {
this.involvedUser = involvedUser;
}
public TasksQueryParams withInvolvedUser(String involvedUser) {
this.involvedUser = involvedUser;
return this;
}
public String getTaskDefinitionKey() {
return taskDefinitionKey;
}
public void setTaskDefinitionKey(String taskDefinitionKey) {
this.taskDefinitionKey = taskDefinitionKey;
}
public TasksQueryParams withTaskDefinitionKey(String taskDefinitionKey) {
this.taskDefinitionKey = taskDefinitionKey;
return this;
}
public String getTaskDefinitionKeyLike() {
return taskDefinitionKeyLike;
}
public void setTaskDefinitionKeyLike(String taskDefinitionKeyLike) {
this.taskDefinitionKeyLike = taskDefinitionKeyLike;
}
public TasksQueryParams withTaskDefinitionKeyLike(String taskDefinitionKeyLike) {
this.taskDefinitionKeyLike = taskDefinitionKeyLike;
return this;
}
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public TasksQueryParams withProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
return this;
}
public String getProcessInstanceBusinessKey() {
return processInstanceBusinessKey;
}
public void setProcessInstanceBusinessKey(String processInstanceBusinessKey) {
this.processInstanceBusinessKey = processInstanceBusinessKey;
}
public TasksQueryParams withProcessInstanceBusinessKey(String processInstanceBusinessKey) {
this.processInstanceBusinessKey = processInstanceBusinessKey;
return this;
}
public String getProcessInstanceBusinessKeyLike() {
return processInstanceBusinessKeyLike;
}
public void setProcessInstanceBusinessKeyLike(String processInstanceBusinessKeyLike) {
this.processInstanceBusinessKeyLike = processInstanceBusinessKeyLike;
}
public TasksQueryParams withProcessInstanceBusinessKeyLike(String processInstanceBusinessKeyLike) {
this.processInstanceBusinessKeyLike = processInstanceBusinessKeyLike;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public TasksQueryParams withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getProcessDefinitionKey() {
return processDefinitionKey;
}
public void setProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
}
public TasksQueryParams withProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
return this;
}
public String getProcessDefinitionKeyLike() {
return processDefinitionKeyLike;
}
public void setProcessDefinitionKeyLike(String processDefinitionKeyLike) {
this.processDefinitionKeyLike = processDefinitionKeyLike;
}
public TasksQueryParams withProcessDefinitionKeyLike(String processDefinitionKeyLike) {
this.processDefinitionKeyLike = processDefinitionKeyLike;
return this;
}
public String getProcessDefinitionName() {
return processDefinitionName;
}
public void setProcessDefinitionName(String processDefinitionName) {
this.processDefinitionName = processDefinitionName;
}
public TasksQueryParams withProcessDefinitionName(String processDefinitionName) {
this.processDefinitionName = processDefinitionName;
return this;
}
public String getProcessDefinitionNameLike() {
return processDefinitionNameLike;
}
public void setProcessDefinitionNameLike(String processDefinitionNameLike) {
this.processDefinitionNameLike = processDefinitionNameLike;
}
public TasksQueryParams withProcessDefinitionNameLike(String processDefinitionNameLike) {
this.processDefinitionNameLike = processDefinitionNameLike;
return this;
}
public String getExecutionId() {
return executionId;
}
public void setExecutionId(String executionId) {
this.executionId = executionId;
}
public TasksQueryParams withExecutionId(String executionId) {
this.executionId = executionId;
return this;
}
public LocalDate getCreatedOn() {
return createdOn;
}
public void setCreatedOn(LocalDate createdOn) {
this.createdOn = createdOn;
}
public TasksQueryParams withCreatedOn(LocalDate createdOn) {
this.createdOn = createdOn;
return this;
}
public LocalDate getCreatedBefore() {
return createdBefore;
}
public void setCreatedBefore(LocalDate createdBefore) {
this.createdBefore = createdBefore;
}
public TasksQueryParams withCreatedBefore(LocalDate createdBefore) {
this.createdBefore = createdBefore;
return this;
}
public LocalDate getCreatedAfter() {
return createdAfter;
}
public void setCreatedAfter(LocalDate createdAfter) {
this.createdAfter = createdAfter;
}
public TasksQueryParams withCreatedAfter(LocalDate createdAfter) {
this.createdAfter = createdAfter;
return this;
}
public LocalDate getDueOn() {
return dueOn;
}
public void setDueOn(LocalDate dueOn) {
this.dueOn = dueOn;
}
public TasksQueryParams withDueOn(LocalDate dueOn) {
this.dueOn = dueOn;
return this;
}
public LocalDate getDueBefore() {
return dueBefore;
}
public void setDueBefore(LocalDate dueBefore) {
this.dueBefore = dueBefore;
}
public TasksQueryParams withDueBefore(LocalDate dueBefore) {
this.dueBefore = dueBefore;
return this;
}
public LocalDate getDueAfter() {
return dueAfter;
}
public void setDueAfter(LocalDate dueAfter) {
this.dueAfter = dueAfter;
}
public TasksQueryParams withDueAfter(LocalDate dueAfter) {
this.dueAfter = dueAfter;
return this;
}
public Boolean isWithoutDueDate() {
return withoutDueDate;
}
public void setWithoutDueDate(Boolean withoutDueDate) {
this.withoutDueDate = withoutDueDate;
}
public TasksQueryParams withWithoutDueDate(Boolean withoutDueDate) {
this.withoutDueDate = withoutDueDate;
return this;
}
public Boolean isExcludeSubTasks() {
return excludeSubTasks;
}
public void setExcludeSubTasks(Boolean excludeSubTasks) {
this.excludeSubTasks = excludeSubTasks;
}
public TasksQueryParams withExcludeSubTasks(Boolean excludeSubTasks) {
this.excludeSubTasks = excludeSubTasks;
return this;
}
public Boolean isActive() {
return active;
}
public void setActive(Boolean active) {
this.active = active;
}
public TasksQueryParams withActive(Boolean active) {
this.active = active;
return this;
}
public Boolean isIncludeProcessVariables() {
return includeProcessVariables;
}
public void setIncludeProcessVariables(Boolean includeProcessVariables) {
this.includeProcessVariables = includeProcessVariables;
}
public TasksQueryParams withIncludeProcessVariables(Boolean includeProcessVariables) {
this.includeProcessVariables = includeProcessVariables;
return this;
}
public Boolean isIncludeTaskLocalVariables() {
return includeTaskLocalVariables;
}
public void setIncludeTaskLocalVariables(Boolean includeTaskLocalVariables) {
this.includeTaskLocalVariables = includeTaskLocalVariables;
}
public TasksQueryParams withIncludeTaskLocalVariables(Boolean includeTaskLocalVariables) {
this.includeTaskLocalVariables = includeTaskLocalVariables;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public TasksQueryParams withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getTenantIdLike() {
return tenantIdLike;
}
public void setTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
}
public TasksQueryParams withTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
return this;
}
public Boolean isWithoutTenantId() {
return withoutTenantId;
}
public void setWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
}
public TasksQueryParams withWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
return this;
}
public String getCandidateOrAssigned() {
return candidateOrAssigned;
}
public void setCandidateOrAssigned(String candidateOrAssigned) {
this.candidateOrAssigned = candidateOrAssigned;
}
public TasksQueryParams withCandidateOrAssigned(String candidateOrAssigned) {
this.candidateOrAssigned = candidateOrAssigned;
return this;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public TasksQueryParams withCategory(String category) {
this.category = category;
return this;
}
}
@@ -16,7 +16,7 @@ public class Variable {
@JsonProperty("name")
private String name;
@JsonProperty("scope")
private String scope;
private VariableScope scope;
@JsonProperty("type")
private String type;
@JsonProperty("value")
@@ -28,7 +28,7 @@ public class Variable {
public Variable() {
}
public Variable(String name, String scope, String type, Object value) {
public Variable(String name, VariableScope scope, String type, Object value) {
this.name = name;
this.scope = scope;
this.type = type;
@@ -48,15 +48,15 @@ public class Variable {
return this;
}
public String getScope() {
public VariableScope getScope() {
return scope;
}
public void setScope(String scope) {
public void setScope(VariableScope scope) {
this.scope = scope;
}
public Variable withScope(String scope) {
public Variable withScope(VariableScope scope) {
this.scope = scope;
return this;
}
@@ -0,0 +1,12 @@
package com.inteligr8.activiti.model;
import com.fasterxml.jackson.annotation.JsonProperty;
public enum VariableScope {
@JsonProperty("local")
Task,
@JsonProperty("global")
ProcessInstance
}
@@ -0,0 +1,12 @@
package com.inteligr8.alfresco.activiti;
/**
* This interface appends CXF implementation specific methods to the JAX-RS API
* of the APS Protected ReST API. This is due to a lack of multi-part in the
* JAX-RS specification.
*
* @author brian@inteligr8.com
*/
public interface ApsProtectedRestCxfApi extends ApsProtectedRestApi, ApsPublicRestCxfApi {
}
@@ -0,0 +1,12 @@
package com.inteligr8.alfresco.activiti;
/**
* This interface appends Jersey implementation specific methods to the JAX-RS
* API of the APS Protected ReST API. This is due to a lack of multi-part in
* the JAX-RS specification.
*
* @author brian@inteligr8.com
*/
public interface ApsProtectedRestJerseyApi extends ApsProtectedRestApi, ApsPublicRestJerseyApi {
}
@@ -51,7 +51,7 @@ public interface AppDeploymentsApi {
@Produces({ MediaType.APPLICATION_JSON })
ResultListDataRepresentation<AppDeployment> query(
@QueryParam("nameLike") String nameLike,
@QueryParam("tenantId") Integer tenantId,
@QueryParam("tenantId") Long tenantId,
@QueryParam("latest") Boolean latest,
@QueryParam("start") Integer start,
@QueryParam("sort") String sort,
@@ -29,7 +29,9 @@ public interface ModelsApi {
enum ModelType {
Process(0),
Form(2),
App(3);
App(3),
DecisionTable(4),
DataModel(5);
private int id;
private ModelType(int id) {
@@ -29,7 +29,7 @@ public interface ProcessDefinitionsApi {
@Produces({ "application/json" })
ResultListDataRepresentation<ProcessDefinition> get(
@QueryParam("latest") Boolean latest,
@QueryParam("appDefinitionId") Integer appDefinitionId,
@QueryParam("appDefinitionId") Long appDefinitionId,
@QueryParam("deploymentId") String deploymentId);
}
@@ -138,11 +138,6 @@ public interface TemplatesApi {
@QueryParam("sort") TemplateSort sort,
@QueryParam("tenantId") Long tenantId);
default Response getDocumentTemplate(
DocumentTemplateLight template) {
return this.getDocumentTemplate(template.getId(), System.currentTimeMillis());
}
@GET
@Path("document-templates/{templateId}")
@Produces({ MediaType.APPLICATION_JSON })
@@ -158,7 +153,7 @@ public interface TemplatesApi {
})
public Response getDocumentTemplate(
@PathParam("templateId") long id,
@QueryParam("version") long version);
@QueryParam("version") Long version);
@DELETE
@Path("document-templates/{templateId}")
@@ -40,13 +40,13 @@ public class AppDefinition {
@JsonProperty("icon")
private String icon;
@JsonProperty("id")
private Integer id;
private Long id;
@JsonProperty("modelId")
private Integer modelId;
private Long modelId;
@JsonProperty("name")
private String name;
@JsonProperty("tenantId")
private Integer tenantId;
private Long tenantId;
@JsonProperty("theme")
private String theme;
@JsonIgnore
@@ -113,31 +113,31 @@ public class AppDefinition {
}
@JsonProperty("id")
public Integer getId() {
public Long getId() {
return id;
}
@JsonProperty("id")
public void setId(Integer id) {
public void setId(Long id) {
this.id = id;
}
public AppDefinition withId(Integer id) {
public AppDefinition withId(Long id) {
this.id = id;
return this;
}
@JsonProperty("modelId")
public Integer getModelId() {
public Long getModelId() {
return modelId;
}
@JsonProperty("modelId")
public void setModelId(Integer modelId) {
public void setModelId(Long modelId) {
this.modelId = modelId;
}
public AppDefinition withModelId(Integer modelId) {
public AppDefinition withModelId(Long modelId) {
this.modelId = modelId;
return this;
}
@@ -158,16 +158,16 @@ public class AppDefinition {
}
@JsonProperty("tenantId")
public Integer getTenantId() {
public Long getTenantId() {
return tenantId;
}
@JsonProperty("tenantId")
public void setTenantId(Integer tenantId) {
public void setTenantId(Long tenantId) {
this.tenantId = tenantId;
}
public AppDefinition withTenantId(Integer tenantId) {
public AppDefinition withTenantId(Long tenantId) {
this.tenantId = tenantId;
return this;
}
@@ -1,205 +1,12 @@
package com.inteligr8.alfresco.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.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
/**
* AppDefinitionRepresentation
* <p>
*
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"defaultAppId",
"deploymentId",
"description",
"icon",
"id",
"modelId",
"name",
"tenantId",
"theme"
})
public class AppDefinitionRepresentation {
@JsonProperty("defaultAppId")
private String defaultAppId;
@JsonProperty("deploymentId")
private String deploymentId;
@JsonProperty("description")
private String description;
@JsonProperty("icon")
private String icon;
@JsonProperty("id")
private Integer id;
@JsonProperty("modelId")
private Integer modelId;
@JsonProperty("name")
private String name;
@JsonProperty("tenantId")
private Integer tenantId;
@JsonProperty("theme")
private String theme;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("defaultAppId")
public String getDefaultAppId() {
return defaultAppId;
}
@JsonProperty("defaultAppId")
public void setDefaultAppId(String defaultAppId) {
this.defaultAppId = defaultAppId;
}
public AppDefinitionRepresentation withDefaultAppId(String defaultAppId) {
this.defaultAppId = defaultAppId;
return this;
}
@JsonProperty("deploymentId")
public String getDeploymentId() {
return deploymentId;
}
@JsonProperty("deploymentId")
public void setDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
}
public AppDefinitionRepresentation withDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
return this;
}
@JsonProperty("description")
public String getDescription() {
return description;
}
@JsonProperty("description")
public void setDescription(String description) {
this.description = description;
}
public AppDefinitionRepresentation withDescription(String description) {
this.description = description;
return this;
}
@JsonProperty("icon")
public String getIcon() {
return icon;
}
@JsonProperty("icon")
public void setIcon(String icon) {
this.icon = icon;
}
public AppDefinitionRepresentation withIcon(String icon) {
this.icon = icon;
return this;
}
@JsonProperty("id")
public Integer getId() {
return id;
}
@JsonProperty("id")
public void setId(Integer id) {
this.id = id;
}
public AppDefinitionRepresentation withId(Integer id) {
this.id = id;
return this;
}
@JsonProperty("modelId")
public Integer getModelId() {
return modelId;
}
@JsonProperty("modelId")
public void setModelId(Integer modelId) {
this.modelId = modelId;
}
public AppDefinitionRepresentation withModelId(Integer modelId) {
this.modelId = modelId;
return this;
}
@JsonProperty("name")
public String getName() {
return name;
}
@JsonProperty("name")
public void setName(String name) {
this.name = name;
}
public AppDefinitionRepresentation withName(String name) {
this.name = name;
return this;
}
@JsonProperty("tenantId")
public Integer getTenantId() {
return tenantId;
}
@JsonProperty("tenantId")
public void setTenantId(Integer tenantId) {
this.tenantId = tenantId;
}
public AppDefinitionRepresentation withTenantId(Integer tenantId) {
this.tenantId = tenantId;
return this;
}
@JsonProperty("theme")
public String getTheme() {
return theme;
}
@JsonProperty("theme")
public void setTheme(String theme) {
this.theme = theme;
}
public AppDefinitionRepresentation withTheme(String theme) {
this.theme = theme;
return this;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
public AppDefinitionRepresentation withAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
return this;
}
public class AppDefinitionRepresentation extends AppDefinition {
}
@@ -61,13 +61,13 @@ public class Task extends Datum {
@JsonProperty("description")
private String description;
@JsonProperty("dueDate")
private OffsetDateTime dueDate;
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime dueDate;
@JsonProperty("duration")
private Long duration;
@JsonProperty("endDate")
private OffsetDateTime endDate;
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime endDate;
@JsonProperty("executionId")
private String executionId;
@JsonProperty("formKey")
@@ -91,7 +91,7 @@ public class Task extends Datum {
@JsonProperty("parentTaskName")
private String parentTaskName;
@JsonProperty("priority")
private Long priority;
private Integer priority;
@JsonProperty("processDefinitionCategory")
private String processDefinitionCategory;
@JsonProperty("processDefinitionDeploymentId")
@@ -105,7 +105,7 @@ public class Task extends Datum {
@JsonProperty("processDefinitionName")
private String processDefinitionName;
@JsonProperty("processDefinitionVersion")
private Long processDefinitionVersion;
private Integer processDefinitionVersion;
@JsonProperty("processInstanceId")
private String processInstanceId;
@JsonProperty("processInstanceName")
@@ -370,15 +370,15 @@ public class Task extends Datum {
return this;
}
public Long getPriority() {
public Integer getPriority() {
return priority;
}
public void setPriority(Long priority) {
public void setPriority(Integer priority) {
this.priority = priority;
}
public Task withPriority(Long priority) {
public Task withPriority(Integer priority) {
this.priority = priority;
return this;
}
@@ -461,15 +461,15 @@ public class Task extends Datum {
return this;
}
public Long getProcessDefinitionVersion() {
public Integer getProcessDefinitionVersion() {
return processDefinitionVersion;
}
public void setProcessDefinitionVersion(Long processDefinitionVersion) {
public void setProcessDefinitionVersion(Integer processDefinitionVersion) {
this.processDefinitionVersion = processDefinitionVersion;
}
public Task withProcessDefinitionVersion(Long processDefinitionVersion) {
public Task withProcessDefinitionVersion(Integer processDefinitionVersion) {
this.processDefinitionVersion = processDefinitionVersion;
return this;
}
@@ -1,6 +1,7 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.inteligr8.activiti.model.VariableScope;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Variable extends com.inteligr8.activiti.model.Variable {
@@ -11,7 +12,7 @@ public class Variable extends com.inteligr8.activiti.model.Variable {
public Variable() {
}
public Variable(String name, String scope, String type, Object value) {
public Variable(String name, VariableScope scope, String type, Object value) {
super(name, scope, type, value);
}