/** * */ package hudson.drools.renderer; import hudson.model.Job; import hudson.model.Result; import hudson.model.Run; import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; public class Build extends WorkItem { public String project; Run run; public Build(String type, String name, String id, String project, int x, int y, int width, int height) { super(type, name, id, x, y, width, height); this.project = project; } @Override public Image getImage() { return RendererConstants.workItemImage; } @Override public boolean paintIcon(Graphics2D g2, int x, int y) { if (run == null || run.getResult() == null) { return super.paintIcon(g2, x, y); } Color c; if (run.getResult() == Result.SUCCESS) { c = RendererConstants.BUILD_SUCCESS_COLOR; } else if (run.getResult() == Result.UNSTABLE) { c = RendererConstants.BUILD_UNSTABLE_COLOR; } else if (run.getResult() == Result.ABORTED) { c = RendererConstants.BUILD_CANCELED_COLOR; } else { c = RendererConstants.BUILD_FAILED_COLOR; } g2.translate(x, y); RuleFlowRenderer.paintBall(g2, c); g2.translate(-x, -y); return true; } @Override public String getUrl() { if (run != null) { return run.getUrl(); } if (project != null) { Job job = RuleFlowRenderer.getJobUrl(project); if (job != null) { return job.getUrl(); } } return null; } }