/** * @return The stream name */ public String getStream() { return event.getStream(); }
/** * Generate event ID for the given ID. Note that this method does not perform the set of the ID in the event object. * * @param event event to generate the ID for * @param context the XWiki context * @return the generated ID */ private String generateEventId(ActivityEvent event, XWikiContext context) { String keySeparator = EVENT_ID_ELEMENTS_SEPARATOR; String wikiSpaceSeparator = ":"; String key = event.getStream() + keySeparator + event.getApplication() + keySeparator + event.getWiki() + wikiSpaceSeparator + event.getPage() + keySeparator + event.getType(); long hash = key.hashCode(); if (hash < 0) { hash = -hash; } String id = "" + hash + keySeparator + event.getDate().getTime() + keySeparator + RandomStringUtils.randomAlphanumeric(8); if (context.get(REQUEST_ID_CONTEXT_KEY) == null) { context.put(REQUEST_ID_CONTEXT_KEY, id); } return id; }
/** * Set fields related to the document which fired the event in the given event object. * * @param event the event to prepare * @param doc document which fired the event * @param context the XWiki context */ private void setEventDocumentRelatedInformation(ActivityEvent event, XWikiDocument doc, XWikiContext context) { if (doc != null) { if (event.getStream() == null) { event.setStream(getStreamName(doc.getSpace(), context)); } if (event.getSpace() == null) { event.setSpace(doc.getSpace()); } if (event.getPage() == null) { event.setPage(doc.getFullName()); } if (event.getUrl() == null) { // Protection against NPEs, events can happen before the URL factory gets created. if (context.getURLFactory() != null) { event.setUrl(doc.getURL("view", context)); } } } }
result.setStream(e.getStream()); result.setTitle(e.getTitle()); result.setType(e.getType());