/* * Copyright 2015 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.kie.server.client; import java.util.List; import java.util.Map; import org.kie.internal.process.CorrelationKey; import org.kie.server.api.model.definition.AssociatedEntitiesDefinition; import org.kie.server.api.model.definition.ProcessDefinition; import org.kie.server.api.model.definition.ServiceTasksDefinition; import org.kie.server.api.model.definition.SubProcessesDefinition; import org.kie.server.api.model.definition.TaskInputsDefinition; import org.kie.server.api.model.definition.TaskOutputsDefinition; import org.kie.server.api.model.definition.UserTaskDefinitionList; import org.kie.server.api.model.definition.VariablesDefinition; import org.kie.server.api.model.instance.NodeInstance; import org.kie.server.api.model.instance.ProcessInstance; import org.kie.server.api.model.instance.VariableInstance; import org.kie.server.api.model.instance.WorkItemInstance; import org.kie.server.client.jms.ResponseHandler; public interface ProcessServicesClient { // process definition ProcessDefinition getProcessDefinition(String containerId, String processId); SubProcessesDefinition getReusableSubProcessDefinitions(String containerId, String processId); VariablesDefinition getProcessVariableDefinitions(String containerId, String processId); ServiceTasksDefinition getServiceTaskDefinitions(String containerId, String processId); AssociatedEntitiesDefinition getAssociatedEntityDefinitions(String containerId, String processId); UserTaskDefinitionList getUserTaskDefinitions(String containerId, String processId); TaskInputsDefinition getUserTaskInputDefinitions(String containerId, String processId, String taskName); TaskOutputsDefinition getUserTaskOutputDefinitions(String containerId, String processId, String taskName); // process operations Long startProcess(String containerId, String processId); Long startProcess(String containerId, String processId, Map<String, Object> variables); Long startProcess(String containerId, String processId, CorrelationKey correlationKey); Long startProcess(String containerId, String processId, CorrelationKey correlationKey, Map<String, Object> variables); void abortProcessInstance(String containerId, Long processInstanceId); void abortProcessInstances(String containerId, List<Long> processInstanceIds); Object getProcessInstanceVariable(String containerId, Long processInstanceId, String variableName); <T> T getProcessInstanceVariable(String containerId, Long processInstanceId, String variableName, Class<T> type); Map<String, Object> getProcessInstanceVariables(String containerId, Long processInstanceId); void signalProcessInstance(String containerId, Long processInstanceId, String signalName, Object event); void signalProcessInstances(String containerId, List<Long> processInstanceId, String signalName, Object event); void signal(String containerId, String signalName, Object event); List<String> getAvailableSignals(String containerId, Long processInstanceId); void setProcessVariable(String containerId, Long processInstanceId, String variableId, Object value); void setProcessVariables(String containerId, Long processInstanceId, Map<String, Object> variables); ProcessInstance getProcessInstance(String containerId, Long processInstanceId); ProcessInstance getProcessInstance(String containerId, Long processInstanceId, boolean withVars); void completeWorkItem(String containerId, Long processInstanceId, Long id, Map<String, Object> results); void abortWorkItem(String containerId, Long processInstanceId, Long id); WorkItemInstance getWorkItem(String containerId, Long processInstanceId, Long id); List<WorkItemInstance> getWorkItemByProcessInstance(String containerId, Long processInstanceId); List<NodeInstance> findActiveNodeInstances(String containerId, Long processInstanceId, Integer page, Integer pageSize); List<NodeInstance> findCompletedNodeInstances(String containerId, Long processInstanceId, Integer page, Integer pageSize); List<NodeInstance> findNodeInstances(String containerId, Long processInstanceId, Integer page, Integer pageSize); List<VariableInstance> findVariablesCurrentState(String containerId, Long processInstanceId); List<VariableInstance> findVariableHistory(String containerId, Long processInstanceId, String variableName, Integer page, Integer pageSize); void setResponseHandler(ResponseHandler responseHandler); List<ProcessInstance> findProcessInstancesByParent(String containerId, Long parentProcessInstanceId, Integer page, Integer pageSize); List<ProcessInstance> findProcessInstancesByParent(String containerId, Long parentProcessInstanceId, List<Integer> status, Integer page, Integer pageSize); List<ProcessInstance> findProcessInstancesByParent(String containerId, Long parentProcessInstanceId, List<Integer> status, Integer page, Integer pageSize, String sort, boolean sortOrder); }