in src/main/java/org/apache/sling/discovery/impl/cluster/voting/VotingHandler.java [184:223]
public void handleEvent(final Event event) {
if (!activated) {
return;
}
String resourcePath = (String) event.getProperty("path");
String ongoingVotingsPath = config.getOngoingVotingsPath();
if (resourcePath == null) {
// not of my business
return;
}
if (!resourcePath.startsWith(ongoingVotingsPath)) {
// not of my business
return;
}
ResourceResolver resourceResolver = null;
try {
resourceResolver = resolverFactory
.getServiceResourceResolver(null);
} catch (LoginException e) {
logger.error(
"handleEvent: could not log in administratively: " + e, e);
return;
}
try {
if (logger.isDebugEnabled()) {
logger.debug("handleEvent: path = "+resourcePath+", event = "+event);
}
analyzeVotings(resourceResolver);
} catch (PersistenceException e) {
logger.error(
"handleEvent: got a PersistenceException during votings analysis: "
+ e, e);
} finally {
if (resourceResolver != null) {
resourceResolver.close();
}
}
}