Commit 7048e42c authored by Brian Long's avatar Brian Long
Browse files

added process instance query operations

parent 8697d67b
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ 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;
@@ -45,6 +46,10 @@ public interface ApsPublicRestApi {
		return this.getApi(AppVersionApi.class);
	}
    
    default HistoricProcessInstancesApi getHistoricProcessInstancesApi() {
        return this.getApi(HistoricProcessInstancesApi.class);
    }
	
	default ModelsApi getModelsApi() {
		return this.getApi(ModelsApi.class);
	}
+34 −0
Original line number Diff line number Diff line
/*
 * 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);

}
+7 −0
Original line number Diff line number Diff line
@@ -27,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")
@@ -37,6 +39,11 @@ public interface ProcessInstancesApi {
    @Produces({ "application/json" })
    ProcessInstance create(CreateProcessInstance processInstance);

    @POST
    @Consumes({ "application/json" })
    @Produces({ "application/json" })
    ResultListDataRepresentation<ProcessInstance> query(ProcessInstanceQueryRepresentation request);
    
    @GET
    @Path("{processInstanceId}")
    @Produces({ "application/json" })
+395 −0
Original line number Diff line number Diff line


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;
    }
    
    

}
+11 −11
Original line number Diff line number Diff line
@@ -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",
    "tenantId",
    "started",
    "ended",
    "startedBy",
    "processDefinitionName",
    "processDefinitionDescription",
    "processDefinitionKey",
    "processDefinitionCategory",
    "processDefinitionVersion",
    "processDefinitionDeploymentId",
    "graphicalNotationDefined",
    "startFormDefined",
    "started",
    "startedBy",
    "suspended",
    "tenantId",
    "variables"
})
public class ProcessInstance {
public class ProcessInstance extends Datum {

    @JsonProperty("businessKey")
    private String businessKey;
Loading