Examples of CachingXmlEventWriter


Examples of org.apache.cxf.staxutils.CachingXmlEventWriter

            writer = m.getContent(XMLStreamWriter.class);
        } else {
            writer = (XMLStreamWriter)m.get(XMLStreamWriter.class.getName());
        }
        if (writer instanceof CachingXmlEventWriter) {
            CachingXmlEventWriter cache = (CachingXmlEventWriter)writer;
            if (cache.getEvents().size() != 0) {
                XMLStreamWriter origWriter = StaxUtils.createXMLStreamWriter(osOriginal);
                for (XMLEvent event : cache.getEvents()) {
                    StaxUtils.writeEvent(event, origWriter);
                }
            }
            m.setContent(XMLStreamWriter.class, null);
            return;
View Full Code Here

Examples of org.apache.cxf.staxutils.CachingXmlEventWriter

    @Ignore
    public static class CustomJaxbProvider extends JAXBElementProvider<Object> {
        @Override
        protected XMLStreamWriter getStreamWriter(Object obj, OutputStream os, MediaType mt) {
            if (mt.equals(MediaType.TEXT_XML_TYPE)) {
                return new CachingXmlEventWriter();
            } else {
                throw new RuntimeException();
            }
        }
View Full Code Here

Examples of org.apache.cxf.staxutils.CachingXmlEventWriter

        }
        if (enabled) {
            boolean streamingOn = configurableProvider
                ? ((AbstractConfigurableProvider)w).getEnableStreaming() : false;
            if (streamingOn) {
                m.setContent(XMLStreamWriter.class, new CachingXmlEventWriter());
            } else {
                m.setContent(OutputStream.class, new CachedOutputStream());
            }
        }
        return enabled;
View Full Code Here

Examples of org.apache.cxf.staxutils.CachingXmlEventWriter

            writer = m.getContent(XMLStreamWriter.class);
        } else {
            writer = (XMLStreamWriter)m.get(XMLStreamWriter.class.getName());
        }
        if (writer instanceof CachingXmlEventWriter) {
            CachingXmlEventWriter cache = (CachingXmlEventWriter)writer;
            if (cache.getEvents().size() != 0) {
                XMLStreamWriter origWriter = StaxUtils.createXMLStreamWriter(osOriginal);
                for (XMLEvent event : cache.getEvents()) {
                    StaxUtils.writeEvent(event, origWriter);
                }
            }
            m.setContent(XMLStreamWriter.class, null);
            return;
View Full Code Here

Examples of org.apache.cxf.staxutils.CachingXmlEventWriter

        }
        if (enabled) {
            boolean streamingOn = configurableProvider
                ? ((AbstractConfigurableProvider)w).getEnableStreaming() : false;
            if (streamingOn) {
                m.setContent(XMLStreamWriter.class, new CachingXmlEventWriter());
            } else {
                m.setContent(OutputStream.class, new CachedOutputStream());
            }
        }
        return enabled;
View Full Code Here

Examples of org.apache.cxf.staxutils.CachingXmlEventWriter

    @Ignore
    public static class CustomJaxbProvider extends JAXBElementProvider {
        @Override
        protected XMLStreamWriter getStreamWriter(Object obj, OutputStream os, MediaType mt) {
            if (mt.equals(MediaType.TEXT_XML_TYPE)) {
                return new CachingXmlEventWriter();
            } else {
                throw new RuntimeException();
            }
        }
View Full Code Here

Examples of org.apache.cxf.staxutils.CachingXmlEventWriter

                              List<MessagePartInfo> parts) {
        OutputStream out = message.getContent(OutputStream.class);
        XMLStreamWriter origXmlWriter = message.getContent(XMLStreamWriter.class);
        Service service = exchange.getService();
        XMLStreamWriter xmlWriter = origXmlWriter;
        CachingXmlEventWriter cache = null;
       
        Object en = message.getContextualProperty(OUT_BUFFERING);
        boolean allowBuffer = true;
        boolean buffer = false;
        if (en != null) {
            buffer = Boolean.TRUE.equals(en) || "true".equals(en);
            allowBuffer = !(Boolean.FALSE.equals(en) || "false".equals(en));
        }
        // need to cache the events in case validation fails or buffering is enabled
        if (buffer || (allowBuffer && shouldValidate(message) && !isRequestor(message))) {
            cache = new CachingXmlEventWriter();
            try {
                cache.setNamespaceContext(origXmlWriter.getNamespaceContext());
            } catch (XMLStreamException e) {
                //ignorable, will just get extra namespace decls
            }
            xmlWriter = cache;
            out = null;
        }
       
        if (out != null
            && writeToOutputStream(message, operation.getBinding(), service)
            && !MessageUtils.isTrue(message.getContextualProperty(DISABLE_OUTPUTSTREAM_OPTIMIZATION))) {
            if (xmlWriter != null) {
                try {
                    xmlWriter.writeCharacters("");
                    xmlWriter.flush();
                } catch (XMLStreamException e) {
                    throw new Fault(e);
                }
            }
           
            DataWriter<OutputStream> osWriter = getDataWriter(message, service, OutputStream.class);

            for (MessagePartInfo part : parts) {
                if (objs.hasValue(part)) {
                    Object o = objs.get(part);
                    osWriter.write(o, part, out);                 
                }
            }
        } else {
            DataWriter<XMLStreamWriter> dataWriter = getDataWriter(message, service, XMLStreamWriter.class);
           
            for (MessagePartInfo part : parts) {
                if (objs.hasValue(part)) {
                    Object o = objs.get(part);
                    dataWriter.write(o, part, xmlWriter);
                }
            }
        }
        if (cache != null) {
            try {
                for (XMLEvent event : cache.getEvents()) {
                    StaxUtils.writeEvent(event, origXmlWriter);
                }
            } catch (XMLStreamException e) {
                throw new Fault(e);
            }
View Full Code Here

Examples of org.apache.cxf.staxutils.CachingXmlEventWriter

                              List<MessagePartInfo> parts) {
        OutputStream out = message.getContent(OutputStream.class);
        XMLStreamWriter origXmlWriter = message.getContent(XMLStreamWriter.class);
        Service service = exchange.getService();
        XMLStreamWriter xmlWriter = origXmlWriter;
        CachingXmlEventWriter cache = null;
       
        // configure endpoint and operation level schema validation
        setOperationSchemaValidation(operation.getOperationInfo(), message);
       
        // need to cache the events in case validation fails or buffering is enabled
        if (shouldBuffer(message)) {
            if (!(xmlWriter instanceof CachingXmlEventWriter)) {
                cache = new CachingXmlEventWriter();
                try {
                    cache.setNamespaceContext(origXmlWriter.getNamespaceContext());
                } catch (XMLStreamException e) {
                    //ignorable, will just get extra namespace decls
                }
                xmlWriter = cache;
            }
            out = null;
        }
       
        if (out != null
            && writeToOutputStream(message, operation.getBinding(), service)
            && !MessageUtils.isTrue(message.getContextualProperty(DISABLE_OUTPUTSTREAM_OPTIMIZATION))) {
            if (xmlWriter != null) {
                try {
                    xmlWriter.writeCharacters("");
                    xmlWriter.flush();
                } catch (XMLStreamException e) {
                    throw new Fault(e);
                }
            }
           
            DataWriter<OutputStream> osWriter = getDataWriter(message, service, OutputStream.class);

            for (MessagePartInfo part : parts) {
                if (objs.hasValue(part)) {
                    Object o = objs.get(part);
                    osWriter.write(o, part, out);                 
                }
            }
        } else {
            DataWriter<XMLStreamWriter> dataWriter = getDataWriter(message, service, XMLStreamWriter.class);
           
            for (MessagePartInfo part : parts) {
                if (objs.hasValue(part)) {
                    NamespaceContext c = null;
                    if (!part.isElement()
                        && xmlWriter instanceof CachingXmlEventWriter) {
                        try {
                            c = xmlWriter.getNamespaceContext();
                            xmlWriter.setNamespaceContext(new CachingXmlEventWriter.NSContext(null));
                        } catch (XMLStreamException e) {
                            //ignore
                        }
                    }
                    Object o = objs.get(part);
                    dataWriter.write(o, part, xmlWriter);
                    if (c != null) {
                        try {
                            xmlWriter.setNamespaceContext(c);
                        } catch (XMLStreamException e) {
                            //ignore
                        }
                    }
                }
            }
        }
        if (cache != null) {
            try {
                for (XMLEvent event : cache.getEvents()) {
                    StaxUtils.writeEvent(event, origXmlWriter);
                }
            } catch (XMLStreamException e) {
                throw new Fault(e);
            }
View Full Code Here

Examples of org.apache.cxf.staxutils.CachingXmlEventWriter

                            BindingOperationInfo.class.getName());

            assert operation.getName() != null;

            XMLStreamWriter xmlWriter = getXMLStreamWriter(message);
            CachingXmlEventWriter cache = null;
            // need to cache the events in case validation fails or buffering is enabled
            if (shouldBuffer(message)) {
                origXmlWriter = xmlWriter;
                cache = new CachingXmlEventWriter();
                try {
                    cache.setNamespaceContext(xmlWriter.getNamespaceContext());
                } catch (XMLStreamException e) {
                    //ignorable, will just get extra namespace decls
                }
                message.setContent(XMLStreamWriter.class, cache);
                xmlWriter = cache;
            }

            List<MessagePartInfo> parts = null;

            boolean output = false;
            if (!isRequestor(message)) {
                if (operation.getOutput() == null) {
                    return;
                }
                parts = operation.getOutput().getMessageParts();
                output = true;
            } else {
                parts = operation.getInput().getMessageParts();
                output = false;
            }

            MessageContentsList objs = MessageContentsList.getContentsList(message);
            if (objs == null) {
                addOperationNode(nsStack, message, xmlWriter, output, operation);
                xmlWriter.writeEndElement();
                return;
            }

            for (MessagePartInfo part : parts) {
                if (objs.hasValue(part)) {
                    Object o = objs.get(part);
                    if (o == null) {
                        //WSI-BP R2211 - RPC/Lit parts are not allowed to be xsi:nil
                        throw new Fault(
                            new org.apache.cxf.common.i18n.Message("BP_2211_RPCLIT_CANNOT_BE_NULL",
                                                                   LOG, part.getConcreteName()));
                    }
                   //WSI-BP R2737  -RPC/LIG part name space is empty
                   // part.setConcreteName(new QName("", part.getConcreteName().getLocalPart()));
                }
            }

            addOperationNode(nsStack, message, xmlWriter, output, operation);
            writeParts(message, message.getExchange(), operation, objs, parts);

            // Finishing the writing.
            xmlWriter.writeEndElement();
           
           
            if (cache != null) {
                try {
                    for (XMLEvent event : cache.getEvents()) {
                        StaxUtils.writeEvent(event, origXmlWriter);
                    }
                } catch (XMLStreamException e) {
                    throw new Fault(e);
                }
View Full Code Here

Examples of org.apache.cxf.staxutils.CachingXmlEventWriter

            enabled = InjectionUtils.invokeBooleanGetter(w, "getEnableBuffering");
        }
        if (enabled) {
            boolean streamingOn = InjectionUtils.invokeBooleanGetter(w, "getEnableStreaming");
            if (streamingOn) {
                m.setContent(XMLStreamWriter.class, new CachingXmlEventWriter());
            } else {
                m.setContent(OutputStream.class, new CachedOutputStream());
            }
        }
        return enabled;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.