This report shows the user a list of library jobs, the folder they reside in, and what they are used by. 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("Job");
rmd.addColumn("Containing Folder");
rmd.addColumn("Used By");
return rmd;
Report Script:
import com.urbancode.anthill3.domain.jobconfig.*;
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.*;
JobConfig[] jobLibraryArray = JobConfigFactory.getInstance().restoreAllLibrary();
ReportOutput output = new ReportOutput(metaData);
for (int i = 0; i < jobLibraryArray.length; i++) {
ReportRow row = new ReportRow(output, "1");
row.setColumnValue("Job", jobLibraryArray[i].getName());
String[] projectNames = JobConfigFactory.getInstance().getProjectNamesUsingJobConfig(jobLibraryArray[i]);
StringBuffer usedBy = new StringBuffer();
for (int j = 0; j < projectNames.length; j++) {
usedBy.append(projectNames[j] + "\n");
}
row.setColumnValue("Used By", usedBy.toString());
folder = jobLibraryArray[i].getFolder();
String where = folder.getName();
while(folder.getParent() != null && folder.getParent().getParent() != null) {
folder = folder.getParent();
where = folder.getName() + "/" + where;
}
row.setColumnValue("Containing Folder", where);
output.addRow(row);
}
return output;
Related Content