in src/main/java/org/apache/sling/event/dea/impl/DistributedEventReceiver.java [227:270]
private void writeEvent(final Event event)
throws PersistenceException {
final Calendar now = Calendar.getInstance();
final StringBuilder sb = new StringBuilder(this.ownRootPath);
sb.append('/');
sb.append(now.get(Calendar.YEAR));
sb.append('/');
sb.append(now.get(Calendar.MONTH) + 1);
sb.append('/');
sb.append(now.get(Calendar.DAY_OF_MONTH));
sb.append('/');
sb.append(now.get(Calendar.HOUR_OF_DAY));
sb.append('/');
sb.append(now.get(Calendar.MINUTE));
sb.append('/');
sb.append("event-");
sb.append(String.valueOf(eventCounter.getAndIncrement()));
// create properties
final Map<String, Object> properties = new HashMap<String, Object>();
final String[] propNames = event.getPropertyNames();
if ( propNames != null && propNames.length > 0 ) {
for(final String propName : propNames) {
properties.put(propName, event.getProperty(propName));
}
}
properties.remove(DEAConstants.PROPERTY_DISTRIBUTE);
properties.put(EventConstants.EVENT_TOPIC, event.getTopic());
properties.put(DEAConstants.PROPERTY_APPLICATION, this.slingId);
final Object oldRT = properties.get(ResourceResolver.PROPERTY_RESOURCE_TYPE);
if ( oldRT != null ) {
properties.put("event.dea." + ResourceResolver.PROPERTY_RESOURCE_TYPE, oldRT);
}
properties.put(ResourceResolver.PROPERTY_RESOURCE_TYPE, DistributedEventAdminImpl.RESOURCE_TYPE_EVENT);
this.writerResolver.refresh();
ResourceUtil.getOrCreateResource(this.writerResolver,
sb.toString(),
properties,
DistributedEventAdminImpl.RESOURCE_TYPE_FOLDER,
true);
}