in src/main/java/org/apache/sling/discovery/impl/common/ViewHelper.java [87:118]
public static View getEstablishedView(final ResourceResolver resourceResolver, final Config config) {
final Resource establishedParent = resourceResolver
.getResource(config.getEstablishedViewPath());
if (establishedParent == null) {
logger.debug("getEstablishedView: no established view found: {}", config.getEstablishedViewPath());
return null;
}
final Iterable<Resource> children = establishedParent.getChildren();
if (children == null) {
logger.debug("getEstablishedView: no children found of {}", establishedParent);
return null;
}
final Iterator<Resource> it = children.iterator();
if (!it.hasNext()) {
logger.debug("getEstablishedView: no it of children of {}", establishedParent);
return null;
}
Resource establishedView = it.next();
if (!it.hasNext()) {
return new View(establishedView);
}
// emergency cleanup in case there is more than one established view:
while (true) {
logger.error("getEstablishedView: more than one established view encountered! Removing: "
+ establishedView);
new View(establishedView).remove(false);
if (!it.hasNext()) {
return null;
}
establishedView = it.next();
}
}