in src/main/java/org/apache/sling/resourceresolver/impl/mapping/AliasHandler.java [416:452]
private boolean loadAlias(
final Resource resource,
Map<String, Map<String, Collection<String>>> map,
List<String> conflictingAliases,
List<String> invalidAliases) {
// resource containing the alias
final Resource containingResource = getResourceToBeAliased(resource);
if (containingResource == null) {
log.warn("containingResource is null for alias on {}, skipping.", resource.getPath());
return false;
} else {
final Resource parent = containingResource.getParent();
if (parent == null) {
log.warn(
"{} is null for alias on {}, skipping.",
containingResource == resource ? "parent" : "grandparent",
resource.getPath());
return false;
} else {
final String[] aliasArray = resource.getValueMap().get(ResourceResolverImpl.PROP_ALIAS, String[].class);
if (aliasArray == null) {
return false;
} else {
return loadAliasFromArray(
aliasArray,
map,
conflictingAliases,
invalidAliases,
containingResource.getName(),
parent.getPath());
}
}
}
}