This code can be added to the setter of the component from where you want to access the saved search of the af:query panel
QueryModel qm = (QueryModel)evaluateEL("#{bindings.<searchRegionFromThePageDef>.queryModel}"); for(int indexCount=0; indexCount<qm.getUserQueries().size();indexCount++) { QueryDescriptor qd = qm.getUserQueries().get(indexCount); if(qd!=null){ String queryDescriptorName = qd.getName(); System.out.println(queryDesctiptorName); m = qd.getUIHints(); isDefault = (Boolean) m.get(QueryDescriptor.UIHINT_DEFAULT); isRunAutomatically = (Boolean) m.get(QueryDescriptor.UIHINT_AUTO_EXECUTE); if (Boolean.TRUE.equals(isDefault) && Boolean.TRUE.equals(isRunAutomatically){ //code goes here } else{ //else code } } }
quick walk through..
- Getting the handle to QueryModel
- Iterating through the userQueries. ie. the Saved Searches
- Get handle to the QueryDescriptor
- get handle to UIHints from the QueryDescriptor
- check for QueryDescriptor.UIHINT_DEFAULT and QueryDescriptor.UIHINT_AUTO_EXECUTE and implement the logic based on the value obtained.
Hi, is there a way to enable site level Saved Search.
for ex: In a company if there are 10 users say user_1 , user_2, user_3, now if user_1 creates a saved search, that particular saved search should be seen by all other users i.e. user_2, user_3 .
Is there a way to achieve this ?