-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Brian,

Could you please add a few bullet points next time? (just to get a quick flavor 
of what the checkin is all about).

thanks,
dims

[EMAIL PROTECTED] wrote:
| Author: pradine
| Date: Sun Feb 17 02:32:45 2008
| New Revision: 628471
|
| URL: http://svn.apache.org/viewvc?rev=628471&view=rev
| Log:
| Various JAX-WS 2.1 related improvements.
|
| Added:
|     
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java
   (with props)
|     
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/Axis2EndpointReferenceFactoryImpl.java
|       - copied, changed from r628167,
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactoryImpl.java
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/JAXWSEndpointReferenceFactoryImpl.java
|       - copied, changed from r628167,
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactoryImpl.java
|     
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/EndpointContextMapMigrator.java
  (with props)
|     
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMap.java
(with props)
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMapManager.java
(with props)
| Removed:
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactoryImpl.java
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactoryImpl.java
|     
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointMap.java
|     
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointMapManager.java
| Modified:
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/SubmissionEndpointReferenceBuilder.java
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactory.java
|
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactory.java
|     
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointKey.java
|     
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointReferenceUtils.java
|     
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/ClientConfiguratorRegistry.java
|     
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/FactoryRegistry.java
|     
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java
|     
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/Provider.java
|     
webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java
|
| Added: 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java?rev=628471&view=auto
| ==============================================================================
| --- 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java
 (added)
| +++ 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java
 Sun Feb 17 02:32:45 2008
| @@ -0,0 +1,28 @@
| +/*
| + * Licensed to the Apache Software Foundation (ASF) under one
| + * or more contributor license agreements. See the NOTICE file
| + * distributed with this work for additional information
| + * regarding copyright ownership. The ASF licenses this file
| + * to you under the Apache License, Version 2.0 (the
| + * "License"); you may not use this file except in compliance
| + * with the License. You may obtain a copy of the License at
| + *
| + * http://www.apache.org/licenses/LICENSE-2.0
| + *
| + * Unless required by applicable law or agreed to in writing,
| + * software distributed under the License is distributed on an
| + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
| + * KIND, either express or implied. See the License for the
| + * specific language governing permissions and limitations
| + * under the License.
| + */
| +package org.apache.axis2.jaxws;
| +
| +/**
| + * Constants that apply to the JAX-WS implementation.
| + *
| + */
| +public interface Constants {
| +    public static final String ENDPOINT_CONTEXT_MAP =
| +        "org.apache.axis2.jaxws.addressing.util.EndpointContextMap";
| +}
|
| Propchange: 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/Constants.java
| ------------------------------------------------------------------------------
|     svn:eol-style = native
|
| Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/SubmissionEndpointReferenceBuilder.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/SubmissionEndpointReferenceBuilder.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/SubmissionEndpointReferenceBuilder.java
(original)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/SubmissionEndpointReferenceBuilder.java
Sun Feb 17 02:32:45 2008
| @@ -28,6 +28,11 @@
|  import org.apache.axis2.jaxws.addressing.util.EndpointReferenceUtils;
|  import org.w3c.dom.Element;
|
| +/**
| + * This class can be used to create instances of [EMAIL PROTECTED] 
SubmissionEndpointReference}.
| + *
| + * @see javax.xml.ws.wsaddressing.W3CEndpointReferenceBuilder
| + */
|  public final class SubmissionEndpointReferenceBuilder {
|       private static final Element[] ZERO_LENGTH_ARRAY = new Element[0];
|
| @@ -38,19 +43,45 @@
|      private List<Element> referenceParameters;
|      private QName portType;
|
| +    /**
| +     * Constructor
| +     *
| +     */
|      public SubmissionEndpointReferenceBuilder() {
|      }
|
| +    /**
| +     * Add the address URI to use.
| +     *
| +     * @param address the address URI
| +     * @return an instance of 
<code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder address(String address) {
|          this.address = address;
|          return this;
|      }
|
| +    /**
| +     * Add the WSDL service name of the endpoint that the endpoint reference 
will target.
| +     *
| +     * @param serviceName the WSDL service name
| +     * @return an instance of 
<code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder serviceName(QName serviceName) 
{
|          this.serviceName = serviceName;
|          return this;
|      }
|
| +    /**
| +     * Add the WSDL port name of the endpoint that the endpoint reference 
will target.
| +     * The WSDL port name can only be set after the WSDL service name has 
been set.
| +     *
| +     * @param endpointName the WSDL port name
| +     * @return an instance of 
<code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder endpointName(QName 
endpointName) {
|          //TODO NLS enable
|          if (this.serviceName == null) {
| @@ -61,11 +92,27 @@
|          return this;
|      }
|
| +    /**
| +     * Add the URI from where the WSDL for the endpoint that the endpoint 
reference will
| +     * target can be retrieved.
| +     *
| +     * @param wsdlDocumentLocation the location URI of the WSDL
| +     * @return an instance of 
<code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder wsdlDocumentLocation(String 
wsdlDocumentLocation) {
|          this.wsdlDocumentLocation = wsdlDocumentLocation;
|          return this;
|      }
|
| +    /**
| +     * Add reference properties. These will appear in the endpoint reference 
as reference
| +     * parameters.
| +     *
| +     * @param referenceProperty the reference property
| +     * @return an instance of 
<code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder referenceProperty(Element 
referenceProperty) {
|          //TODO NLS enable
|          if (referenceProperty == null) {
| @@ -80,6 +127,13 @@
|          return this;
|      }
|
| +    /**
| +     * Add reference parameters.
| +     *
| +     * @param referenceParameter the reference parameter
| +     * @return an instance of 
<code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder referenceParameter(Element 
referenceParameter) {
|          //TODO NLS enable
|          if (referenceParameter == null) {
| @@ -94,11 +148,24 @@
|          return this;
|      }
|
| +    /**
| +     * Add the name of the WSDL port type.
| +     *
| +     * @param portType the WSDL port type name
| +     * @return an instance of 
<code>SubmissionEndpointReferenceBuilder</code> that has
| +     * been updated as specified.
| +     */
|      public SubmissionEndpointReferenceBuilder portType(QName portType) {
|          this.portType = portType;
|          return this;
|      }
|
| +    /**
| +     * Construct an instance of <code>EndpointReference</code> based on the 
values
| +     * specified.
| +     *
| +     * @return an instance of <code>SubmissionEndpointReference</code>
| +     */
|      public SubmissionEndpointReference build() {
|       SubmissionEndpointReference submissionEPR = null;
|       
| @@ -108,8 +175,11 @@
|               EndpointReferenceUtils.createAxis2EndpointReference(address, 
serviceName, endpointName,
wsdlDocumentLocation, addressingNamespace);
|       
|          try {
| -             EndpointReferenceUtils.addReferenceParameters(axis2EPR, 
referenceParameters.toArray(ZERO_LENGTH_ARRAY));
| -             EndpointReferenceUtils.addInterface(axis2EPR, portType, 
InterfaceName.subQName);
| +            if (referenceParameters != null)
| +                EndpointReferenceUtils.addReferenceParameters(axis2EPR, 
referenceParameters.toArray(ZERO_LENGTH_ARRAY));
| +             
| +            if (portType != null)
| +                EndpointReferenceUtils.addInterface(axis2EPR, portType, 
InterfaceName.subQName);
|               
|              submissionEPR =
|                  (SubmissionEndpointReference) 
EndpointReferenceUtils.convertFromAxis2(axis2EPR, addressingNamespace);
|
| Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactory.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactory.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactory.java
(original)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactory.java
Sun Feb 17 02:32:45 2008
| @@ -4,10 +4,47 @@
|
|  import org.apache.axis2.addressing.EndpointReference;
|
| +/**
| + * This class represents factories that can be use to create instances of
| + * [EMAIL PROTECTED] EndpointReference} that can ultimately be converted 
into instances
| + * of [EMAIL PROTECTED] javax.xml.ws.EndpointReference} that are suitable to 
be returned
| + * via the appropriate JAX-WS 2.1 API methods.
| + *
| + */
|  public interface Axis2EndpointReferenceFactory {
| +    /**
| +     * Create an instance of <code>EndpointReference</code> with the 
specified address.
| +     *
| +     * @param address the address URI to use. It cannot be null.
| +     * @return an instance of <code>EndpointReference</code>.
| +     */
|      public EndpointReference createEndpointReference(String address);
|
| +    /**
| +     * Create an instance of <code>EndpointReference</code> that targets the 
endpoint
| +     * identified by the specified WSDL service name and endpoint name.
| +     *
| +     * @param serviceName the WSDL service name
| +     * @param endpoint the WSDL port name
| +     * @return an instance of <code>EndpointReference</code> that targets 
the specified
| +     * endpoint
| +     */
|      public EndpointReference createEndpointReference(QName serviceName, 
QName endpoint);
|
| +    /**
| +     * Create an instance of <code>EndpointReference</code>. If the address 
is specified
| +     * then it will be used. If the address is null, but the WSDL service 
name and port
| +     * name are specified then they will be used to target the specified 
endpoint. Either
| +     * the address URI, or the WSDL service name and port name must be 
specified.
| +     *
| +     * @param address the address URI to use, if specified
| +     * @param serviceName the WSDL service name, if specified
| +     * @param portName the WSDL port name, if specified
| +     * @param wsdlDocumentLocation the URI from where the WSDL for the 
endpoint can be
| +     * retrieved, if specified.
| +     * @param addressingNamespace the intended WS-Addressing namespace that the 
<code>
| +     * EndpointRefence</code> should comply with.
| +     * @return an instance of <code>EndpointReference</code>.
| +     */
|      public EndpointReference createEndpointReference(String address, QName 
serviceName, QName portName, String
wsdlDocumentLocation, String addressingNamespace);
|  }
|
| Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactory.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactory.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactory.java
(original)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactory.java
Sun Feb 17 02:32:45 2008
| @@ -22,8 +22,25 @@
|  import javax.xml.transform.Source;
|  import javax.xml.ws.EndpointReference;
|
| +/**
| + * This class represents factories that can be used to generate instances of 
the
| + * [EMAIL PROTECTED] EndpointReference}.
| + */
|  public interface JAXWSEndpointReferenceFactory {
| +    /**
| +     * Create an instance of a supported subclass of 
<code>EndpointReference</code>.
| +     *
| +     * @param eprInfoset the endpoint reference
| +     * @return an instance of <code>EndpointReference</code>.
| +     * @throws JAXBException
| +     */
|      public EndpointReference createEndpointReference(Source eprInfoset) 
throws JAXBException;
|
| +    /**
| +     * Map the specified class to a supported WS-Addressing namespace.
| +     *
| +     * @param clazz the class.
| +     * @return the WS-Addressing namespace that is associated with the class.
| +     */
|      public String getAddressingNamespace(Class clazz);
|  }
|
| Copied:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/Axis2EndpointReferenceFactoryImpl.java
(from r628167,
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactoryImpl.java)
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/Axis2EndpointReferenceFactoryImpl.java?p2=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/Axis2EndpointReferenceFactoryImpl.java&p1=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactoryImpl.java&r1=628167&r2=628471&rev=628471&view=diff
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/Axis2EndpointReferenceFactoryImpl.java
(original)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/Axis2EndpointReferenceFactoryImpl.java
Sun Feb 17 02:32:45 2008
| @@ -16,7 +16,7 @@
|   * specific language governing permissions and limitations
|   * under the License.
|   */
| -package org.apache.axis2.jaxws.addressing.factory;
| +package org.apache.axis2.jaxws.addressing.factory.impl;
|
|  import java.net.URL;
|
| @@ -27,32 +27,49 @@
|  import org.apache.axis2.addressing.metadata.ServiceName;
|  import org.apache.axis2.addressing.metadata.WSDLLocation;
|  import org.apache.axis2.jaxws.ExceptionFactory;
| +import 
org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactory;
|  import org.apache.axis2.jaxws.addressing.util.EndpointKey;
| -import org.apache.axis2.jaxws.addressing.util.EndpointMap;
| -import org.apache.axis2.jaxws.addressing.util.EndpointMapManager;
| +import org.apache.axis2.jaxws.addressing.util.EndpointContextMap;
| +import org.apache.axis2.jaxws.addressing.util.EndpointContextMapManager;
|  import org.apache.axis2.jaxws.util.WSDL4JWrapper;
|  import org.apache.axis2.jaxws.util.WSDLWrapper;
|
| +/**
| + * This class produces instances of [EMAIL PROTECTED] EndpointReference}.
| + *
| + */
|  public class Axis2EndpointReferenceFactoryImpl implements 
Axis2EndpointReferenceFactory {
|      public Axis2EndpointReferenceFactoryImpl() {
|       super();
|      }
|
| +    /*
| +     *  (non-Javadoc)
| +     * @see
org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactory#createEndpointReference(java.lang.String)
| +     */
|      public EndpointReference createEndpointReference(String address) {
|          if (address == null)
|              throw new IllegalStateException("The endpoint address URI is 
null.");
|
|          return new EndpointReference(address);
|      }
| -
| +
| +    /*
| +     *  (non-Javadoc)
| +     * @see
org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactory#createEndpointReference(javax.xml.namespace.QName,
javax.xml.namespace.QName)
| +     */
|      public EndpointReference createEndpointReference(QName serviceName, 
QName endpoint) {
|          EndpointKey key = new EndpointKey(serviceName, endpoint);
| -        EndpointMap map = EndpointMapManager.getEndpointMap();
| -        String address = map.get(key);
| +        EndpointContextMap map = 
EndpointContextMapManager.getEndpointContextMap();
| +        String address = (String) map.get(key);
|
|          return createEndpointReference(address);
|      }
| -
| +
| +    /*
| +     *  (non-Javadoc)
| +     * @see
org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactory#createEndpointReference(java.lang.String,
javax.xml.namespace.QName, javax.xml.namespace.QName, java.lang.String, 
java.lang.String)
| +     */
|      public EndpointReference createEndpointReference(String address, QName 
serviceName, QName portName, String
wsdlDocumentLocation, String addressingNamespace) {
|          EndpointReference axis2EPR = null;
|
| @@ -71,10 +88,13 @@
|              throw new IllegalStateException("Cannot create an endpoint 
reference because the address, service name,
and/or port name are null.");
|          }
|
| +        //TODO If no service name and port name are specified, but the wsdl 
location is
| +        //specified, and the WSDL only contains one service and one port 
then maybe we
| +        //should simply use those.
|          try {
| -            //TODO If no service name and port name are specified, but the 
wsdl location is
| -            //specified, and the WSDL only contains one service and one port 
then maybe we
| -            //should simply use those.
| +            //This code is locate here instead of in the 
createEndpointReference(QName, QName)
| +            //method so that if the address is also specified the EPR 
metadata will still be
| +            //filled in correctly.
|              if (serviceName != null && portName != null) {
|                  ServiceName service = new ServiceName(serviceName, 
portName.getLocalPart());
|                  EndpointReferenceHelper.setServiceNameMetadata(axis2EPR, 
addressingNamespace, service);
| @@ -103,7 +123,7 @@
|                                       }
|                               }
|                               
| -                             //TODO NLS
| +                             //TODO NLS enable
|                               if (!found)
|                                       throw new IllegalStateException("The 
specified port name does not exist in the specified WSDL
service.");
|                       }
|
| Copied:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/JAXWSEndpointReferenceFactoryImpl.java
(from r628167,
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactoryImpl.java)
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/JAXWSEndpointReferenceFactoryImpl.java?p2=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/JAXWSEndpointReferenceFactoryImpl.java&p1=webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactoryImpl.java&r1=628167&r2=628471&rev=628471&view=diff
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/JAXWSEndpointReferenceFactoryImpl.java
(original)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/factory/impl/JAXWSEndpointReferenceFactoryImpl.java
Sun Feb 17 02:32:45 2008
| @@ -16,7 +16,7 @@
|   * specific language governing permissions and limitations
|   * under the License.
|   */
| -package org.apache.axis2.jaxws.addressing.factory;
| +package org.apache.axis2.jaxws.addressing.factory.impl;
|
|  import javax.xml.bind.JAXBContext;
|  import javax.xml.bind.JAXBException;
| @@ -30,10 +30,21 @@
|  import org.apache.axis2.addressing.AddressingConstants.Submission;
|  import org.apache.axis2.jaxws.ExceptionFactory;
|  import org.apache.axis2.jaxws.addressing.SubmissionEndpointReference;
| +import 
org.apache.axis2.jaxws.addressing.factory.JAXWSEndpointReferenceFactory;
|
| +/**
| + * This class is used to generate instances of the following subclasses of
| + * [EMAIL PROTECTED] EndpointReference}.
| + *
| + * @see javax.xml.ws.wsaddressing.W3CEndpointReference
| + * @see org.apache.axis2.jaxws.addressing.SubmissionEndpointReference
| + */
|  public class JAXWSEndpointReferenceFactoryImpl implements 
JAXWSEndpointReferenceFactory {
|      private JAXBContext jaxbContext;
|
| +    /**
| +     * Constructor
| +     */
|      public JAXWSEndpointReferenceFactoryImpl() {
|          super();
|
| @@ -47,12 +58,19 @@
|          }
|      }
|
| +    /*
| +     *  (non-Javadoc)
| +     * @see
org.apache.axis2.jaxws.addressing.factory.JAXWSEndpointReferenceFactory#createEndpointReference(javax.xml.transform.Source)
| +     */
|      public EndpointReference createEndpointReference(Source eprInfoset) 
throws JAXBException {
|          Unmarshaller um = jaxbContext.createUnmarshaller();
| -
|          return (EndpointReference) um.unmarshal(eprInfoset);
|      }
|
| +    /*
| +     *  (non-Javadoc)
| +     * @see
org.apache.axis2.jaxws.addressing.factory.JAXWSEndpointReferenceFactory#getAddressingNamespace(java.lang.Class)
| +     */
|      public String getAddressingNamespace(Class clazz) {
|          String addressingNamespace = null;
|
|
| Added:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/EndpointContextMapMigrator.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/EndpointContextMapMigrator.java?rev=628471&view=auto
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/EndpointContextMapMigrator.java
(added)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/EndpointContextMapMigrator.java
Sun Feb 17 02:32:45 2008
| @@ -0,0 +1,118 @@
| +/*
| + * Licensed to the Apache Software Foundation (ASF) under one
| + * or more contributor license agreements. See the NOTICE file
| + * distributed with this work for additional information
| + * regarding copyright ownership. The ASF licenses this file
| + * to you under the Apache License, Version 2.0 (the
| + * "License"); you may not use this file except in compliance
| + * with the License. You may obtain a copy of the License at
| + *
| + * http://www.apache.org/licenses/LICENSE-2.0
| + *
| + * Unless required by applicable law or agreed to in writing,
| + * software distributed under the License is distributed on an
| + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
| + * KIND, either express or implied. See the License for the
| + * specific language governing permissions and limitations
| + * under the License.
| + */
| +package org.apache.axis2.jaxws.addressing.migrator;
| +
| +import org.apache.axis2.AxisFault;
| +import org.apache.axis2.context.MessageContext;
| +import org.apache.axis2.description.AxisOperation;
| +import org.apache.axis2.description.Parameter;
| +import org.apache.axis2.engine.AxisConfiguration;
| +import org.apache.axis2.jaxws.Constants;
| +import org.apache.axis2.jaxws.ExceptionFactory;
| +import org.apache.axis2.jaxws.addressing.util.EndpointContextMap;
| +import org.apache.axis2.jaxws.addressing.util.EndpointContextMapManager;
| +import org.apache.axis2.util.ThreadContextMigrator;
| +import org.apache.axis2.util.Utils;
| +import org.apache.axis2.wsdl.WSDLConstants;
| +
| +/**
| + * This class will enable the JAX-WS 2.1 API methods to create instances of
| + * [EMAIL PROTECTED] javax.xml.ws.EndpointReference} that target a 
particular web service
| + * endpoint, identified by specifying the WSDL service name and port name of 
the
| + * endpoint, to work correctly. This is achieved by enabling the 
implementation of
| + * [EMAIL PROTECTED] 
org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactory}
| + * to retrieve the context it needs from the invoking thread. The instances 
of
| + * [EMAIL PROTECTED] org.apache.axis2.addressing.EndpointReference} that it 
produces can
| + * then converted to instances of [EMAIL PROTECTED] 
javax.xml.ws.EndpointReference}, as
| + * needed.
| + *
| + */
| +public class EndpointContextMapMigrator implements ThreadContextMigrator {
| +
| +    /* (non-Javadoc)
| +     * @see 
org.apache.axis2.util.ThreadContextMigrator#migrateContextToThread(org.apache.axis2.context.MessageContext)
| +     */
| +    public void migrateContextToThread(MessageContext messageContext)
| +            throws AxisFault {
| +        //Only make the context map available if we have an inbound request
| +        //message, in the server.
| +        AxisOperation axisOperation = messageContext.getAxisOperation();
| +        String mep = axisOperation.getMessageExchangePattern();
| +        int mepConstant = Utils.getAxisSpecifMEPConstant(mep);
| +
| +        if (mepConstant == WSDLConstants.MEP_CONSTANT_IN_ONLY ||
| +            mepConstant == WSDLConstants.MEP_CONSTANT_IN_OUT ||
| +            mepConstant == WSDLConstants.MEP_CONSTANT_IN_OPTIONAL_OUT ||
| +            mepConstant == WSDLConstants.MEP_CONSTANT_ROBUST_IN_ONLY)
| +        {
| +            AxisConfiguration axisConfig = 
axisOperation.getAxisConfiguration();
| +            Parameter param = 
axisConfig.getParameter(Constants.ENDPOINT_CONTEXT_MAP);
| +
| +            if (param != null) {
| +                EndpointContextMap map = (EndpointContextMap) 
param.getValue();
| +
| +                if (map != null) {
| +                    EndpointContextMapManager.setEndpointContextMap(map);
| +                }
| +                else {
| +                    //TODO NLS enable.
| +                    throw ExceptionFactory.makeWebServiceException("The endpoint 
context map is null.");
| +                }
| +            }
| +            else {
| +                //TODO NLS enable.
| +                throw ExceptionFactory.makeWebServiceException("Unable to locate 
endpoint context map.");
| +            }
| +        }
| +    }
| +
| +    /* (non-Javadoc)
| +     * @see 
org.apache.axis2.util.ThreadContextMigrator#cleanupThread(org.apache.axis2.context.MessageContext)
| +     */
| +    public void cleanupThread(MessageContext messageContext) {
| +        //Only clean up if we are inbound to the server.
| +        AxisOperation axisOperation = messageContext.getAxisOperation();
| +        String mep = axisOperation.getMessageExchangePattern();
| +        int mepConstant = Utils.getAxisSpecifMEPConstant(mep);
| +
| +        if (mepConstant == WSDLConstants.MEP_CONSTANT_IN_ONLY ||
| +            mepConstant == WSDLConstants.MEP_CONSTANT_IN_OUT ||
| +            mepConstant == WSDLConstants.MEP_CONSTANT_IN_OPTIONAL_OUT ||
| +            mepConstant == WSDLConstants.MEP_CONSTANT_ROBUST_IN_ONLY)
| +        {
| +            EndpointContextMapManager.setEndpointContextMap(null);
| +        }
| +    }
| +
| +    /* (non-Javadoc)
| +     * @see 
org.apache.axis2.util.ThreadContextMigrator#migrateThreadToContext(org.apache.axis2.context.MessageContext)
| +     */
| +    public void migrateThreadToContext(MessageContext messageContext)
| +            throws AxisFault {
| +        //Nothing to do.
| +    }
| +
| +    /* (non-Javadoc)
| +     * @see 
org.apache.axis2.util.ThreadContextMigrator#cleanupContext(org.apache.axis2.context.MessageContext)
| +     */
| +    public void cleanupContext(MessageContext messageContext) {
| +        //Nothing to do.
| +    }
| +
| +}
|
| Propchange:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/migrator/EndpointContextMapMigrator.java
| ------------------------------------------------------------------------------
|     svn:eol-style = native
|
| Added: 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMap.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMap.java?rev=628471&view=auto
| ==============================================================================
| --- 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMap.java
 (added)
| +++ 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMap.java
 Sun
Feb 17 02:32:45 2008
| @@ -0,0 +1,38 @@
| +/*
| + * Licensed to the Apache Software Foundation (ASF) under one
| + * or more contributor license agreements.  See the NOTICE file
| + * distributed with this work for additional information
| + * regarding copyright ownership.  The ASF licenses this file
| + * to you under the Apache License, Version 2.0 (the
| + * "License"); you may not use this file except in compliance
| + * with the License.  You may obtain a copy of the License at
| + *
| + *      http://www.apache.org/licenses/LICENSE-2.0
| + *
| + * Unless required by applicable law or agreed to in writing,
| + * software distributed under the License is distributed on an
| + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
| + * KIND, either express or implied.  See the License for the
| + * specific language governing permissions and limitations
| + * under the License.
| + */
| +package org.apache.axis2.jaxws.addressing.util;
| +
| +import java.util.concurrent.ConcurrentHashMap;
| +
| +import org.apache.axis2.jaxws.addressing.util.EndpointKey;
| +
| +/**
| + * This class stores the context needed to correctly produce instances of
| + * [EMAIL PROTECTED] javax.xml.ws.EndpointReference} for a particular web 
service endpoint
| + * identified by an [EMAIL PROTECTED] EndpointKey}.
| + *
| + */
| +public class EndpointContextMap extends ConcurrentHashMap<EndpointKey, 
Object> {
| +
| +    private static final long serialVersionUID = 694539734825500599L;
| +
| +    public EndpointContextMap() {
| +        super();
| +    }
| +}
|
| Propchange: 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMap.java
| ------------------------------------------------------------------------------
|     svn:eol-style = native
|
| Added:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMapManager.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMapManager.java?rev=628471&view=auto
| ==============================================================================
| ---
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMapManager.java
 (added)
| +++
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMapManager.java
 Sun
Feb 17 02:32:45 2008
| @@ -0,0 +1,50 @@
| +/*
| + * Licensed to the Apache Software Foundation (ASF) under one
| + * or more contributor license agreements.  See the NOTICE file
| + * distributed with this work for additional information
| + * regarding copyright ownership.  The ASF licenses this file
| + * to you under the Apache License, Version 2.0 (the
| + * "License"); you may not use this file except in compliance
| + * with the License.  You may obtain a copy of the License at
| + *
| + *      http://www.apache.org/licenses/LICENSE-2.0
| + *
| + * Unless required by applicable law or agreed to in writing,
| + * software distributed under the License is distributed on an
| + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
| + * KIND, either express or implied.  See the License for the
| + * specific language governing permissions and limitations
| + * under the License.
| + */
| +package org.apache.axis2.jaxws.addressing.util;
| +
| +/**
| + * This class is used to manage the association between an [EMAIL PROTECTED] 
EndpointContextMap}
| + * and a thread.
| + */
| +public class EndpointContextMapManager {
| +    private static ThreadLocal<EndpointContextMap> variable =
| +        new InheritableThreadLocal<EndpointContextMap>();
| +
| +    public static EndpointContextMap 
setEndpointContextMap(EndpointContextMap newMap) {
| +        EndpointContextMap oldMap = variable.get();
| +        variable.set(newMap);
| +
| +        return oldMap;
| +    }
| +
| +    public static EndpointContextMap getEndpointContextMap() {
| +        EndpointContextMap currentMap = variable.get();
| +
| +        if (currentMap == null) {
| +            currentMap = getDefaultEndpointMap();
| +            setEndpointContextMap(currentMap);
| +        }
| +
| +        return currentMap;
| +    }
| +
| +    private static EndpointContextMap getDefaultEndpointMap() {
| +        return new EndpointContextMap();
| +    }
| +}
|
| Propchange:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointContextMapManager.java
| ------------------------------------------------------------------------------
|     svn:eol-style = native
|
| Modified: 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointKey.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointKey.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointKey.java
 (original)
| +++ 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointKey.java
 Sun Feb 17
02:32:45 2008
| @@ -20,6 +20,11 @@
|
|  import javax.xml.namespace.QName;
|
| +/**
| + * This class is used to identify a particular web service endpoint based on
| + * the combination of WSDL service name and port name.
| + *
| + */
|  public class EndpointKey {
|      private final QName service;
|      private final QName endpoint;
|
| Modified:
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointReferenceUtils.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointReferenceUtils.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointReferenceUtils.java
(original)
| +++ 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/addressing/util/EndpointReferenceUtils.java
Sun Feb 17 02:32:45 2008
| @@ -41,10 +41,6 @@
|  public final class EndpointReferenceUtils {
|
|      private static OMFactory omFactory = OMAbstractFactory.getOMFactory();
| -    private static JAXWSEndpointReferenceFactory jaxwsEPRFactory =
| -        (JAXWSEndpointReferenceFactory) 
FactoryRegistry.getFactory(JAXWSEndpointReferenceFactory.class);
| -    private static Axis2EndpointReferenceFactory axis2EPRFactory =
| -     (Axis2EndpointReferenceFactory) 
FactoryRegistry.getFactory(Axis2EndpointReferenceFactory.class);
|
|      private EndpointReferenceUtils() {
|      }
| @@ -66,8 +62,10 @@
|              EndpointReferenceHelper.toOM(omFactory, axis2EPR, qname, 
addressingNamespace);
|          Element eprElement = XMLUtils.toDOM(omElement);
|          Source eprInfoset = new DOMSource(eprElement);
| +        JAXWSEndpointReferenceFactory factory = 
(JAXWSEndpointReferenceFactory)
| +            FactoryRegistry.getFactory(JAXWSEndpointReferenceFactory.class);
|
| -        return jaxwsEPRFactory.createEndpointReference(eprInfoset);
| +        return factory.createEndpointReference(eprInfoset);
|      }
|
|      /**
| @@ -82,7 +80,10 @@
|       */
|      public static javax.xml.ws.EndpointReference convertFromSource(Source 
eprInfoset)
|      throws Exception {
| -        return jaxwsEPRFactory.createEndpointReference(eprInfoset);
| +        JAXWSEndpointReferenceFactory factory = 
(JAXWSEndpointReferenceFactory)
| +            FactoryRegistry.getFactory(JAXWSEndpointReferenceFactory.class);
| +
| +        return factory.createEndpointReference(eprInfoset);
|      }
|
|      /**
| @@ -105,15 +106,24 @@
|      }
|
|      public static String getAddressingNamespace(Class clazz) {
| -        return jaxwsEPRFactory.getAddressingNamespace(clazz);
| +        JAXWSEndpointReferenceFactory factory = 
(JAXWSEndpointReferenceFactory)
| +            FactoryRegistry.getFactory(JAXWSEndpointReferenceFactory.class);
| +
| +        return factory.getAddressingNamespace(clazz);
|      }
|
|      public static EndpointReference createAxis2EndpointReference(String 
address, QName serviceName, QName portName,
String wsdlDocumentLocation, String addressingNamespace) {
| -     return axis2EPRFactory.createEndpointReference(address, serviceName, 
portName, wsdlDocumentLocation,
addressingNamespace);
| +        Axis2EndpointReferenceFactory factory = 
(Axis2EndpointReferenceFactory)
| +            FactoryRegistry.getFactory(Axis2EndpointReferenceFactory.class);
| +
| +        return factory.createEndpointReference(address, serviceName, 
portName, wsdlDocumentLocation,
addressingNamespace);
|      }
|
|      public static EndpointReference createAxis2EndpointReference(String 
address) {
| -     return axis2EPRFactory.createEndpointReference(address);
| +        Axis2EndpointReferenceFactory factory = 
(Axis2EndpointReferenceFactory)
| +            FactoryRegistry.getFactory(Axis2EndpointReferenceFactory.class);
| +
| +     return factory.createEndpointReference(address);
|      }
|
|      public static void addReferenceParameters(EndpointReference axis2EPR, 
Element...referenceParameters)
| @@ -140,8 +150,7 @@
|      throws Exception {
|       if (portType != null) {
|               InterfaceName interfaceName = new InterfaceName(portType);
| -            OMFactory factory = OMAbstractFactory.getOMFactory();
| -             OMElement omElement = interfaceName.toOM(interfaceType, 
factory);
| +             OMElement omElement = interfaceName.toOM(interfaceType, 
omFactory);
|               axis2EPR.addExtensibleElement(omElement);
|       }
|      }
|
| Modified: 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/ClientConfiguratorRegistry.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/ClientConfiguratorRegistry.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/ClientConfiguratorRegistry.java
(original)
| +++ 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/ClientConfiguratorRegistry.java
 Sun
Feb 17 02:32:45 2008
| @@ -18,9 +18,9 @@
|   */
|  package org.apache.axis2.jaxws.registry;
|
| -import java.util.HashMap;
|  import java.util.Map;
|  import java.util.Set;
| +import java.util.concurrent.ConcurrentHashMap;
|
|  import javax.xml.ws.RespectBindingFeature;
|  import javax.xml.ws.soap.AddressingFeature;
| @@ -34,7 +34,7 @@
|
|  public class ClientConfiguratorRegistry {
|      private static Map<String, ClientConfigurator> map =
| -        new HashMap<String, ClientConfigurator>();
| +        new ConcurrentHashMap<String, ClientConfigurator>();
|
|      static {
|          map.put(AddressingFeature.ID, new AddressingConfigurator());
|
| Modified: 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/FactoryRegistry.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/FactoryRegistry.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/FactoryRegistry.java
 (original)
| +++ 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/registry/FactoryRegistry.java
 Sun Feb 17
02:32:45 2008
| @@ -20,9 +20,9 @@
|  package org.apache.axis2.jaxws.registry;
|
|  import 
org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactory;
| -import 
org.apache.axis2.jaxws.addressing.factory.Axis2EndpointReferenceFactoryImpl;
|  import 
org.apache.axis2.jaxws.addressing.factory.JAXWSEndpointReferenceFactory;
| -import 
org.apache.axis2.jaxws.addressing.factory.JAXWSEndpointReferenceFactoryImpl;
| +import 
org.apache.axis2.jaxws.addressing.factory.impl.Axis2EndpointReferenceFactoryImpl;
| +import 
org.apache.axis2.jaxws.addressing.factory.impl.JAXWSEndpointReferenceFactoryImpl;
|  import org.apache.axis2.jaxws.core.controller.InvocationControllerFactory;
|  import 
org.apache.axis2.jaxws.core.controller.impl.InvocationControllerFactoryImpl;
|  import org.apache.axis2.jaxws.handler.factory.HandlerInvokerFactory;
|
| Modified: 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java
 (original)
| +++ 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/server/EndpointController.java
 Sun Feb 17
02:32:45 2008
| @@ -26,8 +26,8 @@
|  import org.apache.axis2.java.security.AccessController;
|  import org.apache.axis2.jaxws.ExceptionFactory;
|  import org.apache.axis2.jaxws.addressing.util.EndpointKey;
| -import org.apache.axis2.jaxws.addressing.util.EndpointMap;
| -import org.apache.axis2.jaxws.addressing.util.EndpointMapManager;
| +import org.apache.axis2.jaxws.addressing.util.EndpointContextMap;
| +import org.apache.axis2.jaxws.addressing.util.EndpointContextMapManager;
|  import org.apache.axis2.jaxws.core.MessageContext;
|  import org.apache.axis2.jaxws.core.util.MessageContextUtils;
|  import org.apache.axis2.jaxws.description.DescriptionFactory;
| @@ -405,10 +405,10 @@
|              Parameter param = 
axisSvc.getParameter(EndpointDescription.AXIS_SERVICE_PARAMETER);
|
|              EndpointDescription ed = (EndpointDescription)param.getValue();
| -            param = 
axisSvc.getParameter(EndpointMap.class.getCanonicalName());
| +            param = 
axisSvc.getParameter(EndpointContextMap.class.getCanonicalName());
|              if(param != null) {
| -                EndpointMap map = (EndpointMap) param.getValue();
| -                EndpointMapManager.setEndpointMap(map);
| +                EndpointContextMap map = (EndpointContextMap) 
param.getValue();
| +                EndpointContextMapManager.setEndpointContextMap(map);
|              }
|
|              return ed;
| @@ -436,16 +436,16 @@
|                  QName endpoint = ed.getPortQName();
|                  EndpointKey key = new EndpointKey(service, endpoint);
|                  axisSvc = ed.getAxisService();
| -                Parameter param = 
axisSvc.getParameter(EndpointMap.class.getCanonicalName());
| -                EndpointMap map = null;
| +                Parameter param = 
axisSvc.getParameter(EndpointContextMap.class.getCanonicalName());
| +                EndpointContextMap map = null;
|
|                  if (param == null) {
| -                    map = EndpointMapManager.getEndpointMap();
| -                    
axisSvc.addParameter(EndpointMap.class.getCanonicalName(), map);
| +                    map = EndpointContextMapManager.getEndpointContextMap();
| +                    
axisSvc.addParameter(EndpointContextMap.class.getCanonicalName(), map);
|                  }
|                  else {
| -                    map = (EndpointMap) param.getValue();
| -                    EndpointMapManager.setEndpointMap(map);
| +                    map = (EndpointContextMap) param.getValue();
| +                    EndpointContextMapManager.setEndpointContextMap(map);
|                  }
|
|                  map.put(key, axisSvc.getEPRs()[0]);
|
| Modified: 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/Provider.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/Provider.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/Provider.java
 (original)
| +++ 
webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/spi/Provider.java
 Sun Feb 17 02:32:45 2008
| @@ -74,8 +74,11 @@
|          W3CEndpointReference w3cEPR = null;
|
|          try {
| -             EndpointReferenceUtils.addMetadata(axis2EPR, 
metadata.toArray(ZERO_LENGTH_ARRAY));
| -             EndpointReferenceUtils.addReferenceParameters(axis2EPR, 
referenceParameters.toArray(ZERO_LENGTH_ARRAY));
| +            if (metadata != null)
| +                EndpointReferenceUtils.addMetadata(axis2EPR, 
metadata.toArray(ZERO_LENGTH_ARRAY));
| +             
| +            if (referenceParameters != null)
| +                EndpointReferenceUtils.addReferenceParameters(axis2EPR, 
referenceParameters.toArray(ZERO_LENGTH_ARRAY));
|               
|              w3cEPR =
|                  (W3CEndpointReference) 
EndpointReferenceUtils.convertFromAxis2(axis2EPR, addressingNamespace);
|
| Modified: 
webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java
| URL:
http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java?rev=628471&r1=628470&r2=628471&view=diff
| ==============================================================================
| --- 
webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java
 (original)
| +++ 
webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/feature/ServerFramework.java
 Sun Feb 17
02:32:45 2008
| @@ -25,7 +25,6 @@
|
|  import java.lang.annotation.Annotation;
|  import java.util.HashMap;
| -import java.util.IdentityHashMap;
|  import java.util.Map;
|
|  public class ServerFramework {
| @@ -48,8 +47,7 @@
|          if (annotation == null)
|              return false;
|
| -        WebServiceFeatureAnnotation wsfAnnotation =
| -             
annotation.annotationType().getAnnotation(WebServiceFeatureAnnotation.class);
| +        WebServiceFeatureAnnotation wsfAnnotation = 
getWebServiceFeatureAnnotation(annotation);
|
|          String id = null;
|          if (wsfAnnotation != null)
| @@ -63,8 +61,7 @@
|          if (!isValid(annotation))
|              throw ExceptionFactory.makeWebServiceException("Invalid or 
unsupported WebServiceFeature annotation, " +
annotation);
|
| -        WebServiceFeatureAnnotation wsfAnnotation =
| -             
annotation.annotationType().getAnnotation(WebServiceFeatureAnnotation.class);
| +        WebServiceFeatureAnnotation wsfAnnotation = 
getWebServiceFeatureAnnotation(annotation);
|
|          annotationMap.put(wsfAnnotation.id(), annotation);
|      }
| @@ -79,11 +76,13 @@
|
|      public void configure(EndpointDescription endpointDescription) {
|          for (Annotation annotation : getAllAnnotations()) {
| -            WebServiceFeatureAnnotation wsfAnnotation =
| -             
annotation.annotationType().getAnnotation(WebServiceFeatureAnnotation.class);
| -
| +            WebServiceFeatureAnnotation wsfAnnotation = 
getWebServiceFeatureAnnotation(annotation);
|              ServerConfigurator configurator = 
configuratorMap.get(wsfAnnotation.id());
|              configurator.configure(endpointDescription);
|          }
| +    }
| +
| +    private WebServiceFeatureAnnotation 
getWebServiceFeatureAnnotation(Annotation annotation) {
| +        return 
annotation.annotationType().getAnnotation(WebServiceFeatureAnnotation.class);
|      }
|  }
|
|
|
| ---------------------------------------------------------------------
| To unsubscribe, e-mail: [EMAIL PROTECTED]
| For additional commands, e-mail: [EMAIL PROTECTED]
|
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Cygwin)

iD4DBQFHuEVIgNg6eWEDv1kRAvawAKCr+EAcb8/oAJphCNXYXYAFbv6EoQCYo9ZQ
PHxd22BtrHJQ3cVm+V86mw==
=gcVU
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to