Version Differences for Codestation Artifacts

Line 1:
    + This report shows a user the total number of Codestation artifacts. This report has to be used in conjunction with a report template such as the [[HTML Template]].  
       
    + ----  
       
    + ''Meta-Data Script:''  
       
    + <pre>import com.urbancode.anthill3.domain.reporting.*;  
       
    + ReportMetaData rmd = new ReportMetaData();  
       
    + rmd.addColumn("Project");  
    + rmd.addColumn("Build Life");  
    + rmd.addColumn("Stamp");  
    + rmd.addColumn("Status");  
    + rmd.addColumn("Set");  
    + rmd.addColumn("Files");  
       
    + return rmd;  
       
    + </pre>  
       
    + ----  
       
    + ''Context Script:''  
       
    + <pre>import com.urbancode.anthill3.domain.reporting.*;  
    + import com.urbancode.anthill3.runtime.paths.CodestationPathHelper;  
    + import com.urbancode.codestation2.domain.artifacts.*;  
    + import com.urbancode.codestation2.domain.buildlife.*;  
    + import com.urbancode.codestation2.domain.project.*;  
    + import com.urbancode.codestation2.server.CodestationRepositoryFileHelper;  
    + import com.urbancode.commons.fileutils.FileUtils;  
    + import com.urbancode.devilfish.services.var.VarService;  
    + import com.urbancode.devilfish.services.file.FileInfo;  
    + import java.io.File;  
       
    + ReportOutput output = new ReportOutput(metaData);  
       
    + CodestationRepositoryFileHelper cs = CodestationRepositoryFileHelper.getInstance();  
    + CodestationCompatableProject[] projects = CodestationProjectFactory.getInstance().restoreAllCodestation();  
    + for (int p=0; p<projects.length; p++) {  
    + CodestationBuildLife[] buildLives = CodestationBuildLifeFactory.getInstance().restoreAllForProject(projects[p]);  
    + for (b=0; b<buildLives.length; b++) {  
    + CodestationCompatableArtifactSet[] sets = cs.getPopulatedBuildLifeArtifactSetList(buildLives[b]);  
    + for (int s=0; s<sets.length; s++) {  
    + ReportRow row = new ReportRow(output, "1");  
    + row.setColumnValue("Project", projects[p].getName());  
    + row.setColumnValue("Build Life", buildLives[b].getId().toString());  
    + row.setColumnValue("Stamp", buildLives[b].getLatestStampValue());  
    + row.setColumnValue("Status", buildLives[b].getLatestStatusName());  
    + row.setColumnValue("Set", sets[s].getName());  
       
    + String rawRepoLifeSetPath = CodestationPathHelper.getInstance().getSetPath(buildLives[b], sets[s]);  
    + String repoLifeSetPath = VarService.getInstance().resolve(rawRepoLifeSetPath);  
    + File baseSetDir = new File(repoLifeSetPath);  
       
    + FileInfo[] files = cs.getBuildLifeArtifactSetFileInfo(buildLives[b], sets[s]);  
    + StringBuffer sb = new StringBuffer();  
    + for (int f=0; f<files.length; f++) {  
    + if (!".ahs.dig".equals(files[f].getName())) {  
    + sb.append(FileUtils.getRelativeFileName(baseSetDir, new File(files[f].getPath()))).append("<br/>");  
    + }  
    + }  
    + row.setColumnValue("Files", sb.toString());  
       
    + output.addRow(row);  
    + }  
    + }  
    + }  
       
    + return output;  
       
       
    + </pre>  
       
    + ----  
       
    + '''Related Content'''  
       
    + [[AnthillPro Template Reports]]<br/>  
    + [[Report Templates]]