Compare commits

...

82 Commits

Author SHA1 Message Date
ad8712fa54 v3.0.1 pom 2024-09-23 15:14:25 -04:00
e354c5be2f Merge branch 'develop' into stable 2024-09-23 15:12:16 -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
a146654ea9 Merge branch 'develop' into stable 2024-08-15 12:26:21 -04:00
962ef8f98c v3.x; upgrade to jakarta 2024-08-15 12:25:28 -04:00
44d87548bf v2.0.17 pom 2023-11-16 11:38:52 -05:00
775498670e Merge branch 'develop' into stable 2023-11-16 11:38:33 -05:00
c0916958f0 added @Consumes multipart/form-data for TemplatesApi 2023-11-16 11:34:53 -05:00
9ba16c4b3b v2.0.16 pom 2023-11-16 09:25:24 -05:00
8937539a77 Merge branch 'develop' into stable 2023-11-16 09:21:57 -05:00
09aabea4e3 int$64 is long 2023-11-16 09:20:22 -05:00
b359502c86 v2.0.15 pom 2023-11-15 20:27:38 -05:00
93c593bb41 added ModelsApi get 2023-11-15 20:16:10 -05:00
3e3cb195b3 Merge branch 'develop' into stable 2023-11-15 20:00:00 -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
6dff96f35f v2.0.14 pom 2023-11-15 16:30:13 -05:00
09d6f5b885 Merge branch 'develop' into stable 2023-11-15 16:25:43 -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
bf779a8d18 v2.0.13 pom 2023-11-13 17:35:23 -05:00
6e0e1eaa1c Merge branch 'develop' into stable 2023-11-13 17:35:08 -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
f4183d7897 v2.0.12 pom 2023-11-13 17:14:08 -05:00
cced7e76e4 Merge branch 'develop' into stable 2023-11-13 17:08:53 -05:00
14a2f74a60 added ProcessInstanceApi and ExecutionApi 2023-11-13 17:08:16 -05:00
550a01278a v2.0.11 pom 2023-06-01 10:25:17 -04:00
39abfcfc22 Merge branch 'develop' into stable 2023-06-01 10:24:56 -04:00
24ad70c25c added some key task-form API endpoints 2023-06-01 10:24:40 -04:00
31b1823b76 v2.0.10 pom 2023-05-30 13:28:28 -04:00
20a9504301 Merge branch 'develop' into stable 2023-05-30 13:28:00 -04:00
117e946460 fix APS timezone format 2023-05-30 13:27:52 -04:00
b4b57b7594 v2.0.10 pom 2023-05-30 12:46:54 -04:00
6067a2e551 Merge branch 'develop' into stable 2023-05-30 12:46:36 -04:00
cdeb325e74 fixed date/time format 2023-05-30 12:46:22 -04:00
dbbf71b692 v2.0.9 pom 2023-05-30 10:53:36 -04:00
8dd46fd1f1 Merge branch 'develop' into stable 2023-05-30 10:53:11 -04:00
85d821d70b fix task API query/filter 2023-05-30 10:52:54 -04:00
12530dd951 v2.0.8 pom 2023-05-28 11:56:05 -04:00
998d69f3b9 Merge branch 'develop' into stable 2023-05-28 11:54:12 -04:00
3625e67ce6 upgraded version dependencies 2023-05-28 11:53:59 -04:00
a358be79fb Merge branch 'develop' into stable 2023-05-27 12:31:08 -04:00
dc69d34202 added more endpoints; community endpoints 2023-05-27 12:30:26 -04:00
8d2b207886 v2.0.6 pom 2023-01-19 17:06:10 -05:00
cddf59689a Merge branch 'develop' into stable 2023-01-19 17:04:42 -05:00
a3cef80cb3 fixed request objects to allow nulls 2023-01-19 21:56:29 +00:00
fd80199050 v2.0.5 pom 2023-01-10 17:07:06 -05:00
e29b460ed4 Merge branch 'develop' into stable 2023-01-10 17:06:24 -05:00
9d031414d3 fixed missing @Path(query) for PIs and HPIs 2023-01-10 17:04:49 -05:00
a98005618a v2.0.4 pom 2022-12-02 12:18:38 -05:00
3dcdfe7415 Merge branch 'develop' into stable 2022-12-02 12:16:21 -05:00
7048e42ca1 added process instance query operations 2022-12-02 12:15:53 -05:00
1e17f5f638 Merge branch 'develop' into stable 2022-10-03 10:20:23 -04:00
8697d67b39 added back CXF/Jersey (optional) 2022-10-03 10:19:41 -04:00
7eba0541b4 Merge branch 'develop' into stable 2022-10-03 09:59:06 -04:00
f93e201329 added docs; maven central prep; removed CXF/Jersey 2022-10-03 09:57:08 -04:00
a1ea5ddf17 v2.0.1 pom 2022-05-03 17:11:54 -04:00
6596bf16b1 Merge branch 'develop' into stable 2022-05-03 17:11:23 -04:00
ef89e478cb fixed model for share-info 2022-05-03 22:10:27 +01:00
c38b82f75b added undocumented ShareApi 2022-05-03 19:03:30 +01:00
ed9fe6dfc5 using interface default impl 2022-05-03 13:07:00 -04:00
df7c41628a Merge branch 'develop' into stable 2022-05-02 23:40:01 +01:00
a14564c87f split API/client 2022-05-02 23:30:39 +01:00
96880f911f v1.2.3 pom 2022-04-18 15:50:07 -04:00
707053915f updated common-rest-api to support multipart 2022-04-18 15:48:12 -04:00
57efd8fe4e Merge branch 'develop' into stable 2022-04-18 15:46:53 -04:00
06c8bf5f2f fixed multipart handling; similar to ACS API 2022-04-18 15:44:42 -04:00
59adc9cea4 v1.2.2 pom 2022-04-07 23:49:57 -04:00
92b038f65b Merge branch 'develop' into stable 2022-04-07 23:48:42 -04:00
0365425e4f added renew param for import app 2022-04-07 23:48:34 -04:00
e917e3c5aa v1.2.1 pom 2022-03-28 15:04:40 -04:00
6853324d2d Merge branch 'develop' into stable 2022-03-28 14:48:35 -04:00
14c91eb237 fix appdef upload 2022-03-28 14:48:13 -04:00
debfb8d998 updated commons-api to v1.1.2 2021-12-10 17:15:50 -05:00
2c77100246 Merge branch 'develop' into stable 2021-12-10 17:15:42 -05:00
2e7f1f771e build/test improvements 2021-12-10 17:14:43 -05:00
359cb7a97d API corrections 2021-12-10 17:14:13 -05:00
da7cbdc30e v1.2.x pom 2021-12-10 10:08:48 -05:00
ca083dbc42 RAML and classifier updates 2021-12-10 10:08:42 -05:00
9f4c18d379 added more API defs 2021-12-10 10:07:29 -05:00
102 changed files with 8430 additions and 875 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}

269
pom.xml
View File

@@ -2,121 +2,81 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.inteligr8.alfresco</groupId>
<artifactId>aps-public-rest-api</artifactId>
<version>1.1.3</version>
<name>Alfresco Process Services ReST API Client for Java</name>
<version>3.0.1</version>
<name>Alfresco Process Services ReST API for Java</name>
<description>An APS API library for building REST API clients that support both the CXF and Jersey frameworks</description>
<url>https://bitbucket.org/inteligr8/aps-public-rest-api</url>
<licenses>
<license>
<name>GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007</name>
<url>https://www.gnu.org/licenses/lgpl-3.0.txt</url>
</license>
</licenses>
<scm>
<connection>scm:git:https://bitbucket.org/inteligr8/aps-public-rest-api.git</connection>
<developerConnection>scm:git:git@bitbucket.org:inteligr8/aps-public-rest-api.git</developerConnection>
<url>https://bitbucket.org/inteligr8/aps-public-rest-api</url>
</scm>
<organization>
<name>Inteligr8</name>
<url>https://www.inteligr8.com</url>
</organization>
<developers>
<developer>
<id>brian.long</id>
<name>Brian Long</name>
<email>brian@inteligr8.com</email>
<url>https://twitter.com/brianmlong</url>
</developer>
</developers>
<properties>
<project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<!-- If you want to build for your specific version, point to your own
installation -->
<aps.baseUrl>https://activiti.alfresco.com</aps.baseUrl>
<junit.version>5.7.2</junit.version>
<spring.version>5.2.14.RELEASE</spring.version>
<jersey.version>2.34</jersey.version>
<cxf.version>3.3.2</cxf.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<maven.compiler.release>11</maven.compiler.release>
<maven.compiler.debuglevel>lines,vars,source</maven.compiler.debuglevel>
<jersey.version>3.1.8</jersey.version>
<cxf.version>4.0.2</cxf.version>
<jackson.version>2.17.2</jackson.version>
</properties>
<dependencies>
<dependency>
<groupId>com.inteligr8</groupId>
<artifactId>common-rest-api</artifactId>
<version>1.1.1</version>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-proxy-client</artifactId>
<version>${jersey.version}</version>
<scope>provided</scope>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>${cxf.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<artifactId>jersey-media-multipart</artifactId>
<version>${jersey.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.9</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M5</version>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>javadoc</id>
<phase>package</phase>
<goals><goal>jar</goal></goals>
<configuration>
<show>public</show>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- Implement when descriptor is available -->
@@ -128,6 +88,7 @@
<id>raml-codegen</id>
<properties>
<aps.ramlUrl>${aps.baseUrl}/activiti-app/raml/activiti.raml</aps.ramlUrl>
<basePackage>com.inteligr8.alfresco.activiti</basePackage>
</properties>
<build>
<plugins>
@@ -137,31 +98,13 @@
<configuration>
<filesets>
<fileset>
<directory>src/main/java</directory>
<directory>src/gen/java</directory>
<includes>
<include>com/inteligr8/alfresco/activiti/raml/**/*</include>
<include>**/*</include>
</includes>
</fileset>
</filesets>
</configuration>
<executions>
<execution>
<id>delete-extras</id>
<phase>process-sources</phase>
<goals><goal>clean</goal></goals>
<configuration>
<excludeDefaultDirectories>true</excludeDefaultDirectories>
<filesets>
<fileset>
<directory>${project.build.directory}/ramlgen/java</directory>
<includes>
<include>com/inteligr8/alfresco/activiti/raml/**/*__*.java</include>
</includes>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.googlecode.maven-download-plugin</groupId>
@@ -184,7 +127,7 @@
<plugin>
<groupId>com.inteligr8</groupId>
<artifactId>regex-maven-plugin</artifactId>
<version>1.0.2</version>
<version>1.0.5</version>
<executions>
<execution>
<id>fix-displayName</id>
@@ -241,22 +184,23 @@
</executions>
</plugin>
<plugin>
<groupId>org.mule.raml.codegen</groupId>
<artifactId>raml-client-generator-maven-plugin</artifactId>
<version>0.11</version>
<groupId>org.raml.jaxrs</groupId>
<artifactId>raml-to-jaxrs-maven-plugin</artifactId>
<version>3.0.7</version>
<executions>
<execution>
<id>raml-aps-codegen</id>
<id>raml-codegen</id>
<phase>generate-sources</phase>
<goals>
<goal>generate-client</goal>
<goal>generate</goal>
</goals>
<configuration>
<basePackage>com.inteligr8.alfresco.activiti.raml</basePackage>
<resourcePackage>${basePackage}.resource</resourcePackage>
<modelPackage>${basePackage}.model</modelPackage>
<supportPackage>${basePackage}.support</supportPackage>
<generateTypesWith>jackson</generateTypesWith>
<ramlFile>${project.build.directory}/regexed/activiti.raml</ramlFile>
<includeAdditionalProperties>false</includeAdditionalProperties>
<outputDir>${project.build.directory}/ramlgen/java</outputDir>
<outputVersion>v2</outputVersion>
<outputDirectory>${basedir}/src/gen/java</outputDirectory>
</configuration>
</execution>
</executions>
@@ -264,6 +208,68 @@
</plugins>
</build>
</profile>
<profile>
<id>ossrh-release</id>
<properties>
<maven.deploy.skip>true</maven.deploy.skip>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>source</id>
<phase>package</phase>
<goals><goal>jar-no-fork</goal></goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.2</version>
<executions>
<execution>
<id>javadoc</id>
<phase>package</phase>
<goals><goal>jar</goal></goals>
<configuration>
<show>public</show>
<additionalJOption>-Xdoclint:none</additionalJOption>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign</id>
<phase>verify</phase>
<goals><goal>sign</goal></goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.13</version>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
<executions>
<execution>
<id>ossrh-deploy</id>
<phase>deploy</phase>
<goals><goal>deploy</goal></goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<pluginRepositories>
@@ -271,20 +277,5 @@
<id>mulesoft-releases</id>
<url>https://repository.mulesoft.org/releases</url>
</pluginRepository>
<pluginRepository>
<id>inteligr8-public</id>
<url>https://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</pluginRepository>
</pluginRepositories>
<distributionManagement>
<repository>
<id>inteligr8-releases</id>
<url>https://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
</repository>
<snapshotRepository>
<id>inteligr8-snapshots</id>
<url>https://repos.inteligr8.com/nexus/repository/inteligr8-snapshots</url>
</snapshotRepository>
</distributionManagement>
</project>

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,163 @@
/*
* 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 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;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ProcessInstanceAction.ActionValue;
import com.inteligr8.activiti.model.Job;
import com.inteligr8.activiti.model.ResultList;
public interface BaseJobsApi {
@GET
@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);
default void executeJob(
String jobId,
ActionValue action) {
this.executeJob(jobId, new ProcessInstanceAction(action));
}
default void executeJob(
String jobId) {
this.executeJob(jobId, new ProcessInstanceAction(ActionValue.Execute));
}
@GET
@Path("{jobId}/execution-stacktrace")
@Produces({ MediaType.APPLICATION_OCTET_STREAM })
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);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("executionId") String executionId,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("withRetriesLeft") Boolean withRetriesLeft,
@QueryParam("executable") Boolean executable,
@QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") String sort);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("executionId") String executionId,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("withRetriesLeft") Boolean withRetriesLeft,
@QueryParam("executable") Boolean executable,
@QueryParam("withException") Boolean withException,
@QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("exceptionMessage") String exceptionMessage,
@QueryParam("withoutTenantId") Boolean withoutTenatId,
@QueryParam("sort") String sort);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("executionId") String executionId,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("withRetriesLeft") Boolean withRetriesLeft,
@QueryParam("executable") Boolean executable,
@QueryParam("withException") Boolean withException,
@QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("exceptionMessage") String exceptionMessage,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") String sort);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@QueryParam("id") String jobId,
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("executionId") String executionId,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("withRetriesLeft") Boolean withRetriesLeft,
@QueryParam("executable") Boolean executable,
@QueryParam("withException") Boolean withException,
@QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("exceptionMessage") String exceptionMessage,
@QueryParam("withoutTenantId") Boolean withoutTenatId,
@QueryParam("sort") String sort);
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<Job> queryJobs(
@QueryParam("id") String jobId,
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("executionId") String executionId,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("withRetriesLeft") Boolean withRetriesLeft,
@QueryParam("executable") Boolean executable,
@QueryParam("withException") Boolean withException,
@QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("exceptionMessage") String exceptionMessage,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") String sort);
}

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,225 @@
/*
* 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.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 com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ProcessInstanceAction.ActionValue;
import com.inteligr8.activiti.model.Execution;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SignalEventAction;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.Variable;
@Path("/api/runtime/executions")
public interface ExecutionApi {
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);
default Execution signal(
String processInstanceId,
List<Variable> variables) {
ProcessInstanceAction action = new ProcessInstanceAction(ActionValue.Signal);
if (variables != null && !variables.isEmpty())
action.setVariables(variables);
return this.execute(processInstanceId, action);
}
default Execution signalReceived(
String processInstanceId,
String signal,
List<Variable> variables) {
ProcessInstanceAction action = new SignalEventAction(ActionValue.SignalReceived, signal);
if (variables != null && !variables.isEmpty())
action.setVariables(variables);
return this.execute(processInstanceId, action);
}
default Execution messageReceived(
String processInstanceId,
String message,
List<Variable> variables) {
ProcessInstanceAction action = new SignalEventAction(ActionValue.MessageReceived, message);
if (variables != null && !variables.isEmpty())
action.setVariables(variables);
return this.execute(processInstanceId, action);
}
@PUT
@Path("{executionId}")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
Execution execute(
@PathParam("executionId") String executionId,
ProcessInstanceAction action);
default ResultList<Execution> getWithoutTenant(
String executionId,
String activityId,
String processDefinitionKey,
String processDefinitionId,
String processInstanceId,
String messageEventSubscriptionName,
String signalEventSubscriptionName,
String parentId,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(executionId, activityId, processDefinitionKey, processDefinitionId, processInstanceId,
messageEventSubscriptionName, signalEventSubscriptionName, parentId, null, null, true,
sort, sortOrder, pageStart, pageSize);
}
default ResultList<Execution> getByTenant(
String executionId,
String activityId,
String processDefinitionKey,
String processDefinitionId,
String processInstanceId,
String messageEventSubscriptionName,
String signalEventSubscriptionName,
String parentId,
String tenantId,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(executionId, activityId, processDefinitionKey, processDefinitionId, processInstanceId,
messageEventSubscriptionName, signalEventSubscriptionName, parentId, tenantId, null, false,
sort, sortOrder, pageStart, pageSize);
}
default ResultList<Execution> getByTenants(
String executionId,
String activityId,
String processDefinitionKey,
String processDefinitionId,
String processInstanceId,
String messageEventSubscriptionName,
String signalEventSubscriptionName,
String parentId,
String tenantIdLike,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(executionId, activityId, processDefinitionKey, processDefinitionId, processInstanceId,
messageEventSubscriptionName, signalEventSubscriptionName, parentId, null, tenantIdLike, false,
sort, sortOrder, pageStart, pageSize);
}
@GET
@Produces({ MediaType.APPLICATION_JSON })
ResultList<Execution> getByAny(
@QueryParam("id") String executionId,
@QueryParam("activityId") String activityId,
@QueryParam("processDefinitionKey") String processDefinitionKey,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("processInstanceId") String processInstanceId,
@QueryParam("messageEventSubscriptionName") String messageEventSubscriptionName,
@QueryParam("signalEventSubscriptionName") String signalEventSubscriptionName,
@QueryParam("parentId") String parentId,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("withoutTenantId") Boolean withoutTenantId,
@QueryParam("sort") Sort sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@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);
default void updateVariable(
String executionId,
Variable variable) {
this.updateVariable(executionId, variable.getName(), variable);
}
@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,136 @@
/*
* 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.ProcessDefinitionAction;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.ProcessDefinitionAction.ActionValue;
import com.inteligr8.alfresco.activiti.model.ProcessDefinition;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;
import jakarta.ws.rs.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);
default void activate(
String processDefinitionId) {
this.act(processDefinitionId, new ProcessDefinitionAction(ActionValue.Activate));
}
default void suspend(
String processDefinitionId) {
this.act(processDefinitionId, new ProcessDefinitionAction(ActionValue.Suspend));
}
@PUT
@Path("{processDefinitionId}")
@Consumes({ MediaType.APPLICATION_JSON })
void act(
@PathParam("processDefinitionId") String processDefinitionId,
ProcessDefinitionAction action);
default ResultList<ProcessInstance> getByTenant(
String category,
String categoryLike,
String categoryNotEquals,
String key,
String keyLike,
String name,
String nameLike,
String resourceName,
String resourceNameLike,
String version,
Boolean suspended,
boolean latest,
String deploymentId,
String startableByUser,
String tenantId,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(category, categoryLike, categoryNotEquals, key, keyLike,
name, nameLike, resourceName, resourceNameLike, version,
suspended, latest, deploymentId, startableByUser,
tenantId, null, sort, sortOrder, pageStart, pageSize);
}
default ResultList<ProcessInstance> getByTenants(
String category,
String categoryLike,
String categoryNotEquals,
String key,
String keyLike,
String name,
String nameLike,
String resourceName,
String resourceNameLike,
String version,
Boolean suspended,
boolean latest,
String deploymentId,
String startableByUser,
String tenantIdLike,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(category, categoryLike, categoryNotEquals, key, keyLike,
name, nameLike, resourceName, resourceNameLike, version,
suspended, latest, deploymentId, startableByUser,
null, tenantIdLike, sort, sortOrder, pageStart, pageSize);
}
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<ProcessInstance> getByAny(
@QueryParam("category") String category,
@QueryParam("categoryLike") String categoryLike,
@QueryParam("categoryNotEquals") String categoryNotEquals,
@QueryParam("key") String key,
@QueryParam("keyLike") String keyLike,
@QueryParam("name") String name,
@QueryParam("nameLike") String nameLike,
@QueryParam("resourceName") String resourceName,
@QueryParam("resourceNameLike") String resourceNameLike,
@QueryParam("version") String version,
@QueryParam("suspended") Boolean suspended,
@QueryParam("latest") Boolean latest,
@QueryParam("deploymentId") String deploymentId,
@QueryParam("startableByUser") String startableByUser,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") Sort sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
}

View File

@@ -0,0 +1,214 @@
/*
* 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 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 com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ProcessInstanceAction.ActionValue;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.Variable;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;
@Path("/api/runtime/process-instances")
public interface ProcessInstanceApi {
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);
default void activate(
String processInstanceId) {
this.act(processInstanceId, new ProcessInstanceAction(ActionValue.Activate));
}
default void suspend(
String processInstanceId) {
this.act(processInstanceId, new ProcessInstanceAction(ActionValue.Suspend));
}
@PUT
@Path("{processInstanceId}")
@Consumes({ MediaType.APPLICATION_JSON })
void act(
@PathParam("processInstanceId") String processInstanceId,
ProcessInstanceAction action);
default ResultList<ProcessInstance> getWithoutTenant(
String processInstanceId,
String processDefinitionKey,
String processDefinitionId,
String businessKey,
String involvedUser,
Boolean suspended,
String superProcessInstanceId,
String subProcessInstanceId,
Boolean excludeSubprocesses,
Boolean includeProcessVariables,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(processInstanceId, processDefinitionKey, processDefinitionId,
businessKey, involvedUser, suspended, superProcessInstanceId, subProcessInstanceId,
excludeSubprocesses, includeProcessVariables, null, null, true,
sort, sortOrder, pageStart, pageSize);
}
default ResultList<ProcessInstance> getByTenant(
String processInstanceId,
String processDefinitionKey,
String processDefinitionId,
String businessKey,
String involvedUser,
Boolean suspended,
String superProcessInstanceId,
String subProcessInstanceId,
Boolean excludeSubprocesses,
Boolean includeProcessVariables,
String tenantId,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(processInstanceId, processDefinitionKey, processDefinitionId,
businessKey, involvedUser, suspended, superProcessInstanceId, subProcessInstanceId,
excludeSubprocesses, includeProcessVariables, tenantId, null, false,
sort, sortOrder, pageStart, pageSize);
}
default ResultList<ProcessInstance> getByTenants(
String processInstanceId,
String processDefinitionKey,
String processDefinitionId,
String businessKey,
String involvedUser,
Boolean suspended,
String superProcessInstanceId,
String subProcessInstanceId,
Boolean excludeSubprocesses,
Boolean includeProcessVariables,
String tenantIdLike,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(processInstanceId, processDefinitionKey, processDefinitionId,
businessKey, involvedUser, suspended, superProcessInstanceId, subProcessInstanceId,
excludeSubprocesses, includeProcessVariables, null, tenantIdLike, false,
sort, sortOrder, pageStart, pageSize);
}
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<ProcessInstance> getByAny(
@QueryParam("id") String processInstanceId,
@QueryParam("processDefinitionKey") String processDefinitionKey,
@QueryParam("processDefinitionId") String processDefinitionId,
@QueryParam("businessKey") String businessKey,
@QueryParam("involvedUser") String involvedUser,
@QueryParam("suspended") Boolean suspended,
@QueryParam("superProcessInstanceId") String superProcessInstanceId,
@QueryParam("subProcessInstanceId") String subProcessInstanceId,
@QueryParam("excludeSubprocesses") Boolean excludeSubprocesses,
@QueryParam("includeProcessVariables") Boolean includeProcessVariables,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("withoutTenantId") Boolean withoutTenantId,
@QueryParam("sort") Sort sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@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);
default void updateVariable(
String processInstanceId,
Variable variable) {
this.updateVariable(processInstanceId, variable.getName(), variable);
}
@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

@@ -0,0 +1,33 @@
package com.inteligr8.activiti.model;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Datum {
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
public Datum withAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
return this;
}
}

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,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

@@ -0,0 +1,74 @@
package com.inteligr8.activiti.model;
import java.util.LinkedList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ResultList<T> extends Datum {
@JsonProperty("data")
private List<T> data = new LinkedList<T>();
@JsonProperty("size")
private Integer size;
@JsonProperty("total")
private Integer total;
@JsonProperty("start")
private Integer start;
@JsonProperty("sort")
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() {
return size;
}
public void setSize(Integer size) {
this.size = size;
}
public Integer getTotal() {
return total;
}
public void setTotal(Integer total) {
this.total = total;
}
public Integer getStart() {
return start;
}
public void setStart(Integer start) {
this.start = start;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
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

@@ -1,165 +0,0 @@
package com.inteligr8.alfresco.activiti;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import com.inteligr8.rs.ClientCxfConfiguration;
import com.inteligr8.rs.ClientJerseyConfiguration;
/**
* This class provides a POJO &amp; Spring-based implementation of the
* ClientConfiguration interface. You can use it outside of the Spring
* context, but you will need the spring-context and spring-beans libraries in
* your non-Spring application.
*
* @author brian@inteligr8.com
*/
@Configuration
@ComponentScan
public class ApsClientConfiguration implements ClientCxfConfiguration, ClientJerseyConfiguration {
@Value("${process.service.baseUrl:http://localhost:8080/activiti-app}")
private String baseUrl;
@Value("${process.service.security.basicAuth.username:admin@app.activiti.com}")
private String basicAuthUsername;
@Value("${process.service.security.basicAuth.password:admin}")
private String basicAuthPassword;
@Value("${process.service.security.bearerToken:#{null}}")
private String bearerToken;
@Value("${process.service.security.oauth.tokenUrl:#{null}}")
private String oAuthTokenUrl;
@Value("${process.service.security.oauth.clientId:#{null}}")
private String oAuthClientId;
@Value("${process.service.security.oauth.clientSecret:#{null}}")
private String oAuthClientSecret;
@Value("${process.service.security.oauth.authCode:#{null}}")
private String oAuthAuthCode;
@Value("${process.service.security.oauth.authRedirectUri:#{null}}")
private String oAuthAuthRedirectUri;
@Value("${process.service.security.oauth.grantUsername:#{null}}")
private String oAuthUsername;
@Value("${process.service.security.oauth.grantPassword:#{null}}")
private String oAuthPassword;
@Value("${process.service.cxf.defaultBusEnabled:true}")
private boolean defaultBusEnabled;
@Value("${process.service.jersey.putBodyRequired:true}")
private boolean putBodyRequired;
public String getBaseUrl() {
return this.baseUrl;
}
public void setBaseUrl(String baseUrl) {
this.baseUrl = baseUrl;
}
public String getBasicAuthUsername() {
return this.basicAuthUsername;
}
public void setBasicAuthUsername(String basicAuthUsername) {
this.basicAuthUsername = basicAuthUsername;
}
public String getBasicAuthPassword() {
return this.basicAuthPassword;
}
public void setBasicAuthPassword(String basicAuthPassword) {
this.basicAuthPassword = basicAuthPassword;
}
public String getBearerToken() {
return this.bearerToken;
}
public void setBearerToken(String bearerToken) {
this.bearerToken = bearerToken;
}
public String getOAuthTokenUrl() {
return this.oAuthTokenUrl;
}
public void setOAuthTokenUrl(String oAuthTokenUrl) {
this.oAuthTokenUrl = oAuthTokenUrl;
}
public String getOAuthClientId() {
return this.oAuthClientId;
}
public void setOAuthClientId(String oAuthClientId) {
this.oAuthClientId = oAuthClientId;
}
public String getOAuthClientSecret() {
return this.oAuthClientSecret;
}
public void setOAuthClientSecret(String oAuthClientSecret) {
this.oAuthClientSecret = oAuthClientSecret;
}
public String getOAuthAuthCode() {
return this.oAuthAuthCode;
}
public void setOAuthAuthCode(String oAuthAuthCode) {
this.oAuthAuthCode = oAuthAuthCode;
}
public String getOAuthAuthRedirectUri() {
return this.oAuthAuthRedirectUri;
}
public void setOAuthAuthRedirectUri(String oAuthAuthRedirectUri) {
this.oAuthAuthRedirectUri = oAuthAuthRedirectUri;
}
public String getOAuthUsername() {
return this.oAuthUsername;
}
public void setOAuthUsername(String oAuthUsername) {
this.oAuthUsername = oAuthUsername;
}
public String getOAuthPassword() {
return this.oAuthPassword;
}
public void setOAuthPassword(String oAuthPassword) {
this.oAuthPassword = oAuthPassword;
}
public boolean isDefaultBusEnabled() {
return this.defaultBusEnabled;
}
public void setDefaultBusEnabled(boolean defaultBusEnabled) {
this.defaultBusEnabled = defaultBusEnabled;
}
public boolean isPutBodyRequired() {
return this.putBodyRequired;
}
public void setPutBodyRequired(boolean putBodyRequired) {
this.putBodyRequired = putBodyRequired;
}
}

View File

@@ -1,43 +0,0 @@
package com.inteligr8.alfresco.activiti;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import com.inteligr8.rs.ClientCxfConfiguration;
import com.inteligr8.rs.ClientCxfImpl;
/**
* This class provides a POJO &amp; Spring-based implementation of the Apache
* CXF client. You can use it outside of the Spring context, but you will need
* the spring-context and spring-beans libraries in your non-Spring
* application.
*
* @author brian@inteligr8.com
*/
@Component("aps.client.cxf")
@Lazy
public class ApsClientCxfImpl extends ClientCxfImpl {
@Autowired
private ApsClientConfiguration config;
/**
* This constructor is for Spring use
*/
protected ApsClientCxfImpl() {
}
/**
* This constructor is for POJO use
*/
public ApsClientCxfImpl(ApsClientConfiguration config) {
this.config = config;
}
@Override
protected ClientCxfConfiguration getConfig() {
return this.config;
}
}

View File

@@ -1,43 +0,0 @@
package com.inteligr8.alfresco.activiti;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import com.inteligr8.rs.ClientJerseyConfiguration;
import com.inteligr8.rs.ClientJerseyImpl;
/**
* This class provides a POJO &amp; Spring-based implementation of the Apache
* CXF client. You can use it outside of the Spring context, but you will need
* the spring-context and spring-beans libraries in your non-Spring
* application.
*
* @author brian@inteligr8.com
*/
@Component("aps.client.jersey")
@Lazy
public class ApsClientJerseyImpl extends ClientJerseyImpl {
@Autowired
private ApsClientConfiguration config;
/**
* This constructor is for Spring use
*/
protected ApsClientJerseyImpl() {
}
/**
* This constructor is for POJO use
*/
public ApsClientJerseyImpl(ApsClientConfiguration config) {
this.config = config;
}
@Override
protected ClientJerseyConfiguration getConfig() {
return this.config;
}
}

View File

@@ -1,72 +1,83 @@
/*
* 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.activiti.ActivitiPublicRestApi;
import com.inteligr8.alfresco.activiti.api.AdminApi;
import com.inteligr8.alfresco.activiti.api.AppDefinitionsApi;
import com.inteligr8.alfresco.activiti.api.AppVersionApi;
import com.inteligr8.alfresco.activiti.api.HistoricApi;
import com.inteligr8.alfresco.activiti.api.ModelsApi;
import com.inteligr8.alfresco.activiti.api.ProcessInstancesApi;
import com.inteligr8.alfresco.activiti.api.ProfileApi;
import com.inteligr8.alfresco.activiti.api.ShareApi;
import com.inteligr8.alfresco.activiti.api.TasksApi;
import com.inteligr8.rs.AuthorizationFilter;
import com.inteligr8.rs.Client;
import com.inteligr8.rs.ClientConfiguration;
import com.inteligr8.alfresco.activiti.api.TemplatesApi;
/**
* This class serves as the base implementation for the JAX-RS API for the APS
* Public ReST API.
* This interface consolidates the JAX-RS APIs available in the APS Public
* ReST API.
*
* @author brian@inteligr8.com
*/
public abstract class ApsPublicRestApi {
public interface ApsPublicRestApi extends ActivitiPublicRestApi {
abstract ClientConfiguration getConfig();
<T> T getApi(Class<T> apiClass);
abstract Client getClient();
protected final <T> T getApi(Class<T> apiClass) {
return this.getApi(null, apiClass);
}
protected <T> T getApi(AuthorizationFilter authFilter, Class<T> apiClass) {
return this.getClient().getApi(authFilter, apiClass);
}
public AdminApi getAdminApi() {
default AdminApi getAdminApi() {
return this.getApi(AdminApi.class);
}
public AdminApi getAdminApi(AuthorizationFilter authFilter) {
return this.getApi(authFilter, AdminApi.class);
default AppDefinitionsApi getAppDefinitionsApi() {
return this.getApi(AppDefinitionsApi.class);
}
public AppVersionApi getAppVersionApi() {
default AppVersionApi getAppVersionApi() {
return this.getApi(AppVersionApi.class);
}
default HistoricApi getHistoricApi() {
return this.getApi(HistoricApi.class);
}
public AppVersionApi getAppVersionApi(AuthorizationFilter authFilter) {
return this.getApi(authFilter, AppVersionApi.class);
default ModelsApi getModelsApi() {
return this.getApi(ModelsApi.class);
}
public ProcessInstancesApi getProcessInstancesApi() {
default ProcessInstancesApi getProcessInstancesApi() {
return this.getApi(ProcessInstancesApi.class);
}
public ProcessInstancesApi getProcessInstancesApi(AuthorizationFilter authFilter) {
return this.getApi(authFilter, ProcessInstancesApi.class);
}
public ProfileApi getProfileApi() {
default ProfileApi getProfileApi() {
return this.getApi(ProfileApi.class);
}
public ProfileApi getProfileApi(AuthorizationFilter authFilter) {
return this.getApi(authFilter, ProfileApi.class);
}
public TasksApi getTasksApi() {
default TasksApi getTasksApi() {
return this.getApi(TasksApi.class);
}
public TasksApi getTasksApi(AuthorizationFilter authFilter) {
return this.getApi(authFilter, TasksApi.class);
/**
* The following are not part of the official open source or enterprise APIs
*/
default ShareApi getShareApi() {
return this.getApi(ShareApi.class);
}
default TemplatesApi getTemplatesApi() {
return this.getApi(TemplatesApi.class);
}
}

View File

@@ -1,46 +0,0 @@
package com.inteligr8.alfresco.activiti;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import com.inteligr8.rs.Client;
import com.inteligr8.rs.ClientConfiguration;
/**
* This class provides the Apache CXF client to the JAX-RS API for the APS
* Public ReST API.
*
* @author brian@inteligr8.com
*/
@Component("aps.api.cxf")
@Lazy
public class ApsPublicRestApiCxfImpl extends ApsPublicRestApi {
@Autowired
private ApsClientCxfImpl client;
/**
* This constructor is for Spring use
*/
protected ApsPublicRestApiCxfImpl() {
}
/**
* This constructor is for POJO use
*/
public ApsPublicRestApiCxfImpl(ApsClientCxfImpl client) {
this.client = client;
}
@Override
ClientConfiguration getConfig() {
return this.client.getConfig();
}
@Override
Client getClient() {
return this.client;
}
}

View File

@@ -1,46 +0,0 @@
package com.inteligr8.alfresco.activiti;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import com.inteligr8.rs.Client;
import com.inteligr8.rs.ClientConfiguration;
/**
* This class provides the Jersey client to the JAX-RS API for the APS Public
* ReST API.
*
* @author brian@inteligr8.com
*/
@Component("aps.api.jersey")
@Lazy
public class ApsPublicRestApiJerseyImpl extends ApsPublicRestApi {
@Autowired
private ApsClientJerseyImpl client;
/**
* This constructor is for Spring use
*/
protected ApsPublicRestApiJerseyImpl() {
}
/**
* This constructor is for POJO use
*/
public ApsPublicRestApiJerseyImpl(ApsClientJerseyImpl client) {
this.client = client;
}
@Override
ClientConfiguration getConfig() {
return this.client.getConfig();
}
@Override
Client getClient() {
return this.client;
}
}

View File

@@ -0,0 +1,23 @@
package com.inteligr8.alfresco.activiti;
import com.inteligr8.alfresco.activiti.api.AppDefinitionsCxfApi;
import com.inteligr8.alfresco.activiti.api.TemplatesCxfApi;
/**
* This interface appends Apache CXF implementation specific methods to the
* JAX-RS API of the APS Public ReST API. This is due to a lack of multi-part
* in the JAX-RS specification.
*
* @author brian@inteligr8.com
*/
public interface ApsPublicRestCxfApi extends ApsPublicRestApi {
default AppDefinitionsCxfApi getAppDefinitionsCxfApi() {
return this.getApi(AppDefinitionsCxfApi.class);
}
default TemplatesCxfApi getTemplatesCxfApi() {
return this.getApi(TemplatesCxfApi.class);
}
}

View File

@@ -0,0 +1,23 @@
package com.inteligr8.alfresco.activiti;
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
* API of the APS Public ReST API. This is due to a lack of multi-part in the
* JAX-RS specification.
*
* @author brian@inteligr8.com
*/
public interface ApsPublicRestJerseyApi extends ApsPublicRestApi {
default AppDefinitionsJerseyApi getAppDefinitionsJerseyApi() {
return this.getApi(AppDefinitionsJerseyApi.class);
}
default TemplatesJerseyApi getTemplatesJerseyApi() {
return this.getApi(TemplatesJerseyApi.class);
}
}

View File

@@ -1,22 +1,96 @@
/*
* 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 java.util.List;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
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;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.Group;
import com.inteligr8.alfresco.activiti.model.GroupLight;
import com.inteligr8.alfresco.activiti.model.Tenant;
import com.inteligr8.alfresco.activiti.model.UserLight;
@Path("/api/enterprise/admin")
public interface AdminApi {
@GET
@Path("/tenants")
@Consumes({ "application/json" })
@Produces({ "application/json" })
@Produces({ MediaType.APPLICATION_JSON })
public List<Tenant> getTenants();
@GET
@Path("/groups")
@Produces({ MediaType.APPLICATION_JSON })
public List<GroupLight> getGroups(
@QueryParam("tenantId") Long tenantId,
@QueryParam("functional") Boolean functional,
@QueryParam("summary") Boolean summary);
@POST
@Path("/groups")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
public GroupLight createGroup(
Group group);
@GET
@Path("/groups/{groupId}")
@Produces({ MediaType.APPLICATION_JSON })
public Group getGroup(
@PathParam("groupId") long groupId,
@QueryParam("includeAllUsers") Boolean includeAllUsers,
@QueryParam("summary") Boolean summary);
@GET
@Path("/groups/${groupId}/related-groups")
@Produces({ MediaType.APPLICATION_JSON })
public List<GroupLight> getRelatedGroups(
@PathParam("groupId") long groupId);
@POST
@Path("/groups/${groupId}/related-groups/${relatedGroupId}")
@Produces({ MediaType.APPLICATION_JSON })
public void addRelatedGroup(
@PathParam("groupId") long groupId,
@PathParam("relatedGroupId") long relatedGroupId,
@PathParam("type") String type);
@DELETE
@Path("/groups/${groupId}/related-groups/${relatedGroupId}")
@Produces({ MediaType.APPLICATION_JSON })
public void deleteRelatedGroup(
@PathParam("groupId") long groupId,
@PathParam("relatedGroupId") long relatedGroupId);
@GET
@Path("groups/{groupId}/users")
@Produces({ MediaType.APPLICATION_JSON })
ResultList<UserLight> getMembers(
@PathParam("groupId") long groupId,
@QueryParam("filter") String filter,
@QueryParam("page") Integer page,
@QueryParam("pageSize") Integer pageSize);
}

View File

@@ -0,0 +1,70 @@
/*
* 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 java.io.File;
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;
import com.inteligr8.alfresco.activiti.model.AppDefinitionPublishRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionSaveRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation;
@Path("/api/enterprise/app-definitions")
public interface AppDefinitionsApi {
@GET
@Path("{modelId}")
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionRepresentation get(
@PathParam("modelId") Long appId);
@PUT
@Path("{modelId}")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionUpdateResultRepresentation update(
@PathParam("modelId") Long appId,
AppDefinitionSaveRepresentation updatedModel);
@DELETE
@Path("{appDefinitionId}")
void delete(
@PathParam("appDefinitionId") Long appId);
@GET
@Path("{modelId}/export")
@Produces({ MediaType.APPLICATION_JSON, "application/zip" })
File export(
@PathParam("modelId") Long appId);
@POST
@Path("{modelId}/publish")
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionUpdateResultRepresentation publish(
@PathParam("modelId") Long appId,
AppDefinitionPublishRepresentation publishModel);
}

View File

@@ -0,0 +1,51 @@
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.AppDefinitionRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation;
import com.inteligr8.alfresco.activiti.model.FileMultipartCxf;
@Path("/api/enterprise/app-definitions")
public interface AppDefinitionsCxfApi {
@POST
@Path("import")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionRepresentation import_(
FileMultipartCxf body,
@QueryParam("renewIdmEntries") Boolean renewIdmEntries);
@POST
@Path("{modelId}/import")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionRepresentation import_(
@PathParam("modelId") Long appId,
FileMultipartCxf body,
@QueryParam("renewIdmEntries") Boolean renewIdmEntries);
@POST
@Path("publish-app")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionUpdateResultRepresentation publishApp(
FileMultipartCxf body);
@POST
@Path("{modelId}/publish-app")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionUpdateResultRepresentation publishApp(
@PathParam("modelId") Long appId,
FileMultipartCxf body);
}

View File

@@ -0,0 +1,51 @@
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.AppDefinitionRepresentation;
import com.inteligr8.alfresco.activiti.model.AppDefinitionUpdateResultRepresentation;
import com.inteligr8.alfresco.activiti.model.FileMultipartJersey;
@Path("/api/enterprise/app-definitions")
public interface AppDefinitionsJerseyApi {
@POST
@Path("import")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionRepresentation importApp(
FileMultipartJersey file,
@QueryParam("renewIdmEntries") Boolean renewIdmEntries);
@POST
@Path("{modelId}/import")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionRepresentation importApp(
@PathParam("modelId") Long appId,
FileMultipartJersey file,
@QueryParam("renewIdmEntries") Boolean renewIdmEntries);
@POST
@Path("publish-app")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionUpdateResultRepresentation publishApp(
FileMultipartJersey file);
@POST
@Path("{modelId}/publish-app")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON })
AppDefinitionUpdateResultRepresentation publishApp(
@PathParam("modelId") Long appId,
FileMultipartJersey file);
}

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({ "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") Integer tenantId,
@QueryParam("latest") Boolean latest,
@QueryParam("start") Integer start,
@QueryParam("sort") String sort,
@QueryParam("order") String order,
@QueryParam("size") Integer size);
}

View File

@@ -1,9 +1,22 @@
/*
* 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 javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import com.inteligr8.alfresco.activiti.model.AppVersion;

View File

@@ -0,0 +1,45 @@
/*
* 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.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.GroupLight;
import com.inteligr8.alfresco.activiti.model.UserLight;
@Path("/api/enterprise/groups")
public interface GroupsApi {
@GET
@Produces({ "application/json" })
ResultList<GroupLight> query(
@QueryParam("filter") String filter,
@QueryParam("groupId") Long groupId,
@QueryParam("externalId") String externalId,
@QueryParam("externalIdCaseInsensitive") String externalIdCaseInsensitve,
@QueryParam("tenantId") Long tenantId);
@GET
@Path("{groupId}/users")
@Produces({ "application/json" })
ResultList<UserLight> queryMembers(
@PathParam("groupId") long groupId);
}

View File

@@ -0,0 +1,43 @@
/*
* 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.Produces;
import com.inteligr8.alfresco.activiti.model.HistoricProcessInstanceQueryRepresentation;
import com.inteligr8.alfresco.activiti.model.HistoricTaskQueryRepresentation;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;
import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation;
import com.inteligr8.alfresco.activiti.model.Task;
@Path("/api/enterprise")
public interface HistoricApi {
@POST
@Path("historic-process-instances/query")
@Consumes({ "application/json" })
@Produces({ "application/json" })
ResultListDataRepresentation<ProcessInstance> query(HistoricProcessInstanceQueryRepresentation request);
@POST
@Path("historic-tasks/query")
@Consumes({ "application/json" })
@Produces({ "application/json" })
ResultListDataRepresentation<Task> query(HistoricTaskQueryRepresentation request);
}

View File

@@ -0,0 +1,58 @@
/*
* 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.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.ModelRepresentation;
@Path("/api/enterprise/models")
public interface ModelsApi {
enum ModelType {
Process(0),
Form(2),
App(3);
private int id;
private ModelType(int id) {
this.id = id;
}
public int getId() {
return this.id;
}
}
@GET
@Path("{id}")
@Produces({ "application/json" })
public ModelRepresentation get(
@PathParam("id") String id);
@GET
@Produces({ "application/json" })
public ResultList<ModelRepresentation> get(
@QueryParam("filter") String filter,
@QueryParam("sort") String sort,
@QueryParam("modelType") Integer modelType,
@QueryParam("referenceId") Long referenceId);
}

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") Integer appDefinitionId,
@QueryParam("deploymentId") String deploymentId);
}

View File

@@ -1,19 +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.api;
import java.util.List;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import 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 com.inteligr8.alfresco.activiti.model.CreateProcessInstance;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;
import com.inteligr8.alfresco.activiti.model.ProcessInstanceFilterRepresentation;
import com.inteligr8.alfresco.activiti.model.ProcessInstanceQueryRepresentation;
import com.inteligr8.alfresco.activiti.model.ProcessInstanceVariable;
import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation;
import com.inteligr8.alfresco.activiti.model.Variable;
@Path("/api/enterprise/process-instances")
@@ -23,6 +40,18 @@ public interface ProcessInstancesApi {
@Consumes({ "application/json" })
@Produces({ "application/json" })
ProcessInstance create(CreateProcessInstance processInstance);
@POST
@Path("filter")
@Consumes({ "application/json" })
@Produces({ "application/json" })
ResultListDataRepresentation<ProcessInstance> filter(ProcessInstanceFilterRepresentation request);
@POST
@Path("query")
@Consumes({ "application/json" })
@Produces({ "application/json" })
ResultListDataRepresentation<ProcessInstance> query(ProcessInstanceQueryRepresentation request);
@GET
@Path("{processInstanceId}")
@@ -43,6 +72,11 @@ public interface ProcessInstancesApi {
@Produces({ "application/json" })
ProcessInstance suspend(@PathParam("processInstanceId") String processInstanceId);
@GET
@Path("{processInstanceId}/historic-variables")
@Produces({ "application/json" })
List<ProcessInstanceVariable> getHistoricVariables(@PathParam("processInstanceId") String processInstanceId);
@GET
@Path("{processInstanceId}/variables")
@Produces({ "application/json" })
@@ -67,6 +101,6 @@ public interface ProcessInstancesApi {
@DELETE
@Path("{processInstanceId}/variables/{variableName}")
void deleteVariable(@PathParam("processInstanceId") String processInstanceId, @PathParam("variableName") String variableName);
void removeVariable(@PathParam("processInstanceId") String processInstanceId, @PathParam("variableName") String variableName);
}

View File

@@ -1,9 +1,22 @@
/*
* 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 javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import com.inteligr8.alfresco.activiti.model.User;

View File

@@ -0,0 +1,50 @@
/*
* 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.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.core.MediaType;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.ShareInfoRequest;
import com.inteligr8.alfresco.activiti.model.SharePermission;
/**
* This is an undocumented API.
*
* @author brian@inteligr8.com
*/
@Path("/app/rest/models")
public interface ShareApi {
@GET
@Path("/{modelId}/share-info")
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<SharePermission> getShareInfo(
@PathParam("modelId") String modelId);
@PUT
@Path("/{modelId}/share-info")
@Consumes({ MediaType.APPLICATION_JSON })
public void setShareInfo(
@PathParam("modelId") String modelId,
ShareInfoRequest request);
}

View File

@@ -1,54 +1,167 @@
/*
* 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 java.util.List;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import 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 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.TaskFilterRepresentation;
import com.inteligr8.alfresco.activiti.model.TaskQueryRepresentation;
import com.inteligr8.alfresco.activiti.model.TaskUpdate;
import com.inteligr8.alfresco.activiti.model.UserIdentifier;
import com.inteligr8.alfresco.activiti.model.Variable;
@Path("/api/enterprise/tasks")
@Path("/api/enterprise")
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
@Path("{taskId}")
@Path("tasks/{taskId}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
public Task update(@PathParam("taskId") String taskId, TaskUpdate taskUpdate);
Task update(@PathParam("taskId") String taskId, TaskUpdate taskUpdate);
@DELETE
@Path("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
@Path("{taskId}/variables")
@Path("tasks/{taskId}/variables")
@Produces({ "application/json" })
List<Variable> getVariables(@PathParam("taskId") String taskId, @QueryParam("scope") String scope);
@PUT
@Path("{taskId}/variables")
@POST
@Path("tasks/{taskId}/variables")
@Consumes({ "application/json" })
@Produces({ "application/json" })
List<Variable> setVariables(@PathParam("taskId") String taskId, List<Variable> variables);
@DELETE
@Path("tasks/{taskId}/variables")
List<Variable> removeVariables(@PathParam("taskId") String taskId);
@GET
@Path("{taskId}/variables/{variableName}")
@Path("tasks/{taskId}/variables/{variableName}")
@Produces({ "application/json" })
Variable getVariable(@PathParam("taskId") String taskId, @PathParam("variableName") String variableName, @QueryParam("scope") String scope);
@PUT
@Path("{taskId}/variables/{variableName}")
@Path("tasks/{taskId}/variables/{variableName}")
@Consumes({ "application/json" })
@Produces({ "application/json" })
Variable setVariable(@PathParam("taskId") String taskId, @PathParam("variableName") String variableName, Variable variable);
@DELETE
@Path("{taskId}/variables/{variableName}")
void deleteVariable(@PathParam("taskId") String taskId, @PathParam("variableName") String variableName, @QueryParam("scope") String scope);
@Path("tasks/{taskId}/variables/{variableName}")
void removeVariable(@PathParam("taskId") String taskId, @PathParam("variableName") String variableName, @QueryParam("scope") String scope);
}

View File

@@ -0,0 +1,167 @@
/*
* 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);
default Response getDocumentTemplate(
DocumentTemplateLight template) {
return this.getDocumentTemplate(template.getId(), System.currentTimeMillis());
}
@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

@@ -0,0 +1,205 @@
package com.inteligr8.alfresco.activiti.model;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
/**
* AppDefinitionRepresentation
* <p>
*
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"defaultAppId",
"deploymentId",
"description",
"icon",
"id",
"modelId",
"name",
"tenantId",
"theme"
})
public class AppDefinition {
@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 AppDefinition 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 AppDefinition 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 AppDefinition 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 AppDefinition 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 AppDefinition 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 AppDefinition 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 AppDefinition 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 AppDefinition 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 AppDefinition 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 AppDefinition withAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
return this;
}
}

View File

@@ -0,0 +1,79 @@
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;
/**
* AppDefinitionPublishRepresentation
* <p>
*
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"comment",
"force"
})
public class AppDefinitionPublishRepresentation {
@JsonProperty("comment")
private String comment;
@JsonProperty("force")
private Boolean force;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("comment")
public String getComment() {
return comment;
}
@JsonProperty("comment")
public void setComment(String comment) {
this.comment = comment;
}
public AppDefinitionPublishRepresentation withComment(String comment) {
this.comment = comment;
return this;
}
@JsonProperty("force")
public Boolean getForce() {
return force;
}
@JsonProperty("force")
public void setForce(Boolean force) {
this.force = force;
}
public AppDefinitionPublishRepresentation withForce(Boolean force) {
this.force = force;
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 AppDefinitionPublishRepresentation withAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
return this;
}
}

View File

@@ -0,0 +1,205 @@
package com.inteligr8.alfresco.activiti.model;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
/**
* AppDefinitionRepresentation
* <p>
*
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"defaultAppId",
"deploymentId",
"description",
"icon",
"id",
"modelId",
"name",
"tenantId",
"theme"
})
public class AppDefinitionRepresentation {
@JsonProperty("defaultAppId")
private String defaultAppId;
@JsonProperty("deploymentId")
private String deploymentId;
@JsonProperty("description")
private String description;
@JsonProperty("icon")
private String icon;
@JsonProperty("id")
private Integer id;
@JsonProperty("modelId")
private Integer modelId;
@JsonProperty("name")
private String name;
@JsonProperty("tenantId")
private Integer tenantId;
@JsonProperty("theme")
private String theme;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("defaultAppId")
public String getDefaultAppId() {
return defaultAppId;
}
@JsonProperty("defaultAppId")
public void setDefaultAppId(String defaultAppId) {
this.defaultAppId = defaultAppId;
}
public AppDefinitionRepresentation withDefaultAppId(String defaultAppId) {
this.defaultAppId = defaultAppId;
return this;
}
@JsonProperty("deploymentId")
public String getDeploymentId() {
return deploymentId;
}
@JsonProperty("deploymentId")
public void setDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
}
public AppDefinitionRepresentation withDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
return this;
}
@JsonProperty("description")
public String getDescription() {
return description;
}
@JsonProperty("description")
public void setDescription(String description) {
this.description = description;
}
public AppDefinitionRepresentation withDescription(String description) {
this.description = description;
return this;
}
@JsonProperty("icon")
public String getIcon() {
return icon;
}
@JsonProperty("icon")
public void setIcon(String icon) {
this.icon = icon;
}
public AppDefinitionRepresentation withIcon(String icon) {
this.icon = icon;
return this;
}
@JsonProperty("id")
public Integer getId() {
return id;
}
@JsonProperty("id")
public void setId(Integer id) {
this.id = id;
}
public AppDefinitionRepresentation withId(Integer id) {
this.id = id;
return this;
}
@JsonProperty("modelId")
public Integer getModelId() {
return modelId;
}
@JsonProperty("modelId")
public void setModelId(Integer modelId) {
this.modelId = modelId;
}
public AppDefinitionRepresentation withModelId(Integer modelId) {
this.modelId = modelId;
return this;
}
@JsonProperty("name")
public String getName() {
return name;
}
@JsonProperty("name")
public void setName(String name) {
this.name = name;
}
public AppDefinitionRepresentation withName(String name) {
this.name = name;
return this;
}
@JsonProperty("tenantId")
public Integer getTenantId() {
return tenantId;
}
@JsonProperty("tenantId")
public void setTenantId(Integer tenantId) {
this.tenantId = tenantId;
}
public AppDefinitionRepresentation withTenantId(Integer tenantId) {
this.tenantId = tenantId;
return this;
}
@JsonProperty("theme")
public String getTheme() {
return theme;
}
@JsonProperty("theme")
public void setTheme(String theme) {
this.theme = theme;
}
public AppDefinitionRepresentation withTheme(String theme) {
this.theme = theme;
return this;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
public AppDefinitionRepresentation withAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
return this;
}
}

View File

@@ -0,0 +1,115 @@
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;
/**
* AppDefinitionSaveRepresentation
* <p>
*
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"appDefinition",
"force",
"publish"
})
public class AppDefinitionSaveRepresentation {
/**
* AppDefinitionRepresentation
* <p>
*
*
*/
@JsonProperty("appDefinition")
private AppDefinition appDefinition;
@JsonProperty("force")
private Boolean force;
@JsonProperty("publish")
private Boolean publish;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
/**
* AppDefinitionRepresentation
* <p>
*
*
*/
@JsonProperty("appDefinition")
public AppDefinition getAppDefinition() {
return appDefinition;
}
/**
* AppDefinitionRepresentation
* <p>
*
*
*/
@JsonProperty("appDefinition")
public void setAppDefinition(AppDefinition appDefinition) {
this.appDefinition = appDefinition;
}
public AppDefinitionSaveRepresentation withAppDefinition(AppDefinition appDefinition) {
this.appDefinition = appDefinition;
return this;
}
@JsonProperty("force")
public Boolean getForce() {
return force;
}
@JsonProperty("force")
public void setForce(Boolean force) {
this.force = force;
}
public AppDefinitionSaveRepresentation withForce(Boolean force) {
this.force = force;
return this;
}
@JsonProperty("publish")
public Boolean getPublish() {
return publish;
}
@JsonProperty("publish")
public void setPublish(Boolean publish) {
this.publish = publish;
}
public AppDefinitionSaveRepresentation withPublish(Boolean publish) {
this.publish = publish;
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 AppDefinitionSaveRepresentation withAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
return this;
}
}

View File

@@ -0,0 +1,187 @@
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;
/**
* AppDefinitionUpdateResultRepresentation
* <p>
*
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"appDefinition",
"customData",
"error",
"errorDescription",
"errorType",
"message",
"messageKey"
})
public class AppDefinitionUpdateResultRepresentation {
/**
* AppDefinitionRepresentation
* <p>
*
*
*/
@JsonProperty("appDefinition")
private AppDefinition appDefinition;
@JsonProperty("customData")
private CustomData customData;
@JsonProperty("error")
private Boolean error;
@JsonProperty("errorDescription")
private String errorDescription;
@JsonProperty("errorType")
private Integer errorType;
@JsonProperty("message")
private String message;
@JsonProperty("messageKey")
private String messageKey;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
/**
* AppDefinitionRepresentation
* <p>
*
*
*/
@JsonProperty("appDefinition")
public AppDefinition getAppDefinition() {
return appDefinition;
}
/**
* AppDefinitionRepresentation
* <p>
*
*
*/
@JsonProperty("appDefinition")
public void setAppDefinition(AppDefinition appDefinition) {
this.appDefinition = appDefinition;
}
public AppDefinitionUpdateResultRepresentation withAppDefinition(AppDefinition appDefinition) {
this.appDefinition = appDefinition;
return this;
}
@JsonProperty("customData")
public CustomData getCustomData() {
return customData;
}
@JsonProperty("customData")
public void setCustomData(CustomData customData) {
this.customData = customData;
}
public AppDefinitionUpdateResultRepresentation withCustomData(CustomData customData) {
this.customData = customData;
return this;
}
@JsonProperty("error")
public Boolean getError() {
return error;
}
@JsonProperty("error")
public void setError(Boolean error) {
this.error = error;
}
public AppDefinitionUpdateResultRepresentation withError(Boolean error) {
this.error = error;
return this;
}
@JsonProperty("errorDescription")
public String getErrorDescription() {
return errorDescription;
}
@JsonProperty("errorDescription")
public void setErrorDescription(String errorDescription) {
this.errorDescription = errorDescription;
}
public AppDefinitionUpdateResultRepresentation withErrorDescription(String errorDescription) {
this.errorDescription = errorDescription;
return this;
}
@JsonProperty("errorType")
public Integer getErrorType() {
return errorType;
}
@JsonProperty("errorType")
public void setErrorType(Integer errorType) {
this.errorType = errorType;
}
public AppDefinitionUpdateResultRepresentation withErrorType(Integer errorType) {
this.errorType = errorType;
return this;
}
@JsonProperty("message")
public String getMessage() {
return message;
}
@JsonProperty("message")
public void setMessage(String message) {
this.message = message;
}
public AppDefinitionUpdateResultRepresentation withMessage(String message) {
this.message = message;
return this;
}
@JsonProperty("messageKey")
public String getMessageKey() {
return messageKey;
}
@JsonProperty("messageKey")
public void setMessageKey(String messageKey) {
this.messageKey = messageKey;
}
public AppDefinitionUpdateResultRepresentation withMessageKey(String messageKey) {
this.messageKey = messageKey;
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 AppDefinitionUpdateResultRepresentation 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,36 @@
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.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
})
public class CustomData {
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
public CustomData withAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
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,38 @@
package com.inteligr8.alfresco.activiti.model;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.List;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
import org.apache.cxf.jaxrs.ext.multipart.ContentDisposition;
import org.apache.cxf.jaxrs.ext.multipart.MultipartBody;
public class FileMultipartCxf extends MultipartBody {
public static FileMultipartCxf from(String filename, InputStream istream) throws IOException {
return new FileMultipartCxf(Arrays.asList(toAttachment(filename, istream)));
}
public FileMultipartCxf(List<Attachment> atts) throws IOException {
super(atts);
}
public FileMultipartCxf(List<Attachment> atts, boolean outbound) {
super(atts, outbound);
}
public Attachment getFileAttachment() {
return this.getAttachment("file");
}
private static Attachment toAttachment(String filename, InputStream istream) {
if (filename == null) {
return new Attachment("file", istream, new ContentDisposition("form-data; name=\"file\""));
} else {
return new Attachment("file", istream, new ContentDisposition("form-data; name=\"file\"; filename=\"" + filename + "\""));
}
}
}

View File

@@ -0,0 +1,38 @@
package com.inteligr8.alfresco.activiti.model;
import java.io.InputStream;
import java.text.ParseException;
import org.glassfish.jersey.media.multipart.BodyPart;
import org.glassfish.jersey.media.multipart.FormDataBodyPart;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
public class FileMultipartJersey extends FormDataMultiPart {
public static FileMultipartJersey from(String filename, InputStream istream) throws ParseException {
FileMultipartJersey multipart = new FileMultipartJersey();
multipart.bodyPart(toBodyPart(filename, istream));
return multipart;
}
private FileMultipartJersey() {
}
public FormDataBodyPart getFileAttachment() {
return this.getField("file");
}
private static BodyPart toBodyPart(String filename, InputStream istream) throws ParseException {
if (filename == null) {
return new FormDataBodyPart()
.contentDisposition(new FormDataContentDisposition("form-data; name=\"file\""))
.entity(istream);
} else {
return new FormDataBodyPart()
.contentDisposition(new FormDataContentDisposition("form-data; name=\"file\"; filename=\"" + filename + "\""))
.entity(istream);
}
}
}

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

@@ -1,4 +1,3 @@
package com.inteligr8.alfresco.activiti.model;
import java.util.ArrayList;
@@ -31,7 +30,7 @@ public class Group {
@JsonProperty("externalId")
private String externalId;
@JsonProperty("groups")
private List<Group> groups = new ArrayList<Group>();
private List<GroupLight> groups = new ArrayList<GroupLight>();
@JsonProperty("id")
private Long id;
@JsonProperty("lastSyncTimeStamp")
@@ -85,15 +84,15 @@ public class Group {
return this;
}
public List<Group> getGroups() {
public List<GroupLight> getGroups() {
return groups;
}
public void setGroups(List<Group> groups) {
public void setGroups(List<GroupLight> groups) {
this.groups = groups;
}
public Group withGroups(List<Group> groups) {
public Group withGroups(List<GroupLight> groups) {
this.groups = groups;
return this;
}
@@ -229,3 +228,7 @@ public class Group {
}
}

View File

@@ -0,0 +1,94 @@
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 GroupLight {
@JsonProperty("id")
private Long id;
@JsonProperty("externalId")
private String externalId;
@JsonProperty("name")
private String name;
@JsonProperty("parentGroupId")
private Long parentGroupId;
@JsonProperty("status")
private String status;
/**
* No args constructor for use in serialization
*/
public GroupLight() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public GroupLight withId(Long id) {
this.setId(id);
return this;
}
public String getExternalId() {
return externalId;
}
public void setExternalId(String externalId) {
this.externalId = externalId;
}
public GroupLight withExternalId(String externalId) {
this.setExternalId(externalId);
return this;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public GroupLight withName(String name) {
this.setName(name);
return this;
}
public Long getParentGroupId() {
return parentGroupId;
}
public void setParentGroupId(Long parentGroupId) {
this.parentGroupId = parentGroupId;
}
public GroupLight withParentGroupId(Long parentGroupId) {
this.setParentGroupId(parentGroupId);
return this;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public GroupLight withStatus(String status) {
this.setStatus(status);
return this;
}
}

View File

@@ -0,0 +1,403 @@
package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
import java.util.LinkedList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"excludeSubprocesses",
"finished",
"finishedAfter",
"finishedBefore",
"includeProcessVariables",
"involvedUser",
"order",
"processBusinessKey",
"processDefinitionId",
"processDefinitionKey",
"processInstanceId",
"processInstanceIds",
"size",
"sort",
"start",
"startedAfter",
"startedBefore",
"startedBy",
"superProcessInstanceId",
"tenantId",
"tenantIdLike",
"variables",
"withoutTenantId"
})
public class HistoricProcessInstanceQueryRepresentation {
@JsonProperty("excludeSubprocesses")
private Boolean excludeSubprocesses;
@JsonProperty("finished")
private Boolean finished;
@JsonProperty("finishedAfter")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime finishedAfter;
@JsonProperty("finishedBefore")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime finishedBefore;
@JsonProperty("includeProcessVariables")
private Boolean includeProcessVariables;
@JsonProperty("involvedUser")
private String involvedUser;
@JsonProperty("order")
private String order;
@JsonProperty("processBusinessKey")
private String processBusinessKey;
@JsonProperty("processDefinitionId")
private String processDefinitionId;
@JsonProperty("processDefinitionKey")
private String processDefinitionKey;
@JsonProperty("processInstanceId")
private String processInstanceId;
@JsonProperty("processInstanceIds")
private List<String> processInstanceIds;
@JsonProperty("size")
private Integer size;
@JsonProperty("sort")
private String sort;
@JsonProperty("start")
private Integer start;
@JsonProperty("startedAfter")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime startedAfter;
@JsonProperty("startedBefore")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime startedBefore;
@JsonProperty("startedBy")
private String startedBy;
@JsonProperty("superProcessInstanceId")
private String superProcessInstanceId;
@JsonProperty("tenantId")
private String tenantId;
@JsonProperty("tenantIdLike")
private String tenantIdLike;
@JsonProperty("variables")
private List<QueryVariable> variables;
@JsonProperty("withoutTenantId")
private Boolean withoutTenantId;
/**
* No args constructor for use in serialization
*/
public HistoricProcessInstanceQueryRepresentation() {
}
public Boolean isExcludeSubprocesses() {
return excludeSubprocesses;
}
public void setExcludeSubprocesses(Boolean excludeSubprocesses) {
this.excludeSubprocesses = excludeSubprocesses;
}
public HistoricProcessInstanceQueryRepresentation withExcludeSubprocesses(Boolean excludeSubprocesses) {
this.excludeSubprocesses = excludeSubprocesses;
return this;
}
public Boolean isFinished() {
return finished;
}
public void setFinished(Boolean finished) {
this.finished = finished;
}
public HistoricProcessInstanceQueryRepresentation withFinished(Boolean finished) {
this.finished = finished;
return this;
}
public OffsetDateTime getFinishedAfter() {
return finishedAfter;
}
public void setFinishedAfter(OffsetDateTime finishedAfter) {
this.finishedAfter = finishedAfter;
}
public HistoricProcessInstanceQueryRepresentation withFinishedAfter(OffsetDateTime finishedAfter) {
this.finishedAfter = finishedAfter;
return this;
}
public OffsetDateTime getFinishedBefore() {
return finishedBefore;
}
public void setFinishedBefore(OffsetDateTime finishedBefore) {
this.finishedBefore = finishedBefore;
}
public HistoricProcessInstanceQueryRepresentation withFinishedBefore(OffsetDateTime finishedBefore) {
this.finishedBefore = finishedBefore;
return this;
}
public Boolean isIncludeProcessVariables() {
return includeProcessVariables;
}
public void setIncludeProcessVariables(Boolean includeProcessVariables) {
this.includeProcessVariables = includeProcessVariables;
}
public HistoricProcessInstanceQueryRepresentation withIncludeProcessVariables(Boolean includeProcessVariables) {
this.includeProcessVariables = includeProcessVariables;
return this;
}
public String getInvolvedUser() {
return involvedUser;
}
public void setInvolvedUser(String involvedUser) {
this.involvedUser = involvedUser;
}
public HistoricProcessInstanceQueryRepresentation withInvolvedUser(String involvedUser) {
this.involvedUser = involvedUser;
return this;
}
public String getOrder() {
return order;
}
public void setOrder(String order) {
this.order = order;
}
public HistoricProcessInstanceQueryRepresentation withOrder(String order) {
this.order = order;
return this;
}
public String getProcessBusinessKey() {
return processBusinessKey;
}
public void setProcessBusinessKey(String processBusinessKey) {
this.processBusinessKey = processBusinessKey;
}
public HistoricProcessInstanceQueryRepresentation withProcessBusinessKey(String processBusinessKey) {
this.processBusinessKey = processBusinessKey;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public HistoricProcessInstanceQueryRepresentation withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getProcessDefinitionKey() {
return processDefinitionKey;
}
public void setProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
}
public HistoricProcessInstanceQueryRepresentation withProcessDefinitionKey(String processDefinitionKey) {
this.processDefinitionKey = processDefinitionKey;
return this;
}
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public HistoricProcessInstanceQueryRepresentation withProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
return this;
}
public List<String> getProcessInstanceIds() {
return processInstanceIds;
}
public void setProcessInstanceIds(List<String> processInstanceIds) {
this.processInstanceIds = processInstanceIds;
}
public HistoricProcessInstanceQueryRepresentation withProcessInstanceIds(List<String> processInstanceIds) {
this.processInstanceIds = processInstanceIds;
return this;
}
public Integer getSize() {
return size;
}
public void setSize(Integer size) {
this.size = size;
}
public HistoricProcessInstanceQueryRepresentation withSize(Integer size) {
this.size = size;
return this;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public HistoricProcessInstanceQueryRepresentation withSort(String sort) {
this.sort = sort;
return this;
}
public Integer getStart() {
return start;
}
public void setStart(Integer start) {
this.start = start;
}
public HistoricProcessInstanceQueryRepresentation withStart(Integer start) {
this.start = start;
return this;
}
public OffsetDateTime getStartedAfter() {
return startedAfter;
}
public void setStartedAfter(OffsetDateTime startedAfter) {
this.startedAfter = startedAfter;
}
public HistoricProcessInstanceQueryRepresentation withStartedAfter(OffsetDateTime startedAfter) {
this.startedAfter = startedAfter;
return this;
}
public OffsetDateTime getStartedBefore() {
return startedBefore;
}
public void setStartedBefore(OffsetDateTime startedBefore) {
this.startedBefore = startedBefore;
}
public HistoricProcessInstanceQueryRepresentation withStartedBefore(OffsetDateTime startedBefore) {
this.startedBefore = startedBefore;
return this;
}
public String getStartedBy() {
return startedBy;
}
public void setStartedBy(String startedBy) {
this.startedBy = startedBy;
}
public HistoricProcessInstanceQueryRepresentation withStartedBy(String startedBy) {
this.startedBy = startedBy;
return this;
}
public String getSuperProcessInstanceId() {
return superProcessInstanceId;
}
public void setSuperProcessInstanceId(String superProcessInstanceId) {
this.superProcessInstanceId = superProcessInstanceId;
}
public HistoricProcessInstanceQueryRepresentation withSuperProcessInstanceId(String superProcessInstanceId) {
this.superProcessInstanceId = superProcessInstanceId;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public HistoricProcessInstanceQueryRepresentation withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getTenantIdLike() {
return tenantIdLike;
}
public void setTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
}
public HistoricProcessInstanceQueryRepresentation withTenantIdLike(String tenantIdLike) {
this.tenantIdLike = tenantIdLike;
return this;
}
public List<QueryVariable> getVariables() {
if (variables == null)
variables = new LinkedList<>();
return variables;
}
public void setVariables(List<QueryVariable> variables) {
this.variables = variables;
}
public HistoricProcessInstanceQueryRepresentation withVariables(List<QueryVariable> variables) {
this.variables = variables;
return this;
}
public Boolean isWithoutTenantId() {
return withoutTenantId;
}
public void setWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
}
public HistoricProcessInstanceQueryRepresentation withWithoutTenantId(Boolean withoutTenantId) {
this.withoutTenantId = withoutTenantId;
return this;
}
}

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

@@ -0,0 +1,353 @@
package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
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.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
/**
* ModelRepresentation
* <p>
*
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"comment",
"createdBy",
"createdByFullName",
"description",
"favorite",
"id",
"lastUpdated",
"lastUpdatedBy",
"lastUpdatedByFullName",
"latestVersion",
"modelType",
"name",
"permission",
"referenceId",
"stencilSet",
"tenantId",
"version"
})
public class ModelRepresentation {
@JsonProperty("comment")
private String comment;
@JsonProperty("createdBy")
private Long createdBy;
@JsonProperty("createdByFullName")
private String createdByFullName;
@JsonProperty("description")
private String description;
@JsonProperty("favorite")
private Boolean favorite;
@JsonProperty("id")
private Long id;
@JsonProperty("lastUpdated")
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime lastUpdated;
@JsonProperty("lastUpdatedBy")
private Long lastUpdatedBy;
@JsonProperty("lastUpdatedByFullName")
private String lastUpdatedByFullName;
@JsonProperty("latestVersion")
private Boolean latestVersion;
@JsonProperty("modelType")
private Integer modelType;
@JsonProperty("name")
private String name;
@JsonProperty("permission")
private String permission;
@JsonProperty("referenceId")
private Long referenceId;
@JsonProperty("stencilSet")
private Long stencilSet;
@JsonProperty("tenantId")
private Long tenantId;
@JsonProperty("version")
private Integer version;
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("comment")
public String getComment() {
return comment;
}
@JsonProperty("comment")
public void setComment(String comment) {
this.comment = comment;
}
public ModelRepresentation withComment(String comment) {
this.comment = comment;
return this;
}
@JsonProperty("createdBy")
public Long getCreatedBy() {
return createdBy;
}
@JsonProperty("createdBy")
public void setCreatedBy(Long createdBy) {
this.createdBy = createdBy;
}
public ModelRepresentation withCreatedBy(Long createdBy) {
this.createdBy = createdBy;
return this;
}
@JsonProperty("createdByFullName")
public String getCreatedByFullName() {
return createdByFullName;
}
@JsonProperty("createdByFullName")
public void setCreatedByFullName(String createdByFullName) {
this.createdByFullName = createdByFullName;
}
public ModelRepresentation withCreatedByFullName(String createdByFullName) {
this.createdByFullName = createdByFullName;
return this;
}
@JsonProperty("description")
public String getDescription() {
return description;
}
@JsonProperty("description")
public void setDescription(String description) {
this.description = description;
}
public ModelRepresentation withDescription(String description) {
this.description = description;
return this;
}
@JsonProperty("favorite")
public Boolean getFavorite() {
return favorite;
}
@JsonProperty("favorite")
public void setFavorite(Boolean favorite) {
this.favorite = favorite;
}
public ModelRepresentation withFavorite(Boolean favorite) {
this.favorite = favorite;
return this;
}
@JsonProperty("id")
public Long getId() {
return id;
}
@JsonProperty("id")
public void setId(Long id) {
this.id = id;
}
public ModelRepresentation withId(Long id) {
this.id = id;
return this;
}
@JsonProperty("lastUpdated")
public OffsetDateTime getLastUpdated() {
return lastUpdated;
}
@JsonProperty("lastUpdated")
public void setLastUpdated(OffsetDateTime lastUpdated) {
this.lastUpdated = lastUpdated;
}
public ModelRepresentation withLastUpdated(OffsetDateTime lastUpdated) {
this.lastUpdated = lastUpdated;
return this;
}
@JsonProperty("lastUpdatedBy")
public Long getLastUpdatedBy() {
return lastUpdatedBy;
}
@JsonProperty("lastUpdatedBy")
public void setLastUpdatedBy(Long lastUpdatedBy) {
this.lastUpdatedBy = lastUpdatedBy;
}
public ModelRepresentation withLastUpdatedBy(Long lastUpdatedBy) {
this.lastUpdatedBy = lastUpdatedBy;
return this;
}
@JsonProperty("lastUpdatedByFullName")
public String getLastUpdatedByFullName() {
return lastUpdatedByFullName;
}
@JsonProperty("lastUpdatedByFullName")
public void setLastUpdatedByFullName(String lastUpdatedByFullName) {
this.lastUpdatedByFullName = lastUpdatedByFullName;
}
public ModelRepresentation withLastUpdatedByFullName(String lastUpdatedByFullName) {
this.lastUpdatedByFullName = lastUpdatedByFullName;
return this;
}
@JsonProperty("latestVersion")
public Boolean getLatestVersion() {
return latestVersion;
}
@JsonProperty("latestVersion")
public void setLatestVersion(Boolean latestVersion) {
this.latestVersion = latestVersion;
}
public ModelRepresentation withLatestVersion(Boolean latestVersion) {
this.latestVersion = latestVersion;
return this;
}
@JsonProperty("modelType")
public Integer getModelType() {
return modelType;
}
@JsonProperty("modelType")
public void setModelType(Integer modelType) {
this.modelType = modelType;
}
public ModelRepresentation withModelType(Integer modelType) {
this.modelType = modelType;
return this;
}
@JsonProperty("name")
public String getName() {
return name;
}
@JsonProperty("name")
public void setName(String name) {
this.name = name;
}
public ModelRepresentation withName(String name) {
this.name = name;
return this;
}
@JsonProperty("permission")
public String getPermission() {
return permission;
}
@JsonProperty("permission")
public void setPermission(String permission) {
this.permission = permission;
}
public ModelRepresentation withPermission(String permission) {
this.permission = permission;
return this;
}
@JsonProperty("referenceId")
public Long getReferenceId() {
return referenceId;
}
@JsonProperty("referenceId")
public void setReferenceId(Long referenceId) {
this.referenceId = referenceId;
}
public ModelRepresentation withReferenceId(Long referenceId) {
this.referenceId = referenceId;
return this;
}
@JsonProperty("stencilSet")
public Long getStencilSet() {
return stencilSet;
}
@JsonProperty("stencilSet")
public void setStencilSet(Long stencilSet) {
this.stencilSet = stencilSet;
}
public ModelRepresentation withStencilSet(Long stencilSet) {
this.stencilSet = stencilSet;
return this;
}
@JsonProperty("tenantId")
public Long getTenantId() {
return tenantId;
}
@JsonProperty("tenantId")
public void setTenantId(Long tenantId) {
this.tenantId = tenantId;
}
public ModelRepresentation withTenantId(Long tenantId) {
this.tenantId = tenantId;
return this;
}
@JsonProperty("version")
public Integer getVersion() {
return version;
}
@JsonProperty("version")
public void setVersion(Integer version) {
this.version = version;
}
public ModelRepresentation withVersion(Integer version) {
this.version = version;
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 ModelRepresentation withAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
return this;
}
}

View File

@@ -0,0 +1,33 @@
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 Permission extends PermissionLight {
@JsonProperty
private UserLight person;
@JsonProperty
private GroupLight group;
public UserLight getPerson() {
return person;
}
public void setPerson(UserLight person) {
this.person = person;
}
public GroupLight getGroup() {
return group;
}
public void setGroup(GroupLight group) {
this.group = group;
}
}

View File

@@ -0,0 +1,13 @@
package com.inteligr8.alfresco.activiti.model;
import com.fasterxml.jackson.annotation.JsonProperty;
public enum PermissionLevel {
@JsonProperty("write")
Write,
@JsonProperty("read")
Read
}

View File

@@ -0,0 +1,73 @@
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 PermissionLight {
@JsonProperty
private String id;
@JsonProperty
private PermissionLevel permission;
@JsonProperty
private Long personId;
@JsonProperty
private Long groupId;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public PermissionLight withId(String id) {
this.setId(id);
return this;
}
public PermissionLevel getPermission() {
return permission;
}
public void setPermission(PermissionLevel permission) {
this.permission = permission;
}
public PermissionLight withPermission(PermissionLevel permission) {
this.setPermission(permission);
return this;
}
public Long getPersonId() {
return personId;
}
public void setPersonId(Long personId) {
this.personId = personId;
}
public PermissionLight withPersonId(Long personId) {
this.setPersonId(personId);
return this;
}
public Long getGroupId() {
return groupId;
}
public void setGroupId(Long groupId) {
this.groupId = groupId;
}
public PermissionLight withGroupId(Long groupId) {
this.setGroupId(groupId);
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,40 +2,45 @@
package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonFormat.Shape;
import com.inteligr8.activiti.model.Datum;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"businessKey",
"ended",
"graphicalNotationDefined",
"id",
"name",
"processDefinitionCategory",
"processDefinitionDeploymentId",
"processDefinitionDescription",
"businessKey",
"processDefinitionId",
"processDefinitionKey",
"processDefinitionName",
"processDefinitionVersion",
"startFormDefined",
"started",
"startedBy",
"suspended",
"tenantId",
"started",
"ended",
"startedBy",
"processDefinitionName",
"processDefinitionDescription",
"processDefinitionKey",
"processDefinitionCategory",
"processDefinitionVersion",
"processDefinitionDeploymentId",
"graphicalNotationDefined",
"startFormDefined",
"suspended",
"variables"
})
public class ProcessInstance {
public class ProcessInstance extends Datum {
@JsonProperty("businessKey")
private String businessKey;
@JsonProperty("ended")
private String ended;
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime ended;
@JsonProperty("graphicalNotationDefined")
private Boolean graphicalNotationDefined;
@JsonProperty("id")
@@ -59,7 +64,8 @@ public class ProcessInstance {
@JsonProperty("startFormDefined")
private Boolean startFormDefined;
@JsonProperty("started")
private String started;
@JsonFormat(shape = Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXX")
private OffsetDateTime started;
@JsonProperty("startedBy")
private UserLight startedBy;
@JsonProperty("suspended")
@@ -88,15 +94,15 @@ public class ProcessInstance {
return this;
}
public String getEnded() {
public OffsetDateTime getEnded() {
return ended;
}
public void setEnded(String ended) {
public void setEnded(OffsetDateTime ended) {
this.ended = ended;
}
public ProcessInstance withEnded(String ended) {
public ProcessInstance withEnded(OffsetDateTime ended) {
this.ended = ended;
return this;
}
@@ -244,15 +250,15 @@ public class ProcessInstance {
return this;
}
public String getStarted() {
public OffsetDateTime getStarted() {
return started;
}
public void setStarted(String started) {
public void setStarted(OffsetDateTime started) {
this.started = started;
}
public ProcessInstance withStarted(String started) {
public ProcessInstance withStarted(OffsetDateTime started) {
this.started = started;
return this;
}

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

@@ -0,0 +1,169 @@
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({
"appDefinitionId",
"page",
"processDefinitionId",
"processInstanceId",
"size",
"sort",
"start",
"state"
})
public class ProcessInstanceQueryRepresentation {
public enum Sort {
@JsonProperty("created-asc")
CreatedAsc,
@JsonProperty("created-desc")
CreatedDesc,
@JsonProperty("ended-asc")
EndedAsc,
@JsonProperty("ended-desc")
EndedDesc,
}
public enum State {
@JsonProperty("all")
All,
@JsonProperty("completed")
Completed,
@JsonProperty("running")
Running
}
@JsonProperty("appDefinitionId")
private Long appDefinitionId;
@JsonProperty("processDefinitionId")
private String processDefinitionId;
@JsonProperty("processInstanceId")
private String processInstanceId;
@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 ProcessInstanceQueryRepresentation() {
}
public Long getAppDefinitionId() {
return appDefinitionId;
}
public void setAppDefinitionId(Long appDefinitionId) {
this.appDefinitionId = appDefinitionId;
}
public ProcessInstanceQueryRepresentation withAppDefinitionId(Long appDefinitionId) {
this.appDefinitionId = appDefinitionId;
return this;
}
public String getProcessDefinitionId() {
return processDefinitionId;
}
public void setProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
}
public ProcessInstanceQueryRepresentation withProcessDefinitionId(String processDefinitionId) {
this.processDefinitionId = processDefinitionId;
return this;
}
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public ProcessInstanceQueryRepresentation withProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
return this;
}
public Integer getPage() {
return page;
}
public void setPage(Integer page) {
this.page = page;
}
public ProcessInstanceQueryRepresentation withPage(Integer page) {
this.page = page;
return this;
}
public Integer getSize() {
return size;
}
public void setSize(Integer size) {
this.size = size;
}
public ProcessInstanceQueryRepresentation withSize(Integer size) {
this.size = size;
return this;
}
public Sort getSort() {
return sort;
}
public void setSort(Sort sort) {
this.sort = sort;
}
public ProcessInstanceQueryRepresentation withSort(Sort sort) {
this.sort = sort;
return this;
}
public Integer getStart() {
return start;
}
public void setStart(Integer start) {
this.start = start;
}
public ProcessInstanceQueryRepresentation withStart(Integer start) {
this.start = start;
return this;
}
public State getState() {
return state;
}
public void setState(State state) {
this.state = state;
}
public ProcessInstanceQueryRepresentation withState(State state) {
this.state = state;
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({
"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

@@ -0,0 +1,90 @@
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",
"operation",
"type",
"value"
})
public class QueryVariable {
@JsonProperty("name")
private String name;
@JsonProperty("operation")
private String operation;
@JsonProperty("type")
private String type;
@JsonProperty("value")
private Object value;
/**
* No args constructor for use in serialization
*/
public QueryVariable() {
}
public QueryVariable(String name, String operation, String type, Object value) {
this.name = name;
this.operation = operation;
this.type = type;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public QueryVariable withName(String name) {
this.name = name;
return this;
}
public String getOperation() {
return operation;
}
public void setOperation(String operation) {
this.operation = operation;
}
public QueryVariable withOperation(String operation) {
this.operation = operation;
return this;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public QueryVariable withType(String type) {
this.type = type;
return this;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
public QueryVariable withValue(Object value) {
this.value = value;
return this;
}
}

View File

@@ -0,0 +1,97 @@
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.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.inteligr8.activiti.model.Datum;
/**
* ResultListDataRepresentation
* <p>
*
*
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
"data",
"size",
"start",
"total"
})
public class ResultListDataRepresentation<T extends Datum> extends Datum {
@JsonProperty("data")
private List<T> data = new ArrayList<>();
@JsonProperty("size")
private Integer size;
@JsonProperty("start")
private Integer start;
@JsonProperty("total")
private Integer total;
@JsonProperty("data")
public List<T> getData() {
return data;
}
@JsonProperty("data")
public void setData(List<T> data) {
this.data = data;
}
public ResultListDataRepresentation<T> withData(List<T> data) {
this.data = data;
return this;
}
@JsonProperty("size")
public Integer getSize() {
return size;
}
@JsonProperty("size")
public void setSize(Integer size) {
this.size = size;
}
public ResultListDataRepresentation<T> withSize(Integer size) {
this.size = size;
return this;
}
@JsonProperty("start")
public Integer getStart() {
return start;
}
@JsonProperty("start")
public void setStart(Integer start) {
this.start = start;
}
public ResultListDataRepresentation<T> withStart(Integer start) {
this.start = start;
return this;
}
@JsonProperty("total")
public Integer getTotal() {
return total;
}
@JsonProperty("total")
public void setTotal(Integer total) {
this.total = total;
}
public ResultListDataRepresentation<T> withTotal(Integer total) {
this.total = total;
return this;
}
}

View File

@@ -0,0 +1,47 @@
package com.inteligr8.alfresco.activiti.model;
import java.util.LinkedList;
import java.util.List;
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 ShareInfoRequest {
@JsonProperty
private List<PermissionLight> added = new LinkedList<>();
@JsonProperty
private List<PermissionLight> removed = new LinkedList<>();
@JsonProperty
private List<PermissionLight> updated = new LinkedList<>();
public List<PermissionLight> getAdded() {
return added;
}
public void setAdded(List<PermissionLight> added) {
this.added = added;
}
public List<PermissionLight> getRemoved() {
return removed;
}
public void setRemoved(List<PermissionLight> removed) {
this.removed = removed;
}
public List<PermissionLight> getUpdated() {
return updated;
}
public void setUpdated(List<PermissionLight> updated) {
this.updated = updated;
}
}

View File

@@ -0,0 +1,34 @@
package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
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 SharePermission extends Permission {
@JsonProperty
private OffsetDateTime shareDate;
@JsonProperty
private Long sharedBy;
public OffsetDateTime getShareDate() {
return shareDate;
}
public void setShareDate(OffsetDateTime shareDate) {
this.shareDate = shareDate;
}
public Long getSharedBy() {
return sharedBy;
}
public void setSharedBy(Long sharedBy) {
this.sharedBy = sharedBy;
}
}

View File

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

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

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;
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 Variable {
@JsonProperty("name")
private String name;
@JsonProperty("scope")
private String scope;
@JsonProperty("type")
private String type;
@JsonProperty("value")
private Object value;
public class Variable extends com.inteligr8.activiti.model.Variable {
/**
* No args constructor for use in serialization
@@ -28,62 +12,7 @@ public class 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;
super(name, scope, type, value);
}
}

View File

@@ -1,37 +0,0 @@
package com.inteligr8.alfresco.activiti;
import java.util.List;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledIf;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import com.inteligr8.alfresco.activiti.model.Tenant;
import com.inteligr8.rs.ClientConfiguration;
@TestPropertySource(locations = {"/local.properties"})
@SpringJUnitConfig(classes = {ApsClientConfiguration.class, ApsPublicRestApiJerseyImpl.class, ApsClientJerseyImpl.class})
public class ArrayResponseUnitTest extends ConditionalIT {
@Autowired
@Qualifier("aps.api.jersey")
private ApsPublicRestApi client;
@Override
public ClientConfiguration getConfiguration() {
return this.client.getConfig();
}
@Test
@EnabledIf("hostExists")
public void testTenants() {
List<Tenant> objs = this.client.getAdminApi().getTenants();
Assertions.assertNotNull(objs);
}
}

View File

@@ -1,35 +0,0 @@
package com.inteligr8.alfresco.activiti;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.client.methods.RequestBuilder;
import org.apache.http.impl.client.DefaultRedirectStrategy;
import org.apache.http.impl.client.HttpClientBuilder;
import com.inteligr8.rs.ClientConfiguration;
public abstract class ConditionalIT {
public abstract ClientConfiguration getConfiguration();
public boolean hostExists() {
String uri = this.getConfiguration().getBaseUrl();
HttpUriRequest request = RequestBuilder.get()
.setUri(uri)
.build();
HttpClient client = HttpClientBuilder.create()
.setRedirectStrategy(DefaultRedirectStrategy.INSTANCE)
.build();
try {
HttpResponse response = client.execute(request);
return response.getStatusLine().getStatusCode() < 300;
} catch (Exception e) {
return false;
}
}
}

View File

@@ -1,54 +0,0 @@
package com.inteligr8.alfresco.activiti;
import java.util.Arrays;
import java.util.UUID;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.EnabledIf;
import com.inteligr8.alfresco.activiti.model.AppVersion;
import com.inteligr8.alfresco.activiti.model.CreateProcessInstance;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;
import com.inteligr8.alfresco.activiti.model.User;
import com.inteligr8.alfresco.activiti.model.Variable;
public abstract class ConnectionClientIT extends ConditionalIT {
public abstract ApsPublicRestApi getClient();
@Test
@EnabledIf("hostExists")
public void testAppVersion() {
AppVersion obj = this.getClient().getAppVersionApi().get();
Assertions.assertNotNull(obj);
Assertions.assertEquals("1", obj.getMajorVersion());
Assertions.assertEquals("bpmSuite", obj.getType());
}
@Test
@EnabledIf("hostExists")
public void testProfile() {
User obj = this.getClient().getProfileApi().get();
Assertions.assertNotNull(obj);
Assertions.assertEquals("admin@app.activiti.com", obj.getEmail());
}
@Test
@EnabledIf("hostExists")
public void testStartProcess() {
CreateProcessInstance request = new CreateProcessInstance();
request.setProcessDefinitionKey("qcDocument");
request.setVariables(Arrays.asList(new Variable("acsNodeId", null, null, UUID.randomUUID().toString())));
ProcessInstance response = this.getClient().getProcessInstancesApi().create(request);
Assertions.assertNotNull(response);
Assertions.assertNotNull(response.getId());
Assertions.assertNotNull(response.getId().length() > 0);
Assertions.assertEquals("qcDocument", response.getProcessDefinitionKey());
}
}

View File

@@ -1,35 +0,0 @@
package com.inteligr8.alfresco.activiti;
import java.util.Arrays;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import com.inteligr8.alfresco.activiti.model.CreateProcessInstance;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;
import com.inteligr8.alfresco.activiti.model.Variable;
import com.inteligr8.rs.ClientConfiguration;
@TestPropertySource(locations = {"/local-oauth.properties"})
@SpringJUnitConfig(classes = {ApsClientConfiguration.class, ApsPublicRestApiCxfImpl.class, ApsClientCxfImpl.class})
public class ConnectionCxfClientIT extends ConnectionClientIT {
@Autowired
@Qualifier("aps.api.cxf")
private ApsPublicRestApi client;
@Override
public ApsPublicRestApi getClient() {
return this.client;
}
@Override
public ClientConfiguration getConfiguration() {
return this.client.getConfig();
}
}

View File

@@ -1,27 +0,0 @@
package com.inteligr8.alfresco.activiti;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
import com.inteligr8.rs.ClientConfiguration;
@TestPropertySource(locations = {"/local.properties"})
@SpringJUnitConfig(classes = {ApsClientConfiguration.class, ApsPublicRestApiCxfImpl.class, ApsClientJerseyImpl.class})
public class ConnectionJerseyClientIT extends ConnectionClientIT {
@Autowired
@Qualifier("aps.api.jersey")
private ApsPublicRestApi client;
public ApsPublicRestApi getClient() {
return this.client;
}
@Override
public ClientConfiguration getConfiguration() {
return this.client.getConfig();
}
}

Some files were not shown because too many files have changed in this diff Show More