protected WorkflowReport parseWorkflowReport(JsonNode reportJson, Path workflowReportJson, ActivityReport actReport, WorkflowBundle workflowBundle) throws ParseException { Workflow wf = (Workflow) getSubject(reportJson, workflowBundle); WorkflowReport workflowReport = new WorkflowReport(wf); workflowReport.setParentReport(actReport); parseDates(reportJson, workflowReport); for (JsonNode invocJson : reportJson.path("invocations")) // NOTE: Invocation constructor will add to parents parseInvocation(invocJson, workflowReportJson, workflowReport); for (JsonNode procJson : reportJson.path("processorReports")) { ProcessorReport procReport = parseProcessorReport(procJson, workflowReportJson, workflowReport, workflowBundle); workflowReport.addProcessorReport(procReport); } return workflowReport; }
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; }