Hi,
I have using RequestFilter for /p8/search service and below is the code i am trying, but i am getting error.
I am not sure if this will work, just referred this link https://github.com/ibm-ecm/ibm-content-navigator-samples/blob/master/UserColumnSettingsPlugin/src/com/ibm/ecm/extension/ColumnsDisplayedRequestFilter.java for an example.
Code
JSONObject jsonObj = (JSONObject) jsonRequest;
JSONArray searchCriteriaArr = (JSONArray) jsonObj.get("searchCriteria");
JSONArray newCriteria = new JSONArray();
JSONObject insVal = new JSONObject();
insVal.put("name", "Document Status");
insVal.put("values", "In progress");
insVal.put("defaultOperator", "EQUAL");
insVal.put("id", "strsStatus");
insVal.put("selectedOperator", "EQUAL");
insVal.put("dataType", "xs:string");
newCriteria.add(insVal);
jsonObj.put("searchCriteria", newCriteria);
String criteriaString=jsonObj.toString();
PluginRequestUtil.setRequestParameter(request,"json_post", criteriaString);
Error
com.ibm.ecm.struts.actions.p8.P8SearchAction.executeAction()
java.lang.ClassCastException: java.lang.String incompatible with com.ibm.json.java.JSONArray
at com.ibm.ecm.util.SearchCriterion.fromJSON(SearchCriterion.java:202)
at com.ibm.ecm.util.SearchTemplateBase.fromSearchCriterionJson(SearchTemplateBase.java:158)
at com.ibm.ecm.util.SearchTemplateBase.fromJSON(SearchTemplateBase.java:143)
at com.ibm.ecm.util.SearchTemplate.fromJSON(SearchTemplate.java:235)
at com.ibm.ecm.search.p8.P8SearchTemplate.fromJSON(P8SearchTemplate.java:93)
at com.ibm.ecm.search.p8.P8SearchTemplateDocument.getSearchTemplate(P8SearchTemplateDocument.java:172)
at com.ibm.ecm.search.p8.P8SearchTemplateDocumentBase.getSearchTemplate(P8SearchTemplateDocumentBase.java:89)
at com.ibm.ecm.struts.actions.p8.P8SearchAction.executeAction(P8SearchAction.java:135)
#IBMContentNavigator(ICN)#Support#SupportMigration