Compare commits

...

28 Commits

Author SHA1 Message Date
e9dcb0cd77 updated cxf/jersey/jackson; jakarta vs jaxb fix 2025-04-08 16:44:34 -04:00
58aeabec19 added protected APIs for jersey/cxf 2025-04-08 14:47:01 -04:00
dac93ad154 added DecisionTable/DataSource model type 2025-04-08 14:42:11 -04:00
3e0a6d7767 remove default impls in jaxrs interfaces 2024-09-24 17:18:18 -04:00
1c88782ccb fix int/long data types 2024-09-24 16:35:34 -04:00
8440b9ec44 fixed activiti ProcessDefinitionApi 2024-09-24 09:38:49 -04:00
16553363ab prefer constants 2024-09-23 16:16:55 -04:00
d64ad7feae split non-public API to protected API interface 2024-09-23 16:16:44 -04:00
44ec633670 added paging to job queries 2024-09-23 16:16:20 -04:00
9019889239 added ProcessDefinitionApi 2024-09-23 15:11:34 -04:00
8d993b68be rename Action to ProcessInstanceAction 2024-09-23 15:11:27 -04:00
962ef8f98c v3.x; upgrade to jakarta 2024-08-15 12:25:28 -04:00
c0916958f0 added @Consumes multipart/form-data for TemplatesApi 2023-11-16 11:34:53 -05:00
09aabea4e3 int$64 is long 2023-11-16 09:20:22 -05:00
93c593bb41 added ModelsApi get 2023-11-15 20:16:10 -05:00
715bf6fd1e template API func fixes 2023-11-15 19:58:30 -05:00
d1cf12e950 added template sort-by enum 2023-11-15 18:12:17 -05:00
c716057a24 several fixes after developing more 2023-11-15 16:25:34 -05:00
ce6e4752df added template API 2023-11-15 13:50:52 -05:00
17515d4be3 refactor JobsApi 2023-11-13 17:34:59 -05:00
b146e1d55a added api accessors 2023-11-13 17:15:08 -05:00
14a2f74a60 added ProcessInstanceApi and ExecutionApi 2023-11-13 17:08:16 -05:00
24ad70c25c added some key task-form API endpoints 2023-06-01 10:24:40 -04:00
117e946460 fix APS timezone format 2023-05-30 13:27:52 -04:00
cdeb325e74 fixed date/time format 2023-05-30 12:46:22 -04:00
85d821d70b fix task API query/filter 2023-05-30 10:52:54 -04:00
3625e67ce6 upgraded version dependencies 2023-05-28 11:53:59 -04:00
dc69d34202 added more endpoints; community endpoints 2023-05-27 12:30:26 -04:00
80 changed files with 5648 additions and 508 deletions

4
fluent-regex.txt Normal file
View File

@ -0,0 +1,4 @@
Regex:
public void set([^\{]+)\{(\W*)this\.([^;]+);(\W*)}
Replace:
public void set$1\{$2this\.$3;$4}\n\n\tpublic HistoricTaskQueryRepresentation with$1\{$2this\.$3;$2return this;$4}

25
pom.xml
View File

@ -5,7 +5,7 @@
<groupId>com.inteligr8.alfresco</groupId> <groupId>com.inteligr8.alfresco</groupId>
<artifactId>aps-public-rest-api</artifactId> <artifactId>aps-public-rest-api</artifactId>
<version>2.0-SNAPSHOT</version> <version>3.0-SNAPSHOT</version>
<name>Alfresco Process Services ReST API for Java</name> <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> <description>An APS API library for building REST API clients that support both the CXF and Jersey frameworks</description>
@ -38,24 +38,31 @@
<properties> <properties>
<project.build.sourceEncoding>utf-8</project.build.sourceEncoding> <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source> <maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target> <maven.compiler.target>11</maven.compiler.target>
<maven.compiler.release>11</maven.compiler.release>
<maven.compiler.debuglevel>lines,vars,source</maven.compiler.debuglevel> <maven.compiler.debuglevel>lines,vars,source</maven.compiler.debuglevel>
<jersey.version>2.35</jersey.version> <jersey.version>3.1.10</jersey.version>
<cxf.version>3.4.7</cxf.version> <cxf.version>4.1.0</cxf.version>
<jackson.version>2.18.1</jackson.version>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>jakarta.ws.rs</groupId> <groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId> <artifactId>jakarta.ws.rs-api</artifactId>
<version>2.1.6</version> <version>3.1.0</version>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>2.1.3</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.module</groupId> <groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId> <artifactId>jackson-module-jakarta-xmlbind-annotations</artifactId>
<version>2.12.2</version> <version>${jackson.version}</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.cxf</groupId> <groupId>org.apache.cxf</groupId>
@ -120,7 +127,7 @@
<plugin> <plugin>
<groupId>com.inteligr8</groupId> <groupId>com.inteligr8</groupId>
<artifactId>regex-maven-plugin</artifactId> <artifactId>regex-maven-plugin</artifactId>
<version>1.0.2</version> <version>1.0.5</version>
<executions> <executions>
<execution> <execution>
<id>fix-displayName</id> <id>fix-displayName</id>

View File

@ -0,0 +1,68 @@
/*
* 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;
import com.inteligr8.activiti.api.DeadletterJobsApi;
import com.inteligr8.activiti.api.ExecutionApi;
import com.inteligr8.activiti.api.JobsApi;
import com.inteligr8.activiti.api.ManagementApi;
import com.inteligr8.activiti.api.ProcessDefinitionApi;
import com.inteligr8.activiti.api.ProcessInstanceApi;
import com.inteligr8.activiti.api.RuntimeApi;
import com.inteligr8.activiti.api.TimerJobsApi;
/**
* This interface consolidates the JAX-RS APIs available in the open-source
* Activiti Public ReST API.
*
* @author brian@inteligr8.com
*/
public interface ActivitiPublicRestApi {
<T> T getApi(Class<T> apiClass);
default ManagementApi getManagementApi() {
return this.getApi(ManagementApi.class);
}
default RuntimeApi getRuntimeApi() {
return this.getApi(RuntimeApi.class);
}
default JobsApi getJobsApi() {
return this.getApi(JobsApi.class);
}
default DeadletterJobsApi getDeadletterJobsApi() {
return this.getApi(DeadletterJobsApi.class);
}
default TimerJobsApi getTimerJobsApi() {
return this.getApi(TimerJobsApi.class);
}
default ProcessDefinitionApi getProcessDefinitionApi() {
return this.getApi(ProcessDefinitionApi.class);
}
default ProcessInstanceApi getProcessInstanceApi() {
return this.getApi(ProcessInstanceApi.class);
}
default ExecutionApi getExecutionApi() {
return this.getApi(ExecutionApi.class);
}
}

View File

@ -0,0 +1,170 @@
/*
* 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.io.File;
import java.time.LocalDate;
import com.inteligr8.activiti.model.Job;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE;
import jakarta.ws.rs.GET;
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;
public interface BaseJobsApi {
@GET
@Path("{jobId}")
@Produces({ MediaType.APPLICATION_JSON })
public Job getJob(
@PathParam("jobId") String jobId);
@DELETE
@Path("{jobId}")
public void deleteJob(
@PathParam("jobId") String jobId);
@POST
@Path("{jobId}")
@Consumes({ MediaType.APPLICATION_JSON })
public void executeJob(
@PathParam("jobId") String jobId,
ProcessInstanceAction execute);
@GET
@Path("{jobId}/execution-stacktrace")
@Produces({ MediaType.APPLICATION_OCTET_STREAM })
public File getJobStacktrace(
@PathParam("jobId") String jobId);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("executionId") String executionId,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("withRetriesLeft") Boolean withRetriesLeft,
@QueryParam("executable") Boolean executable,
@QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("withoutTenantId") Boolean withoutTenatId,
@QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("executionId") String executionId,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("withRetriesLeft") Boolean withRetriesLeft,
@QueryParam("executable") Boolean executable,
@QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("executionId") String executionId,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("withRetriesLeft") Boolean withRetriesLeft,
@QueryParam("executable") Boolean executable,
@QueryParam("withException") Boolean withException,
@QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("exceptionMessage") String exceptionMessage,
@QueryParam("withoutTenantId") Boolean withoutTenatId,
@QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("executionId") String executionId,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("withRetriesLeft") Boolean withRetriesLeft,
@QueryParam("executable") Boolean executable,
@QueryParam("withException") Boolean withException,
@QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("exceptionMessage") String exceptionMessage,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@QueryParam("id") String jobId,
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("executionId") String executionId,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("withRetriesLeft") Boolean withRetriesLeft,
@QueryParam("executable") Boolean executable,
@QueryParam("withException") Boolean withException,
@QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("exceptionMessage") String exceptionMessage,
@QueryParam("withoutTenantId") Boolean withoutTenatId,
@QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@QueryParam("id") String jobId,
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("executionId") String executionId,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("withRetriesLeft") Boolean withRetriesLeft,
@QueryParam("executable") Boolean executable,
@QueryParam("withException") Boolean withException,
@QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("exceptionMessage") String exceptionMessage,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
}

View File

@ -0,0 +1,21 @@
/*
* 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 jakarta.ws.rs.Path;
@Path("/api/management/deadletter-jobs")
public interface DeadletterJobsApi extends BaseJobsApi {
}

View File

@ -0,0 +1,166 @@
/*
* 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.Execution;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.Variable;
import jakarta.ws.rs.Consumes;
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/executions")
public interface ExecutionApi {
public enum Sort {
@JsonProperty("id")
ProcessInstanceId,
@JsonProperty("processDefinitionId")
ProcessDefinitionId,
@JsonProperty("tenantId")
TenantId,
@JsonProperty("processDefinitionKey")
ProcessDefinitionKey;
}
public enum VariableScope {
@JsonProperty("local")
Local,
@JsonProperty("global")
Global,
}
@GET
@Path("{executionId}")
@Produces({ MediaType.APPLICATION_JSON })
Execution get(
@PathParam("executionId") String executionId);
@GET
@Path("{executionId}/activities")
@Produces({ MediaType.APPLICATION_JSON })
List<String> getActiveActivities(
@PathParam("executionId") String executionId);
@PUT
@Path("{executionId}")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
Execution execute(
@PathParam("executionId") String executionId,
ProcessInstanceAction action);
@GET
@Produces({ MediaType.APPLICATION_JSON })
ResultList<Execution> getByTenant(
@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("sort") Sort sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET
@Produces({ MediaType.APPLICATION_JSON })
ResultList<Execution> getByTenants(
@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("tenantIdLike") String tenantIdLike,
@QueryParam("sort") Sort sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer 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);
@GET
@Path("{executionId}/variables")
@Produces({ MediaType.APPLICATION_JSON })
List<Variable> getVariables(
@PathParam("executionId") String executionId,
@QueryParam("scope") VariableScope scope);
@GET
@Path("{executionId}/variables/{variableName}")
@Produces({ MediaType.APPLICATION_JSON })
Variable getVariable(
@PathParam("executionId") String executionId,
@PathParam("variableName") String variableName);
@POST
@Path("{executionId}/variables")
@Consumes({ MediaType.APPLICATION_JSON })
void createVariables(
@PathParam("executionId") String executionId,
List<Variable> variables);
@PUT
@Path("{executionId}/variables")
@Consumes({ MediaType.APPLICATION_JSON })
void updateVariables(
@PathParam("executionId") String executionId,
List<Variable> variables);
@PUT
@Path("{executionId}/variables/{variableName}")
@Consumes({ MediaType.APPLICATION_JSON })
void updateVariable(
@PathParam("executionId") String executionId,
@PathParam("variableName") String variableName,
Variable variable);
}

View File

@ -0,0 +1,21 @@
/*
* 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 jakarta.ws.rs.Path;
@Path("/api/management/jobs")
public interface JobsApi extends BaseJobsApi {
}

View File

@ -0,0 +1,38 @@
/*
* 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 jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import com.inteligr8.activiti.model.Engine;
import com.inteligr8.activiti.model.EngineProperties;
@Path("/api/management")
public interface ManagementApi {
@GET
@Path("engine")
@Produces({ MediaType.APPLICATION_JSON })
public Engine getEngine();
@GET
@Path("properties")
@Produces({ MediaType.APPLICATION_JSON })
public EngineProperties getEngineProperties();
}

View File

@ -0,0 +1,72 @@
/*
* 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.inteligr8.activiti.api.ProcessInstanceApi.Sort;
import com.inteligr8.activiti.model.ProcessDefinition;
import com.inteligr8.activiti.model.ProcessDefinitionAction;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
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")
public interface ProcessDefinitionApi {
@GET
@Path("{processDefinitionId}")
@Produces({ MediaType.APPLICATION_JSON })
ProcessDefinition get(
@PathParam("processDefinitionId") String processDefinitionId);
@PUT
@Path("{processDefinitionId}")
@Consumes({ MediaType.APPLICATION_JSON })
void act(
@PathParam("processDefinitionId") String processDefinitionId,
ProcessDefinitionAction action);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<ProcessDefinition> getByAny(
@QueryParam("category") String category,
@QueryParam("categoryLike") String categoryLike,
@QueryParam("categoryNotEquals") String categoryNotEquals,
@QueryParam("key") String key,
@QueryParam("keyLike") String keyLike,
@QueryParam("name") String name,
@QueryParam("nameLike") String nameLike,
@QueryParam("resourceName") String resourceName,
@QueryParam("resourceNameLike") String resourceNameLike,
@QueryParam("version") String version,
@QueryParam("suspended") Boolean suspended,
@QueryParam("latest") Boolean latest,
@QueryParam("deploymentId") String deploymentId,
@QueryParam("startableByUser") String startableByUser,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") Sort sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
}

View File

@ -0,0 +1,170 @@
/*
* 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.io.File;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.ProcessInstanceAction;
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;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE;
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/process-instances")
public interface ProcessInstanceApi {
public enum Sort {
@JsonProperty("id")
ProcessInstanceId,
@JsonProperty("processDefinitionId")
ProcessDefinitionId,
@JsonProperty("tenantId")
TenantId,
@JsonProperty("processDefinitionKey")
ProcessDefinitionKey;
}
@GET
@Path("{processInstanceId}")
@Produces({ MediaType.APPLICATION_JSON })
ProcessInstance get(
@PathParam("processInstanceId") String processInstanceId);
@DELETE
@Path("{processInstanceId}")
void delete(
@PathParam("processInstanceId") String processInstanceId);
@PUT
@Path("{processInstanceId}")
@Consumes({ MediaType.APPLICATION_JSON })
void act(
@PathParam("processInstanceId") String processInstanceId,
ProcessInstanceAction action);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<ProcessInstance> getByTenant(
@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("sort") Sort sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<ProcessInstance> getByTenants(
@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("tenantIdLike") String tenantIdLike,
@QueryParam("sort") Sort sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer 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);
@GET
@Path("{processInstanceId}/diagram")
@Produces({ "image/png" })
File getDiagram(
@PathParam("processInstanceId") String processInstanceId);
@GET
@Path("{processInstanceId}/variables")
@Produces({ MediaType.APPLICATION_JSON })
List<Variable> getVariables(
@PathParam("processInstanceId") String processInstanceId);
@GET
@Path("{processInstanceId}/variables/{variableName}")
@Produces({ MediaType.APPLICATION_JSON })
Variable getVariable(
@PathParam("processInstanceId") String processInstanceId,
@PathParam("variableName") String variableName);
@POST
@Path("{processInstanceId}/variables")
@Consumes({ MediaType.APPLICATION_JSON })
void createVariables(
@PathParam("processInstanceId") String processInstanceId,
List<Variable> variables);
@PUT
@Path("{processInstanceId}/variables")
@Consumes({ MediaType.APPLICATION_JSON })
void updateVariables(
@PathParam("processInstanceId") String processInstanceId,
List<Variable> variables);
@PUT
@Path("{processInstanceId}/variables/{variableName}")
@Consumes({ MediaType.APPLICATION_JSON })
void updateVariable(
@PathParam("processInstanceId") String processInstanceId,
@PathParam("variableName") String variableName,
Variable variable);
}

View File

@ -0,0 +1,38 @@
/*
* 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 jakarta.ws.rs.Consumes;
import jakarta.ws.rs.POST;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.core.MediaType;
import com.inteligr8.activiti.model.Variable;
@Path("/api/runtime")
public interface RuntimeApi {
@POST
@Path("signals")
@Consumes({ MediaType.APPLICATION_JSON })
void signalReceived(
String signal,
String tenantId,
Boolean async,
List<Variable> variables);
}

View File

@ -0,0 +1,21 @@
/*
* 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 jakarta.ws.rs.Path;
@Path("/api/management/timer-jobs")
public interface TimerJobsApi extends BaseJobsApi {
}

View File

@ -1,18 +1,15 @@
package com.inteligr8.alfresco.activiti.model; package com.inteligr8.activiti.model;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
})
public class Datum { public class Datum {
@JsonIgnore @JsonIgnore

View File

@ -0,0 +1,76 @@
package com.inteligr8.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Engine {
@JsonProperty("name")
private String name;
@JsonProperty("version")
private String version;
@JsonProperty("resourceUrl")
private String resourceUrl;
@JsonProperty("exception")
private String exception;
/**
* No args constructor for use in serialization
*/
public Engine() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Engine withName(String name) {
this.name = name;
return this;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public Engine withVersion(String version) {
this.version = version;
return this;
}
public String getResourceUrl() {
return resourceUrl;
}
public void setResourceUrl(String resourceUrl) {
this.resourceUrl = resourceUrl;
}
public Engine withResourceUrl(String resourceUrl) {
this.resourceUrl = resourceUrl;
return this;
}
public String getException() {
return exception;
}
public void setException(String exception) {
this.exception = exception;
}
public Engine withException(String exception) {
this.exception = exception;
return this;
}
}

View File

@ -0,0 +1,61 @@
package com.inteligr8.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class EngineProperties {
@JsonProperty("next.dbid")
private String nextDbid;
@JsonProperty("schema.history")
private String schemaHistory;
@JsonProperty("schema.version")
private String schemaVersion;
/**
* No args constructor for use in serialization
*/
public EngineProperties() {
}
public String getNextDbid() {
return nextDbid;
}
public void setNextDbid(String nextDbid) {
this.nextDbid = nextDbid;
}
public EngineProperties withNextDbid(String nextDbid) {
this.nextDbid = nextDbid;
return this;
}
public String getSchemaHistory() {
return schemaHistory;
}
public void setSchemaHistory(String schemaHistory) {
this.schemaHistory = schemaHistory;
}
public EngineProperties withSchemaHistory(String schemaHistory) {
this.schemaHistory = schemaHistory;
return this;
}
public String getSchemaVersion() {
return schemaVersion;
}
public void setSchemaVersion(String schemaVersion) {
this.schemaVersion = schemaVersion;
}
public EngineProperties withSchemaVersion(String schemaVersion) {
this.schemaVersion = schemaVersion;
return this;
}
}

View File

@ -0,0 +1,182 @@
package com.inteligr8.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Execution extends Datum {
@JsonProperty("activityId")
private String activityId;
@JsonProperty("id")
private String id;
@JsonProperty("parentId")
private String parentId;
@JsonProperty("parentUrl")
private String parentUrl;
@JsonProperty("processInstanceId")
private String processInstanceId;
@JsonProperty("processInstanceUrl")
private String processInstanceUrl;
@JsonProperty("superExecutionId")
private String superExecutionId;
@JsonProperty("superExecutionUrl")
private String superExecutionUrl;
@JsonProperty("suspended")
private Boolean suspended;
@JsonProperty("tenantId")
private String tenantId;
@JsonProperty("url")
private String url;
/**
* No args constructor for use in serialization
*/
public Execution() {
}
public String getActivityId() {
return activityId;
}
public void setActivityId(String activityId) {
this.activityId = activityId;
}
public Execution withActivityId(String activityId) {
this.activityId = activityId;
return this;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Execution withId(String id) {
this.id = id;
return this;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public Execution withParentId(String parentId) {
this.parentId = parentId;
return this;
}
public String getParentUrl() {
return parentUrl;
}
public void setParentUrl(String parentUrl) {
this.parentUrl = parentUrl;
}
public Execution withParentUrl(String parentUrl) {
this.parentUrl = parentUrl;
return this;
}
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public Execution withProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
return this;
}
public String getProcessInstanceUrl() {
return processInstanceUrl;
}
public void setProcessInstanceUrl(String processInstanceUrl) {
this.processInstanceUrl = processInstanceUrl;
}
public Execution withProcessInstanceUrl(String processInstanceUrl) {
this.processInstanceUrl = processInstanceUrl;
return this;
}
public String getSuperExecutionId() {
return superExecutionId;
}
public void setSuperExecutionId(String superExecutionId) {
this.superExecutionId = superExecutionId;
}
public Execution withSuperExecutionId(String superExecutionId) {
this.superExecutionId = superExecutionId;
return this;
}
public String getSuperExecutionUrl() {
return superExecutionUrl;
}
public void setSuperExecutionUrl(String superExecutionUrl) {
this.superExecutionUrl = superExecutionUrl;
}
public Execution withSuperExecutionUrl(String superExecutionUrl) {
this.superExecutionUrl = superExecutionUrl;
return this;
}
public Boolean getSuspended() {
return suspended;
}
public void setSuspended(Boolean suspended) {
this.suspended = suspended;
}
public Execution withSuspended(Boolean suspended) {
this.suspended = suspended;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public Execution withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public Execution withUrl(String url) {
this.url = url;
return this;
}
}

View File

@ -0,0 +1,189 @@
package com.inteligr8.activiti.model;
import java.time.OffsetDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Job extends Datum {
@JsonProperty("id")
private String id;
@JsonProperty("processInstanceId")
private String processInstanceId;
@JsonProperty("processInstanceUrl")
private String processInstanceUrl;
@JsonProperty("processDefinitionId")
private String processDefinitionId;
@JsonProperty("processDefinitionUrl")
private String processDefinitionUrl;
@JsonProperty("executionId")
private String executionId;
@JsonProperty("executionUrl")
private String executionUrl;
@JsonProperty("retries")
private int retries;
@JsonProperty("exceptionMessage")
private String exceptionMessage;
@JsonProperty("dueDate")
private OffsetDateTime dueDate;
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
@JsonProperty("tenantId")
private String tenantId;
/**
* No args constructor for use in serialization
*/
public Job() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Job withId(String id) {
this.id = id;
return this;
}
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public Job withProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
return this;
}
public String getProcessInstanceUrl() {
return processInstanceUrl;
}
public void setProcessInstanceUrl(String processInstanceUrl) {
this.processInstanceUrl = processInstanceUrl;
}
public Job withProcessInstanceUrl(String processInstanceUrl) {
this.processInstanceUrl = processInstanceUrl;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public Job withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getProcessDefinitionUrl() {
return processDefinitionUrl;
}
public void setProcessDefinitionUrl(String processDefinitionUrl) {
this.processDefinitionUrl = processDefinitionUrl;
}
public Job withProcessDefinitionUrl(String processDefinitionUrl) {
this.processDefinitionUrl = processDefinitionUrl;
return this;
}
public String getExecutionId() {
return executionId;
}
public void setExecutionId(String executionId) {
this.executionId = executionId;
}
public Job withExecutionId(String executionId) {
this.executionId = executionId;
return this;
}
public String getExecutionUrl() {
return executionUrl;
}
public void setExecutionUrl(String executionUrl) {
this.executionUrl = executionUrl;
}
public Job withExecutionUrl(String executionUrl) {
this.executionUrl = executionUrl;
return this;
}
public int getRetries() {
return retries;
}
public void setRetries(int retries) {
this.retries = retries;
}
public Job withRetries(int retries) {
this.retries = retries;
return this;
}
public String getExceptionMessage() {
return exceptionMessage;
}
public void setExceptionMessage(String exceptionMessage) {
this.exceptionMessage = exceptionMessage;
}
public Job withExceptionMessage(String exceptionMessage) {
this.exceptionMessage = exceptionMessage;
return this;
}
public OffsetDateTime getDueDate() {
return dueDate;
}
public void setDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate;
}
public Job withDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public Job withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
}

View File

@ -0,0 +1,37 @@
package com.inteligr8.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class MessageEventAction extends ProcessInstanceAction {
@JsonProperty("messageName")
private String message;
/**
* No args constructor for use in serialization
*/
public MessageEventAction() {
}
public MessageEventAction(ActionValue action, String message) {
super(action);
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public MessageEventAction withMessage(String message) {
this.message = message;
return this;
}
}

View File

@ -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;
}
}

View File

@ -0,0 +1,89 @@
package com.inteligr8.activiti.model;
import java.time.OffsetDateTime;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ProcessDefinitionAction {
public enum ActionValue {
@JsonProperty("suspend")
Suspend,
@JsonProperty("activate")
Activate
}
@JsonProperty("action")
private ActionValue action;
@JsonProperty("includeProcessInstances")
private boolean includeProcessInstances;
@JsonProperty("date")
private OffsetDateTime date;
@JsonProperty("category")
private String category;
/**
* No args constructor for use in serialization
*/
public ProcessDefinitionAction() {
}
public ProcessDefinitionAction(ActionValue action) {
this.action = action;
}
public ActionValue getAction() {
return action;
}
public void setAction(ActionValue action) {
this.action = action;
}
public ProcessDefinitionAction withAction(ActionValue action) {
this.action = action;
return this;
}
public boolean isIncludeProcessInstances() {
return includeProcessInstances;
}
public void setIncludeProcessInstances(boolean includeProcessInstances) {
this.includeProcessInstances = includeProcessInstances;
}
public ProcessDefinitionAction withIncludeProcessInstances(boolean includeProcessInstances) {
this.includeProcessInstances = includeProcessInstances;
return this;
}
public OffsetDateTime getDate() {
return date;
}
public void setDate(OffsetDateTime date) {
this.date = date;
}
public ProcessDefinitionAction withDate(OffsetDateTime date) {
this.date = date;
return this;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public ProcessDefinitionAction withCategory(String category) {
this.category = category;
return this;
}
}

View File

@ -0,0 +1,202 @@
package com.inteligr8.activiti.model;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ProcessInstance extends Datum {
@JsonProperty("activityId")
private String activityId;
@JsonProperty("businessKey")
private String businessKey;
@JsonProperty("completed")
private Boolean completed;
@JsonProperty("ended")
private Boolean ended;
@JsonProperty("id")
private String id;
@JsonProperty("name")
private String name;
@JsonProperty("processDefinitionId")
private String processDefinitionId;
@JsonProperty("processDefinitionKey")
private String processDefinitionKey;
@JsonProperty("processDefinitionUrl")
private String processDefinitionUrl;
@JsonProperty("suspended")
private Boolean suspended;
@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 ProcessInstance() {
}
public String getActivityId() {
return activityId;
}
public void setActivityId(String activityId) {
this.activityId = activityId;
}
public ProcessInstance withActivityId(String activityId) {
this.activityId = activityId;
return this;
}
public String getBusinessKey() {
return businessKey;
}
public void setBusinessKey(String businessKey) {
this.businessKey = businessKey;
}
public ProcessInstance withBusinessKey(String businessKey) {
this.businessKey = businessKey;
return this;
}
public Boolean getCompleted() {
return completed;
}
public void setCompleted(Boolean completed) {
this.completed = completed;
}
public ProcessInstance withCompleted(Boolean completed) {
this.completed = completed;
return this;
}
public Boolean getEnded() {
return ended;
}
public void setEnded(Boolean ended) {
this.ended = ended;
}
public ProcessInstance withEnded(Boolean ended) {
this.ended = ended;
return this;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public ProcessInstance withId(String id) {
this.id = id;
return this;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ProcessInstance withName(String name) {
this.name = name;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public ProcessInstance withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getProcessDefinitionKey() {
return processDefinitionKey;
}
public void setProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
}
public ProcessInstance withProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
return this;
}
public Boolean getSuspended() {
return suspended;
}
public void setSuspended(Boolean suspended) {
this.suspended = suspended;
}
public ProcessInstance withSuspended(Boolean suspended) {
this.suspended = suspended;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public ProcessInstance withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public ProcessInstance withUrl(String url) {
this.url = url;
return this;
}
public List<Variable> getVariables() {
return variables;
}
public void setVariables(List<Variable> variables) {
this.variables = variables;
}
public ProcessInstance withVariables(List<Variable> variables) {
this.variables = variables;
return this;
}
}

View File

@ -0,0 +1,67 @@
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 ProcessInstanceAction {
public enum ActionValue {
@JsonProperty("execute")
Execute,
@JsonProperty("suspend")
Suspend,
@JsonProperty("activate")
Activate,
@JsonProperty("signal")
Signal,
@JsonProperty("signalEventReceived")
SignalReceived,
@JsonProperty("messageEventReceived")
MessageReceived
}
@JsonProperty("action")
private ActionValue action;
@JsonProperty("variables")
private List<Variable> variables;
/**
* No args constructor for use in serialization
*/
public ProcessInstanceAction() {
}
public ProcessInstanceAction(ActionValue action) {
this.action = action;
}
public ActionValue getAction() {
return action;
}
public void setAction(ActionValue action) {
this.action = action;
}
public ProcessInstanceAction withAction(ActionValue action) {
this.action = action;
return this;
}
public List<Variable> getVariables() {
return variables;
}
public void setVariables(List<Variable> variables) {
this.variables = variables;
}
public ProcessInstanceAction withVariables(List<Variable> variables) {
this.variables = variables;
return this;
}
}

View File

@ -1,5 +1,5 @@
package com.inteligr8.alfresco.activiti.model; package com.inteligr8.activiti.model;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
@ -8,16 +8,28 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
public class ResultList<T> { public class ResultList<T> extends Datum {
@JsonProperty("data")
private List<T> data = new LinkedList<T>();
@JsonProperty("size") @JsonProperty("size")
private Integer size; private Integer size;
@JsonProperty("total") @JsonProperty("total")
private Integer total; private Integer total;
@JsonProperty("start") @JsonProperty("start")
private Integer start; private Integer start;
@JsonProperty("data") @JsonProperty("sort")
private List<T> data = new LinkedList<T>(); private String sort;
@JsonProperty("order")
private String order;
public List<T> getData() {
return data;
}
public void setData(List<T> data) {
this.data = data;
}
public Integer getSize() { public Integer getSize() {
return size; return size;
@ -43,12 +55,20 @@ public class ResultList<T> {
this.start = start; this.start = start;
} }
public List<T> getData() { public String getSort() {
return data; return sort;
} }
public void setData(List<T> data) { public void setSort(String sort) {
this.data = data; this.sort = sort;
} }
public String getOrder() {
return order;
}
public void setOrder(String order) {
this.order = order;
}
} }

View File

@ -0,0 +1,84 @@
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 SignalEvent {
@JsonProperty("signalName")
private String signal;
@JsonProperty("tenantId")
private String tenantId;
@JsonProperty("async")
private Boolean async;
@JsonProperty("variables")
private List<Variable> variables;
/**
* No args constructor for use in serialization
*/
public SignalEvent() {
}
public SignalEvent(String signal, String tenantId, Boolean async) {
this.signal = signal;
this.tenantId = tenantId;
this.async = async;
}
public String getSignal() {
return signal;
}
public void setSignal(String signal) {
this.signal = signal;
}
public SignalEvent withSignal(String signal) {
this.signal = signal;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public SignalEvent withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public Boolean getAsync() {
return async;
}
public void setAsync(Boolean async) {
this.async = async;
}
public SignalEvent withAsync(Boolean async) {
this.async = async;
return this;
}
public List<Variable> getVariables() {
return variables;
}
public void setVariables(List<Variable> variables) {
this.variables = variables;
}
public SignalEvent withVariables(List<Variable> variables) {
this.variables = variables;
return this;
}
}

View File

@ -0,0 +1,36 @@
package com.inteligr8.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SignalEventAction extends ProcessInstanceAction {
@JsonProperty("signalName")
private String signal;
/**
* No args constructor for use in serialization
*/
public SignalEventAction() {
}
public SignalEventAction(ActionValue action, String signal) {
super(action);
this.signal = signal;
}
public String getSignal() {
return signal;
}
public void setSignal(String signal) {
this.signal = signal;
}
public SignalEventAction withSignal(String signal) {
this.signal = signal;
return this;
}
}

View File

@ -0,0 +1,12 @@
package com.inteligr8.activiti.model;
import com.fasterxml.jackson.annotation.JsonProperty;
public enum SortOrder {
@JsonProperty("asc")
Ascending,
@JsonProperty("desc")
Descending
}

View File

@ -0,0 +1,90 @@
package com.inteligr8.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"name",
"type",
"value",
"scope"
})
public class Variable {
@JsonProperty("name")
private String name;
@JsonProperty("scope")
private String scope;
@JsonProperty("type")
private String type;
@JsonProperty("value")
private Object value;
/**
* No args constructor for use in serialization
*/
public Variable() {
}
public Variable(String name, String scope, String type, Object value) {
this.name = name;
this.scope = scope;
this.type = type;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Variable withName(String name) {
this.name = name;
return this;
}
public String getScope() {
return scope;
}
public void setScope(String scope) {
this.scope = scope;
}
public Variable withScope(String scope) {
this.scope = scope;
return this;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Variable withType(String type) {
this.type = type;
return this;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
public Variable withValue(Object value) {
this.value = value;
return this;
}
}

View File

@ -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);
}
}

View File

@ -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 {
}

View File

@ -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 {
}

View File

@ -14,29 +14,33 @@
*/ */
package com.inteligr8.alfresco.activiti; package com.inteligr8.alfresco.activiti;
import com.inteligr8.activiti.ActivitiPublicRestApi;
import com.inteligr8.alfresco.activiti.api.AdminApi; import com.inteligr8.alfresco.activiti.api.AdminApi;
import com.inteligr8.alfresco.activiti.api.AppDefinitionsApi; 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.AppVersionApi;
import com.inteligr8.alfresco.activiti.api.HistoricProcessInstancesApi; import com.inteligr8.alfresco.activiti.api.HistoricApi;
import com.inteligr8.alfresco.activiti.api.ModelsApi; import com.inteligr8.alfresco.activiti.api.ModelsApi;
import com.inteligr8.alfresco.activiti.api.ProcessDefinitionsApi;
import com.inteligr8.alfresco.activiti.api.ProcessInstancesApi; import com.inteligr8.alfresco.activiti.api.ProcessInstancesApi;
import com.inteligr8.alfresco.activiti.api.ProfileApi; 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.TasksApi;
/** /**
* This interface consolidates the JAX-RS APIs available in the APS Public * This interface consolidates the JAX-RS APIs available in the Activiti & APS
* ReST API. * public ReST APIs.
* *
* @author brian@inteligr8.com * @author brian@inteligr8.com
*/ */
public interface ApsPublicRestApi { public interface ApsPublicRestApi extends ActivitiPublicRestApi {
<T> T getApi(Class<T> apiClass);
default AdminApi getAdminApi() { default AdminApi getAdminApi() {
return this.getApi(AdminApi.class); return this.getApi(AdminApi.class);
} }
default AppDeploymentsApi getAppDeploymentsApi() {
return this.getApi(AppDeploymentsApi.class);
}
default AppDefinitionsApi getAppDefinitionsApi() { default AppDefinitionsApi getAppDefinitionsApi() {
return this.getApi(AppDefinitionsApi.class); return this.getApi(AppDefinitionsApi.class);
@ -46,13 +50,17 @@ public interface ApsPublicRestApi {
return this.getApi(AppVersionApi.class); return this.getApi(AppVersionApi.class);
} }
default HistoricProcessInstancesApi getHistoricProcessInstancesApi() { default HistoricApi getHistoricApi() {
return this.getApi(HistoricProcessInstancesApi.class); return this.getApi(HistoricApi.class);
} }
default ModelsApi getModelsApi() { default ModelsApi getModelsApi() {
return this.getApi(ModelsApi.class); return this.getApi(ModelsApi.class);
} }
default ProcessDefinitionsApi getProcessDefinitionsApi() {
return this.getApi(ProcessDefinitionsApi.class);
}
default ProcessInstancesApi getProcessInstancesApi() { default ProcessInstancesApi getProcessInstancesApi() {
return this.getApi(ProcessInstancesApi.class); return this.getApi(ProcessInstancesApi.class);
@ -65,13 +73,5 @@ public interface ApsPublicRestApi {
default TasksApi getTasksApi() { default TasksApi getTasksApi() {
return this.getApi(TasksApi.class); 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);
}
} }

View File

@ -1,6 +1,7 @@
package com.inteligr8.alfresco.activiti; package com.inteligr8.alfresco.activiti;
import com.inteligr8.alfresco.activiti.api.AppDefinitionsCxfApi; import com.inteligr8.alfresco.activiti.api.AppDefinitionsCxfApi;
import com.inteligr8.alfresco.activiti.api.TemplatesCxfApi;
/** /**
* This interface appends Apache CXF implementation specific methods to the * This interface appends Apache CXF implementation specific methods to the
@ -14,5 +15,9 @@ public interface ApsPublicRestCxfApi extends ApsPublicRestApi {
default AppDefinitionsCxfApi getAppDefinitionsCxfApi() { default AppDefinitionsCxfApi getAppDefinitionsCxfApi() {
return this.getApi(AppDefinitionsCxfApi.class); return this.getApi(AppDefinitionsCxfApi.class);
} }
default TemplatesCxfApi getTemplatesCxfApi() {
return this.getApi(TemplatesCxfApi.class);
}
} }

View File

@ -1,6 +1,7 @@
package com.inteligr8.alfresco.activiti; package com.inteligr8.alfresco.activiti;
import com.inteligr8.alfresco.activiti.api.AppDefinitionsJerseyApi; import com.inteligr8.alfresco.activiti.api.AppDefinitionsJerseyApi;
import com.inteligr8.alfresco.activiti.api.TemplatesJerseyApi;
/** /**
* This interface appends Jersey implementation specific methods to the JAX-RS * This interface appends Jersey implementation specific methods to the JAX-RS
@ -14,5 +15,9 @@ public interface ApsPublicRestJerseyApi extends ApsPublicRestApi {
default AppDefinitionsJerseyApi getAppDefinitionsJerseyApi() { default AppDefinitionsJerseyApi getAppDefinitionsJerseyApi() {
return this.getApi(AppDefinitionsJerseyApi.class); return this.getApi(AppDefinitionsJerseyApi.class);
} }
default TemplatesJerseyApi getTemplatesJerseyApi() {
return this.getApi(TemplatesJerseyApi.class);
}
} }

View File

@ -16,19 +16,19 @@ package com.inteligr8.alfresco.activiti.api;
import java.util.List; import java.util.List;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.DELETE; import jakarta.ws.rs.DELETE;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.POST; import jakarta.ws.rs.POST;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.Group; import com.inteligr8.alfresco.activiti.model.Group;
import com.inteligr8.alfresco.activiti.model.GroupLight; import com.inteligr8.alfresco.activiti.model.GroupLight;
import com.inteligr8.alfresco.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.Tenant; import com.inteligr8.alfresco.activiti.model.Tenant;
import com.inteligr8.alfresco.activiti.model.UserLight; import com.inteligr8.alfresco.activiti.model.UserLight;

View File

@ -16,32 +16,38 @@ package com.inteligr8.alfresco.activiti.api;
import java.io.File; import java.io.File;
import javax.ws.rs.Consumes; import com.inteligr8.activiti.model.ResultList;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.inteligr8.alfresco.activiti.model.AppDefinitionPublishRepresentation; import com.inteligr8.alfresco.activiti.model.AppDefinitionPublishRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionRepresentation; import com.inteligr8.alfresco.activiti.model.AppDefinitionRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionSaveRepresentation; import com.inteligr8.alfresco.activiti.model.AppDefinitionSaveRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation; import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation;
@Path("/api/enterprise/app-definitions") import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE;
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.core.MediaType;
@Path("/api/enterprise")
public interface AppDefinitionsApi { public interface AppDefinitionsApi {
@GET @GET
@Path("{modelId}") @Path("runtime-app-definitions")
@Produces({ MediaType.APPLICATION_JSON })
ResultList<AppDefinitionRepresentation> get();
@GET
@Path("app-definitions/{modelId}")
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
AppDefinitionRepresentation get( AppDefinitionRepresentation get(
@PathParam("modelId") Long appId); @PathParam("modelId") Long appId);
@PUT @PUT
@Path("{modelId}") @Path("app-definitions/{modelId}")
@Consumes({ MediaType.APPLICATION_JSON }) @Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
AppDefinitionUpdateResultRepresentation update( AppDefinitionUpdateResultRepresentation update(
@ -49,22 +55,29 @@ public interface AppDefinitionsApi {
AppDefinitionSaveRepresentation updatedModel); AppDefinitionSaveRepresentation updatedModel);
@DELETE @DELETE
@Path("{appDefinitionId}") @Path("app-definitions/{appDefinitionId}")
void delete( void delete(
@PathParam("appDefinitionId") Long appId); @PathParam("appDefinitionId") Long appId);
@GET @GET
@Path("{modelId}/export") @Path("app-definitions/{modelId}/export")
@Produces({ MediaType.APPLICATION_JSON, "application/zip" }) @Produces({ MediaType.APPLICATION_JSON, "application/zip" })
File export( File export(
@PathParam("modelId") Long appId); @PathParam("modelId") Long appId);
// @POST
// @Path("runtime-app-definitions")
// @Consumes({ MediaType.APPLICATION_JSON })
// @Produces({ MediaType.APPLICATION_JSON })
// void publish(
// AppDefinitionsRepresentation publishModel);
@POST @POST
@Path("{modelId}/publish") @Path("app-definitions/{modelId}/publish")
@Consumes({ MediaType.APPLICATION_JSON }) @Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
AppDefinitionUpdateResultRepresentation publish( AppDefinitionUpdateResultRepresentation publish(
@PathParam("modelId") Long appId, @PathParam("modelId") Long appId,
AppDefinitionPublishRepresentation publishModel); AppDefinitionPublishRepresentation publishModel);
} }

View File

@ -1,13 +1,13 @@
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.POST; import jakarta.ws.rs.POST;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import com.inteligr8.alfresco.activiti.model.AppDefinitionRepresentation; import com.inteligr8.alfresco.activiti.model.AppDefinitionRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation; import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation;

View File

@ -1,13 +1,13 @@
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.POST; import jakarta.ws.rs.POST;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import com.inteligr8.alfresco.activiti.model.AppDefinitionRepresentation; import com.inteligr8.alfresco.activiti.model.AppDefinitionRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation; import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation;

View File

@ -0,0 +1,61 @@
/*
* 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.api;
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.QueryParam;
import jakarta.ws.rs.core.MediaType;
import com.inteligr8.alfresco.activiti.model.AppDeployment;
import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation;
@Path("/api/enterprise")
public interface AppDeploymentsApi {
@GET
@Path("runtime-app-deployment")
@Produces({ MediaType.APPLICATION_JSON })
AppDeployment get(
@QueryParam("deploymentId") String deploymentId);
@GET
@Path("runtime-app-deployments/{deploymentId}")
@Produces({ MediaType.APPLICATION_JSON })
AppDeployment get(
@PathParam("deploymentId") long deploymentId);
@DELETE
@Path("runtime-app-deployments/{deploymentId}")
@Produces({ MediaType.APPLICATION_JSON })
void remove(
@PathParam("deploymentId") long deploymentId);
@GET
@Path("runtime-app-deployments")
@Produces({ MediaType.APPLICATION_JSON })
ResultListDataRepresentation<AppDeployment> query(
@QueryParam("nameLike") String nameLike,
@QueryParam("tenantId") Long tenantId,
@QueryParam("latest") Boolean latest,
@QueryParam("start") Integer start,
@QueryParam("sort") String sort,
@QueryParam("order") String order,
@QueryParam("size") Integer size);
}

View File

@ -14,9 +14,9 @@
*/ */
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import com.inteligr8.alfresco.activiti.model.AppVersion; import com.inteligr8.alfresco.activiti.model.AppVersion;

View File

@ -14,14 +14,14 @@
*/ */
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.GroupLight; import com.inteligr8.alfresco.activiti.model.GroupLight;
import com.inteligr8.alfresco.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.UserLight; import com.inteligr8.alfresco.activiti.model.UserLight;
@Path("/api/enterprise/groups") @Path("/api/enterprise/groups")

View File

@ -14,22 +14,30 @@
*/ */
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.POST; import jakarta.ws.rs.POST;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import com.inteligr8.alfresco.activiti.model.HistoricProcessInstanceQueryRepresentation; import com.inteligr8.alfresco.activiti.model.HistoricProcessInstanceQueryRepresentation;
import com.inteligr8.alfresco.activiti.model.HistoricTaskQueryRepresentation;
import com.inteligr8.alfresco.activiti.model.ProcessInstance; import com.inteligr8.alfresco.activiti.model.ProcessInstance;
import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation; import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation;
import com.inteligr8.alfresco.activiti.model.Task;
@Path("/api/enterprise/historic-process-instances") @Path("/api/enterprise")
public interface HistoricProcessInstancesApi { public interface HistoricApi {
@POST @POST
@Path("query") @Path("historic-process-instances/query")
@Consumes({ "application/json" }) @Consumes({ "application/json" })
@Produces({ "application/json" }) @Produces({ "application/json" })
ResultListDataRepresentation<ProcessInstance> query(HistoricProcessInstanceQueryRepresentation request); ResultListDataRepresentation<ProcessInstance> query(HistoricProcessInstanceQueryRepresentation request);
@POST
@Path("historic-tasks/query")
@Consumes({ "application/json" })
@Produces({ "application/json" })
ResultListDataRepresentation<Task> query(HistoricTaskQueryRepresentation request);
} }

View File

@ -14,12 +14,14 @@
*/ */
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.Produces; import jakarta.ws.rs.PathParam;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation; import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.ModelRepresentation;
@Path("/api/enterprise/models") @Path("/api/enterprise/models")
public interface ModelsApi { public interface ModelsApi {
@ -27,7 +29,9 @@ public interface ModelsApi {
enum ModelType { enum ModelType {
Process(0), Process(0),
Form(2), Form(2),
App(3); App(3),
DecisionTable(4),
DataModel(5);
private int id; private int id;
private ModelType(int id) { private ModelType(int id) {
@ -40,8 +44,14 @@ public interface ModelsApi {
} }
@GET @GET
@Path("{id}")
@Produces({ "application/json" }) @Produces({ "application/json" })
public ResultListDataRepresentation get( public ModelRepresentation get(
@PathParam("id") String id);
@GET
@Produces({ "application/json" })
public ResultList<ModelRepresentation> get(
@QueryParam("filter") String filter, @QueryParam("filter") String filter,
@QueryParam("sort") String sort, @QueryParam("sort") String sort,
@QueryParam("modelType") Integer modelType, @QueryParam("modelType") Integer modelType,

View File

@ -0,0 +1,35 @@
/*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.alfresco.activiti.api;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import com.inteligr8.alfresco.activiti.model.ProcessDefinition;
import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation;
@Path("/api/enterprise/process-definitions")
public interface ProcessDefinitionsApi {
@GET
@Produces({ "application/json" })
ResultListDataRepresentation<ProcessDefinition> get(
@QueryParam("latest") Boolean latest,
@QueryParam("appDefinitionId") Long appDefinitionId,
@QueryParam("deploymentId") String deploymentId);
}

View File

@ -16,18 +16,20 @@ package com.inteligr8.alfresco.activiti.api;
import java.util.List; import java.util.List;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.DELETE; import jakarta.ws.rs.DELETE;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.POST; import jakarta.ws.rs.POST;
import javax.ws.rs.PUT; import jakarta.ws.rs.PUT;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import com.inteligr8.alfresco.activiti.model.CreateProcessInstance; import com.inteligr8.alfresco.activiti.model.CreateProcessInstance;
import com.inteligr8.alfresco.activiti.model.ProcessInstance; import com.inteligr8.alfresco.activiti.model.ProcessInstance;
import com.inteligr8.alfresco.activiti.model.ProcessInstanceFilterRepresentation;
import com.inteligr8.alfresco.activiti.model.ProcessInstanceQueryRepresentation; import com.inteligr8.alfresco.activiti.model.ProcessInstanceQueryRepresentation;
import com.inteligr8.alfresco.activiti.model.ProcessInstanceVariable;
import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation; import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation;
import com.inteligr8.alfresco.activiti.model.Variable; import com.inteligr8.alfresco.activiti.model.Variable;
@ -39,6 +41,12 @@ public interface ProcessInstancesApi {
@Produces({ "application/json" }) @Produces({ "application/json" })
ProcessInstance create(CreateProcessInstance processInstance); ProcessInstance create(CreateProcessInstance processInstance);
@POST
@Path("filter")
@Consumes({ "application/json" })
@Produces({ "application/json" })
ResultListDataRepresentation<ProcessInstance> filter(ProcessInstanceFilterRepresentation request);
@POST @POST
@Path("query") @Path("query")
@Consumes({ "application/json" }) @Consumes({ "application/json" })
@ -64,6 +72,11 @@ public interface ProcessInstancesApi {
@Produces({ "application/json" }) @Produces({ "application/json" })
ProcessInstance suspend(@PathParam("processInstanceId") String processInstanceId); ProcessInstance suspend(@PathParam("processInstanceId") String processInstanceId);
@GET
@Path("{processInstanceId}/historic-variables")
@Produces({ "application/json" })
List<ProcessInstanceVariable> getHistoricVariables(@PathParam("processInstanceId") String processInstanceId);
@GET @GET
@Path("{processInstanceId}/variables") @Path("{processInstanceId}/variables")
@Produces({ "application/json" }) @Produces({ "application/json" })
@ -88,6 +101,6 @@ public interface ProcessInstancesApi {
@DELETE @DELETE
@Path("{processInstanceId}/variables/{variableName}") @Path("{processInstanceId}/variables/{variableName}")
void deleteVariable(@PathParam("processInstanceId") String processInstanceId, @PathParam("variableName") String variableName); void removeVariable(@PathParam("processInstanceId") String processInstanceId, @PathParam("variableName") String variableName);
} }

View File

@ -14,9 +14,9 @@
*/ */
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import com.inteligr8.alfresco.activiti.model.User; import com.inteligr8.alfresco.activiti.model.User;

View File

@ -14,15 +14,15 @@
*/ */
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.PUT; import jakarta.ws.rs.PUT;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import com.inteligr8.alfresco.activiti.model.ResultList; import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.ShareInfoRequest; import com.inteligr8.alfresco.activiti.model.ShareInfoRequest;
import com.inteligr8.alfresco.activiti.model.SharePermission; import com.inteligr8.alfresco.activiti.model.SharePermission;

View File

@ -16,52 +16,152 @@ package com.inteligr8.alfresco.activiti.api;
import java.util.List; import java.util.List;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.DELETE; import jakarta.ws.rs.DELETE;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.PUT; import jakarta.ws.rs.POST;
import javax.ws.rs.Path; import jakarta.ws.rs.PUT;
import javax.ws.rs.PathParam; import jakarta.ws.rs.Path;
import javax.ws.rs.Produces; import jakarta.ws.rs.PathParam;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import com.inteligr8.alfresco.activiti.model.AssigneeIdentifier;
import com.inteligr8.alfresco.activiti.model.CompleteForm;
import com.inteligr8.alfresco.activiti.model.FormDefinition;
import com.inteligr8.alfresco.activiti.model.FormValue;
import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation;
import com.inteligr8.alfresco.activiti.model.Task; import com.inteligr8.alfresco.activiti.model.Task;
import com.inteligr8.alfresco.activiti.model.TaskFilterRepresentation;
import com.inteligr8.alfresco.activiti.model.TaskQueryRepresentation;
import com.inteligr8.alfresco.activiti.model.TaskUpdate; import com.inteligr8.alfresco.activiti.model.TaskUpdate;
import com.inteligr8.alfresco.activiti.model.UserIdentifier;
import com.inteligr8.alfresco.activiti.model.Variable; import com.inteligr8.alfresco.activiti.model.Variable;
@Path("/api/enterprise/tasks") @Path("/api/enterprise")
public interface TasksApi { public interface TasksApi {
@GET
@Path("tasks/{taskId}")
@Produces({ "application/json" })
Task get(@PathParam("taskId") String taskId);
@GET
@Path("task-forms/{taskId}")
@Produces({ "application/json" })
FormDefinition getForm(@PathParam("taskId") String taskId);
@GET
@Path("task-forms/{taskId}/form-values/{field}")
@Produces({ "application/json" })
FormValue getFormValue(@PathParam("taskId") String taskId, @PathParam("field") String field);
@GET
@Path("task-forms/{taskId}/form-values/{field}/{column}")
@Produces({ "application/json" })
FormValue getFormValue(@PathParam("taskId") String taskId, @PathParam("field") String field, @PathParam("column") String column);
@PUT @PUT
@Path("{taskId}") @Path("tasks/{taskId}")
@Consumes({ "application/json" }) @Consumes({ "application/json" })
@Produces({ "application/json" }) @Produces({ "application/json" })
public Task update(@PathParam("taskId") String taskId, TaskUpdate taskUpdate); Task update(@PathParam("taskId") String taskId, TaskUpdate taskUpdate);
@DELETE
@Path("tasks/{taskId}")
@Produces({ "application/json" })
void delete(@PathParam("taskId") String taskId);
@POST
@Path("tasks/query")
@Consumes({ "application/json" })
@Produces({ "application/json" })
ResultListDataRepresentation<Task> query(TaskQueryRepresentation request);
@POST
@Path("tasks/filter")
@Consumes({ "application/json" })
@Produces({ "application/json" })
ResultListDataRepresentation<Task> filter(TaskFilterRepresentation request);
@PUT
@Path("tasks/{taskId}/action/assign")
@Consumes({ "application/json" })
@Produces({ "application/json" })
Task assign(@PathParam("taskId") String taskId, AssigneeIdentifier request);
@PUT
@Path("tasks/{taskId}/action/claim")
void claim(@PathParam("taskId") String taskId);
@PUT
@Path("tasks/{taskId}/action/complete")
void complete(@PathParam("taskId") String taskId);
@POST
@Path("task-forms/{taskId}")
@Consumes({ "application/json" })
void complete(@PathParam("taskId") String taskId, CompleteForm request);
@PUT
@Path("tasks/{taskId}/action/delegate")
@Consumes({ "application/json" })
void delegate(@PathParam("taskId") String taskId, UserIdentifier request);
@PUT
@Path("tasks/{taskId}/action/involve")
@Consumes({ "application/json" })
void involve(@PathParam("taskId") String taskId, UserIdentifier request);
@POST
@Path("tasks/{taskId}/groups/{groupId}")
void involveGroup(@PathParam("taskId") String taskId, @PathParam("groupId") String groupId);
@DELETE
@Path("tasks/{taskId}/groups/{groupId}")
void removeInvolvedGroup(@PathParam("taskId") String taskId, @PathParam("groupId") String groupId);
@PUT
@Path("tasks/{taskId}/action/remove-involved")
@Consumes({ "application/json" })
void removeInvolved(@PathParam("taskId") String taskId, UserIdentifier request);
@PUT
@Path("tasks/{taskId}/action/resolve")
void resolve(@PathParam("taskId") String taskId);
@PUT
@Path("tasks/{taskId}/action/unclaim")
void unclaim(@PathParam("taskId") String taskId);
@GET @GET
@Path("{taskId}/variables") @Path("tasks/{taskId}/variables")
@Produces({ "application/json" }) @Produces({ "application/json" })
List<Variable> getVariables(@PathParam("taskId") String taskId, @QueryParam("scope") String scope); List<Variable> getVariables(@PathParam("taskId") String taskId, @QueryParam("scope") String scope);
@PUT @POST
@Path("{taskId}/variables") @Path("tasks/{taskId}/variables")
@Consumes({ "application/json" }) @Consumes({ "application/json" })
@Produces({ "application/json" }) @Produces({ "application/json" })
List<Variable> setVariables(@PathParam("taskId") String taskId, List<Variable> variables); List<Variable> setVariables(@PathParam("taskId") String taskId, List<Variable> variables);
@DELETE
@Path("tasks/{taskId}/variables")
List<Variable> removeVariables(@PathParam("taskId") String taskId);
@GET @GET
@Path("{taskId}/variables/{variableName}") @Path("tasks/{taskId}/variables/{variableName}")
@Produces({ "application/json" }) @Produces({ "application/json" })
Variable getVariable(@PathParam("taskId") String taskId, @PathParam("variableName") String variableName, @QueryParam("scope") String scope); Variable getVariable(@PathParam("taskId") String taskId, @PathParam("variableName") String variableName, @QueryParam("scope") String scope);
@PUT @PUT
@Path("{taskId}/variables/{variableName}") @Path("tasks/{taskId}/variables/{variableName}")
@Consumes({ "application/json" }) @Consumes({ "application/json" })
@Produces({ "application/json" }) @Produces({ "application/json" })
Variable setVariable(@PathParam("taskId") String taskId, @PathParam("variableName") String variableName, Variable variable); Variable setVariable(@PathParam("taskId") String taskId, @PathParam("variableName") String variableName, Variable variable);
@DELETE @DELETE
@Path("{taskId}/variables/{variableName}") @Path("tasks/{taskId}/variables/{variableName}")
void deleteVariable(@PathParam("taskId") String taskId, @PathParam("variableName") String variableName, @QueryParam("scope") String scope); void removeVariable(@PathParam("taskId") String taskId, @PathParam("variableName") String variableName, @QueryParam("scope") String scope);
} }

View File

@ -0,0 +1,162 @@
/*
* 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.api;
import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE;
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;
import jakarta.ws.rs.core.Response;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.DocumentTemplateLight;
import com.inteligr8.alfresco.activiti.model.EmailTemplate;
import com.inteligr8.alfresco.activiti.model.EmailTemplateLight;
/**
* This is an undocumented API.
*
* @author brian@inteligr8.com
*/
@Path("/app/rest")
public interface TemplatesApi {
public enum TemplateSort {
@JsonProperty("sort_by_name_asc")
NameAscending,
@JsonProperty("sort_by_name_desc")
NameDescending
}
@GET
@Path("email-templates/system")
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<EmailTemplateLight> getSystemEmailTemplates(
@QueryParam("tenantId") Long tenantId);
@GET
@Path("email-templates/custom")
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<EmailTemplateLight> getCustomEmailTemplates(
@QueryParam("nameFilter") String nameFilter,
@QueryParam("start") Integer start,
@QueryParam("size") Integer size,
@QueryParam("sort") String sort,
@QueryParam("tenantId") Long tenantId);
@GET
@Path("email-templates/custom")
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<EmailTemplateLight> getCustomEmailTemplates(
@QueryParam("nameFilter") String nameFilter,
@QueryParam("start") Integer start,
@QueryParam("size") Integer size,
@QueryParam("sort") TemplateSort sort,
@QueryParam("tenantId") Long tenantId);
@GET
@Path("email-templates/system/{templateName}")
@Produces({ MediaType.APPLICATION_JSON })
public EmailTemplate getSystemEmailTemplate(
@PathParam("templateName") String name,
@QueryParam("tenantId") Long tenantId);
@GET
@Path("email-templates/custom/{templateId}")
@Produces({ MediaType.APPLICATION_JSON })
public EmailTemplate getCustomEmailTemplate(
@PathParam("templateId") long id,
@QueryParam("tenantId") Long tenantId);
@POST
@Path("email-templates/custom")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public EmailTemplateLight createCustomEmailTemplate(
EmailTemplate template);
@PUT
@Path("email-templates/system/{templateName}")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public EmailTemplate updateSystemEmailTemplate(
@PathParam("templateName") String name,
EmailTemplate template);
@PUT
@Path("email-templates/custom/{templateId}")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public EmailTemplate updateCustomEmailTemplate(
@PathParam("templateId") long id,
EmailTemplate template);
@DELETE
@Path("email-templates/custom/{templateId}")
public void deleteCustomEmailTemplate(
@PathParam("templateId") long id,
@QueryParam("tenantId") Long tenantId);
@GET
@Path("document-templates")
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<DocumentTemplateLight> getDocumentTemplates(
@QueryParam("nameFilter") String nameFilter,
@QueryParam("start") Integer start,
@QueryParam("size") Integer size,
@QueryParam("sort") String sort,
@QueryParam("tenantId") Long tenantId);
@GET
@Path("document-templates")
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<DocumentTemplateLight> getDocumentTemplates(
@QueryParam("nameFilter") String nameFilter,
@QueryParam("start") Integer start,
@QueryParam("size") Integer size,
@QueryParam("sort") TemplateSort sort,
@QueryParam("tenantId") Long tenantId);
@GET
@Path("document-templates/{templateId}")
@Produces({ MediaType.APPLICATION_JSON })
public DocumentTemplateLight getDocumentTemplate(
@PathParam("templateId") long id);
@GET
@Path("document-templates/{templateId}/file")
@Produces({
"application/msword",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"application/vnd.openxmlformats-officedocument.wordprocessingml.template"
})
public Response getDocumentTemplate(
@PathParam("templateId") long id,
@QueryParam("version") Long version);
@DELETE
@Path("document-templates/{templateId}")
public void deleteDocumentTemplate();
}

View File

@ -0,0 +1,53 @@
/*
* 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.api;
import jakarta.ws.rs.Consumes;
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.alfresco.activiti.model.DocumentTemplateLight;
import com.inteligr8.alfresco.activiti.model.FileMultipartCxf;
/**
* This is an undocumented API.
*
* @author brian@inteligr8.com
*/
@Path("/app/rest")
public interface TemplatesCxfApi extends TemplatesApi {
@POST
@Path("admin/document-templates")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
public DocumentTemplateLight createDocumentTemplate(
@QueryParam("tenantId") Long tenantId,
FileMultipartCxf file);
@POST
@Path("admin/document-templates/{templateId}")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
public DocumentTemplateLight updateDocumentTemplate(
@PathParam("templateId") long id,
@QueryParam("tenantId") Long tenantId,
FileMultipartCxf file);
}

View File

@ -0,0 +1,53 @@
/*
* 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.api;
import jakarta.ws.rs.Consumes;
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.alfresco.activiti.model.DocumentTemplateLight;
import com.inteligr8.alfresco.activiti.model.FileMultipartJersey;
/**
* This is an undocumented API.
*
* @author brian@inteligr8.com
*/
@Path("/app/rest")
public interface TemplatesJerseyApi extends TemplatesApi {
@POST
@Path("admin/document-templates")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
public DocumentTemplateLight createDocumentTemplate(
@QueryParam("tenantId") Long tenantId,
FileMultipartJersey file);
@POST
@Path("admin/document-templates/{templateId}")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
public DocumentTemplateLight updateDocumentTemplate(
@PathParam("templateId") long id,
@QueryParam("tenantId") Long tenantId,
FileMultipartJersey file);
}

View File

@ -40,13 +40,13 @@ public class AppDefinition {
@JsonProperty("icon") @JsonProperty("icon")
private String icon; private String icon;
@JsonProperty("id") @JsonProperty("id")
private Integer id; private Long id;
@JsonProperty("modelId") @JsonProperty("modelId")
private Integer modelId; private Long modelId;
@JsonProperty("name") @JsonProperty("name")
private String name; private String name;
@JsonProperty("tenantId") @JsonProperty("tenantId")
private Integer tenantId; private Long tenantId;
@JsonProperty("theme") @JsonProperty("theme")
private String theme; private String theme;
@JsonIgnore @JsonIgnore
@ -113,31 +113,31 @@ public class AppDefinition {
} }
@JsonProperty("id") @JsonProperty("id")
public Integer getId() { public Long getId() {
return id; return id;
} }
@JsonProperty("id") @JsonProperty("id")
public void setId(Integer id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
public AppDefinition withId(Integer id) { public AppDefinition withId(Long id) {
this.id = id; this.id = id;
return this; return this;
} }
@JsonProperty("modelId") @JsonProperty("modelId")
public Integer getModelId() { public Long getModelId() {
return modelId; return modelId;
} }
@JsonProperty("modelId") @JsonProperty("modelId")
public void setModelId(Integer modelId) { public void setModelId(Long modelId) {
this.modelId = modelId; this.modelId = modelId;
} }
public AppDefinition withModelId(Integer modelId) { public AppDefinition withModelId(Long modelId) {
this.modelId = modelId; this.modelId = modelId;
return this; return this;
} }
@ -158,16 +158,16 @@ public class AppDefinition {
} }
@JsonProperty("tenantId") @JsonProperty("tenantId")
public Integer getTenantId() { public Long getTenantId() {
return tenantId; return tenantId;
} }
@JsonProperty("tenantId") @JsonProperty("tenantId")
public void setTenantId(Integer tenantId) { public void setTenantId(Long tenantId) {
this.tenantId = tenantId; this.tenantId = tenantId;
} }
public AppDefinition withTenantId(Integer tenantId) { public AppDefinition withTenantId(Long tenantId) {
this.tenantId = tenantId; this.tenantId = tenantId;
return this; return this;
} }

View File

@ -1,205 +1,12 @@
package com.inteligr8.alfresco.activiti.model; 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 * AppDefinitionRepresentation
* <p> * <p>
* *
* *
*/ */
@JsonInclude(JsonInclude.Include.NON_NULL) public class AppDefinitionRepresentation extends AppDefinition {
@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;
}
} }

View File

@ -0,0 +1,123 @@
package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.inteligr8.activiti.model.Datum;
/**
* AppDeploymentRepresentation
* <p>
*
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"id",
"appDefinition",
"created",
"createdBy",
"deploymentId",
"dmnDeploymentId"
})
public class AppDeployment extends Datum {
@JsonProperty("id")
private long id;
@JsonProperty("appDefinition")
private AppDefinition appDefinition;
@JsonProperty("created")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime created;
@JsonProperty("createdBy")
private UserLight createdBy;
@JsonProperty("deploymentId")
private String deploymentId;
@JsonProperty("dmnDeploymentId")
private Long dmnDeploymentId;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public AppDeployment withId(long id) {
this.id = id;
return this;
}
public AppDefinition getAppDefinition() {
return appDefinition;
}
public void setAppDefinition(AppDefinition appDefinition) {
this.appDefinition = appDefinition;
}
public AppDeployment withAppDefinition(AppDefinition appDefinition) {
this.appDefinition = appDefinition;
return this;
}
public OffsetDateTime getCreated() {
return created;
}
public void setCreated(OffsetDateTime created) {
this.created = created;
}
public AppDeployment withCreated(OffsetDateTime created) {
this.created = created;
return this;
}
public UserLight getCreatedBy() {
return createdBy;
}
public void setCreatedBy(UserLight createdBy) {
this.createdBy = createdBy;
}
public AppDeployment withCreatedBy(UserLight createdBy) {
this.createdBy = createdBy;
return this;
}
public String getDeploymentId() {
return deploymentId;
}
public void setDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
}
public AppDeployment withDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
return this;
}
public Long getDmnDeploymentId() {
return dmnDeploymentId;
}
public void setDmnDeploymentId(Long dmnDeploymentId) {
this.dmnDeploymentId = dmnDeploymentId;
}
public AppDeployment withDmnDeploymentId(Long dmnDeploymentId) {
this.dmnDeploymentId = dmnDeploymentId;
return this;
}
}

View File

@ -0,0 +1,42 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class AssigneeIdentifier {
@JsonProperty
private String assignee;
@JsonProperty
private String email;
public String getAssignee() {
return assignee;
}
public void setAssignee(String assignee) {
this.assignee = assignee;
}
public AssigneeIdentifier withAssignee(String assignee) {
this.assignee = assignee;
return this;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public AssigneeIdentifier withEmail(String email) {
this.email = email;
return this;
}
}

View File

@ -0,0 +1,67 @@
package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class BaseTemplateLight {
@JsonProperty
private Long id;
@JsonProperty(required = true)
private String name;
@JsonProperty
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
private OffsetDateTime created;
@JsonProperty
private UserLight createdBy;
@JsonProperty
private Integer tenantId;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public OffsetDateTime getCreated() {
return created;
}
public void setCreated(OffsetDateTime created) {
this.created = created;
}
public UserLight getCreatedBy() {
return createdBy;
}
public void setCreatedBy(UserLight createdBy) {
this.createdBy = createdBy;
}
public Integer getTenantId() {
return tenantId;
}
public void setTenantId(Integer tenantId) {
this.tenantId = tenantId;
}
}

View File

@ -0,0 +1,39 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"outcome"
})
public class CompleteForm {
@JsonProperty("outcome")
private String outcome;
/**
* No args constructor for use in serialization
*/
public CompleteForm() {
}
public CompleteForm(String outcome) {
this.outcome = outcome;
}
public String getOutcome() {
return outcome;
}
public void setOutcome(String outcome) {
this.outcome = outcome;
}
public CompleteForm withOutcome(String outcome) {
this.outcome = outcome;
return this;
}
}

View File

@ -0,0 +1,42 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class DocumentTemplateLight extends BaseTemplateLight {
@JsonProperty
private Integer modelId;
@JsonProperty
private String mimeType;
@JsonProperty
private String simpleType;
public Integer getModelId() {
return modelId;
}
public void setModelId(Integer modelId) {
this.modelId = modelId;
}
public String getMimeType() {
return mimeType;
}
public void setMimeType(String mimeType) {
this.mimeType = mimeType;
}
public String getSimpleType() {
return simpleType;
}
public void setSimpleType(String simpleType) {
this.simpleType = simpleType;
}
}

View File

@ -0,0 +1,22 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class EmailTemplate extends EmailTemplateLight {
@JsonProperty
private String template;
public String getTemplate() {
return template;
}
public void setTemplate(String template) {
this.template = template;
}
}

View File

@ -0,0 +1,32 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class EmailTemplateLight extends BaseTemplateLight {
@JsonProperty
private String systemTemplateId;
@JsonProperty
private String subject;
public String getSystemTemplateId() {
return systemTemplateId;
}
public void setSystemTemplateId(String systemTemplateId) {
this.systemTemplateId = systemTemplateId;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
}

View File

@ -0,0 +1,201 @@
package com.inteligr8.alfresco.activiti.model;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.Datum;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class FormDefinition extends Datum {
@JsonProperty("className")
private String className;
@JsonProperty("id")
private String id;
@JsonProperty("name")
private String name;
@JsonProperty("processDefinitionId")
private String processDefinitionId;
@JsonProperty("processDefinitionKey")
private String processDefinitionKey;
@JsonProperty("processDefinitionName")
private String processDefinitionName;
@JsonProperty("outcomes")
private List<FormOutcome> outcomes = new ArrayList<>();
@JsonProperty("selectedOutcome")
private String selectedOutcome;
@JsonProperty("taskDefinitionKey")
private String taskDefinitionKey;
@JsonProperty("taskId")
private String taskId;
@JsonProperty("taskName")
private String taskName;
@JsonProperty("variables")
private List<FormVariable> variables = new ArrayList<>();
/**
* No args constructor for use in serialization
*/
public FormDefinition() {
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
public FormDefinition withClassName(String className) {
this.className = className;
return this;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public FormDefinition withId(String id) {
this.id = id;
return this;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public FormDefinition withName(String name) {
this.name = name;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public FormDefinition withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getProcessDefinitionKey() {
return processDefinitionKey;
}
public void setProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
}
public FormDefinition withProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
return this;
}
public String getProcessDefinitionName() {
return processDefinitionName;
}
public void setProcessDefinitionName(String processDefinitionName) {
this.processDefinitionName = processDefinitionName;
}
public FormDefinition withProcessDefinitionName(String processDefinitionName) {
this.processDefinitionName = processDefinitionName;
return this;
}
public List<FormOutcome> getOutcomes() {
return outcomes;
}
public void setOutcomes(List<FormOutcome> outcomes) {
this.outcomes = outcomes;
}
public FormDefinition withOutcomes(List<FormOutcome> outcomes) {
this.outcomes = outcomes;
return this;
}
public String getSelectedOutcome() {
return selectedOutcome;
}
public void setSelectedOutcome(String selectedOutcome) {
this.selectedOutcome = selectedOutcome;
}
public FormDefinition withSelectedOutcome(String selectedOutcome) {
this.selectedOutcome = selectedOutcome;
return this;
}
public String getTaskDefinitionKey() {
return taskDefinitionKey;
}
public void setTaskDefinitionKey(String taskDefinitionKey) {
this.taskDefinitionKey = taskDefinitionKey;
}
public FormDefinition withTaskDefinitionKey(String taskDefinitionKey) {
this.taskDefinitionKey = taskDefinitionKey;
return this;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public FormDefinition withTaskId(String taskId) {
this.taskId = taskId;
return this;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public FormDefinition withTaskName(String taskName) {
this.taskName = taskName;
return this;
}
public List<FormVariable> getVariables() {
return variables;
}
public void setVariables(List<FormVariable> variables) {
this.variables = variables;
}
public FormDefinition withVariables(List<FormVariable> variables) {
this.variables = variables;
return this;
}
}

View File

@ -0,0 +1,56 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"id",
"name"
})
public class FormOutcome {
@JsonProperty("id")
private String id;
@JsonProperty("name")
private String name;
/**
* No args constructor for use in serialization
*/
public FormOutcome() {
}
public FormOutcome(String id, String name) {
this.id = id;
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public FormOutcome withId(String id) {
this.id = id;
return this;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public FormOutcome withName(String name) {
this.name = name;
return this;
}
}

View File

@ -0,0 +1,56 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"id",
"name"
})
public class FormValue {
@JsonProperty("id")
private String id;
@JsonProperty("name")
private String name;
/**
* No args constructor for use in serialization
*/
public FormValue() {
}
public FormValue(String id, String name) {
this.id = id;
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public FormValue withId(String id) {
this.id = id;
return this;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public FormValue withName(String name) {
this.name = name;
return this;
}
}

View File

@ -0,0 +1,73 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"name",
"type",
"value"
})
public class FormVariable {
@JsonProperty("name")
private String name;
@JsonProperty("type")
private String type;
@JsonProperty("value")
private Object value;
/**
* No args constructor for use in serialization
*/
public FormVariable() {
}
public FormVariable(String name, String type, Object value) {
this.name = name;
this.type = type;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public FormVariable withName(String name) {
this.name = name;
return this;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public FormVariable withType(String type) {
this.type = type;
return this;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
public FormVariable withValue(Object value) {
this.value = value;
return this;
}
}

View File

@ -6,9 +6,11 @@ import java.time.OffsetDateTime;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({ @JsonPropertyOrder({
@ -43,8 +45,10 @@ public class HistoricProcessInstanceQueryRepresentation {
@JsonProperty("finished") @JsonProperty("finished")
private Boolean finished; private Boolean finished;
@JsonProperty("finishedAfter") @JsonProperty("finishedAfter")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime finishedAfter; private OffsetDateTime finishedAfter;
@JsonProperty("finishedBefore") @JsonProperty("finishedBefore")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime finishedBefore; private OffsetDateTime finishedBefore;
@JsonProperty("includeProcessVariables") @JsonProperty("includeProcessVariables")
private Boolean includeProcessVariables; private Boolean includeProcessVariables;
@ -69,8 +73,10 @@ public class HistoricProcessInstanceQueryRepresentation {
@JsonProperty("start") @JsonProperty("start")
private Integer start; private Integer start;
@JsonProperty("startedAfter") @JsonProperty("startedAfter")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime startedAfter; private OffsetDateTime startedAfter;
@JsonProperty("startedBefore") @JsonProperty("startedBefore")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime startedBefore; private OffsetDateTime startedBefore;
@JsonProperty("startedBy") @JsonProperty("startedBy")
private String startedBy; private String startedBy;

View File

@ -0,0 +1,835 @@
package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"taskId",
"parentTaskId",
"taskName",
"taskNameLike",
"taskDefinitionKey",
"taskDefinitionKeyLike",
"finished",
"taskPriority",
"taskMinPriority",
"taskMaxPriority",
"taskAssignee",
"taskAssigneeLike",
"taskOwner",
"taskOwnerLike",
"taskInvolvedUser",
"taskCandidateGroup",
"taskCreatedOn",
"taskCreatedAfter",
"taskCreatedBefore",
"dueDate",
"dueDateAfter",
"dueDateBefore",
"withoutDueDate",
"taskCompletedOn",
"taskCompletedAfter",
"taskCompletedBefore",
"taskDeleteReason",
"taskDeleteReasonLike",
"taskDescription",
"taskDescriptionLike",
"processBusinessKey",
"processBusinessKeyLike",
"processDefinitionId",
"processDefinitionKey",
"processDefinitionKeyLike",
"processDefinitionName",
"processDefinitionNameLike",
"processFinished",
"processInstanceId",
"includeProcessVariables",
"includeTaskLocalVariables",
"processVariables",
"taskVariables",
"size",
"sort",
"order",
"start",
"tenantId",
"tenantIdLike",
"withoutTenantId",
})
public class HistoricTaskQueryRepresentation {
@JsonProperty("taskId")
private String taskId;
@JsonProperty("parentTaskId")
private String parentTaskId;
@JsonProperty("taskName")
private String taskName;
@JsonProperty("taskNameLike")
private String taskNameLike;
@JsonProperty("taskDefinitionKey")
private String taskDefinitionKey;
@JsonProperty("taskDefinitionKeyLike")
private String taskDefinitionKeyLike;
@JsonProperty("finished")
private Boolean finished;
@JsonProperty("taskPriority")
private Integer taskPriority;
@JsonProperty("taskMinPriority")
private Integer taskMinPriority;
@JsonProperty("taskMaxPriority")
private Integer taskMaxPriority;
@JsonProperty("taskAssignee")
private String taskAssignee;
@JsonProperty("taskAssigneeLike")
private String taskAssigneeLike;
@JsonProperty("taskOwner")
private String taskOwner;
@JsonProperty("taskOwnerLike")
private String taskOwnerLike;
@JsonProperty("taskInvolvedUser")
private String taskInvolvedUser;
@JsonProperty("taskCandidateGroup")
private String taskCandidateGroup;
@JsonProperty("taskCreatedOn")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime taskCreated;
@JsonProperty("taskCreatedBefore")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime taskCreatedBefore;
@JsonProperty("taskCreatedAfter")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime taskCreatedAfter;
@JsonProperty("dueDate")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime dueDate;
@JsonProperty("dueDateBefore")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime dueDateBefore;
@JsonProperty("dueDateAfter")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime dueDateAfter;
@JsonProperty("withoutDueDate")
private Boolean withoutDueDate;
@JsonProperty("taskCompletedOn")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime taskCompleted;
@JsonProperty("taskCompletedBefore")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime taskCompletedBefore;
@JsonProperty("taskCompletedAfter")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime taskCompletedAfter;
@JsonProperty("taskDeleteReason")
private String taskDeleteReason;
@JsonProperty("taskDeleteReasonLike")
private String taskDeleteReasonLike;
@JsonProperty("taskDescription")
private String taskDescription;
@JsonProperty("taskDescriptionLike")
private String taskDescriptionLike;
@JsonProperty("processBusinessKey")
private String processBusinessKey;
@JsonProperty("processBusinessKeyLike")
private String processBusinessKeyLike;
@JsonProperty("processDefinitionId")
private String processDefinitionId;
@JsonProperty("processDefinitionKey")
private String processDefinitionKey;
@JsonProperty("processDefinitionKeyLike")
private String processDefinitionKeyLike;
@JsonProperty("processDefinitionName")
private String processDefinitionName;
@JsonProperty("processDefinitionNameLike")
private String processDefinitionNameLike;
@JsonProperty("processFinished")
private Boolean processFinished;
@JsonProperty("processInstanceId")
private String processInstanceId;
@JsonProperty("includeProcessVariables")
private Boolean includeProcessVariables;
@JsonProperty("includeTaskLocalVariables")
private Boolean includeTaskLocalVariables;
@JsonProperty("taskVariables")
private List<QueryVariable> taskVariables;
@JsonProperty("processVariables")
private List<QueryVariable> processVariables;
@JsonProperty("size")
private Integer size;
@JsonProperty("sort")
private String sort;
@JsonProperty("order")
private String order;
@JsonProperty("start")
private Integer start;
@JsonProperty("tenantId")
private String tenantId;
@JsonProperty("tenantIdLike")
private String tenantIdLike;
@JsonProperty("withoutTenantId")
private Boolean withoutTenantId;
/**
* No args constructor for use in serialization
*/
public HistoricTaskQueryRepresentation() {
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public HistoricTaskQueryRepresentation withTaskId(String taskId) {
this.taskId = taskId;
return this;
}
public String getParentTaskId() {
return parentTaskId;
}
public void setParentTaskId(String parentTaskId) {
this.parentTaskId = parentTaskId;
}
public HistoricTaskQueryRepresentation withParentTaskId(String parentTaskId) {
this.parentTaskId = parentTaskId;
return this;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
public HistoricTaskQueryRepresentation withTaskName(String taskName) {
this.taskName = taskName;
return this;
}
public String getTaskNameLike() {
return taskNameLike;
}
public void setTaskNameLike(String taskNameLike) {
this.taskNameLike = taskNameLike;
}
public HistoricTaskQueryRepresentation withTaskNameLike(String taskNameLike) {
this.taskNameLike = taskNameLike;
return this;
}
public String getTaskDefinitionKey() {
return taskDefinitionKey;
}
public void setTaskDefinitionKey(String taskDefinitionKey) {
this.taskDefinitionKey = taskDefinitionKey;
}
public HistoricTaskQueryRepresentation withTaskDefinitionKey(String taskDefinitionKey) {
this.taskDefinitionKey = taskDefinitionKey;
return this;
}
public String getTaskDefinitionKeyLike() {
return taskDefinitionKeyLike;
}
public void setTaskDefinitionKeyLike(String taskDefinitionKeyLike) {
this.taskDefinitionKeyLike = taskDefinitionKeyLike;
}
public HistoricTaskQueryRepresentation withTaskDefinitionKeyLike(String taskDefinitionKeyLike) {
this.taskDefinitionKeyLike = taskDefinitionKeyLike;
return this;
}
public Boolean getFinished() {
return finished;
}
public void setFinished(Boolean finished) {
this.finished = finished;
}
public HistoricTaskQueryRepresentation withFinished(Boolean finished) {
this.finished = finished;
return this;
}
public Integer getTaskPriority() {
return taskPriority;
}
public void setTaskPriority(Integer taskPriority) {
this.taskPriority = taskPriority;
}
public HistoricTaskQueryRepresentation withTaskPriority(Integer taskPriority) {
this.taskPriority = taskPriority;
return this;
}
public Integer getTaskMinPriority() {
return taskMinPriority;
}
public void setTaskMinPriority(Integer taskMinPriority) {
this.taskMinPriority = taskMinPriority;
}
public HistoricTaskQueryRepresentation withTaskMinPriority(Integer taskMinPriority) {
this.taskMinPriority = taskMinPriority;
return this;
}
public Integer getTaskMaxPriority() {
return taskMaxPriority;
}
public void setTaskMaxPriority(Integer taskMaxPriority) {
this.taskMaxPriority = taskMaxPriority;
}
public HistoricTaskQueryRepresentation withTaskMaxPriority(Integer taskMaxPriority) {
this.taskMaxPriority = taskMaxPriority;
return this;
}
public String getTaskAssignee() {
return taskAssignee;
}
public void setTaskAssignee(String taskAssignee) {
this.taskAssignee = taskAssignee;
}
public HistoricTaskQueryRepresentation withTaskAssignee(String taskAssignee) {
this.taskAssignee = taskAssignee;
return this;
}
public String getTaskAssigneeLike() {
return taskAssigneeLike;
}
public void setTaskAssigneeLike(String taskAssigneeLike) {
this.taskAssigneeLike = taskAssigneeLike;
}
public HistoricTaskQueryRepresentation withTaskAssigneeLike(String taskAssigneeLike) {
this.taskAssigneeLike = taskAssigneeLike;
return this;
}
public String getTaskOwner() {
return taskOwner;
}
public void setTaskOwner(String taskOwner) {
this.taskOwner = taskOwner;
}
public HistoricTaskQueryRepresentation withTaskOwner(String taskOwner) {
this.taskOwner = taskOwner;
return this;
}
public String getTaskOwnerLike() {
return taskOwnerLike;
}
public void setTaskOwnerLike(String taskOwnerLike) {
this.taskOwnerLike = taskOwnerLike;
}
public HistoricTaskQueryRepresentation withTaskOwnerLike(String taskOwnerLike) {
this.taskOwnerLike = taskOwnerLike;
return this;
}
public String getTaskInvolvedUser() {
return taskInvolvedUser;
}
public void setTaskInvolvedUser(String taskInvolvedUser) {
this.taskInvolvedUser = taskInvolvedUser;
}
public HistoricTaskQueryRepresentation withTaskInvolvedUser(String taskInvolvedUser) {
this.taskInvolvedUser = taskInvolvedUser;
return this;
}
public String getTaskCandidateGroup() {
return taskCandidateGroup;
}
public void setTaskCandidateGroup(String taskCandidateGroup) {
this.taskCandidateGroup = taskCandidateGroup;
}
public HistoricTaskQueryRepresentation withTaskCandidateGroup(String taskCandidateGroup) {
this.taskCandidateGroup = taskCandidateGroup;
return this;
}
public OffsetDateTime getTaskCreated() {
return taskCreated;
}
public void setTaskCreated(OffsetDateTime taskCreated) {
this.taskCreated = taskCreated;
}
public HistoricTaskQueryRepresentation withTaskCreated(OffsetDateTime taskCreated) {
this.taskCreated = taskCreated;
return this;
}
public OffsetDateTime getTaskCreatedBefore() {
return taskCreatedBefore;
}
public void setTaskCreatedBefore(OffsetDateTime taskCreatedBefore) {
this.taskCreatedBefore = taskCreatedBefore;
}
public HistoricTaskQueryRepresentation withTaskCreatedBefore(OffsetDateTime taskCreatedBefore) {
this.taskCreatedBefore = taskCreatedBefore;
return this;
}
public OffsetDateTime getTaskCreatedAfter() {
return taskCreatedAfter;
}
public void setTaskCreatedAfter(OffsetDateTime taskCreatedAfter) {
this.taskCreatedAfter = taskCreatedAfter;
}
public HistoricTaskQueryRepresentation withTaskCreatedAfter(OffsetDateTime taskCreatedAfter) {
this.taskCreatedAfter = taskCreatedAfter;
return this;
}
public OffsetDateTime getDueDate() {
return dueDate;
}
public void setDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate;
}
public HistoricTaskQueryRepresentation withDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate;
return this;
}
public OffsetDateTime getDueDateBefore() {
return dueDateBefore;
}
public void setDueDateBefore(OffsetDateTime dueDateBefore) {
this.dueDateBefore = dueDateBefore;
}
public HistoricTaskQueryRepresentation withDueDateBefore(OffsetDateTime dueDateBefore) {
this.dueDateBefore = dueDateBefore;
return this;
}
public OffsetDateTime getDueDateAfter() {
return dueDateAfter;
}
public void setDueDateAfter(OffsetDateTime dueDateAfter) {
this.dueDateAfter = dueDateAfter;
}
public HistoricTaskQueryRepresentation withDueDateAfter(OffsetDateTime dueDateAfter) {
this.dueDateAfter = dueDateAfter;
return this;
}
public Boolean getWithoutDueDate() {
return withoutDueDate;
}
public void setWithoutDueDate(Boolean withoutDueDate) {
this.withoutDueDate = withoutDueDate;
}
public HistoricTaskQueryRepresentation withWithoutDueDate(Boolean withoutDueDate) {
this.withoutDueDate = withoutDueDate;
return this;
}
public OffsetDateTime getTaskCompleted() {
return taskCompleted;
}
public void setTaskCompleted(OffsetDateTime taskCompleted) {
this.taskCompleted = taskCompleted;
}
public HistoricTaskQueryRepresentation withTaskCompleted(OffsetDateTime taskCompleted) {
this.taskCompleted = taskCompleted;
return this;
}
public OffsetDateTime getTaskCompletedBefore() {
return taskCompletedBefore;
}
public void setTaskCompletedBefore(OffsetDateTime taskCompletedBefore) {
this.taskCompletedBefore = taskCompletedBefore;
}
public HistoricTaskQueryRepresentation withTaskCompletedBefore(OffsetDateTime taskCompletedBefore) {
this.taskCompletedBefore = taskCompletedBefore;
return this;
}
public OffsetDateTime getTaskCompletedAfter() {
return taskCompletedAfter;
}
public void setTaskCompletedAfter(OffsetDateTime taskCompletedAfter) {
this.taskCompletedAfter = taskCompletedAfter;
}
public HistoricTaskQueryRepresentation withTaskCompletedAfter(OffsetDateTime taskCompletedAfter) {
this.taskCompletedAfter = taskCompletedAfter;
return this;
}
public String getTaskDeleteReason() {
return taskDeleteReason;
}
public void setTaskDeleteReason(String taskDeleteReason) {
this.taskDeleteReason = taskDeleteReason;
}
public HistoricTaskQueryRepresentation withTaskDeleteReason(String taskDeleteReason) {
this.taskDeleteReason = taskDeleteReason;
return this;
}
public String getTaskDeleteReasonLike() {
return taskDeleteReasonLike;
}
public void setTaskDeleteReasonLike(String taskDeleteReasonLike) {
this.taskDeleteReasonLike = taskDeleteReasonLike;
}
public HistoricTaskQueryRepresentation withTaskDeleteReasonLike(String taskDeleteReasonLike) {
this.taskDeleteReasonLike = taskDeleteReasonLike;
return this;
}
public String getTaskDescription() {
return taskDescription;
}
public void setTaskDescription(String taskDescription) {
this.taskDescription = taskDescription;
}
public HistoricTaskQueryRepresentation withTaskDescription(String taskDescription) {
this.taskDescription = taskDescription;
return this;
}
public String getTaskDescriptionLike() {
return taskDescriptionLike;
}
public void setTaskDescriptionLike(String taskDescriptionLike) {
this.taskDescriptionLike = taskDescriptionLike;
}
public HistoricTaskQueryRepresentation withTaskDescriptionLike(String taskDescriptionLike) {
this.taskDescriptionLike = taskDescriptionLike;
return this;
}
public String getProcessBusinessKey() {
return processBusinessKey;
}
public void setProcessBusinessKey(String processBusinessKey) {
this.processBusinessKey = processBusinessKey;
}
public HistoricTaskQueryRepresentation withProcessBusinessKey(String processBusinessKey) {
this.processBusinessKey = processBusinessKey;
return this;
}
public String getProcessBusinessKeyLike() {
return processBusinessKeyLike;
}
public void setProcessBusinessKeyLike(String processBusinessKeyLike) {
this.processBusinessKeyLike = processBusinessKeyLike;
}
public HistoricTaskQueryRepresentation withProcessBusinessKeyLike(String processBusinessKeyLike) {
this.processBusinessKeyLike = processBusinessKeyLike;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public HistoricTaskQueryRepresentation withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getProcessDefinitionKey() {
return processDefinitionKey;
}
public void setProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
}
public HistoricTaskQueryRepresentation withProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
return this;
}
public String getProcessDefinitionKeyLike() {
return processDefinitionKeyLike;
}
public void setProcessDefinitionKeyLike(String processDefinitionKeyLike) {
this.processDefinitionKeyLike = processDefinitionKeyLike;
}
public HistoricTaskQueryRepresentation withProcessDefinitionKeyLike(String processDefinitionKeyLike) {
this.processDefinitionKeyLike = processDefinitionKeyLike;
return this;
}
public String getProcessDefinitionName() {
return processDefinitionName;
}
public void setProcessDefinitionName(String processDefinitionName) {
this.processDefinitionName = processDefinitionName;
}
public HistoricTaskQueryRepresentation withProcessDefinitionName(String processDefinitionName) {
this.processDefinitionName = processDefinitionName;
return this;
}
public String getProcessDefinitionNameLike() {
return processDefinitionNameLike;
}
public void setProcessDefinitionNameLike(String processDefinitionNameLike) {
this.processDefinitionNameLike = processDefinitionNameLike;
}
public HistoricTaskQueryRepresentation withProcessDefinitionNameLike(String processDefinitionNameLike) {
this.processDefinitionNameLike = processDefinitionNameLike;
return this;
}
public Boolean getProcessFinished() {
return processFinished;
}
public void setProcessFinished(Boolean processFinished) {
this.processFinished = processFinished;
}
public HistoricTaskQueryRepresentation withProcessFinished(Boolean processFinished) {
this.processFinished = processFinished;
return this;
}
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public HistoricTaskQueryRepresentation withProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
return this;
}
public Boolean getIncludeProcessVariables() {
return includeProcessVariables;
}
public void setIncludeProcessVariables(Boolean includeProcessVariables) {
this.includeProcessVariables = includeProcessVariables;
}
public HistoricTaskQueryRepresentation withIncludeProcessVariables(Boolean includeProcessVariables) {
this.includeProcessVariables = includeProcessVariables;
return this;
}
public Boolean getIncludeTaskLocalVariables() {
return includeTaskLocalVariables;
}
public void setIncludeTaskLocalVariables(Boolean includeTaskLocalVariables) {
this.includeTaskLocalVariables = includeTaskLocalVariables;
}
public HistoricTaskQueryRepresentation withIncludeTaskLocalVariables(Boolean includeTaskLocalVariables) {
this.includeTaskLocalVariables = includeTaskLocalVariables;
return this;
}
public List<QueryVariable> getTaskVariables() {
return taskVariables;
}
public void setTaskVariables(List<QueryVariable> taskVariables) {
this.taskVariables = taskVariables;
}
public HistoricTaskQueryRepresentation withTaskVariables(List<QueryVariable> taskVariables) {
this.taskVariables = taskVariables;
return this;
}
public List<QueryVariable> getProcessVariables() {
return processVariables;
}
public void setProcessVariables(List<QueryVariable> processVariables) {
this.processVariables = processVariables;
}
public HistoricTaskQueryRepresentation withProcessVariables(List<QueryVariable> processVariables) {
this.processVariables = processVariables;
return this;
}
public Integer getSize() {
return size;
}
public void setSize(Integer size) {
this.size = size;
}
public HistoricTaskQueryRepresentation withSize(Integer size) {
this.size = size;
return this;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public HistoricTaskQueryRepresentation withSort(String sort) {
this.sort = sort;
return this;
}
public String getOrder() {
return order;
}
public void setOrder(String order) {
this.order = order;
}
public HistoricTaskQueryRepresentation withOrder(String order) {
this.order = order;
return this;
}
public Integer getStart() {
return start;
}
public void setStart(Integer start) {
this.start = start;
}
public HistoricTaskQueryRepresentation withStart(Integer start) {
this.start = start;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public HistoricTaskQueryRepresentation withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getTenantIdLike() {
return tenantIdLike;
}
public void setTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
}
public HistoricTaskQueryRepresentation withTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
return this;
}
public Boolean getWithoutTenantId() {
return withoutTenantId;
}
public void setWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
}
public HistoricTaskQueryRepresentation withWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
return this;
}
}

View File

@ -1,10 +1,13 @@
package com.inteligr8.alfresco.activiti.model; package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter; import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
@ -42,7 +45,7 @@ public class ModelRepresentation {
@JsonProperty("comment") @JsonProperty("comment")
private String comment; private String comment;
@JsonProperty("createdBy") @JsonProperty("createdBy")
private Integer createdBy; private Long createdBy;
@JsonProperty("createdByFullName") @JsonProperty("createdByFullName")
private String createdByFullName; private String createdByFullName;
@JsonProperty("description") @JsonProperty("description")
@ -50,11 +53,12 @@ public class ModelRepresentation {
@JsonProperty("favorite") @JsonProperty("favorite")
private Boolean favorite; private Boolean favorite;
@JsonProperty("id") @JsonProperty("id")
private Integer id; private Long id;
@JsonProperty("lastUpdated") @JsonProperty("lastUpdated")
private String lastUpdated; @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime lastUpdated;
@JsonProperty("lastUpdatedBy") @JsonProperty("lastUpdatedBy")
private Integer lastUpdatedBy; private Long lastUpdatedBy;
@JsonProperty("lastUpdatedByFullName") @JsonProperty("lastUpdatedByFullName")
private String lastUpdatedByFullName; private String lastUpdatedByFullName;
@JsonProperty("latestVersion") @JsonProperty("latestVersion")
@ -66,11 +70,11 @@ public class ModelRepresentation {
@JsonProperty("permission") @JsonProperty("permission")
private String permission; private String permission;
@JsonProperty("referenceId") @JsonProperty("referenceId")
private Integer referenceId; private Long referenceId;
@JsonProperty("stencilSet") @JsonProperty("stencilSet")
private Integer stencilSet; private Long stencilSet;
@JsonProperty("tenantId") @JsonProperty("tenantId")
private Integer tenantId; private Long tenantId;
@JsonProperty("version") @JsonProperty("version")
private Integer version; private Integer version;
@JsonIgnore @JsonIgnore
@ -92,16 +96,16 @@ public class ModelRepresentation {
} }
@JsonProperty("createdBy") @JsonProperty("createdBy")
public Integer getCreatedBy() { public Long getCreatedBy() {
return createdBy; return createdBy;
} }
@JsonProperty("createdBy") @JsonProperty("createdBy")
public void setCreatedBy(Integer createdBy) { public void setCreatedBy(Long createdBy) {
this.createdBy = createdBy; this.createdBy = createdBy;
} }
public ModelRepresentation withCreatedBy(Integer createdBy) { public ModelRepresentation withCreatedBy(Long createdBy) {
this.createdBy = createdBy; this.createdBy = createdBy;
return this; return this;
} }
@ -152,46 +156,46 @@ public class ModelRepresentation {
} }
@JsonProperty("id") @JsonProperty("id")
public Integer getId() { public Long getId() {
return id; return id;
} }
@JsonProperty("id") @JsonProperty("id")
public void setId(Integer id) { public void setId(Long id) {
this.id = id; this.id = id;
} }
public ModelRepresentation withId(Integer id) { public ModelRepresentation withId(Long id) {
this.id = id; this.id = id;
return this; return this;
} }
@JsonProperty("lastUpdated") @JsonProperty("lastUpdated")
public String getLastUpdated() { public OffsetDateTime getLastUpdated() {
return lastUpdated; return lastUpdated;
} }
@JsonProperty("lastUpdated") @JsonProperty("lastUpdated")
public void setLastUpdated(String lastUpdated) { public void setLastUpdated(OffsetDateTime lastUpdated) {
this.lastUpdated = lastUpdated; this.lastUpdated = lastUpdated;
} }
public ModelRepresentation withLastUpdated(String lastUpdated) { public ModelRepresentation withLastUpdated(OffsetDateTime lastUpdated) {
this.lastUpdated = lastUpdated; this.lastUpdated = lastUpdated;
return this; return this;
} }
@JsonProperty("lastUpdatedBy") @JsonProperty("lastUpdatedBy")
public Integer getLastUpdatedBy() { public Long getLastUpdatedBy() {
return lastUpdatedBy; return lastUpdatedBy;
} }
@JsonProperty("lastUpdatedBy") @JsonProperty("lastUpdatedBy")
public void setLastUpdatedBy(Integer lastUpdatedBy) { public void setLastUpdatedBy(Long lastUpdatedBy) {
this.lastUpdatedBy = lastUpdatedBy; this.lastUpdatedBy = lastUpdatedBy;
} }
public ModelRepresentation withLastUpdatedBy(Integer lastUpdatedBy) { public ModelRepresentation withLastUpdatedBy(Long lastUpdatedBy) {
this.lastUpdatedBy = lastUpdatedBy; this.lastUpdatedBy = lastUpdatedBy;
return this; return this;
} }
@ -272,46 +276,46 @@ public class ModelRepresentation {
} }
@JsonProperty("referenceId") @JsonProperty("referenceId")
public Integer getReferenceId() { public Long getReferenceId() {
return referenceId; return referenceId;
} }
@JsonProperty("referenceId") @JsonProperty("referenceId")
public void setReferenceId(Integer referenceId) { public void setReferenceId(Long referenceId) {
this.referenceId = referenceId; this.referenceId = referenceId;
} }
public ModelRepresentation withReferenceId(Integer referenceId) { public ModelRepresentation withReferenceId(Long referenceId) {
this.referenceId = referenceId; this.referenceId = referenceId;
return this; return this;
} }
@JsonProperty("stencilSet") @JsonProperty("stencilSet")
public Integer getStencilSet() { public Long getStencilSet() {
return stencilSet; return stencilSet;
} }
@JsonProperty("stencilSet") @JsonProperty("stencilSet")
public void setStencilSet(Integer stencilSet) { public void setStencilSet(Long stencilSet) {
this.stencilSet = stencilSet; this.stencilSet = stencilSet;
} }
public ModelRepresentation withStencilSet(Integer stencilSet) { public ModelRepresentation withStencilSet(Long stencilSet) {
this.stencilSet = stencilSet; this.stencilSet = stencilSet;
return this; return this;
} }
@JsonProperty("tenantId") @JsonProperty("tenantId")
public Integer getTenantId() { public Long getTenantId() {
return tenantId; return tenantId;
} }
@JsonProperty("tenantId") @JsonProperty("tenantId")
public void setTenantId(Integer tenantId) { public void setTenantId(Long tenantId) {
this.tenantId = tenantId; this.tenantId = tenantId;
} }
public ModelRepresentation withTenantId(Integer tenantId) { public ModelRepresentation withTenantId(Long tenantId) {
this.tenantId = tenantId; this.tenantId = tenantId;
return this; return this;
} }

View File

@ -0,0 +1,166 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.inteligr8.activiti.model.Datum;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"id",
"key",
"name",
"description",
"hasStartForm",
"deploymentId",
"version",
"category",
"tenantId"
})
public class ProcessDefinition extends Datum {
@JsonProperty("category")
private String category;
@JsonProperty("deploymentId")
private String deploymentId;
@JsonProperty("description")
private String description;
@JsonProperty("hasStartForm")
private boolean hasStartForm;
@JsonProperty("id")
private String id;
@JsonProperty("key")
private String key;
@JsonProperty("name")
private String name;
@JsonProperty("tenantId")
private String tenantId;
@JsonProperty("version")
private Integer version;
/**
* No args constructor for use in serialization
*/
public ProcessDefinition() {
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public ProcessDefinition withCategory(String category) {
this.category = category;
return this;
}
public String getDeploymentId() {
return deploymentId;
}
public void setDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
}
public ProcessDefinition withDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
return this;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public ProcessDefinition withDescription(String description) {
this.description = description;
return this;
}
public boolean isHasStartForm() {
return hasStartForm;
}
public void setHasStartForm(boolean hasStartForm) {
this.hasStartForm = hasStartForm;
}
public ProcessDefinition withHasStartForm(boolean hasStartForm) {
this.hasStartForm = hasStartForm;
return this;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public ProcessDefinition withId(String id) {
this.id = id;
return this;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public ProcessDefinition withKey(String key) {
this.key = key;
return this;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ProcessDefinition withName(String name) {
this.name = name;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public ProcessDefinition withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public Integer getVersion() {
return version;
}
public void setVersion(Integer version) {
this.version = version;
}
public ProcessDefinition withVersion(Integer version) {
this.version = version;
return this;
}
}

View File

@ -2,12 +2,16 @@
package com.inteligr8.alfresco.activiti.model; package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.inteligr8.activiti.model.Datum;
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({ @JsonPropertyOrder({
@ -35,7 +39,8 @@ public class ProcessInstance extends Datum {
@JsonProperty("businessKey") @JsonProperty("businessKey")
private String businessKey; private String businessKey;
@JsonProperty("ended") @JsonProperty("ended")
private String ended; @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime ended;
@JsonProperty("graphicalNotationDefined") @JsonProperty("graphicalNotationDefined")
private Boolean graphicalNotationDefined; private Boolean graphicalNotationDefined;
@JsonProperty("id") @JsonProperty("id")
@ -59,7 +64,8 @@ public class ProcessInstance extends Datum {
@JsonProperty("startFormDefined") @JsonProperty("startFormDefined")
private Boolean startFormDefined; private Boolean startFormDefined;
@JsonProperty("started") @JsonProperty("started")
private String started; @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime started;
@JsonProperty("startedBy") @JsonProperty("startedBy")
private UserLight startedBy; private UserLight startedBy;
@JsonProperty("suspended") @JsonProperty("suspended")
@ -88,15 +94,15 @@ public class ProcessInstance extends Datum {
return this; return this;
} }
public String getEnded() { public OffsetDateTime getEnded() {
return ended; return ended;
} }
public void setEnded(String ended) { public void setEnded(OffsetDateTime ended) {
this.ended = ended; this.ended = ended;
} }
public ProcessInstance withEnded(String ended) { public ProcessInstance withEnded(OffsetDateTime ended) {
this.ended = ended; this.ended = ended;
return this; return this;
} }
@ -244,15 +250,15 @@ public class ProcessInstance extends Datum {
return this; return this;
} }
public String getStarted() { public OffsetDateTime getStarted() {
return started; return started;
} }
public void setStarted(String started) { public void setStarted(OffsetDateTime started) {
this.started = started; this.started = started;
} }
public ProcessInstance withStarted(String started) { public ProcessInstance withStarted(OffsetDateTime started) {
this.started = started; this.started = started;
return this; return this;
} }

View File

@ -0,0 +1,127 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.inteligr8.activiti.model.Datum;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"name",
"processDefinitionId",
"processDefinitionKey",
"sort",
"asc",
"state"
})
public class ProcessInstanceFilter extends Datum {
public enum State {
@JsonProperty("all")
All,
@JsonProperty("completed")
Completed,
@JsonProperty("running")
Running
}
@JsonProperty("name")
private String name;
@JsonProperty("processDefinitionId")
private String processDefinitionId;
@JsonProperty("processDefinitionKey")
private String processDefinitionKey;
@JsonProperty("sort")
private String sort;
@JsonProperty("asc")
private Boolean asc;
@JsonProperty("state")
private State state;
/**
* No args constructor for use in serialization
*/
public ProcessInstanceFilter() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ProcessInstanceFilter withName(String name) {
this.name = name;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String id) {
this.processDefinitionId = id;
}
public ProcessInstanceFilter withProcessDefinitionId(String id) {
this.processDefinitionId = id;
return this;
}
public String getProcessDefinitionKey() {
return processDefinitionKey;
}
public void setProcessDefinitionKey(String key) {
this.processDefinitionKey = key;
}
public ProcessInstanceFilter withProcessDefinitionKey(String key) {
this.processDefinitionKey = key;
return this;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public ProcessInstanceFilter withSort(String sort) {
this.sort = sort;
return this;
}
public Boolean isAsc() {
return asc;
}
public void setAsc(Boolean asc) {
this.asc = asc;
}
public ProcessInstanceFilter withAsc(Boolean asc) {
this.asc = asc;
return this;
}
public State getState() {
return state;
}
public void setState(State state) {
this.state = state;
}
public ProcessInstanceFilter withState(State state) {
this.state = state;
return this;
}
}

View File

@ -0,0 +1,101 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"filterId",
"filter",
"appDefinitionId",
"page",
"size"
})
public class ProcessInstanceFilterRepresentation {
@JsonProperty("filterId")
private Long filterId;
@JsonProperty("filter")
private ProcessInstanceFilter filter;
@JsonProperty("appDefinitionId")
private Long appDefinitionId;
@JsonProperty("page")
private Integer page;
@JsonProperty("size")
private Integer size;
/**
* No args constructor for use in serialization
*/
public ProcessInstanceFilterRepresentation() {
}
public Long getFilterId() {
return filterId;
}
public void setFilterId(Long filterId) {
this.filterId = filterId;
}
public ProcessInstanceFilterRepresentation withFilterId(Long filterId) {
this.filterId = filterId;
return this;
}
public ProcessInstanceFilter getFilter() {
return filter;
}
public void setFilter(ProcessInstanceFilter filter) {
this.filter = filter;
}
public ProcessInstanceFilterRepresentation withFilter(ProcessInstanceFilter filter) {
this.filter = filter;
return this;
}
public Long getAppDefinitionId() {
return appDefinitionId;
}
public void setAppDefinitionId(Long appDefinitionId) {
this.appDefinitionId = appDefinitionId;
}
public ProcessInstanceFilterRepresentation withAppDefinitionId(Long appDefinitionId) {
this.appDefinitionId = appDefinitionId;
return this;
}
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public ProcessInstanceFilterRepresentation withPage(Integer page) {
this.page = page;
return this;
}
public Integer getSize() {
return size;
}
public void setSize(Integer size) {
this.size = size;
}
public ProcessInstanceFilterRepresentation withSize(Integer size) {
this.size = size;
return this;
}
}

View File

@ -45,6 +45,8 @@ public class ProcessInstanceQueryRepresentation {
private String processDefinitionId; private String processDefinitionId;
@JsonProperty("processInstanceId") @JsonProperty("processInstanceId")
private String processInstanceId; private String processInstanceId;
@JsonProperty("page")
private Integer page;
@JsonProperty("size") @JsonProperty("size")
private Integer size; private Integer size;
@JsonProperty("sort") @JsonProperty("sort")
@ -98,6 +100,19 @@ public class ProcessInstanceQueryRepresentation {
this.processInstanceId = processInstanceId; this.processInstanceId = processInstanceId;
return this; return this;
} }
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public ProcessInstanceQueryRepresentation withPage(Integer page) {
this.page = page;
return this;
}
public Integer getSize() { public Integer getSize() {
return size; return size;

View File

@ -0,0 +1,73 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"id",
"type",
"value"
})
public class ProcessInstanceVariable {
@JsonProperty("id")
private String id;
@JsonProperty("type")
private String type;
@JsonProperty("value")
private Object value;
/**
* No args constructor for use in serialization
*/
public ProcessInstanceVariable() {
}
public ProcessInstanceVariable(String id, String type, Object value) {
this.id = id;
this.type = type;
this.value = value;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public ProcessInstanceVariable withId(String id) {
this.id = id;
return this;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public ProcessInstanceVariable withType(String type) {
this.type = type;
return this;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
public ProcessInstanceVariable withValue(Object value) {
this.value = value;
return this;
}
}

View File

@ -2,15 +2,12 @@
package com.inteligr8.alfresco.activiti.model; package com.inteligr8.alfresco.activiti.model;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.inteligr8.activiti.model.Datum;
/** /**
@ -26,7 +23,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
"start", "start",
"total" "total"
}) })
public class ResultListDataRepresentation<T extends Datum> { public class ResultListDataRepresentation<T extends Datum> extends Datum {
@JsonProperty("data") @JsonProperty("data")
private List<T> data = new ArrayList<>(); private List<T> data = new ArrayList<>();
@ -36,8 +33,6 @@ public class ResultListDataRepresentation<T extends Datum> {
private Integer start; private Integer start;
@JsonProperty("total") @JsonProperty("total")
private Integer total; private Integer total;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("data") @JsonProperty("data")
public List<T> getData() { public List<T> getData() {
@ -99,19 +94,4 @@ public class ResultListDataRepresentation<T extends Datum> {
return this; 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 ResultListDataRepresentation<T> withAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
return this;
}
} }

View File

@ -1,12 +1,16 @@
package com.inteligr8.alfresco.activiti.model; package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.inteligr8.activiti.model.Datum;
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({ @JsonPropertyOrder({
@ -43,7 +47,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
"taskDefinitionKey", "taskDefinitionKey",
"variables" "variables"
}) })
public class Task { public class Task extends Datum {
@JsonProperty("adhocTaskCanBeReassigned") @JsonProperty("adhocTaskCanBeReassigned")
private Boolean adhocTaskCanBeReassigned; private Boolean adhocTaskCanBeReassigned;
@ -52,15 +56,18 @@ public class Task {
@JsonProperty("category") @JsonProperty("category")
private String category; private String category;
@JsonProperty("created") @JsonProperty("created")
private String created; @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime created;
@JsonProperty("description") @JsonProperty("description")
private String description; private String description;
@JsonProperty("dueDate") @JsonProperty("dueDate")
private String dueDate; private OffsetDateTime dueDate;
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
@JsonProperty("duration") @JsonProperty("duration")
private Long duration; private Long duration;
@JsonProperty("endDate") @JsonProperty("endDate")
private String endDate; private OffsetDateTime endDate;
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
@JsonProperty("executionId") @JsonProperty("executionId")
private String executionId; private String executionId;
@JsonProperty("formKey") @JsonProperty("formKey")
@ -84,7 +91,7 @@ public class Task {
@JsonProperty("parentTaskName") @JsonProperty("parentTaskName")
private String parentTaskName; private String parentTaskName;
@JsonProperty("priority") @JsonProperty("priority")
private Long priority; private Integer priority;
@JsonProperty("processDefinitionCategory") @JsonProperty("processDefinitionCategory")
private String processDefinitionCategory; private String processDefinitionCategory;
@JsonProperty("processDefinitionDeploymentId") @JsonProperty("processDefinitionDeploymentId")
@ -98,7 +105,7 @@ public class Task {
@JsonProperty("processDefinitionName") @JsonProperty("processDefinitionName")
private String processDefinitionName; private String processDefinitionName;
@JsonProperty("processDefinitionVersion") @JsonProperty("processDefinitionVersion")
private Long processDefinitionVersion; private Integer processDefinitionVersion;
@JsonProperty("processInstanceId") @JsonProperty("processInstanceId")
private String processInstanceId; private String processInstanceId;
@JsonProperty("processInstanceName") @JsonProperty("processInstanceName")
@ -155,15 +162,15 @@ public class Task {
return this; return this;
} }
public String getCreated() { public OffsetDateTime getCreated() {
return created; return created;
} }
public void setCreated(String created) { public void setCreated(OffsetDateTime created) {
this.created = created; this.created = created;
} }
public Task withCreated(String created) { public Task withCreated(OffsetDateTime created) {
this.created = created; this.created = created;
return this; return this;
} }
@ -181,15 +188,15 @@ public class Task {
return this; return this;
} }
public String getDueDate() { public OffsetDateTime getDueDate() {
return dueDate; return dueDate;
} }
public void setDueDate(String dueDate) { public void setDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate; this.dueDate = dueDate;
} }
public Task withDueDate(String dueDate) { public Task withDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate; this.dueDate = dueDate;
return this; return this;
} }
@ -207,15 +214,15 @@ public class Task {
return this; return this;
} }
public String getEndDate() { public OffsetDateTime getEndDate() {
return endDate; return endDate;
} }
public void setEndDate(String endDate) { public void setEndDate(OffsetDateTime endDate) {
this.endDate = endDate; this.endDate = endDate;
} }
public Task withEndDate(String endDate) { public Task withEndDate(OffsetDateTime endDate) {
this.endDate = endDate; this.endDate = endDate;
return this; return this;
} }
@ -363,15 +370,15 @@ public class Task {
return this; return this;
} }
public Long getPriority() { public Integer getPriority() {
return priority; return priority;
} }
public void setPriority(Long priority) { public void setPriority(Integer priority) {
this.priority = priority; this.priority = priority;
} }
public Task withPriority(Long priority) { public Task withPriority(Integer priority) {
this.priority = priority; this.priority = priority;
return this; return this;
} }
@ -454,15 +461,15 @@ public class Task {
return this; return this;
} }
public Long getProcessDefinitionVersion() { public Integer getProcessDefinitionVersion() {
return processDefinitionVersion; return processDefinitionVersion;
} }
public void setProcessDefinitionVersion(Long processDefinitionVersion) { public void setProcessDefinitionVersion(Integer processDefinitionVersion) {
this.processDefinitionVersion = processDefinitionVersion; this.processDefinitionVersion = processDefinitionVersion;
} }
public Task withProcessDefinitionVersion(Long processDefinitionVersion) { public Task withProcessDefinitionVersion(Integer processDefinitionVersion) {
this.processDefinitionVersion = processDefinitionVersion; this.processDefinitionVersion = processDefinitionVersion;
return this; return this;
} }

View File

@ -0,0 +1,181 @@
package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.inteligr8.activiti.model.Datum;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"name",
"assignment",
"dueAfter",
"dueBefore",
"processDefinitionId",
"processDefinitionKey",
"sort",
"asc",
"state"
})
public class TaskFilter extends Datum {
public enum State {
@JsonProperty("all")
All,
@JsonProperty("completed")
Completed,
@JsonProperty("running")
Running
}
@JsonProperty("name")
private String name;
@JsonProperty("assignment")
private String assignment;
@JsonProperty("dueBefore")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime dueBefore;
@JsonProperty("dueAfter")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime dueAfter;
@JsonProperty("processDefinitionId")
private String processDefinitionId;
@JsonProperty("processDefinitionKey")
private String processDefinitionKey;
@JsonProperty("sort")
private String sort;
@JsonProperty("asc")
private Boolean asc;
@JsonProperty("state")
private State state;
/**
* No args constructor for use in serialization
*/
public TaskFilter() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public TaskFilter withName(String name) {
this.name = name;
return this;
}
public String getAssignment() {
return assignment;
}
public void setAssignment(String assignment) {
this.assignment = assignment;
}
public TaskFilter withAssignment(String assignment) {
this.assignment = assignment;
return this;
}
public OffsetDateTime getDueAfter() {
return dueAfter;
}
public void setDueAfter(OffsetDateTime dueAfter) {
this.dueAfter = dueAfter;
}
public TaskFilter withDueAfter(OffsetDateTime dueAfter) {
this.dueAfter = dueAfter;
return this;
}
public OffsetDateTime getDueBefore() {
return dueBefore;
}
public void setDueBefore(OffsetDateTime dueBefore) {
this.dueBefore = dueBefore;
}
public TaskFilter withDueBefore(OffsetDateTime dueBefore) {
this.dueBefore = dueBefore;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String id) {
this.processDefinitionId = id;
}
public TaskFilter withProcessDefinitionId(String id) {
this.processDefinitionId = id;
return this;
}
public String getProcessDefinitionKey() {
return processDefinitionKey;
}
public void setProcessDefinitionKey(String key) {
this.processDefinitionKey = key;
}
public TaskFilter withProcessDefinitionKey(String key) {
this.processDefinitionKey = key;
return this;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public TaskFilter withSort(String sort) {
this.sort = sort;
return this;
}
public Boolean isAsc() {
return asc;
}
public void setAsc(Boolean asc) {
this.asc = asc;
}
public TaskFilter withAsc(Boolean asc) {
this.asc = asc;
return this;
}
public State getState() {
return state;
}
public void setState(State state) {
this.state = state;
}
public TaskFilter withState(State state) {
this.state = state;
return this;
}
}

View File

@ -0,0 +1,101 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"filterId",
"filter",
"appDefinitionId",
"page",
"size"
})
public class TaskFilterRepresentation {
@JsonProperty("filterId")
private Long filterId;
@JsonProperty("filter")
private TaskFilter filter;
@JsonProperty("appDefinitionId")
private Long appDefinitionId;
@JsonProperty("page")
private Integer page;
@JsonProperty("size")
private Integer size;
/**
* No args constructor for use in serialization
*/
public TaskFilterRepresentation() {
}
public Long getFilterId() {
return filterId;
}
public void setFilterId(Long filterId) {
this.filterId = filterId;
}
public TaskFilterRepresentation withFilterId(Long filterId) {
this.filterId = filterId;
return this;
}
public TaskFilter getFilter() {
return filter;
}
public void setFilter(TaskFilter filter) {
this.filter = filter;
}
public TaskFilterRepresentation withFilter(TaskFilter filter) {
this.filter = filter;
return this;
}
public Long getAppDefinitionId() {
return appDefinitionId;
}
public void setAppDefinitionId(Long appDefinitionId) {
this.appDefinitionId = appDefinitionId;
}
public TaskFilterRepresentation withAppDefinitionId(Long appDefinitionId) {
this.appDefinitionId = appDefinitionId;
return this;
}
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public TaskFilterRepresentation withPage(Integer page) {
this.page = page;
return this;
}
public Integer getSize() {
return size;
}
public void setSize(Integer size) {
this.size = size;
}
public TaskFilterRepresentation withSize(Integer size) {
this.size = size;
return this;
}
}

View File

@ -0,0 +1,243 @@
package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"text",
"assignment",
"taskId",
"dueAfter",
"dueBefore",
"processInstanceId",
"processDefinitionId",
"appDefinitionId",
"includeProcessInstance",
"includeProcessVariables",
"includeTaskLocalVariables",
"page",
"size",
"sort",
"start",
"state"
})
public class TaskQueryRepresentation {
public enum Sort {
@JsonProperty("created-asc")
CreatedAsc,
@JsonProperty("created-desc")
CreatedDesc,
@JsonProperty("due-asc")
DueAsc,
@JsonProperty("due-desc")
DueDesc,
}
public enum State {
@JsonProperty("all")
All,
@JsonProperty("completed")
Completed,
@JsonProperty("active")
Active
}
@JsonProperty("text")
private String text;
@JsonProperty("dueBefore")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime dueBefore;
@JsonProperty("dueAfter")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime dueAfter;
@JsonProperty("taskId")
private String taskId;
@JsonProperty("processInstanceId")
private String processInstanceId;
@JsonProperty("processDefinitionId")
private String processDefinitionId;
@JsonProperty("appDefinitionId")
private Long appDefinitionId;
@JsonProperty("page")
private Integer page;
@JsonProperty("size")
private Integer size;
@JsonProperty("sort")
private Sort sort;
@JsonProperty("start")
private Integer start;
@JsonProperty("state")
private State state;
/**
* No args constructor for use in serialization
*/
public TaskQueryRepresentation() {
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public TaskQueryRepresentation withText(String text) {
this.text = text;
return this;
}
public OffsetDateTime getDueAfter() {
return dueAfter;
}
public void setDueAfter(OffsetDateTime dueAfter) {
this.dueAfter = dueAfter;
}
public TaskQueryRepresentation withDueAfter(OffsetDateTime dueAfter) {
this.dueAfter = dueAfter;
return this;
}
public OffsetDateTime getDueBefore() {
return dueBefore;
}
public void setDueBefore(OffsetDateTime dueBefore) {
this.dueBefore = dueBefore;
}
public TaskQueryRepresentation withDueBefore(OffsetDateTime dueBefore) {
this.dueBefore = dueBefore;
return this;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public TaskQueryRepresentation withTaskId(String taskId) {
this.taskId = taskId;
return this;
}
public Long getAppDefinitionId() {
return appDefinitionId;
}
public void setAppDefinitionId(Long appDefinitionId) {
this.appDefinitionId = appDefinitionId;
}
public TaskQueryRepresentation withAppDefinitionId(Long appDefinitionId) {
this.appDefinitionId = appDefinitionId;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public TaskQueryRepresentation withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public TaskQueryRepresentation withProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
return this;
}
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public TaskQueryRepresentation withPage(Integer page) {
this.page = page;
return this;
}
public Integer getSize() {
return size;
}
public void setSize(Integer size) {
this.size = size;
}
public TaskQueryRepresentation withSize(Integer size) {
this.size = size;
return this;
}
public Sort getSort() {
return sort;
}
public void setSort(Sort sort) {
this.sort = sort;
}
public TaskQueryRepresentation withSort(Sort sort) {
this.sort = sort;
return this;
}
public Integer getStart() {
return start;
}
public void setStart(Integer start) {
this.start = start;
}
public TaskQueryRepresentation withStart(Integer start) {
this.start = start;
return this;
}
public State getState() {
return state;
}
public void setState(State state) {
this.state = state;
}
public TaskQueryRepresentation withState(State state) {
this.state = state;
return this;
}
}

View File

@ -1,9 +1,13 @@
package com.inteligr8.alfresco.activiti.model; package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({ @JsonPropertyOrder({
@ -33,7 +37,8 @@ public class TaskUpdate {
@JsonProperty("descriptionSet") @JsonProperty("descriptionSet")
private Boolean descriptionSet; private Boolean descriptionSet;
@JsonProperty("dueDate") @JsonProperty("dueDate")
private String dueDate; @JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime dueDate;
@JsonProperty("dueDateSet") @JsonProperty("dueDateSet")
private Boolean dueDateSet; private Boolean dueDateSet;
@JsonProperty("formKey") @JsonProperty("formKey")
@ -111,15 +116,15 @@ public class TaskUpdate {
return this; return this;
} }
public String getDueDate() { public OffsetDateTime getDueDate() {
return dueDate; return dueDate;
} }
public void setDueDate(String dueDate) { public void setDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate; this.dueDate = dueDate;
} }
public TaskUpdate withDueDate(String dueDate) { public TaskUpdate withDueDate(OffsetDateTime dueDate) {
this.dueDate = dueDate; this.dueDate = dueDate;
return this; return this;
} }

View File

@ -0,0 +1,42 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class UserIdentifier {
@JsonProperty
private String userId;
@JsonProperty
private String email;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public UserIdentifier withUserId(String userId) {
this.userId = userId;
return this;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public UserIdentifier withEmail(String email) {
this.email = email;
return this;
}
}

View File

@ -1,25 +1,9 @@
package com.inteligr8.alfresco.activiti.model; package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({ public class Variable extends com.inteligr8.activiti.model.Variable {
"name",
"type",
"value"
})
public class Variable {
@JsonProperty("name")
private String name;
@JsonProperty("scope")
private String scope;
@JsonProperty("type")
private String type;
@JsonProperty("value")
private Object value;
/** /**
* No args constructor for use in serialization * No args constructor for use in serialization
@ -28,62 +12,7 @@ public class Variable {
} }
public Variable(String name, String scope, String type, Object value) { public Variable(String name, String scope, String type, Object value) {
this.name = name; super(name, scope, type, value);
this.scope = scope;
this.type = type;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Variable withName(String name) {
this.name = name;
return this;
}
public String getScope() {
return scope;
}
public void setScope(String scope) {
this.scope = scope;
}
public Variable withScope(String scope) {
this.scope = scope;
return this;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public Variable withType(String type) {
this.type = type;
return this;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
public Variable withValue(Object value) {
this.value = value;
return this;
} }
} }