@Override public void execute(ComputationContext context) { int rootComponentRef = context.getReportMetadata().getRootComponentRef(); recursivelyProcessComponent(context, rootComponentRef); processDeletedComponents(context); issueComputation.afterReportProcessing(); }
private void processDeletedComponents(ComputationContext context) { int deletedComponentsCount = context.getReportMetadata().getDeletedComponentsCount(); for (int componentRef = 1; componentRef <= deletedComponentsCount; componentRef++) { BatchReport.Issues issues = context.getReportReader().readDeletedComponentIssues(componentRef); issueComputation.processComponentIssues( context, issues.getIssueList(), issues.getComponentUuid(), null); } }
private void recursivelyProcessComponent(ComputationContext context, int componentRef) { BatchReportReader reportReader = context.getReportReader(); BatchReport.Component component = reportReader.readComponent(componentRef); List<BatchReport.Issue> issues = reportReader.readComponentIssues(componentRef); issueComputation.processComponentIssues(context, issues, component.getUuid(), componentRef); for (Integer childRef : component.getChildRefList()) { recursivelyProcessComponent(context, childRef); } }