Compare commits

..
28 Commits
Author SHA1 Message Date
brian.long c173acae2b Merge branch 'develop' into stable 2026-04-22 14:38:53 -04:00
brian.long b9c7577853 ossrh-release to central-publish 2026-04-22 14:38:42 -04:00
brian.long 9b652c7c6f updated dependencies/plugins 2026-04-22 14:38:32 -04:00
brian.long eb5fea6943 Merge branch 'develop' into stable 2026-04-22 14:28:50 -04:00
brian.long 9794832705 added HistoryApi 2026-04-22 14:27:30 -04:00
brian.long 49a4e85baf add TaskApi 2026-04-22 14:27:22 -04:00
brian.long ebc5b304ff use @BeanParam for queries 2026-04-22 14:27:09 -04:00
brian.long 35b3ae626c v3.1.x pom 2026-04-22 13:15:21 -04:00
brian.long 9d412b24d5 v3.0.6 pom 2025-04-08 16:45:26 -04:00
brian.long c05537da77 Merge branch 'develop' into stable 2025-04-08 16:45:07 -04:00
brian.long e9dcb0cd77 updated cxf/jersey/jackson; jakarta vs jaxb fix 2025-04-08 16:44:34 -04:00
brian.long d87e01bac9 fixed version label 2025-04-08 15:02:34 -04:00
brian.long b5657a9ec2 v3.0.5 pom 2025-04-08 14:47:35 -04:00
brian.long d01dd74af1 Merge branch 'develop' into stable 2025-04-08 14:47:16 -04:00
brian.long 58aeabec19 added protected APIs for jersey/cxf 2025-04-08 14:47:01 -04:00
brian.long dac93ad154 added DecisionTable/DataSource model type 2025-04-08 14:42:11 -04:00
brian.long d457253471 v3.0.4 pom 2024-09-24 17:20:20 -04:00
brian.long a855c5b7a4 Merge branch 'develop' into stable 2024-09-24 17:18:30 -04:00
brian.long 3e0a6d7767 remove default impls in jaxrs interfaces 2024-09-24 17:18:18 -04:00
brian.long 1c88782ccb fix int/long data types 2024-09-24 16:35:34 -04:00
brian.long b75e655061 v3.0.3 pom 2024-09-24 09:39:24 -04:00
brian.long bf3bfa1091 Merge branch 'develop' into stable 2024-09-24 09:39:03 -04:00
brian.long 8440b9ec44 fixed activiti ProcessDefinitionApi 2024-09-24 09:38:49 -04:00
brian.long 77220a82ab v3.0.2 pom 2024-09-23 16:17:28 -04:00
brian.long 548d9046fa Merge branch 'develop' into stable 2024-09-23 16:17:08 -04:00
brian.long 16553363ab prefer constants 2024-09-23 16:16:55 -04:00
brian.long d64ad7feae split non-public API to protected API interface 2024-09-23 16:16:44 -04:00
brian.long 44ec633670 added paging to job queries 2024-09-23 16:16:20 -04:00
40 changed files with 3390 additions and 710 deletions
+39 -21
View File
@@ -5,7 +5,7 @@
<groupId>com.inteligr8.alfresco</groupId>
<artifactId>aps-public-rest-api</artifactId>
<version>3.0.1</version>
<version>3.1.0</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>
@@ -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,14 +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;
public interface BaseJobsApi {
@GET
@@ -52,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 })
@@ -72,92 +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);
@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);
@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);
@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);
@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);
@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);
@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,21 +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 com.inteligr8.alfresco.activiti.model.ProcessDefinition;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;
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")
@@ -40,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 })
@@ -57,80 +44,9 @@ public interface ProcessDefinitionApi {
@PathParam("processDefinitionId") String processDefinitionId,
ProcessDefinitionAction action);
default ResultList<ProcessInstance> 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<ProcessInstance> 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<ProcessInstance> 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,243 @@
package com.inteligr8.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ProcessDefinition extends Datum {
@JsonProperty("category")
private String category;
@JsonProperty("deploymentId")
private String deploymentId;
@JsonProperty("deploymentUrl")
private String deploymentUrl;
@JsonProperty("diagramResource")
private String diagramResource;
@JsonProperty("description")
private String description;
@JsonProperty("graphicalNotationDefined")
private boolean graphicalNotationDefined;
@JsonProperty("id")
private String id;
@JsonProperty("key")
private String key;
@JsonProperty("name")
private String name;
@JsonProperty("resource")
private String resource;
@JsonProperty("startFormDefined")
private boolean startFormDefined;
@JsonProperty("suspended")
private boolean suspended;
@JsonProperty("tenantId")
private String tenantId;
@JsonProperty("url")
private String url;
@JsonProperty("version")
private Integer version;
/**
* No args constructor for use in serialization
*/
public ProcessDefinition() {
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public ProcessDefinition withCategory(String category) {
this.category = category;
return this;
}
public String getDeploymentId() {
return deploymentId;
}
public void setDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
}
public ProcessDefinition withDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
return this;
}
public String getDeploymentUrl() {
return deploymentUrl;
}
public void setDeploymentUrl(String deploymentUrl) {
this.deploymentUrl = deploymentUrl;
}
public ProcessDefinition withDeploymentUrl(String deploymentUrl) {
this.deploymentUrl = deploymentUrl;
return this;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public ProcessDefinition withDescription(String description) {
this.description = description;
return this;
}
public String getDiagramResource() {
return diagramResource;
}
public void setDiagramResource(String diagramResource) {
this.diagramResource = diagramResource;
}
public ProcessDefinition withDiagramResource(String diagramResource) {
this.diagramResource = diagramResource;
return this;
}
public boolean isGraphicalNotationDefined() {
return graphicalNotationDefined;
}
public void setGraphicalNotationDefined(boolean graphicalNotationDefined) {
this.graphicalNotationDefined = graphicalNotationDefined;
}
public ProcessDefinition withGraphicalNotationDefined(boolean graphicalNotationDefined) {
this.graphicalNotationDefined = graphicalNotationDefined;
return this;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public ProcessDefinition withId(String id) {
this.id = id;
return this;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public ProcessDefinition withKey(String key) {
this.key = key;
return this;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ProcessDefinition withName(String name) {
this.name = name;
return this;
}
public String getResource() {
return resource;
}
public void setResource(String resource) {
this.resource = resource;
}
public ProcessDefinition withResource(String resource) {
this.resource = resource;
return this;
}
public boolean isStartFormDefined() {
return startFormDefined;
}
public void setStartFormDefined(boolean startFormDefined) {
this.startFormDefined = startFormDefined;
}
public ProcessDefinition withStartFormDefined(boolean startFormDefined) {
this.startFormDefined = startFormDefined;
return this;
}
public boolean isSuspended() {
return suspended;
}
public void setSuspended(boolean suspended) {
this.suspended = suspended;
}
public ProcessDefinition withSuspended(boolean suspended) {
this.suspended = suspended;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public ProcessDefinition withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public ProcessDefinition withUrl(String url) {
this.url = url;
return this;
}
public Integer getVersion() {
return version;
}
public void setVersion(Integer version) {
this.version = version;
}
public ProcessDefinition withVersion(Integer version) {
this.version = version;
return this;
}
}
@@ -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,36 @@
/*
* 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.alfresco.activiti;
import com.inteligr8.alfresco.activiti.api.ShareApi;
import com.inteligr8.alfresco.activiti.api.TemplatesApi;
/**
* This interface consolidates the JAX-RS APIs available in the Activiti & APS
* public ReST APIs, plus some useful non-public APIs available in APS.
*
* @author brian@inteligr8.com
*/
public interface ApsProtectedRestApi extends ApsPublicRestApi {
default ShareApi getShareApi() {
return this.getApi(ShareApi.class);
}
default TemplatesApi getTemplatesApi() {
return this.getApi(TemplatesApi.class);
}
}
@@ -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 {
}
@@ -17,28 +17,30 @@ package com.inteligr8.alfresco.activiti;
import com.inteligr8.activiti.ActivitiPublicRestApi;
import com.inteligr8.alfresco.activiti.api.AdminApi;
import com.inteligr8.alfresco.activiti.api.AppDefinitionsApi;
import com.inteligr8.alfresco.activiti.api.AppDeploymentsApi;
import com.inteligr8.alfresco.activiti.api.AppVersionApi;
import com.inteligr8.alfresco.activiti.api.HistoricApi;
import com.inteligr8.alfresco.activiti.api.ModelsApi;
import com.inteligr8.alfresco.activiti.api.ProcessDefinitionsApi;
import com.inteligr8.alfresco.activiti.api.ProcessInstancesApi;
import com.inteligr8.alfresco.activiti.api.ProfileApi;
import com.inteligr8.alfresco.activiti.api.ShareApi;
import com.inteligr8.alfresco.activiti.api.TasksApi;
import com.inteligr8.alfresco.activiti.api.TemplatesApi;
/**
* This interface consolidates the JAX-RS APIs available in the APS Public
* ReST API.
* This interface consolidates the JAX-RS APIs available in the Activiti & APS
* public ReST APIs.
*
* @author brian@inteligr8.com
*/
public interface ApsPublicRestApi extends ActivitiPublicRestApi {
<T> T getApi(Class<T> apiClass);
default AdminApi getAdminApi() {
return this.getApi(AdminApi.class);
}
default AppDeploymentsApi getAppDeploymentsApi() {
return this.getApi(AppDeploymentsApi.class);
}
default AppDefinitionsApi getAppDefinitionsApi() {
return this.getApi(AppDefinitionsApi.class);
@@ -55,6 +57,10 @@ public interface ApsPublicRestApi extends ActivitiPublicRestApi {
default ModelsApi getModelsApi() {
return this.getApi(ModelsApi.class);
}
default ProcessDefinitionsApi getProcessDefinitionsApi() {
return this.getApi(ProcessDefinitionsApi.class);
}
default ProcessInstancesApi getProcessInstancesApi() {
return this.getApi(ProcessInstancesApi.class);
@@ -67,17 +73,5 @@ public interface ApsPublicRestApi extends ActivitiPublicRestApi {
default TasksApi getTasksApi() {
return this.getApi(TasksApi.class);
}
/**
* The following are not part of the official open source or enterprise APIs
*/
default ShareApi getShareApi() {
return this.getApi(ShareApi.class);
}
default TemplatesApi getTemplatesApi() {
return this.getApi(TemplatesApi.class);
}
}
@@ -16,6 +16,12 @@ package com.inteligr8.alfresco.activiti.api;
import java.io.File;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.AppDefinitionPublishRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionSaveRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE;
import jakarta.ws.rs.GET;
@@ -26,22 +32,22 @@ import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import com.inteligr8.alfresco.activiti.model.AppDefinitionPublishRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionSaveRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation;
@Path("/api/enterprise/app-definitions")
@Path("/api/enterprise")
public interface AppDefinitionsApi {
@GET
@Path("{modelId}")
@Path("runtime-app-definitions")
@Produces({ MediaType.APPLICATION_JSON })
ResultList<AppDefinitionRepresentation> get();
@GET
@Path("app-definitions/{modelId}")
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionRepresentation get(
@PathParam("modelId") Long appId);
@PUT
@Path("{modelId}")
@Path("app-definitions/{modelId}")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionUpdateResultRepresentation update(
@@ -49,22 +55,29 @@ public interface AppDefinitionsApi {
AppDefinitionSaveRepresentation updatedModel);
@DELETE
@Path("{appDefinitionId}")
@Path("app-definitions/{appDefinitionId}")
void delete(
@PathParam("appDefinitionId") Long appId);
@GET
@Path("{modelId}/export")
@Path("app-definitions/{modelId}/export")
@Produces({ MediaType.APPLICATION_JSON, "application/zip" })
File export(
@PathParam("modelId") Long appId);
// @POST
// @Path("runtime-app-definitions")
// @Consumes({ MediaType.APPLICATION_JSON })
// @Produces({ MediaType.APPLICATION_JSON })
// void publish(
// AppDefinitionsRepresentation publishModel);
@POST
@Path("{modelId}/publish")
@Path("app-definitions/{modelId}/publish")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionUpdateResultRepresentation publish(
@PathParam("modelId") Long appId,
AppDefinitionPublishRepresentation publishModel);
@PathParam("modelId") Long appId,
AppDefinitionPublishRepresentation publishModel);
}
@@ -30,7 +30,7 @@ public interface AppDeploymentsApi {
@GET
@Path("runtime-app-deployment")
@Produces({ "application/json" })
@Produces({ MediaType.APPLICATION_JSON })
AppDeployment get(
@QueryParam("deploymentId") String deploymentId);
@@ -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);
}