|| t.getCause() instanceof CdmAuthenticationException
|| (t.getMessage() != null && t.getMessage().contains("status code = 403"))){
MessagingUtils.informationDialog("Access denied", MessagingUtils.ACCESS_DENIED);
+ }else if (includesCause(t, OptionalDataException.class)){
+ MessagingUtils.informationDialog("Error (OptionalDataException)",
+ MessagingUtils.RESTART_EDITOR_MESSAGE
+ );
}else
// NOTE : Currently we only allow RuntimeExceptions since
t,
true);
}
- }else {
- if (includesCause(t, OptionalDataException.class)){
- MessagingUtils.warn(this.getClass(), MessagingUtils.RESTART_EDITOR_MESSAGE);
- }
}
}
}
private <T extends Exception> boolean includesCause(Throwable t, Class<? extends Throwable> clazz) {
boolean result = false;
- if (clazz.isAssignableFrom(t.getClass())){
+ if (clazz.isAssignableFrom(t.getClass()) ){
return true;
- }else if (t.getCause() != null){
+ }else if (t.getCause() != null && t.getCause() != t){
return includesCause(t.getCause(), clazz);
}
return result;