protected ActivityReport parseActivityReport(JsonNode actJson, Path workflowReportJson, ProcessorReport procReport, WorkflowBundle workflowBundle) throws ParseException { Activity a = (Activity) getSubject(actJson, workflowBundle); ActivityReport actReport = new ActivityReport(a); actReport.setParentReport(procReport); parseDates(actJson, actReport); for (JsonNode invocJson : actJson.path("invocations")) parseInvocation(invocJson, workflowReportJson, actReport); JsonNode nestedWf = actJson.get("nestedWorkflowReport"); if (nestedWf != null) actReport.setNestedWorkflowReport(parseWorkflowReport(nestedWf, workflowReportJson, actReport, workflowBundle)); return actReport; }
public WorkflowReport generateWorkflowReport(Workflow workflow) { WorkflowReport workflowReport = createWorkflowReport(workflow); for (Processor processor : workflow.getProcessors()) { ProcessorReport processorReport = createProcessorReport(processor); processorReport.setParentReport(workflowReport); workflowReport.addProcessorReport(processorReport); for (ProcessorBinding processorBinding : scufl2Tools.processorBindingsForProcessor( processor, profile)) { Activity boundActivity = processorBinding.getBoundActivity(); ActivityReport activityReport = createActivityReport(boundActivity); activityReport.setParentReport(processorReport); if (scufl2Tools.containsNestedWorkflow(processor, profile)) { Workflow nestedWorkflow = scufl2Tools.nestedWorkflowForProcessor(processor, profile); WorkflowReport nestedWorkflowReport = generateWorkflowReport(nestedWorkflow); nestedWorkflowReport.setParentReport(activityReport); activityReport.setNestedWorkflowReport(nestedWorkflowReport); } processorReport.addActivityReport(activityReport); } } return workflowReport; }