sort pages by cq:lastReplicated
Hi All,
I am using cq 5.6.1 and I need to sort a list of cq:Page by cq:lastReplicated date property. I want to know whats the best possible way. Also, I need to do this sorting in java class.
Thanks in advance,
Ankit
Hi All,
I am using cq 5.6.1 and I need to sort a list of cq:Page by cq:lastReplicated date property. I want to know whats the best possible way. Also, I need to do this sorting in java class.
Thanks in advance,
Ankit
You can use QueryBuilder API for this.
ResourceResolver my_resourse_resolver;
Session my_session;
QueryBuilder my_builder;
Map<String, Object> my_map;
PredicateGroup my_predicate_group;
Query my_query;
SearchResult my_search_results;
my_resourse_resolver = a_request.getResourceResolver();
my_session = my_resourse_resolver.adaptTo( Session.class );
my_builder = my_resourse_resolver.adaptTo( QueryBuilder.class );
my_map = new HashMap<String, Object>();
my_map.put( "path", a_path );
my_map.put( "type", "cq:Page" );
// Define sort order
my_map.put( "orderby", "@" + jcr:content/cq:lastReplicated);
my_map.put( "orderby.sort", "desc" );
my_predicate_group = PredicateGroup.create( my_map );
my_query = my_builder.createQuery( my_predicate_group, my_session );
my_query.setHitsPerPage( a_page.getMaxResults() );
my_search_results = my_query.getResult();
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.