This report shows a user the total number of Dependencies in a detailed form. This report has to be used in conjunction with a report template such as the HTML Template.
Meta-Data Script:
import com.urbancode.anthill3.domain.reporting.*; ReportMetaData rmd = new ReportMetaData(); rmd.addColumn("Project"); rmd.addColumn("Workflow"); rmd.addColumn("Dependencies"); return rmd;
Context Script:
import com.urbancode.anthill3.domain.profile.*; import com.urbancode.anthill3.domain.project.*; import com.urbancode.anthill3.domain.reporting.*; import com.urbancode.anthill3.domain.workflow.*; import com.urbancode.anthill3.persistence.*; import com.urbancode.codestation2.domain.artifacts.*; Project[] projects = ProjectFactory.getInstance().restoreAll(); ReportOutput output = new ReportOutput(metaData); for (int i = 0; i < projects.length; i++) { Workflow[] workflows = projects[i].getOriginatingWorkflowArray(); for (int j = 0; j < workflows.length; j++) { ReportRow row = new ReportRow(output, "1"); row.setColumnValue("Project", projects[i].getName()); row.setColumnValue("Workflow", workflows[j].getName()); StringBuffer depBuf = new StringBuffer(); Dependency[] deps = workflows[j].getBuildProfile().getDependencyArray(); for (int k = 0; k < deps.length; k++) { depBuf.append(deps[k].getDependency().toString()); int buildCondition = deps[k].getBuildConditionId(); switch (buildCondition) { case Dependency.PULL_BUILD: depBuf.append(" - Pull"); break; case Dependency.PUSH_BUILD: depBuf.append(" - Push"); break; case Dependency.LATEST_BUILD: if (deps[k].getStatus() != null) { depBuf.append(" - Use Latest "); depBuf.append(deps[k].getStatus().toString()); } else if (deps[k].getStampValue() != null) { depBuf.append(" - Use "); depBuf.append(deps[k].getStampValue()); } else { depBuf.append(" - Use Latest "); } break; } depBuf.append("<br><ul>"); CodestationCompatableArtifactSet[] sets = deps[k].getArtifactSets(); for (int l = 0; l < sets.length; l++) { depBuf.append("<li>"); depBuf.append("'" + sets[l].getName() + "' to '"); String[] setDirs = deps[k].getSetDirs(sets[l]); for (int m=0; m<setDirs.length; m++) { depBuf.append(setDirs[m]); if (m < setDirs.length - 1) { depBuf.append(", "); } } depBuf.append("'"); if (deps[k].isSetTransitive(sets[l])) { depBuf.append(" with transitive dependencies"); } depBuf.append("</li>"); } depBuf.append("</ul>"); if (k < deps.length - 1) { depBuf.append("<br>"); } } row.setColumnValue("Dependencies", depBuf.toString()); output.addRow(row); } } return output;
Related Content