package qubexplorer.ui.summary; import java.awt.Component; import java.util.EnumMap; import java.util.Map; import javax.swing.ImageIcon; import javax.swing.JTree; import javax.swing.tree.DefaultTreeCellRenderer; import org.sonar.wsclient.services.Rule; import qubexplorer.Severity; import qubexplorer.Summary; /** * * @author Victor */ public class SummaryTreeCellRenderer extends DefaultTreeCellRenderer { private static final Map<Severity, String> TEXT_BY_SEVERITY; static { TEXT_BY_SEVERITY=new EnumMap<>(Severity.class); TEXT_BY_SEVERITY.put(Severity.BLOCKER, "Blocker"); TEXT_BY_SEVERITY.put(Severity.CRITICAL, "Critical"); TEXT_BY_SEVERITY.put(Severity.MAJOR, "Major"); TEXT_BY_SEVERITY.put(Severity.MINOR, "Minor"); TEXT_BY_SEVERITY.put(Severity.INFO, "Info"); } @Override public Component getTreeCellRendererComponent(JTree jtree, Object o, boolean bln, boolean bln1, boolean bln2, int i, boolean bln3) { Component c = super.getTreeCellRendererComponent(jtree, o, bln, bln1, bln2, i, bln3); if (o instanceof Severity) { setText(TEXT_BY_SEVERITY.get((Severity)o)); setIcon(new ImageIcon(getClass().getResource("/qubexplorer/ui/images/" + o.toString().toLowerCase() + ".png"))); }else if(o instanceof Rule) { setIcon(null); setText(((Rule)o).getTitle()); }else if(o instanceof Summary){ setIcon(null); setText("Issues"); } return c; } }