in src/main/java/org/apache/sling/clam/oak/internal/NodeObservingJcrPropertyDigger.java [211:242]
public void run() {
final Set<String> paths = filter(path, names, pattern);
try (ResourceResolver resourceResolver = resourceResolverFactory.getServiceResourceResolver(null)) {
final Session session = resourceResolver.adaptTo(Session.class);
assert session != null;
for (final String path : paths) {
final Property property = session.getProperty(path);
final int propertyType = property.getType();
if (propertyType == this.propertyType) {
if (property.isMultiple()) { // multiple property values
final long[] lengths = property.getLengths();
for (int index = 0; index < lengths.length; index++) {
final long length = lengths[index];
if (checkLength(length, maxLength)) {
jobManager.addJob(scanJobTopic(propertyType), properties(path, index, userId));
} else {
logger.warn("Length of property '{}' [{}] greater than configured max length ({}).", path, index, maxLength);
}
}
} else { // single property value
if (checkLength(property.getLength(), maxLength)) {
jobManager.addJob(scanJobTopic(propertyType), properties(path, userId));
} else {
logger.warn("Length of property '{}' greater than configured max length ({}).", path, maxLength);
}
}
}
}
} catch (Exception e) {
logger.error(e.getMessage());
}
}