ResourceFilterStream.class for Content Fragment trying to .setChildSelector("[jcr:content/metadata/cq:tags] | Community
Skip to main content
Level 2
December 27, 2023
Solved

ResourceFilterStream.class for Content Fragment trying to .setChildSelector("[jcr:content/metadata/cq:tags]

  • December 27, 2023
  • 1 reply
  • 567 views

 

Hi,

 

I am trying to filter out Content Fragment using ResourceFilterStream, but cannot do so using .setChildSelector("[jcr:content/metadata/cq:tags]

 

Doing something like below.

 

Resource resource = resourceResolver.getResource("/content/dam/test-site");
ResourceFilterStream rfs = resource.adaptTo(ResourceFilterStream.class);

rfs.setBranchSelector("[jcr:primaryType] == 'dam:Asset'")
.setChildSelector("[jcr:content/metadata/cq:tags] like 'test-site:test'")
.stream()
.forEach(r-> logger.info("found resource {}",r.getPath()));

 

what should be the  .setChildSelector

 
This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by aanchal-sikka

@aakarsh 

ResourceFilterStream rfs = resource.adaptTo(ResourceFilterStream.class); rfs .setBranchSelector("[jcr:primaryType] != 'dam:Asset'") .setChildSelector("[jcr:content/metadata/cq:tags] contains $tag").addParam("tag", "properties:orientation/landscape") .stream() .forEach(r -> { try { resp.getWriter().println("Path: " + r.getPath()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } });

Please try with following code:

 

1 reply

aanchal-sikka
Community Advisor
aanchal-sikkaCommunity AdvisorAccepted solution
Community Advisor
December 27, 2023

@aakarsh 

ResourceFilterStream rfs = resource.adaptTo(ResourceFilterStream.class); rfs .setBranchSelector("[jcr:primaryType] != 'dam:Asset'") .setChildSelector("[jcr:content/metadata/cq:tags] contains $tag").addParam("tag", "properties:orientation/landscape") .stream() .forEach(r -> { try { resp.getWriter().println("Path: " + r.getPath()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } });

Please try with following code:

 

Aanchal Sikka