/** * @param objectEvent the event involving an object * @return the {@link BaseObjectReference} of the object corresponding to the object event */ private BaseObjectReference getBaseObjectReference(XObjectEvent objectEvent) { EntityReference objectReference = objectEvent.getReference(); BaseObjectReference baseObjectReference = null; if (objectReference instanceof BaseObjectReference) { baseObjectReference = (BaseObjectReference) objectEvent.getReference(); } else { baseObjectReference = new BaseObjectReference(objectEvent.getReference()); } return baseObjectReference; } }
protected List<Event> getCacheCleanupEvents() { RegexEntityReference classMatcher = BaseObjectReference.any(this.referenceSerializer.serialize(getClassReference())); return Arrays.<Event>asList(new XObjectAddedEvent(classMatcher), new XObjectDeletedEvent(classMatcher), new XObjectUpdatedEvent(classMatcher), new WikiDeletedEvent()); }
if (StringUtils.equals(diff.getClassName(), "XWiki.XWikiComments")) { if (StringUtils.equals(diff.getAction(), "object-removed")) { om.notify(new CommentDeletedEvent(reference, diff.getNumber() + ""), source, data); } else if (StringUtils.equals(diff.getAction(), "object-added")) { om.notify(new CommentAddedEvent(reference, diff.getNumber() + ""), source, data); } else { om.notify(new CommentUpdatedEvent(reference, diff.getNumber() + ""), source, data); om.notify(new AttachmentAddedEvent(reference, diff.getFileName()), source, data); } else if (StringUtils.isEmpty(diff.getNewVersion())) { om.notify(new AttachmentDeletedEvent(reference, diff.getFileName()), source, data); } else { om.notify(new AttachmentUpdatedEvent(reference, diff.getFileName()), source, data);
eventType = ActivityEventType.ADD_COMMENT; displayTitle = currentDoc.getDisplayTitle(context); additionalIdentifier = ((CommentAddedEvent) event).getIdentifier(); } else if (event instanceof CommentDeletedEvent) { eventType = ActivityEventType.DELETE_COMMENT; displayTitle = currentDoc.getDisplayTitle(context); additionalIdentifier = ((CommentDeletedEvent) event).getIdentifier(); } else if (event instanceof CommentUpdatedEvent) { eventType = ActivityEventType.UPDATE_COMMENT; displayTitle = currentDoc.getDisplayTitle(context); additionalIdentifier = ((CommentUpdatedEvent) event).getIdentifier(); } else if (event instanceof AttachmentAddedEvent) { eventType = ActivityEventType.ADD_ATTACHMENT; displayTitle = currentDoc.getDisplayTitle(context); additionalIdentifier = ((AttachmentAddedEvent) event).getName(); } else if (event instanceof AttachmentDeletedEvent) { eventType = ActivityEventType.DELETE_ATTACHMENT; displayTitle = currentDoc.getDisplayTitle(context); additionalIdentifier = ((AttachmentDeletedEvent) event).getName(); } else if (event instanceof AttachmentUpdatedEvent) { eventType = ActivityEventType.UPDATE_ATTACHMENT; displayTitle = currentDoc.getDisplayTitle(context); additionalIdentifier = ((AttachmentUpdatedEvent) event).getName(); } else if (event instanceof AnnotationAddedEvent) { eventType = ActivityEventType.ADD_ANNOTATION;
} else if (event instanceof AttachmentUpdatedEvent || event instanceof AttachmentAddedEvent) { XWikiDocument document = (XWikiDocument) source; String fileName = ((AbstractAttachmentEvent) event).getName(); XWikiAttachment attachment = document.getAttachment(fileName); } else if (event instanceof AttachmentDeletedEvent) { XWikiDocument document = ((XWikiDocument) source).getOriginalDocument(); String fileName = ((AbstractAttachmentEvent) event).getName(); XWikiAttachment attachment = document.getAttachment(fileName); EntityEvent entityEvent = (EntityEvent) event; this.solrIndexer.get().index(entityEvent.getReference(), false); } else if (event instanceof XObjectDeletedEvent) { EntityEvent entityEvent = (EntityEvent) event; this.solrIndexer.get().delete(entityEvent.getReference(), false); } else if (event instanceof XObjectPropertyUpdatedEvent || event instanceof XObjectPropertyAddedEvent) { EntityEvent entityEvent = (EntityEvent) event; this.solrIndexer.get().index(entityEvent.getReference(), false); } else if (event instanceof XObjectPropertyDeletedEvent) { EntityEvent entityEvent = (EntityEvent) event; this.solrIndexer.get().delete(entityEvent.getReference(), false); } else if (event instanceof WikiDeletedEvent) { String wikiName = (String) source;
@Override public void onEvent(Event event, Object source, Object data) { XWikiContext context = (XWikiContext) data; try { if (event instanceof DocumentUpdatedEvent || event instanceof DocumentCreatedEvent) { queueDocument((XWikiDocument) source, context, false); } else if (event instanceof DocumentDeletedEvent) { queueDocument((XWikiDocument) source, context, true); } else if (event instanceof AttachmentUpdatedEvent || event instanceof AttachmentAddedEvent) { queueAttachment(((XWikiDocument) source).getAttachment(((AbstractAttachmentEvent) event).getName()), context, false); } else if (event instanceof AttachmentDeletedEvent) { addAttachment((XWikiDocument) source, ((AbstractAttachmentEvent) event).getName(), context, true); } else if (event instanceof WikiDeletedEvent) { addWiki((String) source, true); } } catch (Exception e) { LOGGER.error("error in notify", e); } }
om.notify(new XARImportedEvent(), null, context);