/* * Copyright 2016 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.server.api.model.cases.CaseAdHocFragment; import org.kie.server.api.model.cases.CaseComment; import org.kie.server.api.model.cases.CaseDefinition; import org.kie.server.api.model.cases.CaseFile; import org.kie.server.api.model.cases.CaseFileDataItem; import org.kie.server.api.model.cases.CaseInstance; import org.kie.server.api.model.cases.CaseMilestone; import org.kie.server.api.model.cases.CaseRoleAssignment; import org.kie.server.api.model.cases.CaseStage; import org.kie.server.api.model.definition.ProcessDefinition; import org.kie.server.api.model.instance.NodeInstance; import org.kie.server.api.model.instance.ProcessInstance; import org.kie.server.api.model.instance.TaskSummary; public interface CaseServicesClient { public static final String SORT_BY_CASE_DEFINITION_ID = "CaseId"; public static final String SORT_BY_CASE_DEFINITION_NAME = "CaseName"; public static final String SORT_BY_CASE_DEFINITION_DEPLOYMENT_ID = "Project"; public static final String SORT_BY_CASE_INSTANCE_ID = "CorrelationKey"; public static final String SORT_BY_PROCESS_NAME = "ProcessName"; public static final String SORT_BY_PROCESS_VERSION = "ProcessVersion"; public static final String SORT_BY_PROCESS_PROJECT = "Project"; public static final String SORT_BY_PROCESS_INSTANCE_ID = "ProcessInstanceId"; String startCase(String containerId, String caseDefinitionId); String startCase(String containerId, String caseDefinitionId, CaseFile caseFile); CaseInstance getCaseInstance(String containerId, String caseId); CaseInstance getCaseInstance(String containerId, String caseId, boolean withData, boolean withRoles, boolean withMilestones, boolean withStages); void cancelCaseInstance(String containerId, String caseId); void destroyCaseInstance(String containerId, String caseId); void reopenCase(String caseId, String containerId, String caseDefinitionId); void reopenCase(String caseId, String containerId, String caseDefinitionId, Map<String, Object> data); Map<String, Object> getCaseInstanceData(String containerId, String caseId); Object getCaseInstanceData(String containerId, String caseId, String name); void putCaseInstanceData(String containerId, String caseId, Map<String, Object> data); void putCaseInstanceData(String containerId, String caseId, String name, Object data); void removeCaseInstanceData(String containerId, String caseId, String... names); void addDynamicUserTask(String containerId, String caseId, String name, String description, String actors, String groups, Map<String, Object> data); void addDynamicTask(String containerId, String caseId, String nodeType, String name, Map<String, Object> data); void addDynamicUserTaskToStage(String containerId, String caseId, String stageId, String name, String description, String actors, String groups, Map<String, Object> data); void addDynamicTaskToStage(String containerId, String caseId, String stageId, String nodeType, String name, Map<String, Object> data); void addDynamicSubProcess(String containerId, String caseId, String processId, Map<String, Object> data); void addDynamicSubProcessToStage(String containerId, String caseId, String stageId, String processId, Map<String, Object> data); void triggerAdHocFragment(String containerId, String caseId, String adHocName, Map<String, Object> data); void triggerAdHocFragmentInStage(String containerId, String caseId, String stageId, String adHocName, Map<String, Object> data); List<CaseMilestone> getMilestones(String containerId, String caseId, boolean achievedOnly, Integer page, Integer pageSize); List<CaseStage> getStages(String containerId, String caseId, boolean activeOnly, Integer page, Integer pageSize); List<CaseAdHocFragment> getAdHocFragments(String containerId, String caseId); List<CaseRoleAssignment> getRoleAssignments(String containerId, String caseId); List<NodeInstance> getActiveNodes(String containerId, String caseId, Integer page, Integer pageSize); List<NodeInstance> getCompletedNodes(String containerId, String caseId, Integer page, Integer pageSize); List<ProcessInstance> getActiveProcessInstances(String containerId, String caseId, Integer page, Integer pageSize); List<ProcessInstance> getActiveProcessInstances(String containerId, String caseId, Integer page, Integer pageSize, String sort, boolean sortOrder); List<ProcessInstance> getProcessInstances(String containerId, String caseId, List<Integer> status, Integer page, Integer pageSize); List<ProcessInstance> getProcessInstances(String containerId, String caseId, List<Integer> status, Integer page, Integer pageSize, String sort, boolean sortOrder); void assignUserToRole(String containerId, String caseId, String roleName, String user); void assignGroupToRole(String containerId, String caseId, String roleName, String group); void removeUserFromRole(String containerId, String caseId, String roleName, String user); void removeGroupFromRole(String containerId, String caseId, String roleName, String group); List<CaseComment> getComments(String containerId, String caseId, Integer page, Integer pageSize); void addComment(String containerId, String caseId, String author, String text); void updateComment(String containerId, String caseId, String commentId, String author, String text); void removeComment(String containerId, String caseId, String commentId); List<CaseInstance> getCaseInstances(Integer page, Integer pageSize); List<CaseInstance> getCaseInstances(List<String> status, Integer page, Integer pageSize); List<CaseInstance> getCaseInstances(Integer page, Integer pageSize, String sort, boolean sortOrder); List<CaseInstance> getCaseInstances(List<String> status, Integer page, Integer pageSize, String sort, boolean sortOrder); List<CaseInstance> getCaseInstancesOwnedBy(String owner, List<String> status, Integer page, Integer pageSize); List<CaseInstance> getCaseInstancesOwnedBy(String owner, List<String> status, Integer page, Integer pageSize, String sort, boolean sortOrder); List<CaseInstance> getCaseInstancesByContainer(String containerId, List<String> status, Integer page, Integer pageSize); List<CaseInstance> getCaseInstancesByContainer(String containerId, List<String> status, Integer page, Integer pageSize, String sort, boolean sortOrder); List<CaseInstance> getCaseInstancesByDefinition(String containerId, String caseDefinitionId, List<String> status, Integer page, Integer pageSize); List<CaseInstance> getCaseInstancesByDefinition(String containerId, String caseDefinitionId, List<String> status, Integer page, Integer pageSize, String sort, boolean sortOrder); List<CaseInstance> getCaseInstancesByData(String dataItemName, List<String> status, Integer page, Integer pageSize); List<CaseInstance> getCaseInstancesByData(String dataItemName, String dataItemValue, List<String> status, Integer page, Integer pageSize); List<CaseDefinition> getCaseDefinitionsByContainer(String containerId, Integer page, Integer pageSize); List<CaseDefinition> getCaseDefinitionsByContainer(String containerId, Integer page, Integer pageSize, String sort, boolean sortOrder); List<CaseDefinition> getCaseDefinitions(Integer page, Integer pageSize); List<CaseDefinition> getCaseDefinitions(String filter, Integer page, Integer pageSize); List<CaseDefinition> getCaseDefinitions(Integer page, Integer pageSize, String sort, boolean sortOrder); List<CaseDefinition> getCaseDefinitions(String filter, Integer page, Integer pageSize, String sort, boolean sortOrder); CaseDefinition getCaseDefinition(String containerId, String caseDefinitionId); List<TaskSummary> findCaseTasksAssignedAsBusinessAdministrator(String caseId, String userId, Integer page, Integer pageSize); List<TaskSummary> findCaseTasksAssignedAsBusinessAdministrator(String caseId, String userId, List<String> status, Integer page, Integer pageSize); List<TaskSummary> findCaseTasksAssignedAsPotentialOwner(String caseId, String userId, Integer page, Integer pageSize); List<TaskSummary> findCaseTasksAssignedAsPotentialOwner(String caseId, String userId, List<String> status, Integer page, Integer pageSize); List<TaskSummary> findCaseTasksAssignedAsStakeholder(String caseId, String userId, Integer page, Integer pageSize); List<TaskSummary> findCaseTasksAssignedAsStakeholder(String caseId, String userId, List<String> status, Integer page, Integer pageSize); List<TaskSummary> findCaseTasksAssignedAsBusinessAdministrator(String caseId, String userId, Integer page, Integer pageSize, String sort, boolean sortOrder); List<TaskSummary> findCaseTasksAssignedAsBusinessAdministrator(String caseId, String userId, List<String> status, Integer page, Integer pageSize, String sort, boolean sortOrder); List<TaskSummary> findCaseTasksAssignedAsPotentialOwner(String caseId, String userId, Integer page, Integer pageSize, String sort, boolean sortOrder); List<TaskSummary> findCaseTasksAssignedAsPotentialOwner(String caseId, String userId, List<String> status, Integer page, Integer pageSize, String sort, boolean sortOrder); List<TaskSummary> findCaseTasksAssignedAsStakeholder(String caseId, String userId, Integer page, Integer pageSize, String sort, boolean sortOrder); List<TaskSummary> findCaseTasksAssignedAsStakeholder(String caseId, String userId, List<String> status, Integer page, Integer pageSize, String sort, boolean sortOrder); List<ProcessDefinition> findProcesses(Integer page, Integer pageSize); List<ProcessDefinition> findProcesses(String filter, Integer page, Integer pageSize); List<ProcessDefinition> findProcessesByContainerId(String containerId, Integer page, Integer pageSize); List<ProcessDefinition> findProcesses(Integer page, Integer pageSize, String sort, boolean sortOrder); List<ProcessDefinition> findProcesses(String filter, Integer page, Integer pageSize, String sort, boolean sortOrder); List<ProcessDefinition> findProcessesByContainerId(String containerId, Integer page, Integer pageSize, String sort, boolean sortOrder); List<CaseFileDataItem> getCaseInstanceDataItems(String caseId, Integer page, Integer pageSize); List<CaseFileDataItem> getCaseInstanceDataItemsByName(String caseId, List<String> names, Integer page, Integer pageSize); List<CaseFileDataItem> getCaseInstanceDataItemsByType(String caseId, List<String> types, Integer page, Integer pageSize); }