in src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverWithVanityBloomFilterTest.java [2608:2658]
public void test_resolve_with_sling_alias_selectors_extension() throws Exception {
final String selExt = ".sel1.sel2.html";
Node child = rootNode.addNode("child");
child.setProperty("sling:alias", "kind");
try {
saveMappings(session);
// expect kind due to alias and no parent due to mapping
// the rootPath onto root
String path = "/kind" + selExt;
String mapped = resResolver.map(child.getPath() + selExt);
assertEquals(path, mapped);
Resource res = resResolver.resolve(null, path);
assertNotNull(res);
assertEquals(rootNode.getPath() + "/kind", res.getResourceMetadata().getResolutionPath());
assertEquals(selExt, res.getResourceMetadata().getResolutionPathInfo());
Node resNode = res.adaptTo(Node.class);
assertNotNull(resNode);
assertEquals(child.getPath(), resNode.getPath());
// second level alias
Node grandchild = child.addNode("grandchild");
grandchild.setProperty("sling:alias", "enkel");
saveMappings(session);
// expect kind/enkel due to alias and no parent due to mapping
// the rootPath onto root
String pathEnkel = "/kind/enkel" + selExt;
String mappedEnkel = resResolver.map(grandchild.getPath() + selExt);
assertEquals(pathEnkel, mappedEnkel);
Resource resEnkel = resResolver.resolve(null, pathEnkel);
assertNotNull(resEnkel);
assertEquals(
rootNode.getPath() + "/kind/enkel",
resEnkel.getResourceMetadata().getResolutionPath());
assertEquals(selExt, resEnkel.getResourceMetadata().getResolutionPathInfo());
Node resNodeEnkel = resEnkel.adaptTo(Node.class);
assertNotNull(resNodeEnkel);
assertEquals(grandchild.getPath(), resNodeEnkel.getPath());
} finally {
child.remove();
session.save();
}
}