package hudson.plugins.clearcase; import java.util.List; import hudson.model.Action; import hudson.model.AbstractBuild; public class ClearCaseReportAction implements Action { private AbstractBuild<?, ?> build; private static String urlName = "clearcaseInformation"; public ClearCaseReportAction(AbstractBuild<?, ?> build) { this.build = build; } public String getIconFileName() { return "gear2.gif"; } public String getDisplayName() { return "ClearCase Information"; } public String getUrlName() { return urlName; } public static String getUrlNameStat() { return urlName; } // Used by the index.jelly of this class to include the sidebar.jelly public AbstractBuild<?, ?> getOwner() { return build; } public String getConfigSpecHtml() { String configSpecHtml = getCspec(); configSpecHtml = configSpecHtml.replaceAll("\n", "<br/>"); return configSpecHtml; } public boolean isCspec() { String cspec = getCspec(); return (cspec != null && cspec.trim().length() > 0); } public List<Baseline> getBaselines() { ClearCaseDataAction clearCaseDataAction = build.getAction(ClearCaseDataAction.class); if (clearCaseDataAction != null) { return clearCaseDataAction.getLatestBlsOnConfiguredStream(); } else { return null; } } public boolean isBaselineInfo() { ClearCaseDataAction baselinesAction = build.getAction(ClearCaseDataAction.class); return (baselinesAction != null); } public String getStream() { String stream = null; ClearCaseDataAction dataAction = build.getAction(ClearCaseDataAction.class); if (dataAction != null) stream = dataAction.getStream(); return stream; } private String getCspec() { String cspec = null; ClearCaseDataAction dataAction = build.getAction(ClearCaseDataAction.class); if (dataAction != null) cspec = dataAction.getCspec(); return cspec; } }