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