package com.traxel.lumbermill.event;
import org.apache.log4j.Logger;
import java.awt.Color;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JEditorPane;
import javax.swing.text.html.HTMLDocument;
import javax.swing.text.html.HTMLEditorKit;
private static final transient Logger LOG = Logger.getLogger(
EventView.class);
private static final String RES_PREFIX = "/de/cismet/beanmill/res/big/";
private final ImageIcon allIcon;
private final ImageIcon finestIcon;
private final ImageIcon debugIcon;
private final ImageIcon fineIcon;
private final ImageIcon configIcon;
private final ImageIcon infoIcon;
private final ImageIcon warnIcon;
private final ImageIcon errorIcon;
private final ImageIcon fatalIcon;
private final HTMLDocument htmlDoc;
private final HTMLEditorKit htmlKit;
private Image current = null;
allIcon = new ImageIcon(getClass().getResource(RES_PREFIX
+ "all.png"));
finestIcon = new ImageIcon(getClass().getResource(RES_PREFIX
+ "0-finest.png"));
debugIcon = new ImageIcon(getClass().getResource(RES_PREFIX
+ "1-debug.png"));
fineIcon = new ImageIcon(getClass().getResource(RES_PREFIX
+ "2-fine.png"));
configIcon = new ImageIcon(getClass().getResource(RES_PREFIX
+ "3-config.png"));
infoIcon = new ImageIcon(getClass().getResource(RES_PREFIX
+ "4-info.png"));
warnIcon = new ImageIcon(getClass().getResource(RES_PREFIX
+ "5-warn.png"));
errorIcon = new ImageIcon(getClass().getResource(RES_PREFIX
+ "6-error.png"));
fatalIcon = new ImageIcon(getClass().getResource(RES_PREFIX
+ "7-fatal.png"));
htmlDoc = new HTMLDocument();
htmlKit = new HTMLEditorKit();
setDocument(htmlDoc);
setEditorKit(htmlKit);
setContentType("text/html");
setEditable(false);
setOpaque(false);
}
public void setEvent(
final Event event) {
if (event != null) {
final String html = event.getHtml();
if (LOG.isDebugEnabled()) {
LOG.debug("event html: " + html);
}
System.out.println("event html: " + html);
setText(html);
} else {
setText("");
}
final Severity eventSeverity = event.getSeverity();
if (eventSeverity.equals(Severity.ALL)) {
current = allIcon.getImage();
} else if (eventSeverity.equals(Severity.LEVEL_1)) {
current = finestIcon.getImage();
} else if (eventSeverity.equals(Severity.LEVEL_2)) {
current = debugIcon.getImage();
} else if (eventSeverity.equals(Severity.LEVEL_3)) {
current = fineIcon.getImage();
} else if (eventSeverity.equals(Severity.LEVEL_4)) {
current = configIcon.getImage();
} else if (eventSeverity.equals(Severity.LEVEL_5)) {
current = infoIcon.getImage();
} else if (eventSeverity.equals(Severity.LEVEL_6)) {
current = warnIcon.getImage();
} else if (eventSeverity.equals(Severity.LEVEL_7)) {
current = errorIcon.getImage();
} else if (eventSeverity.equals(Severity.LEVEL_8)) {
current = fatalIcon.getImage();
}
if (event instanceof XMLEvent) {
EventView.this.setBackground(new Color(236, 233, 216));
} else {
EventView.this.setBackground(Color.white);
}
setCaretPosition(0);
}
return current;
}
}