jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/messaging/saaj/soap/impl/ElementFactory.java
author aefimov
Thu, 16 Feb 2017 13:14:39 +0300
changeset 43852 93a527059d8a
parent 28326 2b9860c0d68a
child 45678 65fdff10664d
permissions -rw-r--r--
8174735: Update JAX-WS RI integration to latest version Reviewed-by: alanb, mchung, lancea Contributed-by: roman.grigoriadi@oracle.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12009
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
     1
/*
43852
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
     2
 * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
12009
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
     4
 *
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
     7
 * published by the Free Software Foundation.  Oracle designates this
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
     9
 * by Oracle in the LICENSE file that accompanied this code.
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    10
 *
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    15
 * accompanied this code).
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    16
 *
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    20
 *
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    22
 * or visit www.oracle.com if you need additional information or have any
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    23
 * questions.
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    24
 */
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    25
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    26
package com.sun.xml.internal.messaging.saaj.soap.impl;
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    27
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    28
import javax.xml.namespace.QName;
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    29
import javax.xml.soap.*;
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    30
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    31
import com.sun.xml.internal.messaging.saaj.soap.SOAPDocumentImpl;
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    32
import com.sun.xml.internal.messaging.saaj.soap.name.NameImpl;
43852
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    33
import com.sun.xml.internal.messaging.saaj.soap.ver1_1.Body1_1Impl;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    34
import com.sun.xml.internal.messaging.saaj.soap.ver1_1.Detail1_1Impl;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    35
import com.sun.xml.internal.messaging.saaj.soap.ver1_1.Envelope1_1Impl;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    36
import com.sun.xml.internal.messaging.saaj.soap.ver1_1.Fault1_1Impl;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    37
import com.sun.xml.internal.messaging.saaj.soap.ver1_1.FaultElement1_1Impl;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    38
import com.sun.xml.internal.messaging.saaj.soap.ver1_1.Header1_1Impl;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    39
import com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPPart1_1Impl;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    40
import com.sun.xml.internal.messaging.saaj.soap.ver1_2.Body1_2Impl;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    41
import com.sun.xml.internal.messaging.saaj.soap.ver1_2.Detail1_2Impl;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    42
import com.sun.xml.internal.messaging.saaj.soap.ver1_2.Envelope1_2Impl;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    43
import com.sun.xml.internal.messaging.saaj.soap.ver1_2.Fault1_2Impl;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    44
import com.sun.xml.internal.messaging.saaj.soap.ver1_2.Header1_2Impl;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    45
import com.sun.xml.internal.messaging.saaj.soap.ver1_2.SOAPPart1_2Impl;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    46
import org.w3c.dom.Element;
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    47
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    48
import java.util.Objects;
12009
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    49
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    50
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    51
public class ElementFactory {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    52
    public static SOAPElement createElement(
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    53
        SOAPDocumentImpl ownerDocument,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    54
        Name name) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    55
        return createElement(
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    56
            ownerDocument,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    57
            name.getLocalName(),
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    58
            name.getPrefix(),
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    59
            name.getURI());
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    60
    }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    61
    public static SOAPElement createElement(
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    62
        SOAPDocumentImpl ownerDocument,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    63
        QName name) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    64
        return createElement(
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    65
            ownerDocument,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    66
            name.getLocalPart(),
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    67
            name.getPrefix(),
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    68
            name.getNamespaceURI());
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    69
    }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
    70
43852
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    71
    /**
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    72
     * Create element wrapper for existing DOM element.
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    73
     *
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    74
     * @param ownerDocument SOAP document wrapper not null
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    75
     * @param element DOM element not null
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    76
     * @return SOAP wrapper for DOM element
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    77
     */
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    78
    public static SOAPElement createElement(SOAPDocumentImpl ownerDocument, Element element) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    79
        Objects.requireNonNull(ownerDocument);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    80
        Objects.requireNonNull(element);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    81
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    82
        String localName = element.getLocalName();
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    83
        String namespaceUri = element.getNamespaceURI();
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    84
        String prefix = element.getPrefix();
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    85
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    86
        if ("Envelope".equalsIgnoreCase(localName)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    87
            if (NameImpl.SOAP11_NAMESPACE.equals(namespaceUri)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    88
                return new Envelope1_1Impl(ownerDocument, element);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    89
            } else if (NameImpl.SOAP12_NAMESPACE.equals(namespaceUri)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    90
                return new Envelope1_2Impl(ownerDocument, element);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    91
            }
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    92
        }
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    93
        if ("Body".equalsIgnoreCase(localName)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    94
            if (NameImpl.SOAP11_NAMESPACE.equals(namespaceUri)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    95
                return new Body1_1Impl(ownerDocument, element);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    96
            } else if (NameImpl.SOAP12_NAMESPACE.equals(namespaceUri)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    97
                return new Body1_2Impl(ownerDocument, element);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    98
            }
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
    99
        }
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   100
        if ("Header".equalsIgnoreCase(localName)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   101
            if (NameImpl.SOAP11_NAMESPACE.equals(namespaceUri)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   102
                return new Header1_1Impl(ownerDocument, element);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   103
            } else if (NameImpl.SOAP12_NAMESPACE.equals(namespaceUri)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   104
                return new Header1_2Impl(ownerDocument, element);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   105
            }
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   106
        }
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   107
        if ("Fault".equalsIgnoreCase(localName)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   108
            if (NameImpl.SOAP11_NAMESPACE.equals(namespaceUri)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   109
                return new Fault1_1Impl(element, ownerDocument);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   110
            } else if (NameImpl.SOAP12_NAMESPACE.equals(namespaceUri)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   111
                return new Fault1_2Impl(element, ownerDocument);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   112
            }
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   113
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   114
        }
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   115
        if ("Detail".equalsIgnoreCase(localName)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   116
            if (NameImpl.SOAP11_NAMESPACE.equals(namespaceUri)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   117
                return new Detail1_1Impl(ownerDocument, element);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   118
            } else if (NameImpl.SOAP12_NAMESPACE.equals(namespaceUri)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   119
                return new Detail1_2Impl(ownerDocument, element);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   120
            }
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   121
        }
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   122
        if ("faultcode".equalsIgnoreCase(localName)
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   123
                || "faultstring".equalsIgnoreCase(localName)
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   124
                || "faultactor".equalsIgnoreCase(localName)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   125
            // SOAP 1.2 does not have fault(code/string/actor)
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   126
            // So there is no else case required
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   127
            if (NameImpl.SOAP11_NAMESPACE.equals(namespaceUri)) {
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   128
                return new FaultElement1_1Impl(ownerDocument,
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   129
                        localName,
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   130
                        prefix);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   131
            }
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   132
        }
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   133
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   134
        return new ElementImpl(ownerDocument, element);
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   135
    }
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   136
12009
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   137
    public static SOAPElement createElement(
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   138
        SOAPDocumentImpl ownerDocument,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   139
        String localName,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   140
        String prefix,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   141
        String namespaceUri) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   142
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   143
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   144
        if (ownerDocument == null) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   145
            if (NameImpl.SOAP11_NAMESPACE.equals(namespaceUri)) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   146
                ownerDocument = new SOAPPart1_1Impl().getDocument();
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   147
            } else if (NameImpl.SOAP12_NAMESPACE.equals(namespaceUri)) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   148
                ownerDocument = new SOAPPart1_2Impl().getDocument();
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   149
            } else {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   150
                ownerDocument = new SOAPDocumentImpl(null);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   151
            }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   152
        }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   153
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   154
        SOAPElement newElement =
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   155
            createNamedElement(ownerDocument, localName, prefix, namespaceUri);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   156
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   157
        return newElement != null
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   158
            ? newElement
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   159
            : new ElementImpl(
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   160
                ownerDocument,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   161
                namespaceUri,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   162
                NameImpl.createQName(prefix, localName));
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   163
    }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   164
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   165
    public static SOAPElement createNamedElement(
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   166
        SOAPDocumentImpl ownerDocument,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   167
        String localName,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   168
        String prefix,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   169
        String namespaceUri) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   170
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   171
        if (prefix == null) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   172
            prefix = NameImpl.SOAP_ENVELOPE_PREFIX;
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   173
        }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   174
43852
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   175
        if ("Envelope".equalsIgnoreCase(localName)) {
12009
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   176
            if (NameImpl.SOAP11_NAMESPACE.equals(namespaceUri)) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   177
                return new Envelope1_1Impl(ownerDocument, prefix);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   178
            } else if (NameImpl.SOAP12_NAMESPACE.equals(namespaceUri)) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   179
                return new Envelope1_2Impl(ownerDocument, prefix);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   180
            }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   181
        }
43852
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   182
        if ("Body".equalsIgnoreCase(localName)) {
12009
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   183
            if (NameImpl.SOAP11_NAMESPACE.equals(namespaceUri)) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   184
                return new Body1_1Impl(ownerDocument, prefix);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   185
            } else if (NameImpl.SOAP12_NAMESPACE.equals(namespaceUri)) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   186
                return new Body1_2Impl(ownerDocument, prefix);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   187
            }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   188
        }
43852
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   189
        if ("Header".equalsIgnoreCase(localName)) {
12009
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   190
            if (NameImpl.SOAP11_NAMESPACE.equals(namespaceUri)) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   191
                return new Header1_1Impl(ownerDocument, prefix);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   192
            } else if (NameImpl.SOAP12_NAMESPACE.equals(namespaceUri)) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   193
                return new Header1_2Impl(ownerDocument, prefix);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   194
            }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   195
        }
43852
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   196
        if ("Fault".equalsIgnoreCase(localName)) {
12009
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   197
            SOAPFault fault = null;
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   198
            if (NameImpl.SOAP11_NAMESPACE.equals(namespaceUri)) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   199
                fault = new Fault1_1Impl(ownerDocument, prefix);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   200
            } else if (NameImpl.SOAP12_NAMESPACE.equals(namespaceUri)) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   201
                fault = new Fault1_2Impl(ownerDocument, prefix);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   202
            }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   203
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   204
            if (fault != null) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   205
//                try {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   206
//                    fault.addNamespaceDeclaration(
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   207
//                        NameImpl.SOAP_ENVELOPE_PREFIX,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   208
//                        SOAPConstants.URI_NS_SOAP_ENVELOPE);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   209
//                    fault.setFaultCode(
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   210
//                        NameImpl.create(
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   211
//                            "Server",
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   212
//                            NameImpl.SOAP_ENVELOPE_PREFIX,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   213
//                            SOAPConstants.URI_NS_SOAP_ENVELOPE));
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   214
//                    fault.setFaultString(
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   215
//                        "Fault string, and possibly fault code, not set");
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   216
//                } catch (SOAPException e) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   217
//                }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   218
                return fault;
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   219
            }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   220
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   221
        }
43852
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   222
        if ("Detail".equalsIgnoreCase(localName)) {
12009
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   223
            if (NameImpl.SOAP11_NAMESPACE.equals(namespaceUri)) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   224
                return new Detail1_1Impl(ownerDocument, prefix);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   225
            } else if (NameImpl.SOAP12_NAMESPACE.equals(namespaceUri)) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   226
                return new Detail1_2Impl(ownerDocument, prefix);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   227
            }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   228
        }
43852
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   229
        if ("faultcode".equalsIgnoreCase(localName)
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   230
                || "faultstring".equalsIgnoreCase(localName)
93a527059d8a 8174735: Update JAX-WS RI integration to latest version
aefimov
parents: 28326
diff changeset
   231
                || "faultactor".equalsIgnoreCase(localName)) {
12009
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   232
            // SOAP 1.2 does not have fault(code/string/actor)
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   233
            // So there is no else case required
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   234
            if (NameImpl.SOAP11_NAMESPACE.equals(namespaceUri)) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   235
                return new FaultElement1_1Impl(ownerDocument,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   236
                                               localName,
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   237
                                               prefix);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   238
            }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   239
        }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   240
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   241
        return null;
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   242
    }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   243
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   244
    protected static void invalidCreate(String msg) {
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   245
        throw new TreeException(msg);
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   246
    }
4abb694f273a 7150322: Stop using drop source bundles in jaxws
ohair
parents:
diff changeset
   247
}