in src/main/java/org/apache/sling/launchpad/testservices/serversidetests/ResourceResolverWithVanityBloomFilterTest.java [2352:2400]
public void test_resolve_with_sling_alias() throws Exception {
Node child = rootNode.addNode("child");
child.setProperty("sling:alias", "kind");
saveMappings(session);
try {
// expect kind due to alias and no parent due to mapping
// the rootPath onto root
String path = "/kind";
String mapped = resResolver.map(child.getPath());
assertEquals(path, mapped);
Resource res = resResolver.resolve(null, path);
assertNotNull(res);
assertEquals(rootNode.getPath() + "/kind", res.getResourceMetadata().getResolutionPath());
assertEquals("", 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";
String mappedEnkel = resResolver.map(grandchild.getPath());
assertEquals(pathEnkel, mappedEnkel);
Resource resEnkel = resResolver.resolve(null, pathEnkel);
assertNotNull(resEnkel);
assertEquals(
rootNode.getPath() + "/kind/enkel",
resEnkel.getResourceMetadata().getResolutionPath());
assertEquals("", resEnkel.getResourceMetadata().getResolutionPathInfo());
Node resNodeEnkel = resEnkel.adaptTo(Node.class);
assertNotNull(resNodeEnkel);
assertEquals(grandchild.getPath(), resNodeEnkel.getPath());
} finally {
child.remove();
session.save();
}
}