remove default impls in jaxrs interfaces

This commit is contained in:
Brian Long 2024-09-24 17:18:18 -04:00
parent 1c88782ccb
commit 3e0a6d7767
5 changed files with 88 additions and 271 deletions

View File

@ -17,6 +17,11 @@ package com.inteligr8.activiti.api;
import java.io.File; import java.io.File;
import java.time.LocalDate; import java.time.LocalDate;
import com.inteligr8.activiti.model.Job;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
import jakarta.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE; import jakarta.ws.rs.DELETE;
import jakarta.ws.rs.GET; import jakarta.ws.rs.GET;
@ -27,12 +32,6 @@ import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType; 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;
import com.inteligr8.activiti.model.SortOrder;
public interface BaseJobsApi { public interface BaseJobsApi {
@GET @GET
@ -53,17 +52,6 @@ public interface BaseJobsApi {
@PathParam("jobId") String jobId, @PathParam("jobId") String jobId,
ProcessInstanceAction execute); 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 @GET
@Path("{jobId}/execution-stacktrace") @Path("{jobId}/execution-stacktrace")
@Produces({ MediaType.APPLICATION_OCTET_STREAM }) @Produces({ MediaType.APPLICATION_OCTET_STREAM })

View File

@ -16,6 +16,13 @@ package com.inteligr8.activiti.api;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.Execution;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.Variable;
import jakarta.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.GET; import jakarta.ws.rs.GET;
import jakarta.ws.rs.POST; import jakarta.ws.rs.POST;
@ -26,15 +33,6 @@ import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType; 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") @Path("/api/runtime/executions")
public interface ExecutionApi { public interface ExecutionApi {
@ -68,35 +66,6 @@ public interface ExecutionApi {
List<String> getActiveActivities( List<String> getActiveActivities(
@PathParam("executionId") String executionId); @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 @PUT
@Path("{executionId}") @Path("{executionId}")
@Consumes({ MediaType.APPLICATION_JSON }) @Consumes({ MediaType.APPLICATION_JSON })
@ -105,61 +74,39 @@ public interface ExecutionApi {
@PathParam("executionId") String executionId, @PathParam("executionId") String executionId,
ProcessInstanceAction action); ProcessInstanceAction action);
default ResultList<Execution> getWithoutTenant( @GET
String executionId, @Produces({ MediaType.APPLICATION_JSON })
String activityId, ResultList<Execution> getByTenant(
String processDefinitionKey, @QueryParam("id") String executionId,
String processDefinitionId, @QueryParam("activityId") String activityId,
String processInstanceId, @QueryParam("processDefinitionKey") String processDefinitionKey,
String messageEventSubscriptionName, @QueryParam("processDefinitionId") String processDefinitionId,
String signalEventSubscriptionName, @QueryParam("processInstanceId") String processInstanceId,
String parentId, @QueryParam("messageEventSubscriptionName") String messageEventSubscriptionName,
Sort sort, @QueryParam("signalEventSubscriptionName") String signalEventSubscriptionName,
SortOrder sortOrder, @QueryParam("parentId") String parentId,
Integer pageStart, @QueryParam("tenantId") String tenantId,
Integer pageSize) { @QueryParam("sort") Sort sort,
return this.getByAny(executionId, activityId, processDefinitionKey, processDefinitionId, processInstanceId, @QueryParam("order") SortOrder sortOrder,
messageEventSubscriptionName, signalEventSubscriptionName, parentId, null, null, true, @QueryParam("start") Integer pageStart,
sort, sortOrder, pageStart, pageSize); @QueryParam("size") Integer pageSize);
}
default ResultList<Execution> getByTenant( @GET
String executionId, @Produces({ MediaType.APPLICATION_JSON })
String activityId, ResultList<Execution> getByTenants(
String processDefinitionKey, @QueryParam("id") String executionId,
String processDefinitionId, @QueryParam("activityId") String activityId,
String processInstanceId, @QueryParam("processDefinitionKey") String processDefinitionKey,
String messageEventSubscriptionName, @QueryParam("processDefinitionId") String processDefinitionId,
String signalEventSubscriptionName, @QueryParam("processInstanceId") String processInstanceId,
String parentId, @QueryParam("messageEventSubscriptionName") String messageEventSubscriptionName,
String tenantId, @QueryParam("signalEventSubscriptionName") String signalEventSubscriptionName,
Sort sort, @QueryParam("parentId") String parentId,
SortOrder sortOrder, @QueryParam("tenantIdLike") String tenantIdLike,
Integer pageStart, @QueryParam("sort") Sort sort,
Integer pageSize) { @QueryParam("order") SortOrder sortOrder,
return this.getByAny(executionId, activityId, processDefinitionKey, processDefinitionId, processInstanceId, @QueryParam("start") Integer pageStart,
messageEventSubscriptionName, signalEventSubscriptionName, parentId, tenantId, null, false, @QueryParam("size") Integer pageSize);
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 @GET
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
@ -207,12 +154,6 @@ public interface ExecutionApi {
void updateVariables( void updateVariables(
@PathParam("executionId") String executionId, @PathParam("executionId") String executionId,
List<Variable> variables); List<Variable> variables);
default void updateVariable(
String executionId,
Variable variable) {
this.updateVariable(executionId, variable.getName(), variable);
}
@PUT @PUT
@Path("{executionId}/variables/{variableName}") @Path("{executionId}/variables/{variableName}")

View File

@ -19,7 +19,6 @@ import com.inteligr8.activiti.model.ProcessDefinition;
import com.inteligr8.activiti.model.ProcessDefinitionAction; import com.inteligr8.activiti.model.ProcessDefinitionAction;
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.ProcessDefinitionAction.ActionValue;
import jakarta.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.GET; import jakarta.ws.rs.GET;
@ -39,16 +38,6 @@ public interface ProcessDefinitionApi {
ProcessDefinition get( ProcessDefinition get(
@PathParam("processDefinitionId") String processDefinitionId); @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 @PUT
@Path("{processDefinitionId}") @Path("{processDefinitionId}")
@Consumes({ MediaType.APPLICATION_JSON }) @Consumes({ MediaType.APPLICATION_JSON })
@ -56,58 +45,6 @@ public interface ProcessDefinitionApi {
@PathParam("processDefinitionId") String processDefinitionId, @PathParam("processDefinitionId") String processDefinitionId,
ProcessDefinitionAction action); 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 @GET
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
public ResultList<ProcessDefinition> getByAny( public ResultList<ProcessDefinition> getByAny(

View File

@ -17,6 +17,13 @@ package com.inteligr8.activiti.api;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.Variable;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;
import jakarta.ws.rs.Consumes; import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE; import jakarta.ws.rs.DELETE;
import jakarta.ws.rs.GET; import jakarta.ws.rs.GET;
@ -28,14 +35,6 @@ import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam; import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType; 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") @Path("/api/runtime/process-instances")
public interface ProcessInstanceApi { public interface ProcessInstanceApi {
@ -61,16 +60,6 @@ public interface ProcessInstanceApi {
void delete( void delete(
@PathParam("processInstanceId") String processInstanceId); @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 @PUT
@Path("{processInstanceId}") @Path("{processInstanceId}")
@Consumes({ MediaType.APPLICATION_JSON }) @Consumes({ MediaType.APPLICATION_JSON })
@ -78,70 +67,43 @@ public interface ProcessInstanceApi {
@PathParam("processInstanceId") String processInstanceId, @PathParam("processInstanceId") String processInstanceId,
ProcessInstanceAction action); ProcessInstanceAction action);
default ResultList<ProcessInstance> getWithoutTenant( @GET
String processInstanceId, @Produces({ MediaType.APPLICATION_JSON })
String processDefinitionKey, public ResultList<ProcessInstance> getByTenant(
String processDefinitionId, @QueryParam("id") String processInstanceId,
String businessKey, @QueryParam("processDefinitionKey") String processDefinitionKey,
String involvedUser, @QueryParam("processDefinitionId") String processDefinitionId,
Boolean suspended, @QueryParam("businessKey") String businessKey,
String superProcessInstanceId, @QueryParam("involvedUser") String involvedUser,
String subProcessInstanceId, @QueryParam("suspended") Boolean suspended,
Boolean excludeSubprocesses, @QueryParam("superProcessInstanceId") String superProcessInstanceId,
Boolean includeProcessVariables, @QueryParam("subProcessInstanceId") String subProcessInstanceId,
Sort sort, @QueryParam("excludeSubprocesses") Boolean excludeSubprocesses,
SortOrder sortOrder, @QueryParam("includeProcessVariables") Boolean includeProcessVariables,
Integer pageStart, @QueryParam("tenantId") String tenantId,
Integer pageSize) { @QueryParam("sort") Sort sort,
return this.getByAny(processInstanceId, processDefinitionKey, processDefinitionId, @QueryParam("order") SortOrder sortOrder,
businessKey, involvedUser, suspended, superProcessInstanceId, subProcessInstanceId, @QueryParam("start") Integer pageStart,
excludeSubprocesses, includeProcessVariables, null, null, true, @QueryParam("size") Integer pageSize);
sort, sortOrder, pageStart, pageSize);
}
default ResultList<ProcessInstance> getByTenant( @GET
String processInstanceId, @Produces({ MediaType.APPLICATION_JSON })
String processDefinitionKey, public ResultList<ProcessInstance> getByTenants(
String processDefinitionId, @QueryParam("id") String processInstanceId,
String businessKey, @QueryParam("processDefinitionKey") String processDefinitionKey,
String involvedUser, @QueryParam("processDefinitionId") String processDefinitionId,
Boolean suspended, @QueryParam("businessKey") String businessKey,
String superProcessInstanceId, @QueryParam("involvedUser") String involvedUser,
String subProcessInstanceId, @QueryParam("suspended") Boolean suspended,
Boolean excludeSubprocesses, @QueryParam("superProcessInstanceId") String superProcessInstanceId,
Boolean includeProcessVariables, @QueryParam("subProcessInstanceId") String subProcessInstanceId,
String tenantId, @QueryParam("excludeSubprocesses") Boolean excludeSubprocesses,
Sort sort, @QueryParam("includeProcessVariables") Boolean includeProcessVariables,
SortOrder sortOrder, @QueryParam("tenantIdLike") String tenantIdLike,
Integer pageStart, @QueryParam("sort") Sort sort,
Integer pageSize) { @QueryParam("order") SortOrder sortOrder,
return this.getByAny(processInstanceId, processDefinitionKey, processDefinitionId, @QueryParam("start") Integer pageStart,
businessKey, involvedUser, suspended, superProcessInstanceId, subProcessInstanceId, @QueryParam("size") Integer pageSize);
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 @GET
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
@ -196,12 +158,6 @@ public interface ProcessInstanceApi {
void updateVariables( void updateVariables(
@PathParam("processInstanceId") String processInstanceId, @PathParam("processInstanceId") String processInstanceId,
List<Variable> variables); List<Variable> variables);
default void updateVariable(
String processInstanceId,
Variable variable) {
this.updateVariable(processInstanceId, variable.getName(), variable);
}
@PUT @PUT
@Path("{processInstanceId}/variables/{variableName}") @Path("{processInstanceId}/variables/{variableName}")

View File

@ -138,11 +138,6 @@ public interface TemplatesApi {
@QueryParam("sort") TemplateSort sort, @QueryParam("sort") TemplateSort sort,
@QueryParam("tenantId") Long tenantId); @QueryParam("tenantId") Long tenantId);
default Response getDocumentTemplate(
DocumentTemplateLight template) {
return this.getDocumentTemplate(template.getId(), System.currentTimeMillis());
}
@GET @GET
@Path("document-templates/{templateId}") @Path("document-templates/{templateId}")
@Produces({ MediaType.APPLICATION_JSON }) @Produces({ MediaType.APPLICATION_JSON })
@ -158,7 +153,7 @@ public interface TemplatesApi {
}) })
public Response getDocumentTemplate( public Response getDocumentTemplate(
@PathParam("templateId") long id, @PathParam("templateId") long id,
@QueryParam("version") long version); @QueryParam("version") Long version);
@DELETE @DELETE
@Path("document-templates/{templateId}") @Path("document-templates/{templateId}")