Compare commits

...

12 Commits

24 changed files with 1215 additions and 91 deletions

144
pom.xml
View File

@@ -2,21 +2,46 @@
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>2.0.0</version>
<version>2.0.4</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>
<maven.compiler.debuglevel>lines,vars,source</maven.compiler.debuglevel>
<!-- If you want to build for your specific version, point to your own
installation -->
<aps.app.tag>aps1</aps.app.tag>
<jersey.version>2.35</jersey.version>
<cxf.version>3.4.7</cxf.version>
</properties>
@@ -45,31 +70,6 @@
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<classifier>${aps.app.tag}</classifier>
</configuration>
</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>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- Implement when descriptor is available -->
@@ -201,32 +201,74 @@
</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>
<repositories>
<repository>
<id>inteligr8-releases</id>
<url>https://repos.inteligr8.com/nexus/repository/inteligr8-public</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<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>
</distributionManagement>
</project>

View File

@@ -1,11 +1,27 @@
/*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.alfresco.activiti;
import com.inteligr8.alfresco.activiti.api.AdminApi;
import com.inteligr8.alfresco.activiti.api.AppDefinitionsApi;
import com.inteligr8.alfresco.activiti.api.AppVersionApi;
import com.inteligr8.alfresco.activiti.api.HistoricProcessInstancesApi;
import com.inteligr8.alfresco.activiti.api.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;
/**
@@ -16,18 +32,46 @@ import com.inteligr8.alfresco.activiti.api.TasksApi;
*/
public interface ApsPublicRestApi {
AdminApi getAdminApi();
<T> T getApi(Class<T> apiClass);
AppDefinitionsApi getAppDefinitionsApi();
default AdminApi getAdminApi() {
return this.getApi(AdminApi.class);
}
AppVersionApi getAppVersionApi();
default AppDefinitionsApi getAppDefinitionsApi() {
return this.getApi(AppDefinitionsApi.class);
}
ModelsApi getModelsApi();
default AppVersionApi getAppVersionApi() {
return this.getApi(AppVersionApi.class);
}
default HistoricProcessInstancesApi getHistoricProcessInstancesApi() {
return this.getApi(HistoricProcessInstancesApi.class);
}
ProcessInstancesApi getProcessInstancesApi();
default ModelsApi getModelsApi() {
return this.getApi(ModelsApi.class);
}
ProfileApi getProfileApi();
default ProcessInstancesApi getProcessInstancesApi() {
return this.getApi(ProcessInstancesApi.class);
}
TasksApi getTasksApi();
default ProfileApi getProfileApi() {
return this.getApi(ProfileApi.class);
}
default TasksApi getTasksApi() {
return this.getApi(TasksApi.class);
}
/**
* The following are not part of the official open source or enterprise APIs
*/
default ShareApi getShareApi() {
return this.getApi(ShareApi.class);
}
}

View File

@@ -11,6 +11,8 @@ import com.inteligr8.alfresco.activiti.api.AppDefinitionsCxfApi;
*/
public interface ApsPublicRestCxfApi extends ApsPublicRestApi {
AppDefinitionsCxfApi getAppDefinitionsCxfApi();
default AppDefinitionsCxfApi getAppDefinitionsCxfApi() {
return this.getApi(AppDefinitionsCxfApi.class);
}
}

View File

@@ -11,6 +11,8 @@ import com.inteligr8.alfresco.activiti.api.AppDefinitionsJerseyApi;
*/
public interface ApsPublicRestJerseyApi extends ApsPublicRestApi {
AppDefinitionsJerseyApi getAppDefinitionsJerseyApi();
default AppDefinitionsJerseyApi getAppDefinitionsJerseyApi() {
return this.getApi(AppDefinitionsJerseyApi.class);
}
}

View File

@@ -1,4 +1,17 @@
/*
* 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;

View File

@@ -1,4 +1,17 @@
/*
* 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;

View File

@@ -1,4 +1,17 @@
/*
* 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;

View File

@@ -1,4 +1,17 @@
/*
* 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;

View File

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

View File

@@ -1,4 +1,17 @@
/*
* 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;

View File

@@ -1,4 +1,17 @@
/*
* 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;
@@ -14,6 +27,8 @@ import javax.ws.rs.Produces;
import com.inteligr8.alfresco.activiti.model.CreateProcessInstance;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;
import com.inteligr8.alfresco.activiti.model.ProcessInstanceQueryRepresentation;
import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation;
import com.inteligr8.alfresco.activiti.model.Variable;
@Path("/api/enterprise/process-instances")
@@ -23,6 +38,11 @@ public interface ProcessInstancesApi {
@Consumes({ "application/json" })
@Produces({ "application/json" })
ProcessInstance create(CreateProcessInstance processInstance);
@POST
@Consumes({ "application/json" })
@Produces({ "application/json" })
ResultListDataRepresentation<ProcessInstance> query(ProcessInstanceQueryRepresentation request);
@GET
@Path("{processInstanceId}")

View File

@@ -1,4 +1,17 @@
/*
* 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;

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 javax.ws.rs.Consumes;
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.core.MediaType;
import com.inteligr8.alfresco.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,4 +1,17 @@
/*
* 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;

View File

@@ -0,0 +1,395 @@
package com.inteligr8.alfresco.activiti.model;
import java.time.OffsetDateTime;
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;
@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")
private OffsetDateTime finishedAfter;
@JsonProperty("finishedBefore")
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 int size;
@JsonProperty("sort")
private String sort;
@JsonProperty("start")
private int start;
@JsonProperty("startedAfter")
private OffsetDateTime startedAfter;
@JsonProperty("startedBefore")
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 = new ArrayList<QueryVariable>();
@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 int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public HistoricProcessInstanceQueryRepresentation withSize(int 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 int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public HistoricProcessInstanceQueryRepresentation withStart(int 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() {
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,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

@@ -11,26 +11,26 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@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;

View File

@@ -0,0 +1,154 @@
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("size")
private int size;
@JsonProperty("sort")
private Sort sort;
@JsonProperty("start")
private int 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 int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public ProcessInstanceQueryRepresentation withSize(int 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 int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public ProcessInstanceQueryRepresentation withStart(int 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,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

@@ -26,10 +26,10 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
"start",
"total"
})
public class ResultListDataRepresentation {
public class ResultListDataRepresentation<T extends Datum> {
@JsonProperty("data")
private List<Datum> data = new ArrayList<Datum>();
private List<T> data = new ArrayList<>();
@JsonProperty("size")
private Integer size;
@JsonProperty("start")
@@ -40,16 +40,16 @@ public class ResultListDataRepresentation {
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
@JsonProperty("data")
public List<Datum> getData() {
public List<T> getData() {
return data;
}
@JsonProperty("data")
public void setData(List<Datum> data) {
public void setData(List<T> data) {
this.data = data;
}
public ResultListDataRepresentation withData(List<Datum> data) {
public ResultListDataRepresentation<T> withData(List<T> data) {
this.data = data;
return this;
}
@@ -64,7 +64,7 @@ public class ResultListDataRepresentation {
this.size = size;
}
public ResultListDataRepresentation withSize(Integer size) {
public ResultListDataRepresentation<T> withSize(Integer size) {
this.size = size;
return this;
}
@@ -79,7 +79,7 @@ public class ResultListDataRepresentation {
this.start = start;
}
public ResultListDataRepresentation withStart(Integer start) {
public ResultListDataRepresentation<T> withStart(Integer start) {
this.start = start;
return this;
}
@@ -94,7 +94,7 @@ public class ResultListDataRepresentation {
this.total = total;
}
public ResultListDataRepresentation withTotal(Integer total) {
public ResultListDataRepresentation<T> withTotal(Integer total) {
this.total = total;
return this;
}
@@ -109,7 +109,7 @@ public class ResultListDataRepresentation {
this.additionalProperties.put(name, value);
}
public ResultListDataRepresentation withAdditionalProperty(String name, Object value) {
public ResultListDataRepresentation<T> withAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
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;
}
}