Compare commits

...

17 Commits

35 changed files with 760 additions and 214 deletions

22
pom.xml
View File

@@ -5,7 +5,7 @@
<groupId>com.inteligr8.alfresco</groupId> <groupId>com.inteligr8.alfresco</groupId>
<artifactId>aps-public-rest-api</artifactId> <artifactId>aps-public-rest-api</artifactId>
<version>2.0.16</version> <version>3.0.3</version>
<name>Alfresco Process Services ReST API for Java</name> <name>Alfresco Process Services ReST API for Java</name>
<description>An APS API library for building REST API clients that support both the CXF and Jersey frameworks</description> <description>An APS API library for building REST API clients that support both the CXF and Jersey frameworks</description>
@@ -38,20 +38,26 @@
<properties> <properties>
<project.build.sourceEncoding>utf-8</project.build.sourceEncoding> <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
<maven.compiler.source>8</maven.compiler.source> <maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target> <maven.compiler.target>11</maven.compiler.target>
<maven.compiler.release>11</maven.compiler.release>
<maven.compiler.debuglevel>lines,vars,source</maven.compiler.debuglevel> <maven.compiler.debuglevel>lines,vars,source</maven.compiler.debuglevel>
<jersey.version>2.39.1</jersey.version> <jersey.version>3.1.8</jersey.version>
<cxf.version>3.5.6</cxf.version> <cxf.version>4.0.2</cxf.version>
<jackson.version>2.15.1</jackson.version> <jackson.version>2.17.2</jackson.version>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>jakarta.ws.rs</groupId> <groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId> <artifactId>jakarta.ws.rs-api</artifactId>
<version>2.1.6</version> <version>3.1.0</version>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>2.1.3</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.module</groupId> <groupId>com.fasterxml.jackson.module</groupId>
@@ -121,7 +127,7 @@
<plugin> <plugin>
<groupId>com.inteligr8</groupId> <groupId>com.inteligr8</groupId>
<artifactId>regex-maven-plugin</artifactId> <artifactId>regex-maven-plugin</artifactId>
<version>1.0.2</version> <version>1.0.5</version>
<executions> <executions>
<execution> <execution>
<id>fix-displayName</id> <id>fix-displayName</id>

View File

@@ -18,6 +18,7 @@ import com.inteligr8.activiti.api.DeadletterJobsApi;
import com.inteligr8.activiti.api.ExecutionApi; import com.inteligr8.activiti.api.ExecutionApi;
import com.inteligr8.activiti.api.JobsApi; import com.inteligr8.activiti.api.JobsApi;
import com.inteligr8.activiti.api.ManagementApi; import com.inteligr8.activiti.api.ManagementApi;
import com.inteligr8.activiti.api.ProcessDefinitionApi;
import com.inteligr8.activiti.api.ProcessInstanceApi; import com.inteligr8.activiti.api.ProcessInstanceApi;
import com.inteligr8.activiti.api.RuntimeApi; import com.inteligr8.activiti.api.RuntimeApi;
import com.inteligr8.activiti.api.TimerJobsApi; import com.inteligr8.activiti.api.TimerJobsApi;
@@ -52,6 +53,10 @@ public interface ActivitiPublicRestApi {
return this.getApi(TimerJobsApi.class); return this.getApi(TimerJobsApi.class);
} }
default ProcessDefinitionApi getProcessDefinitionApi() {
return this.getApi(ProcessDefinitionApi.class);
}
default ProcessInstanceApi getProcessInstanceApi() { default ProcessInstanceApi getProcessInstanceApi() {
return this.getApi(ProcessInstanceApi.class); return this.getApi(ProcessInstanceApi.class);
} }

View File

@@ -17,20 +17,21 @@ package com.inteligr8.activiti.api;
import java.io.File; import java.io.File;
import java.time.LocalDate; import java.time.LocalDate;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.DELETE; import jakarta.ws.rs.DELETE;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.POST; import jakarta.ws.rs.POST;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import com.inteligr8.activiti.model.Action; import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.Action.ActionValue; import com.inteligr8.activiti.model.ProcessInstanceAction.ActionValue;
import com.inteligr8.activiti.model.Job; import com.inteligr8.activiti.model.Job;
import com.inteligr8.activiti.model.ResultList; import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
public interface BaseJobsApi { public interface BaseJobsApi {
@@ -50,17 +51,17 @@ public interface BaseJobsApi {
@Consumes({ MediaType.APPLICATION_JSON }) @Consumes({ MediaType.APPLICATION_JSON })
public void executeJob( public void executeJob(
@PathParam("jobId") String jobId, @PathParam("jobId") String jobId,
Action execute); ProcessInstanceAction execute);
default void executeJob( default void executeJob(
String jobId, String jobId,
ActionValue action) { ActionValue action) {
this.executeJob(jobId, new Action(action)); this.executeJob(jobId, new ProcessInstanceAction(action));
} }
default void executeJob( default void executeJob(
String jobId) { String jobId) {
this.executeJob(jobId, new Action(ActionValue.Execute)); this.executeJob(jobId, new ProcessInstanceAction(ActionValue.Execute));
} }
@GET @GET
@@ -80,7 +81,10 @@ public interface BaseJobsApi {
@QueryParam("dueBefore") LocalDate dueBefore, @QueryParam("dueBefore") LocalDate dueBefore,
@QueryParam("dueAfter") LocalDate dueAfter, @QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("withoutTenantId") Boolean withoutTenatId, @QueryParam("withoutTenantId") Boolean withoutTenatId,
@QueryParam("sort") String sort); @QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET @GET
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
@@ -94,7 +98,10 @@ public interface BaseJobsApi {
@QueryParam("dueAfter") LocalDate dueAfter, @QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("tenantId") String tenantId, @QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike, @QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") String sort); @QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET @GET
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
@@ -109,7 +116,10 @@ public interface BaseJobsApi {
@QueryParam("dueAfter") LocalDate dueAfter, @QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("exceptionMessage") String exceptionMessage, @QueryParam("exceptionMessage") String exceptionMessage,
@QueryParam("withoutTenantId") Boolean withoutTenatId, @QueryParam("withoutTenantId") Boolean withoutTenatId,
@QueryParam("sort") String sort); @QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET @GET
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
@@ -125,7 +135,10 @@ public interface BaseJobsApi {
@QueryParam("exceptionMessage") String exceptionMessage, @QueryParam("exceptionMessage") String exceptionMessage,
@QueryParam("tenantId") String tenantId, @QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike, @QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") String sort); @QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET @GET
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
@@ -141,7 +154,10 @@ public interface BaseJobsApi {
@QueryParam("dueAfter") LocalDate dueAfter, @QueryParam("dueAfter") LocalDate dueAfter,
@QueryParam("exceptionMessage") String exceptionMessage, @QueryParam("exceptionMessage") String exceptionMessage,
@QueryParam("withoutTenantId") Boolean withoutTenatId, @QueryParam("withoutTenantId") Boolean withoutTenatId,
@QueryParam("sort") String sort); @QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
@GET @GET
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
@@ -158,6 +174,9 @@ public interface BaseJobsApi {
@QueryParam("exceptionMessage") String exceptionMessage, @QueryParam("exceptionMessage") String exceptionMessage,
@QueryParam("tenantId") String tenantId, @QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike, @QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") String sort); @QueryParam("sort") String sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
} }

View File

@@ -14,7 +14,7 @@
*/ */
package com.inteligr8.activiti.api; package com.inteligr8.activiti.api;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
@Path("/api/management/deadletter-jobs") @Path("/api/management/deadletter-jobs")
public interface DeadletterJobsApi extends BaseJobsApi { public interface DeadletterJobsApi extends BaseJobsApi {

View File

@@ -16,19 +16,19 @@ package com.inteligr8.activiti.api;
import java.util.List; import java.util.List;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.POST; import jakarta.ws.rs.POST;
import javax.ws.rs.PUT; import jakarta.ws.rs.PUT;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.Action; import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.Action.ActionValue; import com.inteligr8.activiti.model.ProcessInstanceAction.ActionValue;
import com.inteligr8.activiti.model.Execution; import com.inteligr8.activiti.model.Execution;
import com.inteligr8.activiti.model.ResultList; import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SignalEventAction; import com.inteligr8.activiti.model.SignalEventAction;
@@ -71,7 +71,7 @@ public interface ExecutionApi {
default Execution signal( default Execution signal(
String processInstanceId, String processInstanceId,
List<Variable> variables) { List<Variable> variables) {
Action action = new Action(ActionValue.Signal); ProcessInstanceAction action = new ProcessInstanceAction(ActionValue.Signal);
if (variables != null && !variables.isEmpty()) if (variables != null && !variables.isEmpty())
action.setVariables(variables); action.setVariables(variables);
return this.execute(processInstanceId, action); return this.execute(processInstanceId, action);
@@ -81,7 +81,7 @@ public interface ExecutionApi {
String processInstanceId, String processInstanceId,
String signal, String signal,
List<Variable> variables) { List<Variable> variables) {
Action action = new SignalEventAction(ActionValue.SignalReceived, signal); ProcessInstanceAction action = new SignalEventAction(ActionValue.SignalReceived, signal);
if (variables != null && !variables.isEmpty()) if (variables != null && !variables.isEmpty())
action.setVariables(variables); action.setVariables(variables);
return this.execute(processInstanceId, action); return this.execute(processInstanceId, action);
@@ -91,7 +91,7 @@ public interface ExecutionApi {
String processInstanceId, String processInstanceId,
String message, String message,
List<Variable> variables) { List<Variable> variables) {
Action action = new SignalEventAction(ActionValue.MessageReceived, message); ProcessInstanceAction action = new SignalEventAction(ActionValue.MessageReceived, message);
if (variables != null && !variables.isEmpty()) if (variables != null && !variables.isEmpty())
action.setVariables(variables); action.setVariables(variables);
return this.execute(processInstanceId, action); return this.execute(processInstanceId, action);
@@ -103,7 +103,7 @@ public interface ExecutionApi {
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
Execution execute( Execution execute(
@PathParam("executionId") String executionId, @PathParam("executionId") String executionId,
Action action); ProcessInstanceAction action);
default ResultList<Execution> getWithoutTenant( default ResultList<Execution> getWithoutTenant(
String executionId, String executionId,

View File

@@ -14,7 +14,7 @@
*/ */
package com.inteligr8.activiti.api; package com.inteligr8.activiti.api;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
@Path("/api/management/jobs") @Path("/api/management/jobs")
public interface JobsApi extends BaseJobsApi { public interface JobsApi extends BaseJobsApi {

View File

@@ -14,10 +14,10 @@
*/ */
package com.inteligr8.activiti.api; package com.inteligr8.activiti.api;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import com.inteligr8.activiti.model.Engine; import com.inteligr8.activiti.model.Engine;
import com.inteligr8.activiti.model.EngineProperties; import com.inteligr8.activiti.model.EngineProperties;

View File

@@ -0,0 +1,135 @@
/*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.activiti.api;
import com.inteligr8.activiti.api.ProcessInstanceApi.Sort;
import com.inteligr8.activiti.model.ProcessDefinition;
import com.inteligr8.activiti.model.ProcessDefinitionAction;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.ProcessDefinitionAction.ActionValue;
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<ProcessDefinition> getByTenant(
String category,
String categoryLike,
String categoryNotEquals,
String key,
String keyLike,
String name,
String nameLike,
String resourceName,
String resourceNameLike,
String version,
Boolean suspended,
boolean latest,
String deploymentId,
String startableByUser,
String tenantId,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(category, categoryLike, categoryNotEquals, key, keyLike,
name, nameLike, resourceName, resourceNameLike, version,
suspended, latest, deploymentId, startableByUser,
tenantId, null, sort, sortOrder, pageStart, pageSize);
}
default ResultList<ProcessDefinition> getByTenants(
String category,
String categoryLike,
String categoryNotEquals,
String key,
String keyLike,
String name,
String nameLike,
String resourceName,
String resourceNameLike,
String version,
Boolean suspended,
boolean latest,
String deploymentId,
String startableByUser,
String tenantIdLike,
Sort sort,
SortOrder sortOrder,
Integer pageStart,
Integer pageSize) {
return this.getByAny(category, categoryLike, categoryNotEquals, key, keyLike,
name, nameLike, resourceName, resourceNameLike, version,
suspended, latest, deploymentId, startableByUser,
null, tenantIdLike, sort, sortOrder, pageStart, pageSize);
}
@GET
@Produces({ MediaType.APPLICATION_JSON })
public ResultList<ProcessDefinition> getByAny(
@QueryParam("category") String category,
@QueryParam("categoryLike") String categoryLike,
@QueryParam("categoryNotEquals") String categoryNotEquals,
@QueryParam("key") String key,
@QueryParam("keyLike") String keyLike,
@QueryParam("name") String name,
@QueryParam("nameLike") String nameLike,
@QueryParam("resourceName") String resourceName,
@QueryParam("resourceNameLike") String resourceNameLike,
@QueryParam("version") String version,
@QueryParam("suspended") Boolean suspended,
@QueryParam("latest") Boolean latest,
@QueryParam("deploymentId") String deploymentId,
@QueryParam("startableByUser") String startableByUser,
@QueryParam("tenantId") String tenantId,
@QueryParam("tenantIdLike") String tenantIdLike,
@QueryParam("sort") Sort sort,
@QueryParam("order") SortOrder sortOrder,
@QueryParam("start") Integer pageStart,
@QueryParam("size") Integer pageSize);
}

View File

@@ -17,20 +17,20 @@ package com.inteligr8.activiti.api;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.DELETE; import jakarta.ws.rs.DELETE;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.POST; import jakarta.ws.rs.POST;
import javax.ws.rs.PUT; import jakarta.ws.rs.PUT;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.Action; import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.Action.ActionValue; import com.inteligr8.activiti.model.ProcessInstanceAction.ActionValue;
import com.inteligr8.activiti.model.ResultList; import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder; import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.Variable; import com.inteligr8.activiti.model.Variable;
@@ -63,12 +63,12 @@ public interface ProcessInstanceApi {
default void activate( default void activate(
String processInstanceId) { String processInstanceId) {
this.act(processInstanceId, new Action(ActionValue.Activate)); this.act(processInstanceId, new ProcessInstanceAction(ActionValue.Activate));
} }
default void suspend( default void suspend(
String processInstanceId) { String processInstanceId) {
this.act(processInstanceId, new Action(ActionValue.Suspend)); this.act(processInstanceId, new ProcessInstanceAction(ActionValue.Suspend));
} }
@PUT @PUT
@@ -76,7 +76,7 @@ public interface ProcessInstanceApi {
@Consumes({ MediaType.APPLICATION_JSON }) @Consumes({ MediaType.APPLICATION_JSON })
void act( void act(
@PathParam("processInstanceId") String processInstanceId, @PathParam("processInstanceId") String processInstanceId,
Action action); ProcessInstanceAction action);
default ResultList<ProcessInstance> getWithoutTenant( default ResultList<ProcessInstance> getWithoutTenant(
String processInstanceId, String processInstanceId,

View File

@@ -16,10 +16,10 @@ package com.inteligr8.activiti.api;
import java.util.List; import java.util.List;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.POST; import jakarta.ws.rs.POST;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import com.inteligr8.activiti.model.Variable; import com.inteligr8.activiti.model.Variable;

View File

@@ -14,7 +14,7 @@
*/ */
package com.inteligr8.activiti.api; package com.inteligr8.activiti.api;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
@Path("/api/management/timer-jobs") @Path("/api/management/timer-jobs")
public interface TimerJobsApi extends BaseJobsApi { public interface TimerJobsApi extends BaseJobsApi {

View File

@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
public class MessageEventAction extends Action { public class MessageEventAction extends ProcessInstanceAction {
@JsonProperty("messageName") @JsonProperty("messageName")
private String message; private String message;

View File

@@ -0,0 +1,243 @@
package com.inteligr8.activiti.model;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ProcessDefinition extends Datum {
@JsonProperty("category")
private String category;
@JsonProperty("deploymentId")
private String deploymentId;
@JsonProperty("deploymentUrl")
private String deploymentUrl;
@JsonProperty("diagramResource")
private String diagramResource;
@JsonProperty("description")
private String description;
@JsonProperty("graphicalNotationDefined")
private boolean graphicalNotationDefined;
@JsonProperty("id")
private String id;
@JsonProperty("key")
private String key;
@JsonProperty("name")
private String name;
@JsonProperty("resource")
private String resource;
@JsonProperty("startFormDefined")
private boolean startFormDefined;
@JsonProperty("suspended")
private boolean suspended;
@JsonProperty("tenantId")
private String tenantId;
@JsonProperty("url")
private String url;
@JsonProperty("version")
private Integer version;
/**
* No args constructor for use in serialization
*/
public ProcessDefinition() {
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public ProcessDefinition withCategory(String category) {
this.category = category;
return this;
}
public String getDeploymentId() {
return deploymentId;
}
public void setDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
}
public ProcessDefinition withDeploymentId(String deploymentId) {
this.deploymentId = deploymentId;
return this;
}
public String getDeploymentUrl() {
return deploymentUrl;
}
public void setDeploymentUrl(String deploymentUrl) {
this.deploymentUrl = deploymentUrl;
}
public ProcessDefinition withDeploymentUrl(String deploymentUrl) {
this.deploymentUrl = deploymentUrl;
return this;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public ProcessDefinition withDescription(String description) {
this.description = description;
return this;
}
public String getDiagramResource() {
return diagramResource;
}
public void setDiagramResource(String diagramResource) {
this.diagramResource = diagramResource;
}
public ProcessDefinition withDiagramResource(String diagramResource) {
this.diagramResource = diagramResource;
return this;
}
public boolean isGraphicalNotationDefined() {
return graphicalNotationDefined;
}
public void setGraphicalNotationDefined(boolean graphicalNotationDefined) {
this.graphicalNotationDefined = graphicalNotationDefined;
}
public ProcessDefinition withGraphicalNotationDefined(boolean graphicalNotationDefined) {
this.graphicalNotationDefined = graphicalNotationDefined;
return this;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public ProcessDefinition withId(String id) {
this.id = id;
return this;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public ProcessDefinition withKey(String key) {
this.key = key;
return this;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ProcessDefinition withName(String name) {
this.name = name;
return this;
}
public String getResource() {
return resource;
}
public void setResource(String resource) {
this.resource = resource;
}
public ProcessDefinition withResource(String resource) {
this.resource = resource;
return this;
}
public boolean isStartFormDefined() {
return startFormDefined;
}
public void setStartFormDefined(boolean startFormDefined) {
this.startFormDefined = startFormDefined;
}
public ProcessDefinition withStartFormDefined(boolean startFormDefined) {
this.startFormDefined = startFormDefined;
return this;
}
public boolean isSuspended() {
return suspended;
}
public void setSuspended(boolean suspended) {
this.suspended = suspended;
}
public ProcessDefinition withSuspended(boolean suspended) {
this.suspended = suspended;
return this;
}
public String getTenantId() {
return tenantId;
}
public void setTenantId(String tenantId) {
this.tenantId = tenantId;
}
public ProcessDefinition withTenantId(String tenantId) {
this.tenantId = tenantId;
return this;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public ProcessDefinition withUrl(String url) {
this.url = url;
return this;
}
public Integer getVersion() {
return version;
}
public void setVersion(Integer version) {
this.version = version;
}
public ProcessDefinition withVersion(Integer version) {
this.version = version;
return this;
}
}

View File

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

View File

@@ -6,7 +6,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
public class Action { public class ProcessInstanceAction {
public enum ActionValue { public enum ActionValue {
@JsonProperty("execute") @JsonProperty("execute")
@@ -31,10 +31,10 @@ public class Action {
/** /**
* No args constructor for use in serialization * No args constructor for use in serialization
*/ */
public Action() { public ProcessInstanceAction() {
} }
public Action(ActionValue action) { public ProcessInstanceAction(ActionValue action) {
this.action = action; this.action = action;
} }
@@ -46,7 +46,7 @@ public class Action {
this.action = action; this.action = action;
} }
public Action withAction(ActionValue action) { public ProcessInstanceAction withAction(ActionValue action) {
this.action = action; this.action = action;
return this; return this;
} }
@@ -59,7 +59,7 @@ public class Action {
this.variables = variables; this.variables = variables;
} }
public Action withVariables(List<Variable> variables) { public ProcessInstanceAction withVariables(List<Variable> variables) {
this.variables = variables; this.variables = variables;
return this; return this;
} }

View File

@@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
@JsonInclude(JsonInclude.Include.NON_NULL) @JsonInclude(JsonInclude.Include.NON_NULL)
public class SignalEventAction extends Action { public class SignalEventAction extends ProcessInstanceAction {
@JsonProperty("signalName") @JsonProperty("signalName")
private String signal; private String signal;

View File

@@ -0,0 +1,36 @@
/*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or (at your
* option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.inteligr8.alfresco.activiti;
import com.inteligr8.alfresco.activiti.api.ShareApi;
import com.inteligr8.alfresco.activiti.api.TemplatesApi;
/**
* This interface consolidates the JAX-RS APIs available in the Activiti & APS
* public ReST APIs, plus some useful non-public APIs available in APS.
*
* @author brian@inteligr8.com
*/
public interface ApsProtectedRestApi extends ApsPublicRestApi {
default ShareApi getShareApi() {
return this.getApi(ShareApi.class);
}
default TemplatesApi getTemplatesApi() {
return this.getApi(TemplatesApi.class);
}
}

View File

@@ -17,29 +17,31 @@ package com.inteligr8.alfresco.activiti;
import com.inteligr8.activiti.ActivitiPublicRestApi; import com.inteligr8.activiti.ActivitiPublicRestApi;
import com.inteligr8.alfresco.activiti.api.AdminApi; import com.inteligr8.alfresco.activiti.api.AdminApi;
import com.inteligr8.alfresco.activiti.api.AppDefinitionsApi; import com.inteligr8.alfresco.activiti.api.AppDefinitionsApi;
import com.inteligr8.alfresco.activiti.api.AppDeploymentsApi;
import com.inteligr8.alfresco.activiti.api.AppVersionApi; import com.inteligr8.alfresco.activiti.api.AppVersionApi;
import com.inteligr8.alfresco.activiti.api.HistoricApi; import com.inteligr8.alfresco.activiti.api.HistoricApi;
import com.inteligr8.alfresco.activiti.api.ModelsApi; import com.inteligr8.alfresco.activiti.api.ModelsApi;
import com.inteligr8.alfresco.activiti.api.ProcessDefinitionsApi;
import com.inteligr8.alfresco.activiti.api.ProcessInstancesApi; import com.inteligr8.alfresco.activiti.api.ProcessInstancesApi;
import com.inteligr8.alfresco.activiti.api.ProfileApi; import com.inteligr8.alfresco.activiti.api.ProfileApi;
import com.inteligr8.alfresco.activiti.api.ShareApi;
import com.inteligr8.alfresco.activiti.api.TasksApi; import com.inteligr8.alfresco.activiti.api.TasksApi;
import com.inteligr8.alfresco.activiti.api.TemplatesApi;
/** /**
* This interface consolidates the JAX-RS APIs available in the APS Public * This interface consolidates the JAX-RS APIs available in the Activiti & APS
* ReST API. * public ReST APIs.
* *
* @author brian@inteligr8.com * @author brian@inteligr8.com
*/ */
public interface ApsPublicRestApi extends ActivitiPublicRestApi { public interface ApsPublicRestApi extends ActivitiPublicRestApi {
<T> T getApi(Class<T> apiClass);
default AdminApi getAdminApi() { default AdminApi getAdminApi() {
return this.getApi(AdminApi.class); return this.getApi(AdminApi.class);
} }
default AppDeploymentsApi getAppDeploymentsApi() {
return this.getApi(AppDeploymentsApi.class);
}
default AppDefinitionsApi getAppDefinitionsApi() { default AppDefinitionsApi getAppDefinitionsApi() {
return this.getApi(AppDefinitionsApi.class); return this.getApi(AppDefinitionsApi.class);
} }
@@ -56,6 +58,10 @@ public interface ApsPublicRestApi extends ActivitiPublicRestApi {
return this.getApi(ModelsApi.class); return this.getApi(ModelsApi.class);
} }
default ProcessDefinitionsApi getProcessDefinitionsApi() {
return this.getApi(ProcessDefinitionsApi.class);
}
default ProcessInstancesApi getProcessInstancesApi() { default ProcessInstancesApi getProcessInstancesApi() {
return this.getApi(ProcessInstancesApi.class); return this.getApi(ProcessInstancesApi.class);
} }
@@ -68,16 +74,4 @@ public interface ApsPublicRestApi extends ActivitiPublicRestApi {
return this.getApi(TasksApi.class); return this.getApi(TasksApi.class);
} }
/**
* The following are not part of the official open source or enterprise APIs
*/
default ShareApi getShareApi() {
return this.getApi(ShareApi.class);
}
default TemplatesApi getTemplatesApi() {
return this.getApi(TemplatesApi.class);
}
} }

View File

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

View File

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

View File

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

View File

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

View File

@@ -14,13 +14,13 @@
*/ */
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.DELETE; import jakarta.ws.rs.DELETE;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import com.inteligr8.alfresco.activiti.model.AppDeployment; import com.inteligr8.alfresco.activiti.model.AppDeployment;
import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation; import com.inteligr8.alfresco.activiti.model.ResultListDataRepresentation;
@@ -30,7 +30,7 @@ public interface AppDeploymentsApi {
@GET @GET
@Path("runtime-app-deployment") @Path("runtime-app-deployment")
@Produces({ "application/json" }) @Produces({ MediaType.APPLICATION_JSON })
AppDeployment get( AppDeployment get(
@QueryParam("deploymentId") String deploymentId); @QueryParam("deploymentId") String deploymentId);

View File

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

View File

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

View File

@@ -14,10 +14,10 @@
*/ */
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.POST; import jakarta.ws.rs.POST;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import com.inteligr8.alfresco.activiti.model.HistoricProcessInstanceQueryRepresentation; import com.inteligr8.alfresco.activiti.model.HistoricProcessInstanceQueryRepresentation;
import com.inteligr8.alfresco.activiti.model.HistoricTaskQueryRepresentation; import com.inteligr8.alfresco.activiti.model.HistoricTaskQueryRepresentation;

View File

@@ -14,11 +14,11 @@
*/ */
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import com.inteligr8.activiti.model.ResultList; import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.alfresco.activiti.model.ModelRepresentation; import com.inteligr8.alfresco.activiti.model.ModelRepresentation;

View File

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

View File

@@ -16,14 +16,14 @@ package com.inteligr8.alfresco.activiti.api;
import java.util.List; import java.util.List;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.DELETE; import jakarta.ws.rs.DELETE;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.POST; import jakarta.ws.rs.POST;
import javax.ws.rs.PUT; import jakarta.ws.rs.PUT;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import com.inteligr8.alfresco.activiti.model.CreateProcessInstance; import com.inteligr8.alfresco.activiti.model.CreateProcessInstance;
import com.inteligr8.alfresco.activiti.model.ProcessInstance; import com.inteligr8.alfresco.activiti.model.ProcessInstance;

View File

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

View File

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

View File

@@ -16,15 +16,15 @@ package com.inteligr8.alfresco.activiti.api;
import java.util.List; import java.util.List;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.DELETE; import jakarta.ws.rs.DELETE;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.POST; import jakarta.ws.rs.POST;
import javax.ws.rs.PUT; import jakarta.ws.rs.PUT;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import com.inteligr8.alfresco.activiti.model.AssigneeIdentifier; import com.inteligr8.alfresco.activiti.model.AssigneeIdentifier;
import com.inteligr8.alfresco.activiti.model.CompleteForm; import com.inteligr8.alfresco.activiti.model.CompleteForm;

View File

@@ -14,17 +14,17 @@
*/ */
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import javax.ws.rs.DELETE; import jakarta.ws.rs.DELETE;
import javax.ws.rs.GET; import jakarta.ws.rs.GET;
import javax.ws.rs.POST; import jakarta.ws.rs.POST;
import javax.ws.rs.PUT; import jakarta.ws.rs.PUT;
import javax.ws.rs.Path; import jakarta.ws.rs.Path;
import javax.ws.rs.PathParam; import jakarta.ws.rs.PathParam;
import javax.ws.rs.Produces; import jakarta.ws.rs.Produces;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.core.MediaType;
import javax.ws.rs.core.Response; import jakarta.ws.rs.core.Response;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.ResultList; import com.inteligr8.activiti.model.ResultList;

View File

@@ -14,12 +14,13 @@
*/ */
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.POST; import jakarta.ws.rs.Consumes;
import javax.ws.rs.Path; import jakarta.ws.rs.POST;
import javax.ws.rs.PathParam; import jakarta.ws.rs.Path;
import javax.ws.rs.Produces; import jakarta.ws.rs.PathParam;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.Produces;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;
import com.inteligr8.alfresco.activiti.model.DocumentTemplateLight; import com.inteligr8.alfresco.activiti.model.DocumentTemplateLight;
import com.inteligr8.alfresco.activiti.model.FileMultipartCxf; import com.inteligr8.alfresco.activiti.model.FileMultipartCxf;
@@ -34,6 +35,7 @@ public interface TemplatesCxfApi extends TemplatesApi {
@POST @POST
@Path("admin/document-templates") @Path("admin/document-templates")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
public DocumentTemplateLight createDocumentTemplate( public DocumentTemplateLight createDocumentTemplate(
@QueryParam("tenantId") Long tenantId, @QueryParam("tenantId") Long tenantId,
@@ -41,6 +43,7 @@ public interface TemplatesCxfApi extends TemplatesApi {
@POST @POST
@Path("admin/document-templates/{templateId}") @Path("admin/document-templates/{templateId}")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
public DocumentTemplateLight updateDocumentTemplate( public DocumentTemplateLight updateDocumentTemplate(
@PathParam("templateId") long id, @PathParam("templateId") long id,

View File

@@ -14,12 +14,13 @@
*/ */
package com.inteligr8.alfresco.activiti.api; package com.inteligr8.alfresco.activiti.api;
import javax.ws.rs.POST; import jakarta.ws.rs.Consumes;
import javax.ws.rs.Path; import jakarta.ws.rs.POST;
import javax.ws.rs.PathParam; import jakarta.ws.rs.Path;
import javax.ws.rs.Produces; import jakarta.ws.rs.PathParam;
import javax.ws.rs.QueryParam; import jakarta.ws.rs.Produces;
import javax.ws.rs.core.MediaType; import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;
import com.inteligr8.alfresco.activiti.model.DocumentTemplateLight; import com.inteligr8.alfresco.activiti.model.DocumentTemplateLight;
import com.inteligr8.alfresco.activiti.model.FileMultipartJersey; import com.inteligr8.alfresco.activiti.model.FileMultipartJersey;
@@ -34,6 +35,7 @@ public interface TemplatesJerseyApi extends TemplatesApi {
@POST @POST
@Path("admin/document-templates") @Path("admin/document-templates")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
public DocumentTemplateLight createDocumentTemplate( public DocumentTemplateLight createDocumentTemplate(
@QueryParam("tenantId") Long tenantId, @QueryParam("tenantId") Long tenantId,
@@ -41,6 +43,7 @@ public interface TemplatesJerseyApi extends TemplatesApi {
@POST @POST
@Path("admin/document-templates/{templateId}") @Path("admin/document-templates/{templateId}")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
public DocumentTemplateLight updateDocumentTemplate( public DocumentTemplateLight updateDocumentTemplate(
@PathParam("templateId") long id, @PathParam("templateId") long id,