0

Hi I am implementing a Java module to fetch the pages which has a particular component. Below is the code snippet which i use, but when running the module am getting an warning Saying that no PredicateEvaluator found for 'sling:resourceType'. Kindly suggest me the proper way to give resourceType property as query parameter

Map<String, String> predicateMap = new HashMap<String, String>();
predicateMap.put("path","/content/geometrixx-outdoors/en/men");
predicateMap.put("type", "cq:Page");
predicateMap.put("sling:resourceType", "geometrixx-outdoors/components/title");
predicateMap.put("p.limit", "-1");
QueryBuilder queryBuilder = slingScriptHelper.getService(QueryBuilder.class);
com.day.cq.search.Query queryObj = queryBuilder.createQuery(PredicateGroup.create(predicateMap), session);
Sandeep Kumar
  • 1,758
  • 1
  • 22
  • 39
Kamal Kannan
  • 91
  • 1
  • 11

1 Answers1

5

sling:resourceType is indeed not a valid predicate evaluator. You need to put it as a property:

predicateMap.put("property", "jcr:content/sling:resourceType");
predicateMap.put("property.value", "geometrixx-outdoors/components/title");

As you alre filtering type=cq:Page you have to also include jcr:content in the path to the property.

Thomas
  • 6,325
  • 4
  • 30
  • 65