import org.aspectj.bridge.IMessage.Kind;
/**
- * MessageHandler used by AjBrowser that displays ERROR messages with
- * exceptions and ABORT messages in an error dialog. Other messages are
- * displayed by the MessageHandlerPanel. By default INFO and WEAVEINFO
- * messages are ignored.
+ * MessageHandler used by AjBrowser that displays ERROR messages with exceptions and ABORT messages in an error dialog. Other
+ * messages are displayed by the MessageHandlerPanel. By default INFO and WEAVEINFO messages are ignored.
*/
public class BrowserMessageHandler implements IUIBuildMessageHandler {
- private List ignoring;
- private List messages;
-
+ private List<IMessage.Kind> ignoring;
+ private List<IMessage> messages;
+
public BrowserMessageHandler() {
- ignoring = new ArrayList();
- messages = new ArrayList();
+ ignoring = new ArrayList<IMessage.Kind>();
+ messages = new ArrayList<IMessage>();
ignore(IMessage.INFO);
ignore(IMessage.WEAVEINFO);
}
-
+
public boolean handleMessage(IMessage message) throws AbortException {
Kind messageKind = message.getKind();
if (isIgnoring(messageKind)) {
return true;
}
- if (messageKind.equals(IMessage.ABORT)
- || (message.getThrown() != null) ) {
- String stack = getStackTraceAsString(message.getThrown());
- ErrorDialog errorDialog = new ErrorDialog(
- Ajde.getDefault().getRootFrame(),
- "AJDE Error", message.getThrown(), message.getMessage(), stack);
- errorDialog.setVisible(true);
- return true;
+ if (messageKind.equals(IMessage.ABORT) || (message.getThrown() != null)) {
+ String stack = getStackTraceAsString(message.getThrown());
+ ErrorDialog errorDialog = new ErrorDialog(Ajde.getDefault().getRootFrame(), "AJDE Error", message.getThrown(),
+ message.getMessage(), stack);
+ errorDialog.setVisible(true);
+ return true;
}
messages.add(message);
return true;
}
public void dontIgnore(Kind kind) {
- if (null != kind) {
- ignoring.remove(kind);
- }
+ if (null != kind) {
+ ignoring.remove(kind);
+ }
}
public boolean isIgnoring(Kind kind) {
return ((null != kind) && (ignoring.contains(kind)));
}
-
+
public void ignore(Kind kind) {
- if ((null != kind) && (!ignoring.contains(kind))) {
- ignoring.add(kind);
- }
+ if ((null != kind) && (!ignoring.contains(kind))) {
+ ignoring.add(kind);
+ }
}
-
- public List getMessages() {
+
+ public List<IMessage> getMessages() {
return messages;
}
- private String getStackTraceAsString(Throwable t) {
- StringWriter stringWriter = new StringWriter();
- if (t != null) {
- t.printStackTrace(new PrintWriter(stringWriter));
- return stringWriter.getBuffer().toString();
- }
- return "<no stack trace available>";
- }
+ private String getStackTraceAsString(Throwable t) {
+ StringWriter stringWriter = new StringWriter();
+ if (t != null) {
+ t.printStackTrace(new PrintWriter(stringWriter));
+ return stringWriter.getBuffer().toString();
+ }
+ return "<no stack trace available>";
+ }
public void reset() {
messages.clear();
}
-
+
}