use of com.xpn.xwiki.notify.XWikiNotificationManager in project xwiki-platform by xwiki.
the class LegacyNotificationDispatcher method onEvent.
@Override
public void onEvent(Event event, Object source, Object data) {
XWikiDocument document = (XWikiDocument) source;
XWikiDocument originalDocument = document.getOriginalDocument();
XWikiContext context = (XWikiContext) data;
XWikiNotificationManager manager = getNotificationManager((XWikiContext) data);
if (manager != null) {
if (event instanceof DocumentCreatedEvent) {
manager.verify(document, originalDocument, XWikiDocChangeNotificationInterface.EVENT_NEW, context);
} else if (event instanceof DocumentUpdatedEvent) {
manager.verify(document, originalDocument, XWikiDocChangeNotificationInterface.EVENT_CHANGE, context);
} else if (event instanceof DocumentCreatingEvent) {
manager.preverify(document, originalDocument, XWikiDocChangeNotificationInterface.EVENT_NEW, context);
} else if (event instanceof DocumentUpdatingEvent) {
manager.preverify(document, originalDocument, XWikiDocChangeNotificationInterface.EVENT_CHANGE, context);
} else if (event instanceof DocumentDeletedEvent) {
manager.verify(new XWikiDocument(document.getDocumentReference()), document, XWikiDocChangeNotificationInterface.EVENT_DELETE, context);
} else if (event instanceof DocumentDeletingEvent) {
manager.preverify(document, new XWikiDocument(document.getDocumentReference()), XWikiDocChangeNotificationInterface.EVENT_DELETE, context);
} else if (event instanceof ActionExecutedEvent) {
manager.verify(document, ((ActionExecutedEvent) event).getActionName(), context);
} else if (event instanceof ActionExecutingEvent) {
manager.preverify(document, ((ActionExecutingEvent) event).getActionName(), context);
}
} else {
this.logger.error("Can't find old [XWikiNotificationManager] system");
}
}
Aggregations