protected ProcessorReport parseProcessorReport(JsonNode reportJson, Path workflowReportJson, WorkflowReport workflowReport, WorkflowBundle workflowBundle) throws ParseException { Processor p = (Processor) getSubject(reportJson, workflowBundle); ProcessorReport procReport = new ProcessorReport(p); procReport.setParentReport(workflowReport); procReport.setJobsQueued(reportJson.path("jobsQueued").asInt()); procReport.setJobsStarted(reportJson.path("jobsStarted").asInt()); procReport.setJobsCompleted(reportJson.path("jobsCompleted").asInt()); procReport.setJobsCompletedWithErrors(reportJson.path( "jobsCompletedWithErrors").asInt()); // TODO: procReport properties parseDates(reportJson, procReport); for (JsonNode invocJson : reportJson.path("invocations")) parseInvocation(invocJson, workflowReportJson, procReport); for (JsonNode actJson : reportJson.path("activityReports")) { ActivityReport activityReport = parseActivityReport(actJson, workflowReportJson, procReport, workflowBundle); procReport.addActivityReport(activityReport); } return procReport; }
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; }
processorReport.addActivityReport(activityReport); activityReport.setCreatedDate(date(2013,2,20,0,0)); activityReport.setStartedDate(date(2013,2,20,11,00));