I want to iterate on the sling folder and get the information on it in java.
"SELECT * FROM [nt:base] AS s WHERE [jcr:primaryType]=\"sling:Folder\" AND ISDESCENDANTNODE([/etc/foldername]) and ...."
In java,
Iterator<Resource> queryResult = resolver.findResources("SELECT * FROM [nt:base] AS s WHERE [jcr:primaryType]=\"sling:Folder\" AND ISDESCENDANTNODE([/etc/foldername]) and ....", Query.JCR_SQL2);
while (queryResult.hasNext()) {
Resource res = queryResult.next();
//but here how to get the information stored on the sling folder
}
how to read the name and ID property values?
Please help me with this issue in accessing the ID and name stored in the sling folder.
Solved! Go to Solution.
Do not use queries for that! Way too much overhead. Instead iterate directly the children list:
Resource folder = resourceResolver.getResource("/path/to/the/folder");
Iterator<Resource> children = folder.listChildren();
children.forEach (c ->
ValueMap vm = c.adaptTo(ValueMap.class);
String prop1 = vm.get("name", String.class);
...
);
Do not use queries for that! Way too much overhead. Instead iterate directly the children list:
Resource folder = resourceResolver.getResource("/path/to/the/folder");
Iterator<Resource> children = folder.listChildren();
children.forEach (c ->
ValueMap vm = c.adaptTo(ValueMap.class);
String prop1 = vm.get("name", String.class);
...
);
Thank you, it works!
Views
Replies
Total Likes
Views
Likes
Replies