use of org.kie.server.services.impl.marshal.MarshallerHelper in project businessautomation-cop by redhat-cop.
the class AbortAllResource method abortAllContainerInstances.
@DELETE
@Path("/abortAll")
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Response abortAllContainerInstances(@Context HttpHeaders headers, @PathParam("id") String containerId) {
Variant v = getVariant(headers);
String contentType = getContentType(headers);
MarshallingFormat format = MarshallingFormat.fromType(contentType);
if (format == null) {
format = MarshallingFormat.valueOf(contentType);
}
MarshallerHelper marshallerHelper = new MarshallerHelper(registry);
try {
// get active instances
Collection<ProcessInstanceDesc> activeInstances = runtimeDataService.getProcessInstancesByDeploymentId(containerId, Arrays.asList(1), /* active */
null);
// extract their pids
List<Long> pids = activeInstances.stream().map(activeInstance -> activeInstance.getId()).collect(Collectors.toList());
// abort them all
processService.abortProcessInstances(containerId, pids);
String result = marshallerHelper.marshal(format.toString(), pids);
logger.debug("Aborted following instances:" + result + ", in a following container:" + containerId);
return createResponse(result, v, Response.Status.OK);
} catch (Exception e) {
// in case marshalling failed return the call container response to keep
// backward compatibility
String response = "Execution failed with error : " + e.getMessage();
logger.debug("Returning Failure response with content '{}'", response);
return createResponse(response, v, Response.Status.INTERNAL_SERVER_ERROR);
}
}
use of org.kie.server.services.impl.marshal.MarshallerHelper in project businessautomation-cop by redhat-cop.
the class GetCasesWithDataResource method getCaseInstancesWithData.
@SuppressWarnings("unchecked")
@GET
@Path("/instancesWithData")
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Response getCaseInstancesWithData(@Context HttpHeaders headers, @QueryParam("dataItem") List<String> dataItems) {
Variant v = getVariant(headers);
String contentType = getContentType(headers);
MarshallingFormat format = MarshallingFormat.fromType(contentType);
if (format == null) {
format = MarshallingFormat.valueOf(contentType);
}
MarshallerHelper marshallerHelper = new MarshallerHelper(registry);
try {
// Fetching all OPEN cases
CaseInstanceList cases = this.caseManagementRuntimeDataService.getCaseInstancesAnyRole(Arrays.asList("open"), 0, 0, "", true);
List<CaseInstance> finalList = new ArrayList<CaseInstance>();
// for every case instance found, let's fetch the case data specified in the query parameter 'dateItems'
for (CaseInstance caseInstance : cases.getItems()) {
String caseFileData = caseManagementServiceBase.getCaseFileData(caseInstance.getContainerId(), caseInstance.getCaseId(), dataItems, format.toString());
logger.debug("Following data were fetched :" + caseFileData + "\n for case instance id:" + caseInstance.getCaseId());
Map<String, Object> caseFileDataUnmarshalled = marshallerHelper.unmarshal(caseInstance.getContainerId(), caseFileData, format.toString(), Map.class, new ByCaseIdContainerLocator(caseInstance.getCaseId()));
caseInstance.setCaseFile(CaseFile.builder().data(caseFileDataUnmarshalled).build());
finalList.add(caseInstance);
}
cases.setCaseInstances(finalList.toArray(new CaseInstance[finalList.size()]));
String result = marshallerHelper.marshal(format.toString(), cases);
logger.debug("Returning OK response with content '{}'", result);
return createResponse(result, v, Response.Status.OK);
} catch (Exception e) {
// backward compatibility
String response = "Execution failed with error : " + e.getMessage();
logger.debug("Returning Failure response with content '{}'", response);
return createResponse(response, v, Response.Status.INTERNAL_SERVER_ERROR);
}
}
use of org.kie.server.services.impl.marshal.MarshallerHelper in project businessautomation-cop by redhat-cop.
the class CustomResource method insertFireReturn.
@GET
@Path("/{aliasId}")
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Response insertFireReturn(@Context HttpHeaders headers, @PathParam("aliasId") String alias) {
Variant v = getVariant(headers);
String contentType = getContentType(headers);
MarshallingFormat format = MarshallingFormat.fromType(contentType);
if (format == null) {
format = MarshallingFormat.valueOf(contentType);
}
MarshallerHelper marshallerHelper = new MarshallerHelper(context);
try {
// get all the containers with the given alias
List<KieContainerInstanceImpl> filteredContainers = context.getContainersForAlias(alias);
List<ProcessInstance> instances = new ArrayList<ProcessInstance>();
// for each container obtain a list of active process instances
filteredContainers.forEach(container -> {
String containerId = container.getContainerId();
ProcessInstanceList instanceList = runtimeDataService.getProcessInstancesByDeploymentId(containerId, Arrays.asList(1), 0, 0, "", true);
logger.debug("Found " + instanceList.getItems().size() + " active process instances in container with id " + containerId);
instances.addAll(instanceList.getItems());
});
// return the list to the client
ProcessInstanceList finalList = new ProcessInstanceList(instances);
String result = marshallerHelper.marshal(format.toString(), finalList);
logger.debug("Returning OK response with content '{}'", result);
return createResponse(result, v, Response.Status.OK);
} catch (Exception e) {
// in case marshalling failed return the call container response to keep
// backward compatibility
String response = "Execution failed with error : " + e.getMessage();
logger.debug("Returning Failure response with content '{}'", response);
return createResponse(response, v, Response.Status.INTERNAL_SERVER_ERROR);
}
}
Aggregations