public void reopenCase(String caseId, String containerId, String caseDefinitionId, String payload, String marshallingType) { verifyContainerId(containerId, caseId); containerId = context.getContainerId(containerId, new ByCaseIdContainerLocator(caseId)); CaseDefinition caseDef = caseRuntimeDataService.getCase(containerId, caseDefinitionId); if( caseDef == null ) { throw new IllegalStateException("Unable to find case '" + caseDefinitionId + "' in container " + containerId); } logger.debug("About to unmarshal data from payload: '{}'", payload); Map<String, Object> data = marshallerHelper.unmarshal(containerId, payload, marshallingType, Map.class); caseService.reopenCase(caseId, containerId, caseDefinitionId, data); logger.debug("Case {} successfully reopened", caseId); }
public NodeInstanceList getActiveNodes(String containerId, String caseId, Integer page, Integer pageSize) { Collection<NodeInstanceDesc> activeNodeInstances = caseRuntimeDataService.getActiveNodesForCase(caseId, ConvertUtils.buildQueryContext(page, pageSize)); List<NodeInstance> activeNodes = ConvertUtils.transformNodeInstance(activeNodeInstances); NodeInstanceList activeNodesList = new NodeInstanceList(activeNodes); return activeNodesList; }
public CaseAdHocFragmentList getAdHocFragments(String containerId, String caseId) { Collection<AdHocFragment> caseAdHocFragments = caseRuntimeDataService.getAdHocFragmentsForCase(caseId); List<CaseAdHocFragment> caseAdHoc = caseAdHocFragments.stream().map(adf -> CaseAdHocFragment.builder().name(adf.getName()).type(adf.getType()).build()).collect(toList()); CaseAdHocFragmentList adHocFragmentList = new CaseAdHocFragmentList(caseAdHoc); return adHocFragmentList; }
public CaseFileDataItemList getCaseInstanceDataItems(String caseId, List<String> names, List<String> types, Integer page, Integer pageSize) { Collection<CaseFileItem> caseFileItems = null; if (!names.isEmpty()) { caseFileItems = caseRuntimeDataService.getCaseInstanceDataItemsByName(caseId, names, ConvertUtils.buildQueryContext(page, pageSize)); } else if (!types.isEmpty()) { caseFileItems = caseRuntimeDataService.getCaseInstanceDataItemsByType(caseId, types, ConvertUtils.buildQueryContext(page, pageSize)); } else { caseFileItems = caseRuntimeDataService.getCaseInstanceDataItems(caseId, ConvertUtils.buildQueryContext(page, pageSize)); } CaseFileDataItemList caseFileDataItemList = ConvertUtils.transformCaseFileDataItems(caseFileItems); return caseFileDataItemList; }
public CaseInstanceList getCaseInstances(List<String> status, Integer page, Integer pageSize, String sort, boolean sortOrder) { List<CaseStatus> caseStatus = safeCaseStatus(status); sort = safeCaseInstanceSort(sort); Collection<org.jbpm.casemgmt.api.model.instance.CaseInstance> caseInstanceDescs = caseRuntimeDataService.getCaseInstances(caseStatus, ConvertUtils.buildQueryContext(page, pageSize, sort, sortOrder)); List<CaseInstance> caseInstances = ConvertUtils.transformCaseInstances(caseInstanceDescs); CaseInstanceList caseInstancesList = new CaseInstanceList(caseInstances); return caseInstancesList; }
public CaseMilestoneList getMilestones(String containerId, String caseId, boolean achievedOnly, Integer page, Integer pageSize) { Collection<CaseMilestoneInstance> caseMilestones = caseRuntimeDataService.getCaseInstanceMilestones(caseId, achievedOnly, ConvertUtils.buildQueryContext(page, pageSize)); List<CaseMilestone> milestones = ConvertUtils.transformMilestones(caseMilestones); CaseMilestoneList milestoneList = new CaseMilestoneList(milestones); return milestoneList; }
public CaseStageList getStages(String containerId, String caseId, boolean activeOnly, Integer page, Integer pageSize) { Collection<CaseStageInstance> caseStageInstances = caseRuntimeDataService.getCaseInstanceStages(caseId, activeOnly, ConvertUtils.buildQueryContext(page, pageSize)); List<CaseStage> caseStages = ConvertUtils.transformStages(caseStageInstances); CaseStageList stageList = new CaseStageList(caseStages); return stageList; }
public CaseInstanceList getCaseInstancesAnyRole(List<String> status, Integer page, Integer pageSize, String sort, boolean sortOrder) { List<CaseStatus> caseStatus = safeCaseStatus(status); sort = safeCaseInstanceSort(sort); Collection<org.jbpm.casemgmt.api.model.instance.CaseInstance> caseInstanceDescs = caseRuntimeDataService.getCaseInstancesAnyRole(caseStatus, ConvertUtils.buildQueryContext(page, pageSize, sort, sortOrder)); List<CaseInstance> caseInstances = ConvertUtils.transformCaseInstances(caseInstanceDescs); CaseInstanceList caseInstancesList = new CaseInstanceList(caseInstances); return caseInstancesList; }
@After public void tearDown() { clearDocumentStorageProperty(); List<CaseStatus> caseStatuses = Collections.singletonList(CaseStatus.OPEN); caseRuntimeDataService.getCaseInstances(caseStatuses, new QueryContext(0, Integer.MAX_VALUE)) .forEach(caseInstance -> caseService.cancelCase(caseInstance.getCaseId())); cleanupSingletonSessionId(); identityProvider.reset(); if (deploymentUnit != null) { deploymentService.undeploy(deploymentUnit); deploymentUnit = null; } close(); ServiceRegistry.get().clear(); }
public org.kie.server.api.model.cases.CaseDefinition getCaseDefinition(String containerId, String caseDefinitionId) { try { containerId = context.getContainerId(containerId, ContainerLocatorProvider.get().getLocator()); CaseDefinition caseDef = caseRuntimeDataService.getCase(containerId, caseDefinitionId); if (caseDef == null) { throw new IllegalStateException("Case definition " + containerId + " : " + caseDefinitionId + " not found"); } org.kie.server.api.model.cases.CaseDefinition caseDefinition = ConvertUtils.transformCase(caseDef); return caseDefinition; } catch (IllegalArgumentException e) { // container was not found by locator throw new IllegalStateException("Case definition " + containerId + " : " + caseDefinitionId + " not found"); } }
public String startCase(String containerId, String caseDefinitionId, String payload, String marshallingType) { containerId = context.getContainerId(containerId, ContainerLocatorProvider.get().getLocator()); CaseDefinition caseDef = caseRuntimeDataService.getCase(containerId, caseDefinitionId); if( caseDef == null ) { throw new CaseDefinitionNotFoundException("Unable to find case '" + caseDefinitionId + "' in container " + containerId);
public String getCaseRenderedForm(String renderer, String containerId, String caseDefinitionId) { if (caseRuntimeDataService == null) { throw new RuntimeException("Case capability in jBPM UI are not enabled"); } String resolvedContainerId = registry.getContainerId(containerId, ContainerLocatorProvider.get().getLocator()); CaseDefinition caseDefinition = caseRuntimeDataService.getCase(resolvedContainerId, caseDefinitionId); if (caseDefinition == null) { throw new CaseDefinitionNotFoundException("Case definition " + resolvedContainerId + " : " + caseDefinitionId + " not found"); } String formStructure = formManagerService.getFormByKey(resolvedContainerId, caseDefinitionId + SUPPORTED_FORM_SUFFIX); FormInstance form = formReader.readFromString(formStructure); if (form != null) { form.setNestedFormsLookup(formId -> { Map<String, String> forms = indexedForms.get(resolvedContainerId); String formStructureNested = forms.get(formId); return formReader.readFromString(formStructureNested); }); } FormRenderer formRenderer = renderers.get(renderer); if (formRenderer == null) { throw new IllegalArgumentException("Form renderer with name " + renderer + " not found"); } String output = formRenderer.renderCase(resolvedContainerId, caseDefinition, form); return output; }