public ResourceModifiedResponse createSavedQuery(String query, String name, List<Parameter> paramList,
String sessionHandleString, MediaType inputMediaType) throws JAXBException, IOException {
MapBuilder map = new MapBuilder("sessionid", sessionHandleString);
SavedQuery savedQuery = new SavedQuery();
savedQuery.setQuery(query);
savedQuery.setName(name);
savedQuery.setParameters(paramList);
savedQuery.setDescription("description");
Response response = null;
if (inputMediaType!=null && inputMediaType.equals(MediaType.APPLICATION_XML_TYPE)) {
Marshaller m = JAXBContext.newInstance(SavedQuery.class).createMarshaller();
StringWriter xmlStringWriter = new StringWriter();
m.marshal(savedQuery, xmlStringWriter);
response = this.exec("post", SAVED_QUERY_BASE_URL, servLens, null, map, inputMediaType,
MediaType.APPLICATION_XML, xmlStringWriter.toString());
} else {
String json = "{\"savedQuery\":" + (new ObjectMapper().writeValueAsString(savedQuery)) + "}";
response = this.exec("post", SAVED_QUERY_BASE_URL, servLens, null, map, inputMediaType,
MediaType.APPLICATION_XML, json);
}
AssertUtil.assertCreated(response);
response.getStringHeaders().putSingle(HttpHeaders.CONTENT_TYPE, "application/xml");
return response.readEntity(ResourceModifiedResponse.class);
}