public void writeTo(org.dom4j.Document doc, Class<?> cls, Type type, Annotation[] anns, MediaType mt, MultivaluedMap<String, Object> headers, OutputStream os) throws IOException, WebApplicationException { if (mt.getSubtype().contains("xml")) { org.dom4j.io.XMLWriter writer = new org.dom4j.io.XMLWriter(os); writer.write(doc); writer.flush(); } else { org.w3c.dom.Document domDoc = convertToDOM(doc); MessageBodyWriter<org.w3c.dom.Document> writer = providers.getMessageBodyWriter(DOM_DOC_CLS, DOM_DOC_CLS, anns, mt); if (writer == null) { throw ExceptionUtils.toNotAcceptableException(null, null); } writer.writeTo(domDoc, DOM_DOC_CLS, DOM_DOC_CLS, anns, mt, headers, os); } }
private MediaType checkFinalContentType(MediaType mt, List<WriterInterceptor> writers, boolean checkWriters) { if (checkWriters) { int mbwIndex = writers.size() == 1 ? 0 : writers.size() - 1; MessageBodyWriter<Object> writer = ((WriterInterceptorMBW)writers.get(mbwIndex)).getMBW(); Produces pm = writer.getClass().getAnnotation(Produces.class); if (pm != null) { List<MediaType> sorted = JAXRSUtils.sortMediaTypes(JAXRSUtils.getMediaTypes(pm.value()), JAXRSUtils.MEDIA_TYPE_QS_PARAM); mt = JAXRSUtils.intersectMimeTypes(sorted, mt).get(0); } } if (mt.isWildcardType() || mt.isWildcardSubtype()) { if ("application".equals(mt.getType()) || mt.isWildcardType()) { mt = MediaType.APPLICATION_OCTET_STREAM_TYPE; } else { throw ExceptionUtils.toNotAcceptableException(null, null); } } return mt; }
public void writeTo(org.dom4j.Document doc, Class<?> cls, Type type, Annotation[] anns, MediaType mt, MultivaluedMap<String, Object> headers, OutputStream os) throws IOException, WebApplicationException { if (!convertAlways && mt.getSubtype().contains("xml")) { XMLWriter writer; if (MessageUtils.getContextualBoolean(getCurrentMessage(), SUPPRESS_XML_DECLARATION, false)) { OutputFormat format = new org.dom4j.io.OutputFormat(); format.setSuppressDeclaration(true); writer = new org.dom4j.io.XMLWriter(os, format); } else { writer = new org.dom4j.io.XMLWriter(os); } writer.write(doc); writer.flush(); } else { org.w3c.dom.Document domDoc = convertToDOM(doc); MessageBodyWriter<org.w3c.dom.Document> writer = providers.getMessageBodyWriter(DOM_DOC_CLS, DOM_DOC_CLS, anns, mt); if (writer == null) { throw ExceptionUtils.toNotAcceptableException(null, null); } writer.writeTo(domDoc, DOM_DOC_CLS, DOM_DOC_CLS, anns, mt, headers, os); } }
public void writeTo(org.dom4j.Document doc, Class<?> cls, Type type, Annotation[] anns, MediaType mt, MultivaluedMap<String, Object> headers, OutputStream os) throws IOException, WebApplicationException { if (!convertAlways && mt.getSubtype().contains("xml")) { XMLWriter writer; if (MessageUtils.getContextualBoolean(getCurrentMessage(), SUPPRESS_XML_DECLARATION, false)) { OutputFormat format = new org.dom4j.io.OutputFormat(); format.setSuppressDeclaration(true); writer = new org.dom4j.io.XMLWriter(os, format); } else { writer = new org.dom4j.io.XMLWriter(os); } writer.write(doc); writer.flush(); } else { org.w3c.dom.Document domDoc = convertToDOM(doc); MessageBodyWriter<org.w3c.dom.Document> writer = providers.getMessageBodyWriter(DOM_DOC_CLS, DOM_DOC_CLS, anns, mt); if (writer == null) { throw ExceptionUtils.toNotAcceptableException(null, null); } writer.writeTo(domDoc, DOM_DOC_CLS, DOM_DOC_CLS, anns, mt, headers, os); } }
protected MessageBodyReader<T> getReader(Class<?> type, Type gType, Annotation[] anns, MediaType mt) { if (delegatingReaders != null) { return getDelegatingReader(type, gType, anns, mt); } MessageBodyReader<T> r = null; mc.put(ACTIVE_JAXRS_PROVIDER_KEY, this); try { @SuppressWarnings("unchecked") Class<T> actualType = (Class<T>)type; r = mc.getProviders().getMessageBodyReader(actualType, gType, anns, mt); } finally { mc.put(ACTIVE_JAXRS_PROVIDER_KEY, null); } if (r == null) { org.apache.cxf.common.i18n.Message message = new org.apache.cxf.common.i18n.Message("NO_MSG_READER", BUNDLE, type); LOG.severe(message.toString()); throw ExceptionUtils.toNotAcceptableException(null, null); } return r; }
protected MessageBodyReader<T> getReader(Class<?> type, Type gType, Annotation[] anns, MediaType mt) { if (delegatingReaders != null) { return getDelegatingReader(type, gType, anns, mt); } MessageBodyReader<T> r = null; mc.put(ACTIVE_JAXRS_PROVIDER_KEY, this); try { @SuppressWarnings("unchecked") Class<T> actualType = (Class<T>)type; r = mc.getProviders().getMessageBodyReader(actualType, gType, anns, mt); } finally { mc.put(ACTIVE_JAXRS_PROVIDER_KEY, null); } if (r == null) { org.apache.cxf.common.i18n.Message message = new org.apache.cxf.common.i18n.Message("NO_MSG_READER", BUNDLE, type); LOG.severe(message.toString()); throw ExceptionUtils.toNotAcceptableException(null, null); } return r; }
acceptContentTypes = JAXRSUtils.sortMediaTypes(acceptTypes, JAXRSUtils.MEDIA_TYPE_Q_PARAM); } catch (IllegalArgumentException ex) { throw ExceptionUtils.toNotAcceptableException(null, null);
acceptContentTypes = JAXRSUtils.sortMediaTypes(acceptTypes, JAXRSUtils.MEDIA_TYPE_Q_PARAM); } catch (IllegalArgumentException ex) { throw ExceptionUtils.toNotAcceptableException(null, null);