/** * Transfers data from an {@code ODataResponse} into an {@code HttpServletResponse}. * * @param oDataResponse The {@code ODataResponse}. * @param servletResponse The {@code HttpServletResponse} * @throws java.io.IOException If an I/O error occurs. */ private void fillServletResponse(ODataResponse oDataResponse, HttpServletResponse servletResponse) throws IOException, ODataException { servletResponse.setStatus(oDataResponse.getStatus().getCode()); for (Map.Entry<String, String> entry : oDataResponse.getHeaders().entrySet()) { servletResponse.setHeader(entry.getKey(), entry.getValue()); } byte[] body = oDataResponse.getBody(); if (body != null && body.length != 0) { OutputStream out = servletResponse.getOutputStream(); out.write(oDataResponse.getBody()); out.flush(); } else if (oDataResponse.getStreamingContent() != null) { oDataResponse.getStreamingContent().write(servletResponse); } }
/** * Transfers data from an {@code ODataResponse} into an {@code HttpServletResponse}. * * @param oDataResponse The {@code ODataResponse}. * @param servletResponse The {@code HttpServletResponse} * @throws java.io.IOException If an I/O error occurs. */ private void fillServletResponse(ODataResponse oDataResponse, HttpServletResponse servletResponse) throws IOException, ODataException { servletResponse.setStatus(oDataResponse.getStatus().getCode()); for (Map.Entry<String, String> entry : oDataResponse.getHeaders().entrySet()) { servletResponse.setHeader(entry.getKey(), entry.getValue()); } byte[] body = oDataResponse.getBody(); if (body != null && body.length != 0) { OutputStream out = servletResponse.getOutputStream(); out.write(oDataResponse.getBody()); out.flush(); } else if (oDataResponse.getStreamingContent() != null) { oDataResponse.getStreamingContent().write(servletResponse); } }
private Map<String, String> buildRenderedData(ProcessorResult result) throws ODataException { LOG.debug("Start to render the data"); Map<String, String> resultMap = new HashMap<>(); if (result.getStatus().getCode() < ODataResponse.Status.NO_CONTENT.getCode()) { String contentType = result.getHeaders().get(CONTENT_TYPE); if (!result.getHeaders().containsKey(CONTENT_TYPE) || contentType.startsWith(MediaType.ATOM_XML.toString())) { // render XML resultMap.put(FORMAT, MediaType.ATOM_XML.toString()); resultMap.put(BODY, getRenderedXML(result)); } else if (contentType.startsWith(MediaType.JSON.toString())) { // render JSON resultMap.put(FORMAT, MediaType.JSON.toString()); resultMap.put(BODY, getRenderedJSON(result)); } } else { resultMap.put(FORMAT, MediaType.HTTP.getSubType()); resultMap.put(BODY, (String) result.getData()); } return resultMap; }
private Map<String, String> buildRenderedData(ProcessorResult result) throws ODataException { LOG.debug("Start to render the data"); Map<String, String> resultMap = new HashMap<>(); if (result.getStatus().getCode() < ODataResponse.Status.NO_CONTENT.getCode()) { String contentType = result.getHeaders().get(CONTENT_TYPE); if (!result.getHeaders().containsKey(CONTENT_TYPE) || contentType.startsWith(MediaType.ATOM_XML.toString())) { // render XML resultMap.put(FORMAT, MediaType.ATOM_XML.toString()); resultMap.put(BODY, getRenderedXML(result)); } else if (contentType.startsWith(MediaType.JSON.toString())) { // render JSON resultMap.put(FORMAT, MediaType.JSON.toString()); resultMap.put(BODY, getRenderedJSON(result)); } } else { resultMap.put(FORMAT, MediaType.HTTP.getSubType()); resultMap.put(BODY, (String) result.getData()); } return resultMap; }