Index: src/org/openide/explorer/propertysheet/PropertyPanel.java
===================================================================
RCS file: /cvs/openide/src/org/openide/explorer/propertysheet/PropertyPanel.java,v
--- src/org/openide/explorer/propertysheet/PropertyPanel.java 30 Aug 2002 11:15:29 -0000 1.118
+++ src/org/openide/explorer/propertysheet/PropertyPanel.java 9 Sep 2002 15:39:18 -0000
@@ -1280,7 +1280,7 @@
"FMT_ErrorSettingProperty", userMessage,
propertyName
));
- em.notify (ErrorManager.USER, e);
+ em.notify (extractSeverity (e), e);
} else {
em.notify (ErrorManager.INFORMATIONAL, e);
}
@@ -1309,6 +1309,26 @@
}
return message;
}
+
+ private static int extractSeverity (Throwable t) {
+ ErrorManager em = ErrorManager.getDefault ();
+
+ ErrorManager.Annotation[] an = em.findAnnotations (t);
+ int userSeverity = ErrorManager.UNKNOWN;
+ if (an != null) {
+ for (int i = 0; i < an.length; i++) {
+ int severity = an[i].getSeverity ();
+ // PENDING
+ // select highest severity of the annotations
+ // or select lowlest?
+ // or use severity of annotation on the top?
+ if (severity > userSeverity) {
+ userSeverity = severity;
+ }
+ }
+ }
+ return userSeverity;
+ }
/** Processes Throwable
thrown from setAsText
* or setValue
call on editor
. Helper method. */
@@ -1480,7 +1500,9 @@
if(exception instanceof InvocationTargetException) {
return (InvocationTargetException)exception;
} else {
- return new InvocationTargetException(exception);
+ InvocationTargetException ite = new InvocationTargetException(exception);
+ ErrorManager.Annotation[] arr = ErrorManager.getDefault ().findAnnotations (exception);
+ return (InvocationTargetException)ErrorManager.getDefault ().attachAnnotations (ite, arr);
}
}