1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/src/share/jaxws_classes/com/oracle/webservices/internal/impl/encoding/StreamDecoderImpl.java Tue Apr 09 14:51:13 2013 +0100 1.3 @@ -0,0 +1,67 @@ 1.4 +/* 1.5 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. 1.6 + * 1.7 + * Copyright (c) 1997-2013 Oracle and/or its affiliates. All rights reserved. 1.8 + * 1.9 + * The contents of this file are subject to the terms of either the GNU 1.10 + * General Public License Version 2 only ("GPL") or the Common Development 1.11 + * and Distribution License("CDDL") (collectively, the "License"). You 1.12 + * may not use this file except in compliance with the License. You can 1.13 + * obtain a copy of the License at 1.14 + * http://glassfish.java.net/public/CDDL+GPL_1_1.html 1.15 + * or packager/legal/LICENSE.txt. See the License for the specific 1.16 + * language governing permissions and limitations under the License. 1.17 + * 1.18 + * When distributing the software, include this License Header Notice in each 1.19 + * file and include the License file at packager/legal/LICENSE.txt. 1.20 + * 1.21 + * GPL Classpath Exception: 1.22 + * Oracle designates this particular file as subject to the "Classpath" 1.23 + * exception as provided by Oracle in the GPL Version 2 section of the License 1.24 + * file that accompanied this code. 1.25 + * 1.26 + * Modifications: 1.27 + * If applicable, add the following below the License Header, with the fields 1.28 + * enclosed by brackets [] replaced by your own identifying information: 1.29 + * "Portions Copyright [year] [name of copyright owner]" 1.30 + * 1.31 + * Contributor(s): 1.32 + * If you wish your version of this file to be governed by only the CDDL or 1.33 + * only the GPL Version 2, indicate your decision by adding "[Contributor] 1.34 + * elects to include this software in this distribution under the [CDDL or GPL 1.35 + * Version 2] license." If you don't indicate a single choice of license, a 1.36 + * recipient has the option to distribute your version of this file under 1.37 + * either the CDDL, the GPL Version 2 or to extend the choice of license to 1.38 + * its licensees as provided above. However, if you add GPL Version 2 code 1.39 + * and therefore, elected the GPL Version 2 license, then the option applies 1.40 + * only if the new code is made subject to such option by the copyright 1.41 + * holder. 1.42 + */ 1.43 + 1.44 +package com.oracle.webservices.internal.impl.encoding; 1.45 + 1.46 +import java.io.IOException; 1.47 +import java.io.InputStream; 1.48 + 1.49 +import javax.xml.stream.XMLStreamReader; 1.50 + 1.51 +import com.oracle.webservices.internal.impl.internalspi.encoding.StreamDecoder; 1.52 + 1.53 +import com.sun.xml.internal.ws.api.SOAPVersion; 1.54 +import com.sun.xml.internal.ws.api.message.AttachmentSet; 1.55 +import com.sun.xml.internal.ws.api.message.Message; 1.56 +import com.sun.xml.internal.ws.api.streaming.XMLStreamReaderFactory; 1.57 +import com.sun.xml.internal.ws.encoding.StreamSOAPCodec; 1.58 +import com.sun.xml.internal.ws.streaming.TidyXMLStreamReader; 1.59 + 1.60 +public class StreamDecoderImpl implements StreamDecoder { 1.61 + 1.62 + @Override 1.63 + public Message decode(InputStream in, String charset, 1.64 + AttachmentSet att, SOAPVersion soapVersion) throws IOException { 1.65 + XMLStreamReader reader = XMLStreamReaderFactory.create(null, in, charset, true); 1.66 + reader = new TidyXMLStreamReader(reader, in); 1.67 + return StreamSOAPCodec.decode(soapVersion, reader, att); 1.68 + } 1.69 + 1.70 +}