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; }
private int getLongestName(WorkflowReport workflowReport, int level) { int result = 0; result = Math.max(result, getSubject().getName().length() + level); for (ProcessorReport processorReport : workflowReport.getProcessorReports()) { result = Math.max(result, processorReport.getSubject().getName().length()); for (ActivityReport activityReport : processorReport.getActivityReports()) { WorkflowReport nestedWorkflowReport = activityReport.getNestedWorkflowReport(); if (nestedWorkflowReport != null) result = Math.max(result, getLongestName(nestedWorkflowReport, level + 1)); } } return result; }
ActivityReport activityReport = new ActivityReport(b.getBoundActivity()); processorReport.addActivityReport(activityReport); activityReport.setCreatedDate(date(2013,2,20,0,0)); activityReport.setStartedDate(date(2013,2,20,11,00)); activityReport.setCancelledDate(date(2013,2,21,11,30)); Invocation aInvocation = new Invocation("act-" + p.getName() + "0", pInvocation, activityReport); activityReport.addInvocation(aInvocation); aInvocation.getInputs().putAll(pInvocation.getInputs()); aInvocation.getOutputs().putAll(pInvocation.getOutputs());
assertEquals(procRepo, actRepo.getParentReport()); assertEquals(State.CANCELLED, actRepo.getState()); assertEquals(date(2013,2,20,00,00), actRepo.getCreatedDate()); assertEquals(date(2013,2,20,11,00), actRepo.getStartedDate()); assertEquals(date(2013,2,21,11,30), actRepo.getCancelledDate());
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; }
private void addProcessor(StringBuilder sb, int max, int level, ProcessorReport processorReport, DateFormat dateFormat) { String processorName = processorReport.getSubject().getName(); spaces(sb, level); sb.append(processorName); spaces(sb, max - processorName.length() - level + 1); State processorState = processorReport.getState(); sb.append(processorState); spaces(sb, 10 - processorState.name().length()); String jobsQueued = String.valueOf(processorReport.getJobsQueued()); sb.append(jobsQueued); spaces(sb, 10 - jobsQueued.length()); String jobsStarted = String.valueOf(processorReport.getJobsStarted()); sb.append(jobsStarted); spaces(sb, 10 - jobsStarted.length()); String jobsCompleted = String.valueOf(processorReport.getJobsCompleted()); sb.append(jobsCompleted); spaces(sb, 10 - jobsCompleted.length()); String jobsCompletedWithErrors = String.valueOf(processorReport .getJobsCompletedWithErrors()); sb.append(jobsCompletedWithErrors); spaces(sb, 10 - jobsCompletedWithErrors.length()); addDates(sb, processorReport.getStartedDate(), processorReport.getCompletedDate(), dateFormat); for (ActivityReport activityReport : processorReport.getActivityReports()) { WorkflowReport nestedWorkflowReport = activityReport.getNestedWorkflowReport(); if (nestedWorkflowReport != null) for (ProcessorReport nestedProcessorReport : nestedWorkflowReport.getProcessorReports()) addProcessor(sb, max, level + 1, nestedProcessorReport, dateFormat); } }