Commit a855c5b7 authored by Brian Long's avatar Brian Long
Browse files

Merge branch 'develop' into stable

parents b75e6550 3e0a6d77
Loading
Loading
Loading
Loading
+5 −17
Original line number Diff line number Diff line
@@ -17,6 +17,11 @@ package com.inteligr8.activiti.api;
import java.io.File;
import java.time.LocalDate;

import com.inteligr8.activiti.model.Job;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;

import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE;
import jakarta.ws.rs.GET;
@@ -27,12 +32,6 @@ import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;

import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ProcessInstanceAction.ActionValue;
import com.inteligr8.activiti.model.Job;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;

public interface BaseJobsApi {
    
    @GET
@@ -53,17 +52,6 @@ public interface BaseJobsApi {
        @PathParam("jobId") String jobId,
        ProcessInstanceAction execute);

    default void executeJob(
        String jobId,
        ActionValue action) {
        this.executeJob(jobId, new ProcessInstanceAction(action));
    }

    default void executeJob(
        String jobId) {
        this.executeJob(jobId, new ProcessInstanceAction(ActionValue.Execute));
    }

    @GET
    @Path("{jobId}/execution-stacktrace")
    @Produces({ MediaType.APPLICATION_OCTET_STREAM })
+39 −98
Original line number Diff line number Diff line
@@ -16,6 +16,13 @@ package com.inteligr8.activiti.api;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.Execution;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.Variable;

import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.POST;
@@ -26,15 +33,6 @@ import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ProcessInstanceAction.ActionValue;
import com.inteligr8.activiti.model.Execution;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SignalEventAction;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.Variable;

@Path("/api/runtime/executions")
public interface ExecutionApi {
    
@@ -68,35 +66,6 @@ public interface ExecutionApi {
    List<String> getActiveActivities(
            @PathParam("executionId") String executionId);

    default Execution signal(
            String processInstanceId,
            List<Variable> variables) {
        ProcessInstanceAction action = new ProcessInstanceAction(ActionValue.Signal);
        if (variables != null && !variables.isEmpty())
            action.setVariables(variables);
        return this.execute(processInstanceId, action);
    }

    default Execution signalReceived(
            String processInstanceId,
            String signal,
            List<Variable> variables) {
        ProcessInstanceAction action = new SignalEventAction(ActionValue.SignalReceived, signal);
        if (variables != null && !variables.isEmpty())
            action.setVariables(variables);
        return this.execute(processInstanceId, action);
    }

    default Execution messageReceived(
            String processInstanceId,
            String message,
            List<Variable> variables) {
        ProcessInstanceAction action = new SignalEventAction(ActionValue.MessageReceived, message);
        if (variables != null && !variables.isEmpty())
            action.setVariables(variables);
        return this.execute(processInstanceId, action);
    }

    @PUT
    @Path("{executionId}")
    @Consumes({ MediaType.APPLICATION_JSON })
@@ -105,61 +74,39 @@ public interface ExecutionApi {
            @PathParam("executionId") String executionId,
            ProcessInstanceAction action);

    default ResultList<Execution> getWithoutTenant(
            String executionId,
            String activityId,
            String processDefinitionKey,
            String processDefinitionId,
            String processInstanceId,
            String messageEventSubscriptionName,
            String signalEventSubscriptionName,
            String parentId,
            Sort sort,
            SortOrder sortOrder,
            Integer pageStart,
            Integer pageSize) {
        return this.getByAny(executionId, activityId, processDefinitionKey, processDefinitionId, processInstanceId,
                messageEventSubscriptionName, signalEventSubscriptionName, parentId, null, null, true,
                sort, sortOrder, pageStart, pageSize);
    }

    default ResultList<Execution> getByTenant(
            String executionId,
            String activityId,
            String processDefinitionKey,
            String processDefinitionId,
            String processInstanceId,
            String messageEventSubscriptionName,
            String signalEventSubscriptionName,
            String parentId,
            String tenantId,
            Sort sort,
            SortOrder sortOrder,
            Integer pageStart,
            Integer pageSize) {
        return this.getByAny(executionId, activityId, processDefinitionKey, processDefinitionId, processInstanceId,
                messageEventSubscriptionName, signalEventSubscriptionName, parentId, tenantId, null, false,
                sort, sortOrder, pageStart, pageSize);
    }
    @GET
    @Produces({ MediaType.APPLICATION_JSON })
    ResultList<Execution> getByTenant(
            @QueryParam("id") String executionId,
            @QueryParam("activityId") String activityId,
            @QueryParam("processDefinitionKey") String processDefinitionKey,
            @QueryParam("processDefinitionId") String processDefinitionId,
            @QueryParam("processInstanceId") String processInstanceId,
            @QueryParam("messageEventSubscriptionName") String messageEventSubscriptionName,
            @QueryParam("signalEventSubscriptionName") String signalEventSubscriptionName,
            @QueryParam("parentId") String parentId,
            @QueryParam("tenantId") String tenantId,
            @QueryParam("sort") Sort sort,
            @QueryParam("order") SortOrder sortOrder,
            @QueryParam("start") Integer pageStart,
            @QueryParam("size") Integer pageSize);

    default ResultList<Execution> getByTenants(
            String executionId,
            String activityId,
            String processDefinitionKey,
            String processDefinitionId,
            String processInstanceId,
            String messageEventSubscriptionName,
            String signalEventSubscriptionName,
            String parentId,
            String tenantIdLike,
            Sort sort,
            SortOrder sortOrder,
            Integer pageStart,
            Integer pageSize) {
        return this.getByAny(executionId, activityId, processDefinitionKey, processDefinitionId, processInstanceId,
                messageEventSubscriptionName, signalEventSubscriptionName, parentId, null, tenantIdLike, false,
                sort, sortOrder, pageStart, pageSize);
    }
    @GET
    @Produces({ MediaType.APPLICATION_JSON })
    ResultList<Execution> getByTenants(
            @QueryParam("id") String executionId,
            @QueryParam("activityId") String activityId,
            @QueryParam("processDefinitionKey") String processDefinitionKey,
            @QueryParam("processDefinitionId") String processDefinitionId,
            @QueryParam("processInstanceId") String processInstanceId,
            @QueryParam("messageEventSubscriptionName") String messageEventSubscriptionName,
            @QueryParam("signalEventSubscriptionName") String signalEventSubscriptionName,
            @QueryParam("parentId") String parentId,
            @QueryParam("tenantIdLike") String tenantIdLike,
            @QueryParam("sort") Sort sort,
            @QueryParam("order") SortOrder sortOrder,
            @QueryParam("start") Integer pageStart,
            @QueryParam("size") Integer pageSize);

    @GET
    @Produces({ MediaType.APPLICATION_JSON })
@@ -208,12 +155,6 @@ public interface ExecutionApi {
            @PathParam("executionId") String executionId,
            List<Variable> variables);
    
    default void updateVariable(
            String executionId,
            Variable variable) {
        this.updateVariable(executionId, variable.getName(), variable);
    }
    
    @PUT
    @Path("{executionId}/variables/{variableName}")
    @Consumes({ MediaType.APPLICATION_JSON })
+0 −63
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ 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;
@@ -39,16 +38,6 @@ public interface ProcessDefinitionApi {
    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 })
@@ -56,58 +45,6 @@ public interface ProcessDefinitionApi {
            @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(
+43 −87
Original line number Diff line number Diff line
@@ -17,6 +17,13 @@ package com.inteligr8.activiti.api;
import java.io.File;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.Variable;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;

import jakarta.ws.rs.Consumes;
import jakarta.ws.rs.DELETE;
import jakarta.ws.rs.GET;
@@ -28,14 +35,6 @@ import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.MediaType;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.inteligr8.activiti.model.ProcessInstanceAction;
import com.inteligr8.activiti.model.ProcessInstanceAction.ActionValue;
import com.inteligr8.activiti.model.ResultList;
import com.inteligr8.activiti.model.SortOrder;
import com.inteligr8.activiti.model.Variable;
import com.inteligr8.alfresco.activiti.model.ProcessInstance;

@Path("/api/runtime/process-instances")
public interface ProcessInstanceApi {
    
@@ -61,16 +60,6 @@ public interface ProcessInstanceApi {
    void delete(
            @PathParam("processInstanceId") String processInstanceId);

    default void activate(
            String processInstanceId) {
        this.act(processInstanceId, new ProcessInstanceAction(ActionValue.Activate)); 
    }

    default void suspend(
            String processInstanceId) {
        this.act(processInstanceId, new ProcessInstanceAction(ActionValue.Suspend)); 
    }

    @PUT
    @Path("{processInstanceId}")
    @Consumes({ MediaType.APPLICATION_JSON })
@@ -78,70 +67,43 @@ public interface ProcessInstanceApi {
            @PathParam("processInstanceId") String processInstanceId,
            ProcessInstanceAction action);

    default ResultList<ProcessInstance> getWithoutTenant(
            String processInstanceId,
            String processDefinitionKey,
            String processDefinitionId,
            String businessKey,
            String involvedUser,
            Boolean suspended,
            String superProcessInstanceId,
            String subProcessInstanceId,
            Boolean excludeSubprocesses,
            Boolean includeProcessVariables,
            Sort sort,
            SortOrder sortOrder,
            Integer pageStart,
            Integer pageSize) {
        return this.getByAny(processInstanceId, processDefinitionKey, processDefinitionId,
                businessKey, involvedUser, suspended, superProcessInstanceId, subProcessInstanceId,
                excludeSubprocesses, includeProcessVariables, null, null, true,
                sort, sortOrder, pageStart, pageSize);
    }

    default ResultList<ProcessInstance> getByTenant(
            String processInstanceId,
            String processDefinitionKey,
            String processDefinitionId,
            String businessKey,
            String involvedUser,
            Boolean suspended,
            String superProcessInstanceId,
            String subProcessInstanceId,
            Boolean excludeSubprocesses,
            Boolean includeProcessVariables,
            String tenantId,
            Sort sort,
            SortOrder sortOrder,
            Integer pageStart,
            Integer pageSize) {
        return this.getByAny(processInstanceId, processDefinitionKey, processDefinitionId,
                businessKey, involvedUser, suspended, superProcessInstanceId, subProcessInstanceId,
                excludeSubprocesses, includeProcessVariables, tenantId, null, false,
                sort, sortOrder, pageStart, pageSize);
    }
    @GET
    @Produces({ MediaType.APPLICATION_JSON })
    public ResultList<ProcessInstance> getByTenant(
            @QueryParam("id") String processInstanceId,
            @QueryParam("processDefinitionKey") String processDefinitionKey,
            @QueryParam("processDefinitionId") String processDefinitionId,
            @QueryParam("businessKey") String businessKey,
            @QueryParam("involvedUser") String involvedUser,
            @QueryParam("suspended") Boolean suspended,
            @QueryParam("superProcessInstanceId") String superProcessInstanceId,
            @QueryParam("subProcessInstanceId") String subProcessInstanceId,
            @QueryParam("excludeSubprocesses") Boolean excludeSubprocesses,
            @QueryParam("includeProcessVariables") Boolean includeProcessVariables,
            @QueryParam("tenantId") String tenantId,
            @QueryParam("sort") Sort sort,
            @QueryParam("order") SortOrder sortOrder,
            @QueryParam("start") Integer pageStart,
            @QueryParam("size") Integer pageSize);

    default ResultList<ProcessInstance> getByTenants(
            String processInstanceId,
            String processDefinitionKey,
            String processDefinitionId,
            String businessKey,
            String involvedUser,
            Boolean suspended,
            String superProcessInstanceId,
            String subProcessInstanceId,
            Boolean excludeSubprocesses,
            Boolean includeProcessVariables,
            String tenantIdLike,
            Sort sort,
            SortOrder sortOrder,
            Integer pageStart,
            Integer pageSize) {
        return this.getByAny(processInstanceId, processDefinitionKey, processDefinitionId,
                businessKey, involvedUser, suspended, superProcessInstanceId, subProcessInstanceId,
                excludeSubprocesses, includeProcessVariables, null, tenantIdLike, false,
                sort, sortOrder, pageStart, pageSize);
    }
    @GET
    @Produces({ MediaType.APPLICATION_JSON })
    public ResultList<ProcessInstance> getByTenants(
            @QueryParam("id") String processInstanceId,
            @QueryParam("processDefinitionKey") String processDefinitionKey,
            @QueryParam("processDefinitionId") String processDefinitionId,
            @QueryParam("businessKey") String businessKey,
            @QueryParam("involvedUser") String involvedUser,
            @QueryParam("suspended") Boolean suspended,
            @QueryParam("superProcessInstanceId") String superProcessInstanceId,
            @QueryParam("subProcessInstanceId") String subProcessInstanceId,
            @QueryParam("excludeSubprocesses") Boolean excludeSubprocesses,
            @QueryParam("includeProcessVariables") Boolean includeProcessVariables,
            @QueryParam("tenantIdLike") String tenantIdLike,
            @QueryParam("sort") Sort sort,
            @QueryParam("order") SortOrder sortOrder,
            @QueryParam("start") Integer pageStart,
            @QueryParam("size") Integer pageSize);

    @GET
    @Produces({ MediaType.APPLICATION_JSON })
@@ -197,12 +159,6 @@ public interface ProcessInstanceApi {
            @PathParam("processInstanceId") String processInstanceId,
            List<Variable> variables);
    
    default void updateVariable(
            String processInstanceId,
            Variable variable) {
        this.updateVariable(processInstanceId, variable.getName(), variable);
    }
    
    @PUT
    @Path("{processInstanceId}/variables/{variableName}")
    @Consumes({ MediaType.APPLICATION_JSON })
+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ public interface AppDeploymentsApi {
    @Produces({ MediaType.APPLICATION_JSON })
    ResultListDataRepresentation<AppDeployment> query(
            @QueryParam("nameLike") String nameLike,
            @QueryParam("tenantId") Integer tenantId,
            @QueryParam("tenantId") Long tenantId,
            @QueryParam("latest") Boolean latest,
            @QueryParam("start") Integer start,
            @QueryParam("sort") String sort,
Loading