in taverna-server-webapp/src/main/java/org/apache/taverna/server/master/notification/NotificationEngine.java [64:93]
private void dispatchToChosenTarget(TavernaRun originator, String scheme,
String target, Message message) throws Exception {
try {
MessageDispatcher d = dispatchers.get(scheme);
if (d != null && d.isAvailable())
d.dispatch(originator, message.getTitle(scheme),
message.getContent(scheme), target);
else
log.warn("no such notification dispatcher for " + scheme);
} catch (URISyntaxException e) {
// See if *someone* will handle the message
Exception e2 = null;
for (MessageDispatcher d : dispatchers.values())
try {
if (d.isAvailable()) {
d.dispatch(originator, message.getTitle(d.getName()),
message.getContent(d.getName()), scheme + ":"
+ target);
return;
}
} catch (Exception ex) {
if (log.isDebugEnabled())
log.debug("failed in pseudo-directed dispatch of "
+ scheme + ":" + target, ex);
e2 = ex;
}
if (e2 != null)
throw e2;
}
}