You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsrf-commits@ws.apache.org by ip...@apache.org on 2005/07/27 01:14:12 UTC

svn commit: r225415 - in /webservices/wsrf/trunk/src: java/org/apache/ws/resource/ java/org/apache/ws/resource/faults/ java/org/apache/ws/resource/handler/ java/org/apache/ws/resource/i18n/ java/org/apache/ws/resource/impl/ java/org/apache/ws/resource/...

Author: ips
Date: Tue Jul 26 16:13:54 2005
New Revision: 225415

URL: http://svn.apache.org/viewcvs?rev=225415&view=rev
Log:
implemented TODO(s)

Modified:
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/ResourceContext.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/faults/AbstractBaseFaultException.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/AbstractSoapMethodNameMap.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/DefaultMethodMap.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ServiceSoapMethodNameMap.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/WsddSoapMethodNameMap.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/i18n/Keys.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceContext.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/ResourceNotDestroyedException.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/ResourceNotDestroyedFaultException.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/TerminationTimeChangeRejectedFaultException.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/UnableToSetTerminationTimeFaultException.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/MetadataExchangeConstants.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/ResourcePropertySet.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/ResourcePropertySetMetaData.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/impl/AbstractSetResourcePropertiesPortType.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/impl/XmlBeansResourcePropertySet.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/query/impl/QueryEngineImpl.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/v2004_06/porttype/impl/QueryResourcePropertiesPortTypeImpl.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/v2004_11/porttype/impl/QueryResourcePropertiesPortTypeImpl.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/GetMultipleResourcePropertiesPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/GetResourcePropertyPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/ImmediateResourceTerminationPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/QueryResourcePropertiesPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/ScheduledResourceTerminationPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/SetResourcePropertiesPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_09/MetadataExchangePortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/DeleteResourcePropertiesPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetMultipleResourcePropertiesPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetResourcePropertyDocumentPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetResourcePropertyPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/ImmediateResourceTerminationPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/InsertResourcePropertiesPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/QueryResourcePropertiesPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/ScheduledResourceTerminationPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/SetResourcePropertiesPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/UpdateResourcePropertiesPortType2JavaInfo.java
    webservices/wsrf/trunk/src/java/org/apache/ws/util/OperationInfo.java
    webservices/wsrf/trunk/src/test/org/apache/ws/resource/properties/SushiResourceContext.java

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/ResourceContext.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/ResourceContext.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/ResourceContext.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/ResourceContext.java Tue Jul 26 16:13:54 2005
@@ -18,6 +18,7 @@
 import javax.xml.rpc.handler.soap.SOAPMessageContext;
 import javax.xml.soap.SOAPMessage;
 import java.net.URL;
+import java.net.URI;
 import java.util.Iterator;
 
 /**
@@ -101,10 +102,18 @@
     void removeProperty( String name );
 
     /**
-     * Returns the value of the WS-Addressing Action header element.
+     * Returns the value of the request's wsa:Action header element.
      *
-     * @return value of the WS-Addressing Action header element
+     * @return the value of the request's wsa:Action header element
      */
-    String getAddressingAction();
+    String getRequestAction();
+
+    /**
+     * Sets the value that should be used for the response's wsa:Action header element.
+     *
+     * @param action the value that should be used for the response's wsa:Action header element;
+     *        if null, a default value will be generated by the resource invocation framework
+     */
+    void setResponseAction( URI action );
 
 }

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/faults/AbstractBaseFaultException.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/faults/AbstractBaseFaultException.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/faults/AbstractBaseFaultException.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/faults/AbstractBaseFaultException.java Tue Jul 26 16:13:54 2005
@@ -15,9 +15,9 @@
  *=============================================================================*/
 package org.apache.ws.resource.faults;
 
-import org.apache.axis.message.addressing.EndpointReferenceType;
 import org.apache.commons.lang.builder.ToStringBuilder;
 import org.apache.ws.Soap1_1Constants;
+import org.apache.ws.addressing.EndpointReference;
 import org.apache.ws.resource.i18n.Keys;
 import org.apache.ws.resource.i18n.MessagesImpl;
 import org.apache.ws.resource.impl.UnsupportedVersionException;
@@ -46,7 +46,7 @@
     private static final QName DEFAULT_FAULT_CODE = Soap1_1Constants.FAULT_CLIENT;
 
     private Calendar m_timestamp;
-    private EndpointReferenceType m_originator; // TODO: use our EPR facade instead of the Apache Addressing type
+    private EndpointReference m_originator;
     private ErrorCode m_errorCode;
     private Description[] m_description;
     private AbstractBaseFaultException[] m_faultCause;
@@ -130,7 +130,7 @@
      *
      * @param originator DOCUMENT_ME
      */
-    public void setOriginator( EndpointReferenceType originator )
+    public void setOriginator( EndpointReference originator )
     {
         m_originator = originator;
     }
@@ -140,7 +140,7 @@
      *
      * @return DOCUMENT_ME
      */
-    public EndpointReferenceType getOriginator()
+    public EndpointReference getOriginator()
     {
         return m_originator;
     }
@@ -209,18 +209,22 @@
     {
         try
         {
-            String docFactoryClassName = XmlBeanNameUtils.getDocumentElementXmlBeanFactoryClassName( getBaseFaultName() );
+            String docFactoryClassName = XmlBeanNameUtils.getDocumentElementXmlBeanFactoryClassName(
+                    getBaseFaultName() );
             Class docFactoryClass = Class.forName( docFactoryClassName );
             Method newInstanceMethod = docFactoryClass.getMethod( "newInstance", new Class[0] );
             XmlObject docXBean = (XmlObject) newInstanceMethod.invoke( null, new Object[0] );
             Class docXBeanClass = docXBean.getClass();
-            Method addNewMethod = docXBeanClass.getMethod( "addNew" + XmlBeanNameUtils.getElementXmlBeanUnqualifiedClassName( getBaseFaultName() ), new Class[0] );
+            Method addNewMethod = docXBeanClass.getMethod(
+                    "addNew" + XmlBeanNameUtils.getElementXmlBeanUnqualifiedClassName( getBaseFaultName() ),
+                    new Class[0] );
             XmlObject xBean = (XmlObject) addNewMethod.invoke( docXBean, new Object[0] );
             return xBean;
         }
         catch ( Exception e )
         {
-            throw new RuntimeException( "Failed to create strongly-typed XmlBean for global element with name " + getBaseFaultName(), e );
+            throw new RuntimeException(
+                    "Failed to create strongly-typed XmlBean for global element with name " + getBaseFaultName(), e );
         }
     }
 
@@ -261,7 +265,7 @@
             }
             if ( m_originator != null )
             {
-                // TODO
+                // TODO - low priority
             }
         }
         else if ( m_namespaceSet instanceof org.apache.ws.resource.properties.v2004_06.impl.NamespaceVersionHolderImpl )
@@ -299,11 +303,13 @@
             }
             if ( m_originator != null )
             {
-                // TODO
+                // TODO - low priority
             }
         }
-
-        else throw new UnsupportedVersionException(m_namespaceSet);
+        else
+        {
+            throw new UnsupportedVersionException( m_namespaceSet );
+        }
     }
 
     private void updateDetail()

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/AbstractSoapMethodNameMap.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/AbstractSoapMethodNameMap.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/AbstractSoapMethodNameMap.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/AbstractSoapMethodNameMap.java Tue Jul 26 16:13:54 2005
@@ -33,13 +33,13 @@
    SoapMethodNameMap m_parent;
 
    /**
-    * Returns a Default name for a method based on a request's QName.
+    * Returns a default name for a method based on a request's QName.
     *
-    * @param request QName of the incoming request.
+    * @param requestName QName of the incoming request.
     *
-    * @return A defualt name for the method.
+    * @return a default name for the method.
     */
-   public abstract String getDefaultMethodName( QName request );
+   public abstract String getDefaultMethodName( QName requestName );
 
    /**
     * Returns the method name for a given incoming request QName.
@@ -48,7 +48,7 @@
     *
     * @return Method name to invoke.
     */
-   public String getMethodName( QName requestName )
+   public final String getMethodName( QName requestName )
    {
       SoapMethodNameMap parent     = getParent(  );
       String            methodName = null;
@@ -56,23 +56,25 @@
       {
          methodName = parent.getMethodName( requestName );
       }
-
       if ( methodName == null )
       {
          methodName = getDefaultMethodName( requestName );
       }
-
       return methodName;
    }
 
    /**
-    * Returns a Default name for a method based on a request's WS-Addressing Action Header.
+    * Returns a default name for a method based on a request's WS-Addressing Action header.
+    * Subclasses that wish to support mapping based on wsa:Action should override this method.
     *
-    * @param action String representation of WS-Addressing Action Header Value
+    * @param action string representation of WS-Addressing Action header value
     *
-    * @return A defualt name for the method.
+    * @return a method name, or null if no mapping is configured for the specified wsa:Action
     */
-   public abstract String getSpecActionMethodName( String action );
+   protected String lookupMethodNameFromAction( String action )
+   {
+       return null;
+   }
 
    /**
     * Returns the method name for an operation which
@@ -80,11 +82,12 @@
     * value.
     *
     * @param action The WS-AAddressing Action Header value.
-    * @return The name of the operation OR null if there is no Action registered.
+    *
+    * @return the name of the operation OR null if there is no Action registered.
     */
-   public String getMethodNameFromAction( String action )
+   public final String getMethodNameFromAction( String action )
    {
-      if(action == null) return null;
+      if(action == null) { return null; }
        
       SoapMethodNameMap parent     = getParent(  );
       String            methodName = null;
@@ -94,7 +97,7 @@
       }
        if ( methodName == null )
      {
-        methodName = getSpecActionMethodName( action );
+        methodName = lookupMethodNameFromAction( action );
      }
 
       return methodName;

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/DefaultMethodMap.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/DefaultMethodMap.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/DefaultMethodMap.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/DefaultMethodMap.java Tue Jul 26 16:13:54 2005
@@ -97,9 +97,9 @@
    private static void addWsxOperations(Map map )
    {
        //put this in as string for looking up the "Get/Request" operation
-       map.put(MetadataExchangeConstants.ACTION_GET,"get");
+       map.put(MetadataExchangeConstants.ACTION_GET_REQUEST,"get");
        //put this in as string for looking up the "GetMetadata/Request" operation
-       map.put(MetadataExchangeConstants.ACTION_GETMETADATA, "getMetadata");
+       map.put(MetadataExchangeConstants.ACTION_GETMETADATA_REQUEST, "getMetadata");
    }
 
    private SoapMethodNameMap m_parent;
@@ -132,7 +132,7 @@
      * @param action String representation of WS-Addressing Action Header Value
      * @return The name of the operation OR null if there is no Action registered.
      */
-    public String getSpecActionMethodName(String action)
+    public String lookupMethodNameFromAction(String action)
     {
         return (String) METHOD_MAP.get( action );
     }

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ResourceHandler.java Tue Jul 26 16:13:54 2005
@@ -128,7 +128,7 @@
             org.apache.ws.util.soap.Body body = getSoapBody( envelope );
 
             ResourceContext resourceContext = createResourceContext( soapMsgContext );
-            String addressingAction = resourceContext.getAddressingAction();
+            String addressingAction = resourceContext.getRequestAction();
             SoapMethodNameMap methodnameMap = new ServiceSoapMethodNameMap( resourceContext );
             String methodNameFromAction = methodnameMap.getMethodNameFromAction( addressingAction );
             List responseBodyElems = new ArrayList();
@@ -143,20 +143,14 @@
                 throw new FaultException( Soap1_1Constants.FAULT_CLIENT,
                         "SOAP request Body contains more than one body element - this service requires that all SOAP requests contain at most one body element." );
             }
-            // TODO: refactor below if-else - too much code duplication
+            XmlObject requestXBean;
             if ( childElems.length == 0 )  // empty Body
             {
+                requestXBean = null;
                 if ( methodNameFromAction != null )
                 {
                     // try to find a method based on the wsa:Action...
                     serviceMethod = getServiceMethod( service, methodNameFromAction );
-                    LOG.debug( MSG.getMessage( Keys.INVOKE_RESOURCE_METHOD,
-                            serviceMethod.getName() ) );
-                    XmlObject responseXBean = invokeServiceMethod( serviceMethod, service, null, serviceClass );
-                    if ( responseXBean != null )
-                    {
-                        responseBodyElems.add( responseXBean );
-                    }
                 }
                 else // empty Body and unmapped wsa:Action
                 {
@@ -166,7 +160,7 @@
             }
             else    // childElems.length == 1
             {
-                XmlObject requestXBean = toDocumentXmlBean( childElems[0] );
+                requestXBean = toDocumentXmlBean( childElems[0] );
                 validateRequestXml( requestXBean );
                 if ( methodNameFromAction != null )
                 {
@@ -176,13 +170,12 @@
                 {
                     serviceMethod = getServiceMethod( service, requestXBean ); //get method based solely on request elem
                 }
-                LOG.debug( MSG.getMessage( Keys.INVOKE_RESOURCE_METHOD,
-                        serviceMethod.getName() ) );
-                XmlObject responseXBean = invokeServiceMethod( serviceMethod, service, requestXBean, serviceClass );
-                if ( responseXBean != null )
-                {
-                    responseBodyElems.add( responseXBean );
-                }
+            }
+            LOG.debug( MSG.getMessage( Keys.INVOKING_SERVICE_METHOD, serviceMethod.getName() ) );
+            XmlObject responseXBean = invokeServiceMethod( serviceMethod, service, requestXBean, serviceClass );
+            if ( responseXBean != null )
+            {
+                responseBodyElems.add( responseXBean );
             }
             if ( !responseBodyElems.isEmpty() )
             {
@@ -368,7 +361,7 @@
     private XmlObject toDocumentXmlBean( XmlObject xBean )
             throws XmlException
     {
-        // TODO: probably should change method signatures to take types instead of documents to avoid this
+        // TODO (performance): probably should change method signatures to take types instead of documents to avoid this
         return XmlObject.Factory.parse( xBean.xmlText( new XmlOptions().setSaveOuter() ) );
     }
 
@@ -419,9 +412,7 @@
         Method serviceMethod = null;
         LOG.debug( "Based on the request, looking for method named: " + methodNameFromAction + " in service " +
                 service.getClass().getName() +
-                " with " +
-                0 +
-                " param types" );
+                " with no params." );
         Method[] methods = service.getClass().getMethods();
         for ( int i = 0; i < methods.length; i++ )
         {
@@ -460,10 +451,7 @@
             throws Exception
     {
         XmlObject responseXBean = null;
-        Object[] params = ( requestXBean != null ) ? new Object[]
-        {
-            requestXBean
-        } : new Object[0];
+        Object[] params = toObjectArray( requestXBean );
         try
         {
             responseXBean = (XmlObject) serviceMethod.invoke( service, params );
@@ -473,11 +461,11 @@
             if ( LOG.isDebugEnabled() )
             {
                 LOG.debug( MSG.getMessage( Keys.ERROR_INVOKING_METHOD_ON_SERVICE,
-                    serviceMethod.getName(),
-                    serviceClass.getName() ) );
+                        serviceMethod.getName(),
+                        serviceClass.getName() ) );
                 if ( ite.getCause() != null )
                 {
-                    ite.getCause().printStackTrace( );
+                    ite.getCause().printStackTrace();
                 }
             }
             if ( ite.getCause() != null )
@@ -492,12 +480,22 @@
         if ( responseXBean == null && serviceMethod.getReturnType() != void.class )
         {
             // don't allow service method to return null
-            LOG.error( "Service method " + serviceMethod.getName() + " in class " + serviceClass.getName() + " returned null - this is not allowed." );
+            LOG.error(
+                    "Service method " + serviceMethod.getName() + " in class " + serviceClass.getName() +
+                    " returned null - this is not allowed." );
             throw new IllegalStateException();
         }
         return responseXBean;
     }
 
+    private Object[] toObjectArray( Object obj )
+    {
+        return obj != null ? new Object[]
+        {
+            obj
+        } : new Object[0];
+    }
+
     /**
      * @param soapMsg a SAAJ SOAP message
      *
@@ -527,9 +525,10 @@
                                      XmlObject requestXBean )
     {
         QName bodyElemName = XmlBeanUtils.getName( requestXBean );
-        if(bodyElemName == null)
+        if ( bodyElemName == null )
         {
-            throw new FaultException(Soap1_1Constants.FAULT_CLIENT, MSG.getMessage(Keys.BAD_REQUEST_BODY_ELEMENT_NOPARAM));
+            throw new FaultException( Soap1_1Constants.FAULT_CLIENT,
+                    MSG.getMessage( Keys.BAD_REQUEST_BODY_ELEMENT_NOPARAM ) );
         }
         if ( LOG.isDebugEnabled() )
         {
@@ -539,26 +538,13 @@
         return getServiceMethod( service, serviceMethodName, requestXBean );
     }
 
-    /**
-     * Method used to locate a Method object in a Service based on the method name and param
-     *
-     * @param service
-     * @param methodName
-     * @param param
-     *
-     * @return
-     */
     private Method getServiceMethod( WsrfService service, String methodName, XmlObject param )
     {
         Method serviceMethod = null;
         LOG.debug( "Based on the request, looking for method named: " + methodName + " in service " +
                 service.getClass().getName() +
-                " with " +
-                1 +
-                " param type called: " +
-                param ==
-                null ?
-                "null" : param.getClass().getName() );
+                " with a single param of type: " +
+                param.getClass().getName() );
         Method[] methods = service.getClass().getMethods();
         for ( int i = 0; i < methods.length; i++ )
         {
@@ -567,7 +553,7 @@
             {
                 if ( method.getParameterTypes().length == 1 )
                 {
-                    if ( method.getParameterTypes()[0].isInstance( param ) )   //todo check if handles null
+                    if ( method.getParameterTypes()[0].isInstance( param ) )
                     {
                         serviceMethod = method;
                         break;
@@ -576,11 +562,9 @@
                     {
                         LOG.warn( "Found method named: " + methodName + " in service " +
                                 service.getClass().getName() +
-                                " with " +
-                                1 +
-                                " param of type: " +
+                                " with a single param of type: " +
                                 method.getParameterTypes()[0].getName() +
-                                " , however the request param was: " +
+                                " , however the request param was of type: " +
                                 param.getClass().getName() );
                     }
                 }
@@ -590,7 +574,7 @@
                             service.getClass().getName() +
                             " with " +
                             method.getParameterTypes().length +
-                            " param types, expected 1 param type." );
+                            " params; expected method to have exactly one param." );
                 }
             }
         }

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ServiceSoapMethodNameMap.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ServiceSoapMethodNameMap.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ServiceSoapMethodNameMap.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/ServiceSoapMethodNameMap.java Tue Jul 26 16:13:54 2005
@@ -71,7 +71,6 @@
       {
          methodName = StringUtils.uncapitalize( request.getLocalPart(  ) );
       }
-
       return methodName;
    }
 
@@ -79,9 +78,9 @@
      * Returns a Default name for a method based on a request's WS-Addressing Action Header.
      *
      * @param action String representation of WS-Addressing Action Header Value
-     * @return The name of the operation OR null if there is no Action registered. 
+     * @return The name of the operation OR null if there is no Action registered.
      */
-    public String getSpecActionMethodName(String action)
+    public String lookupMethodNameFromAction(String action)
     {
         String methodName = (String) m_RequestQnameToMethodNameMap.get( action );
         return methodName;

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/WsddSoapMethodNameMap.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/WsddSoapMethodNameMap.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/WsddSoapMethodNameMap.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/handler/WsddSoapMethodNameMap.java Tue Jul 26 16:13:54 2005
@@ -23,50 +23,39 @@
  * @author Sal Campana
  */
 public class WsddSoapMethodNameMap
-   extends AbstractSoapMethodNameMap
+        extends AbstractSoapMethodNameMap
 {
-   private ResourceContext m_resourceContext;
+    private ResourceContext m_resourceContext;
 
-   /**
-    * Creates a new {@link WsddSoapMethodNameMap} object.
-    *
-    * @param context DOCUMENT_ME
-    */
-   public WsddSoapMethodNameMap( ResourceContext context )
-   {
-      m_resourceContext = context;
-   }
-
-   /**
-    * DOCUMENT_ME
-    *
-    * @param request DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public String getDefaultMethodName( QName request )
-   {
-      return (String) m_resourceContext.getProperty( request.toString(  ) );
-   }
+    /**
+     * Creates a new {@link WsddSoapMethodNameMap} object.
+     *
+     * @param context DOCUMENT_ME
+     */
+    public WsddSoapMethodNameMap( ResourceContext context )
+    {
+        m_resourceContext = context;
+    }
 
     /**
-     * Returns a Default name for a method based on a request's WS-Addressing Action Header.
+     * DOCUMENT_ME
      *
-     * @param action String representation of WS-Addressing Action Header Value
-     * @return A defualt name for the method.
+     * @param request DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
      */
-    public String getSpecActionMethodName(String action)
+    public String getDefaultMethodName( QName request )
     {
-        return null;//todo not sure if we need something here
+        return (String) m_resourceContext.getProperty( request.toString() );
     }
 
     /**
-    * DOCUMENT_ME
-    *
-    * @return DOCUMENT_ME
-    */
-   public SoapMethodNameMap getParent(  )
-   {
-      return null;
-   }
+     * DOCUMENT_ME
+     *
+     * @return DOCUMENT_ME
+     */
+    public SoapMethodNameMap getParent()
+    {
+        return null;
+    }
 }

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/i18n/Keys.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/i18n/Keys.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/i18n/Keys.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/i18n/Keys.java Tue Jul 26 16:13:54 2005
@@ -575,7 +575,7 @@
     /**
      * @msg Invoking service method: {0}
      */
-    String INVOKE_RESOURCE_METHOD ="INVOKE_RESOURCE_METHOD";
+    String INVOKING_SERVICE_METHOD ="INVOKING_SERVICE_METHOD";
     /**
      * @msg  for Dialect:
      */
@@ -592,14 +592,14 @@
     String GET_ACTION_FROM_ADDR_HDR = "GET_ACTION_FROM_ADDR_HDR";
 
     /**
-     * @msg There is no WS-Addressing Action Header in the request.
+     * @msg Received request with no WS-Addressing Action header.
      */
-    String NO_ACTION_IN_ADDR_HDR = "NO_ACTION_IN_ADDR_HDR";
+    String NO_WSA_ACTION = "NO_WSA_ACTION";
 
     /**
-     * @msg There were no WS-Addressing headers in the request.
+     * @msg Received request with no WS-Addressing headers.
      */
-    String NO_ADDR_HDR = "NO_ADDR_HDR";
+    String NO_WSA_HEADERS = "NO_WSA_HEADERS";
 
     /**
      * @msg There was an error when calling the insertProperty operation on the callback {0}

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceContext.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceContext.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceContext.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceContext.java Tue Jul 26 16:13:54 2005
@@ -17,14 +17,17 @@
 
 import org.apache.axis.message.addressing.Action;
 import org.apache.axis.message.addressing.AddressingHeaders;
+import org.apache.axis.message.addressing.util.AddressingUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.ws.Soap1_1Constants;
 import org.apache.ws.resource.JndiConstants;
 import org.apache.ws.resource.Resource;
 import org.apache.ws.resource.ResourceContext;
 import org.apache.ws.resource.ResourceContextException;
 import org.apache.ws.resource.ResourceException;
 import org.apache.ws.resource.ResourceHome;
+import org.apache.ws.resource.faults.FaultException;
 import org.apache.ws.resource.i18n.Keys;
 import org.apache.ws.resource.i18n.MessagesImpl;
 import org.apache.ws.util.i18n.Messages;
@@ -35,6 +38,7 @@
 import javax.xml.rpc.handler.soap.SOAPMessageContext;
 import javax.xml.soap.SOAPMessage;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.util.Collections;
 import java.util.HashMap;
@@ -58,6 +62,7 @@
     private Map m_propsMap = Collections.synchronizedMap( new HashMap() );
     private String m_baseURL;
     private String m_action;
+    private SOAPMessageContext m_msgContext;
 
     /**
      * Creates a new {@link AbstractResourceContext} object.
@@ -70,6 +75,7 @@
         {
             throw new IllegalArgumentException( MSG.getMessage( Keys.NULL_SOAPMSGCTX ) );
         }
+        m_msgContext = soapMsgContext;
         m_msg = soapMsgContext.getMessage();
         extractFields( soapMsgContext );
         try
@@ -83,7 +89,7 @@
         }
         if ( m_home instanceof AbstractResourceHome )
         {
-           ((AbstractResourceHome)m_home).init();
+            ( (AbstractResourceHome) m_home ).init();
         }
     }
 
@@ -269,19 +275,18 @@
                         org.apache.axis.message.addressing.Constants.ENV_ADDRESSING_REQUEST_HEADERS );
         if ( addrHeaders == null )
         {
-            LOG.debug( MSG.getMessage( Keys.NO_ADDR_HDR ) );
-            return null;
+            LOG.debug( MSG.getMessage( Keys.NO_WSA_HEADERS ) );
+            throw new FaultException( Soap1_1Constants.FAULT_CLIENT, "This endpoint requires WS-Addressing headers." );
         }
-        // TODO: we should probably be throwing a fault if there's no wsa:Action header
-        Action headerAction = addrHeaders.getAction();
-        if ( headerAction == null )
+        Action wsaAction = addrHeaders.getAction();
+        if ( wsaAction == null )
         {
-            LOG.debug( MSG.getMessage( Keys.NO_ACTION_IN_ADDR_HDR ) );
-            return null;
+            LOG.debug( MSG.getMessage( Keys.NO_WSA_ACTION ) );
+            throw new FaultException( Soap1_1Constants.FAULT_CLIENT,
+                    "The WS-Addressing Action header is required by this endpoint." );
         }
-        String action = headerAction.toString();
-        LOG.debug( MSG.getMessage( Keys.GET_ACTION_FROM_ADDR_HDR, action ) );
-        return action;
+        LOG.debug( MSG.getMessage( Keys.GET_ACTION_FROM_ADDR_HDR, wsaAction ) );
+        return wsaAction.toString();
     }
 
     private void extractFields( MessageContext msgContext )
@@ -316,9 +321,29 @@
         return m_baseURL;
     }
 
-    public String getAddressingAction()
+    public String getRequestAction()
     {
         return m_action;
+    }
+
+    /**
+     * @see ResourceContext#setResponseAction(java.net.URI)
+     */
+    public void setResponseAction( URI action )
+    {
+        if ( action != null )
+        {
+            AddressingHeaders responseAddrHeaders =
+                    AddressingUtils.getResponseHeaders( m_msgContext );
+            try
+            {
+                responseAddrHeaders.setAction( action.toString() );
+            }
+            catch ( Exception e )
+            {
+                throw new RuntimeException( "Failed to set wsa:Action for response.", e );
+            }
+        }
     }
 
 }

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/impl/AbstractResourceHome.java Tue Jul 26 16:13:54 2005
@@ -25,6 +25,7 @@
 import org.apache.ws.addressing.XmlBeansEndpointReference;
 import org.apache.ws.resource.IllegalResourceTypeException;
 import org.apache.ws.resource.JndiConstants;
+import org.apache.ws.resource.PersistentResource;
 import org.apache.ws.resource.PropertiesResource;
 import org.apache.ws.resource.Resource;
 import org.apache.ws.resource.ResourceContext;
@@ -124,8 +125,6 @@
      */
     protected String m_resourceClassName;
     protected boolean m_resourceIsPersistent;
-    private String m_resourceKeyClassName;
-    private String m_resourceKeyName;
     private QName m_resourceIdRefParamName;
     private String m_wsdlTargetNamespace;
     private String m_serviceClassName;
@@ -158,14 +157,10 @@
             }
             LOG.debug( MSG.getMessage( Keys.INIT_HOME ) );
             Class resourceClass = getResourceClass();
-
-            //todo sjc is it gone ips??
-            /*     if ( PersistentResource.class.isAssignableFrom( resourceClass ) )
-                 {
-                     m_resourceIsPersistent = true;
-                 }*/
-            //end todo
-
+            if ( PersistentResource.class.isAssignableFrom( resourceClass ) )
+            {
+                m_resourceIsPersistent = true;
+            }
             Context initialContext = new InitialContext();
             m_resources = getResourceMap();
             m_lockManager = new LockManager();
@@ -439,7 +434,7 @@
     {
         Resource resource = createInstance( id );
         LOG.debug( MSG.getMessage( Keys.LOADING_RESOURCE_FROM_PERSISTENCE, String.valueOf( id ) ) );
-        //todo sjc is it gone ips?? ( (PersistentResource) resource ).load( id );
+        ( (PersistentResource) resource ).load();
         if ( ResourceSweeper.isExpired( resource ) )
         {
             throw new ResourceUnknownException( getNonNullKey( id ), getServicePortName() );

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/ResourceNotDestroyedException.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/ResourceNotDestroyedException.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/ResourceNotDestroyedException.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/ResourceNotDestroyedException.java Tue Jul 26 16:13:54 2005
@@ -16,13 +16,14 @@
 package org.apache.ws.resource.lifetime;
 
 /**
- * LOG-DONE TODO
  *
- * @author Ian P. Springer (Hewlett-Packard Company)
+ *
+ * @author Ian Springer
  */
 public class ResourceNotDestroyedException
         extends Exception
 {
+    
     private Object m_resourceId;
     private String m_serviceName;
 

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/ResourceNotDestroyedFaultException.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/ResourceNotDestroyedFaultException.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/ResourceNotDestroyedFaultException.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/ResourceNotDestroyedFaultException.java Tue Jul 26 16:13:54 2005
@@ -25,9 +25,11 @@
 import javax.xml.namespace.QName;
 
 /**
- * LOG-DONE Indicates that a WS-Resource could not be destroyed for some reason.
+ * An Exception representing the WSRL-defined ResourceNotDestroyed fault,
+ * which is thrown by the Destroy operation if it cannot destroy the
+ * resource.
  *
- * @author Ian P. Springer
+ * @author Ian Springer
  */
 public class ResourceNotDestroyedFaultException
         extends AbstractBaseFaultException
@@ -39,8 +41,8 @@
     private String m_serviceName;
 
     /**
-     * Constructs a new ResourceUnknownFaultException, specifying the resource id and service name of the unknown
-     * resource.
+     * Constructs a new ResourceNotDestroyedFaultException, specifying the resource id and service name
+     * of the resource.
      *
      * @param resourceId
      * @param serviceName
@@ -60,9 +62,7 @@
      */
     public ResourceNotDestroyedFaultException( NamespaceVersionHolder namespaces, ResourceUnknownException rue )
     {
-        // TODO
-        this( namespaces, rue.getResourceId(),
-                rue.getServiceName() );
+        this( namespaces, rue.getResourceId(), rue.getServiceName() );
     }
 
     /**

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/TerminationTimeChangeRejectedFaultException.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/TerminationTimeChangeRejectedFaultException.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/TerminationTimeChangeRejectedFaultException.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/TerminationTimeChangeRejectedFaultException.java Tue Jul 26 16:13:54 2005
@@ -40,8 +40,8 @@
     private String m_serviceName;
 
     /**
-     * Constructs a new TerminationTimeChangeRejectedFaultException, specifying the resource id and service name of the unknown
-     * resource.
+     * Constructs a new TerminationTimeChangeRejectedFaultException, specifying the resource id and
+     * service name of the resource.
      *
      * @param resourceId
      * @param serviceName
@@ -62,9 +62,7 @@
     public TerminationTimeChangeRejectedFaultException( NamespaceVersionHolder namespaces,
                                                         ResourceUnknownException rue )
     {
-        // TODO
-        this( namespaces, rue.getResourceId(),
-                rue.getServiceName() );
+        this( namespaces, rue.getResourceId(), rue.getServiceName() );
     }
 
     /**

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/UnableToSetTerminationTimeFaultException.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/UnableToSetTerminationTimeFaultException.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/UnableToSetTerminationTimeFaultException.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/lifetime/faults/UnableToSetTerminationTimeFaultException.java Tue Jul 26 16:13:54 2005
@@ -25,9 +25,11 @@
 import javax.xml.namespace.QName;
 
 /**
- * LOG-DONE Indicates that a WS-Resource could not be destroyed for some reason.
+ * An Exception representing the WSRL-defined UnableToSetTerminationTime fault,
+ * which is thrown by the SetTerminationTime operation if it cannot set the
+ * resource's termination time.
  *
- * @author Ian P. Springer
+ * @author Ian Springer
  */
 public class UnableToSetTerminationTimeFaultException
         extends AbstractBaseFaultException
@@ -59,9 +61,7 @@
      */
     public UnableToSetTerminationTimeFaultException( NamespaceVersionHolder namespaces, ResourceUnknownException rue )
     {
-        // TODO
-        this( namespaces, rue.getResourceId(),
-                rue.getServiceName() );
+        this( namespaces, rue.getResourceId(), rue.getServiceName() );
     }
 
     /**

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/MetadataExchangeConstants.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/MetadataExchangeConstants.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/MetadataExchangeConstants.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/MetadataExchangeConstants.java Tue Jul 26 16:13:54 2005
@@ -16,28 +16,39 @@
 package org.apache.ws.resource.metadataexchange.v2004_09;
 
 /**
- * @author Sal Campana
+ * Constants for WS-MEX.
  */
 public interface MetadataExchangeConstants
 {
+
     /**
-     * The namespace URI
+     * The namespace URI for WS-MEX.
      */
     String NSURI = "http://schemas.xmlsoap.org/ws/2004/09/mex";
 
     /**
-     * The prefix to be used
+     * A prefix for the WS-MEX namespace.
      */
     String NSPREFIX = "wsmex";
 
     /**
-     * wsa:Action URI for Get request
+     * wsa:Action URI for Get requests.
+     */
+    String ACTION_GET_REQUEST = NSURI + "/Get/Request";
+
+    /**
+     * wsa:Action URI for Get responses.
      */
-    String ACTION_GET = NSURI + "/Get/Request";
+    String ACTION_GET_RESPONSE = NSURI + "/Get/Response";
 
     /**
-     * wsa:Action URI for GetMetadata request
+     * wsa:Action URI for GetMetadata requests.
      */
-    String ACTION_GETMETADATA = NSURI + "/GetMetadata/Request";
-    
+    String ACTION_GETMETADATA_REQUEST = NSURI + "/GetMetadata/Request";
+
+    /**
+     * wsa:Action URI for GetMetadata requests.
+     */
+    String ACTION_GETMETADATA_RESPONSE = NSURI + "/GetMetadata/Response";
+
 }

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/metadataexchange/v2004_09/porttype/impl/MetadataExchangePortTypeImpl.java Tue Jul 26 16:13:54 2005
@@ -48,7 +48,6 @@
 import java.util.List;
 import java.util.Map;
 
-
 /**
  * An implementation of the WS-MEX MetadataExchange portType.
  *
@@ -75,7 +74,7 @@
      * @return  MetadataDocument response document
      */
     public MetadataDocument getMetadata(GetMetadataDocument request)
-    {               //todo deal with setting Action for responses...
+    {
         MetadataConfig metadataConfig = getMetadataConfigFromJNDI();
 
         //prep the response
@@ -128,6 +127,7 @@
                 }
             }
         }
+        getResourceContext().setResponseAction( URI.create( MetadataExchangeConstants.ACTION_GETMETADATA_RESPONSE ) );
         return responseDoc;
     }
 
@@ -213,6 +213,7 @@
                 XmlBeanUtils.addChildElement(anyXmlType, (XmlObject) metadata);
             }
         }
+        getResourceContext().setResponseAction( URI.create( MetadataExchangeConstants.ACTION_GET_RESPONSE ) );
         return anyXmlType;
     }
 
@@ -243,7 +244,7 @@
         String address = epr.getAddress().getStringValue();
         //send WS-MEX Get request
         EnvelopeDocument envelope = buildSoapEnvelopeForGet(address, epr);
-        String response = SoapClient.sendRequest(new URL(address),envelope.newInputStream(),new URI(MetadataExchangeConstants.ACTION_GET));
+        String response = SoapClient.sendRequest(new URL(address),envelope.newInputStream(),new URI(MetadataExchangeConstants.ACTION_GET_REQUEST));
         return XmlObject.Factory.parse(response);
     }
 
@@ -268,7 +269,7 @@
         toElem = toDoc;
         org.xmlsoap.schemas.ws.x2004.x08.addressing.ActionDocument actionDoc = org.xmlsoap.schemas.ws.x2004.x08.addressing.ActionDocument.Factory.newInstance();
         AttributedURI actionType = actionDoc.addNewAction();
-        actionType.setStringValue( MetadataExchangeConstants.ACTION_GET );
+        actionType.setStringValue( MetadataExchangeConstants.ACTION_GET_REQUEST );
         actionElem = actionDoc;
 
         XmlBeanUtils.addChildElement( header, toElem );

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/ResourcePropertySet.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/ResourcePropertySet.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/ResourcePropertySet.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/ResourcePropertySet.java Tue Jul 26 16:13:54 2005
@@ -35,9 +35,9 @@
    boolean isEmpty(  );
 
    /**
-    * TODO
+    * Returns the metadata associated with this resource property set.
     *
-    * @return ResourcePropertySetMetaData
+    * @return the metadata associated with this resource property set
     */
    ResourcePropertySetMetaData getMetaData(  );
 
@@ -90,13 +90,13 @@
    int size(  );
 
    /**
-    * Returns the entire Resource Property document as a DOM Element.
+    * Returns the entire resource property document as a DOM Element.
     */
    Element toElement(  )
    throws SerializationException;
 
    /**
-    * Returns the entire Resource Property document as a SOAPElement.
+    * Returns the entire resource property document as a SAAJ SOAPElement.
     */
    SOAPElement toSOAPElement(  )
    throws SerializationException;

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/ResourcePropertySetMetaData.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/ResourcePropertySetMetaData.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/ResourcePropertySetMetaData.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/ResourcePropertySetMetaData.java Tue Jul 26 16:13:54 2005
@@ -39,18 +39,18 @@
    boolean isOpenContent(  );
 
    /**
-    * TODO
+    * Returns the metadata associated with the resource property with the specified name.
     *
-    * @param name
+    * @param name the name of a resource property
     *
-    * @return  ResourcePropertyMetaData
+    * @return the metadata associated with the resource property with the specified name
     */
    ResourcePropertyMetaData getPropertyMetaData( QName name );
 
    /**
-    * TODO
+    * Returns the metadata associated with all of the resource properties in this set.
     *
-    * @return  ResourcePropertyMetaData[]
+    * @return the metadata associated with all of the resource properties in this set
     */
    ResourcePropertyMetaData[] getPropertyMetaDatas(  );
 
@@ -58,4 +58,5 @@
     * Creates a resource property set of the type defined by this metadata.
     */
    ResourcePropertySet create(  );
+    
 }

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/impl/AbstractSetResourcePropertiesPortType.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/impl/AbstractSetResourcePropertiesPortType.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/impl/AbstractSetResourcePropertiesPortType.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/impl/AbstractSetResourcePropertiesPortType.java Tue Jul 26 16:13:54 2005
@@ -221,7 +221,6 @@
     private Object[] getValue( ResourceProperty prop )
     {
         Object[] value = new Object[prop.size()];
-
         Iterator propElemIter = prop.iterator();
         int i = 0;
         while ( propElemIter.hasNext() )
@@ -262,7 +261,7 @@
 
     private void throwFaultIfInsertionViolatesSchema( ResourceProperty prop, XmlObject[] propElemsToBeInserted )
     {
-        // TODO: probably need to check this for xsd:any to check for possible violations
+        // TODO (low-priority): if prop is an xsd:any, a more complex algorithm needs to be used to check for minOccurs/maxOccurs violations
         if ( prop.getMetaData().getMaxOccurs() != -1 &&( prop.size() + propElemsToBeInserted.length ) > prop.getMetaData().getMaxOccurs() )
         {
             throw new InvalidInsertResourcePropertiesRequestContentFaultException( getNamespaceSet(), MSG.getMessage( Keys.ERROR_PROPERTY_INSERT_VIOLATES_SCHEMA,
@@ -274,6 +273,7 @@
 
     private void throwFaultIfUpdateViolatesSchema( ResourceProperty prop, XmlObject[] newPropElems )
     {
+        // TODO (low-priority): if prop is an xsd:any, a more complex algorithm needs to be used to check for minOccurs/maxOccurs violations
         if ( prop.getMetaData().getMaxOccurs() != -1 && newPropElems.length > prop.getMetaData().getMaxOccurs() )
         {
             throw new InvalidUpdateResourcePropertiesRequestContentFaultException( getNamespaceSet(), MSG.getMessage( Keys.ERROR_PROPERTY_UPDATE_VIOLATES_SCHEMA,

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/impl/XmlBeansResourcePropertySet.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/impl/XmlBeansResourcePropertySet.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/impl/XmlBeansResourcePropertySet.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/impl/XmlBeansResourcePropertySet.java Tue Jul 26 16:13:54 2005
@@ -260,8 +260,7 @@
      */
     public Element toElement()
             throws SerializationException
-    {
-        // TODO: shouldn't this method return a Document instead of an Element?
+    {        
         Document doc = (Document) m_propsDocXBean.newDomNode();
         return doc.getDocumentElement();
     }

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/query/impl/QueryEngineImpl.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/query/impl/QueryEngineImpl.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/query/impl/QueryEngineImpl.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/query/impl/QueryEngineImpl.java Tue Jul 26 16:13:54 2005
@@ -44,7 +44,7 @@
 import java.util.Map;
 
 /**
- * LOG-DONE Executes queries on resource property sets. The engine looks for evaluators under the "wsrf/query/eval" JNDI
+ * Executes queries on resource property sets. The engine looks for evaluators under the "wsrf/query/eval" JNDI
  * context.
  *
  * @see ResourcePropertySet
@@ -56,7 +56,7 @@
      * DOCUMENT_ME
      */
     private static final Log LOG = LogFactory.getLog( QueryEngineImpl.class.getName() );
-    public static final Messages MSG = MessagesImpl.getInstance();
+    private static final Messages MSG = MessagesImpl.getInstance();
     private static String QUERY_EVALUATOR_CONTEXT = JndiConstants.CONTEXT_NAME_BASE + "/query/eval";
     private Map m_evaluators = Collections.synchronizedMap( new HashMap() );
 
@@ -65,20 +65,7 @@
      */
     public QueryEngineImpl()
     {
-        // TODO: refactor this
-        //refresh();
-        //registerEvaluator( QueryConstants.DIALECT_URI__XPATH1_0, new XmlBeansXPathExpressionEvaluator() );
-        try
-        {
-            /*registerEvaluator( QueryConstants.DIALECT_URI__XPATH1_0,
-                               new JaxenXPathExpressionEvaluator() );*/
-            registerEvaluator( QueryConstants.DIALECT_URI__XPATH1_0,
-                    new XalanXPathExpressionEvaluator() );
-        }
-        catch ( UnknownQueryExpressionDialectException uqede )
-        {
-            throw new RuntimeException( "Error while registering expression evaluators with query engine.", uqede );
-        }
+        refresh();
     }
 
     /**
@@ -93,7 +80,7 @@
 
     /**
      * @see QueryEngine#executeQuery(org.apache.ws.resource.properties.query.QueryExpression,
-     *      org.apache.ws.resource.properties.ResourcePropertySet)
+            *      org.apache.ws.resource.properties.ResourcePropertySet)
      */
     public Object executeQuery( QueryExpression queryExpr,
                                 ResourcePropertySet resourcePropertySet )
@@ -143,22 +130,35 @@
         try
         {
             Context initialContext = new InitialContext();
-            list = initialContext.list( QUERY_EVALUATOR_CONTEXT );
-            NameClassPair pair = null;
-            ExpressionEvaluator evaluator = null;
-            while ( list.hasMore() )
+            try
+            {
+                list = initialContext.list( QUERY_EVALUATOR_CONTEXT );
+            }
+            catch ( NamingException ne )
+            {
+                // ignore
+            }
+            if ( list != null && list.hasMore() )
+            {
+                while ( list.hasMore() )
+                {
+                    NameClassPair pair = (NameClassPair) list.next();
+                    ExpressionEvaluator evaluator =
+                            (ExpressionEvaluator) JNDIUtils.lookup( initialContext,
+                                    QUERY_EVALUATOR_CONTEXT + "/" + pair.getName(),
+                                    ExpressionEvaluator.class );
+                    registerEvaluator( evaluator );
+                }
+            }
+            else
             {
-                pair = (NameClassPair) list.next();
-                evaluator =
-                        (ExpressionEvaluator) JNDIUtils.lookup( initialContext,
-                                QUERY_EVALUATOR_CONTEXT + "/" + pair.getName(),
-                                ExpressionEvaluator.class );
-                registerEvaluator( evaluator );
+                // nothing in JNDI - register a default evaluator for XPath 1.0...
+                registerEvaluator( QueryConstants.DIALECT_URI__XPATH1_0, new XalanXPathExpressionEvaluator() );
             }
         }
-        catch ( NamingException ne )
+        catch ( Exception e )
         {
-            LOG.error( MSG.getMessage( Keys.QUERY_ENG_INIT_ERROR, ne ) );
+            LOG.error( MSG.getMessage( Keys.QUERY_ENG_INIT_ERROR, e ) );
         }
         finally
         {
@@ -168,8 +168,9 @@
                 {
                     list.close();
                 }
-                catch ( NamingException ee )
+                catch ( NamingException ne )
                 {
+                    // intentionally ignored
                 }
             }
         }

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/v2004_06/porttype/impl/QueryResourcePropertiesPortTypeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/v2004_06/porttype/impl/QueryResourcePropertiesPortTypeImpl.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/v2004_06/porttype/impl/QueryResourcePropertiesPortTypeImpl.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/v2004_06/porttype/impl/QueryResourcePropertiesPortTypeImpl.java Tue Jul 26 16:13:54 2005
@@ -45,7 +45,7 @@
 /**
  * LOG-DONE An operation provider for wsrp:QueryResourceProperties.
  *
- * TODO: factor out a common base class to be shared across spec versions
+ * TODO (v1.1): factor out a common base class to be shared across spec versions
  *
  * @author Ian P. Springer
  */

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/v2004_11/porttype/impl/QueryResourcePropertiesPortTypeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/v2004_11/porttype/impl/QueryResourcePropertiesPortTypeImpl.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/v2004_11/porttype/impl/QueryResourcePropertiesPortTypeImpl.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/properties/v2004_11/porttype/impl/QueryResourcePropertiesPortTypeImpl.java Tue Jul 26 16:13:54 2005
@@ -45,7 +45,7 @@
 /**
  * LOG-DONE An operation provider for wsrp:QueryResourceProperties.
  *
- * TODO: factor out a common base class to be shared across spec versions
+ * TODO (v1.1): factor out a common base class to be shared across spec versions
  * 
  * @author Ian P. Springer
  */

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/GetMultipleResourcePropertiesPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/GetMultipleResourcePropertiesPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/GetMultipleResourcePropertiesPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/GetMultipleResourcePropertiesPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -21,9 +21,7 @@
 import javax.xml.namespace.QName;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRP GetMultipleResourceProperties portType.
  */
 public class GetMultipleResourcePropertiesPortType2JavaInfo extends PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/GetResourcePropertyPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/GetResourcePropertyPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/GetResourcePropertyPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/GetResourcePropertyPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -22,9 +22,7 @@
 import javax.xml.namespace.QName;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRP GetResourceProperty portType.
  */
 public class GetResourcePropertyPortType2JavaInfo extends PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/ImmediateResourceTerminationPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/ImmediateResourceTerminationPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/ImmediateResourceTerminationPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/ImmediateResourceTerminationPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -21,9 +21,7 @@
 import javax.xml.namespace.QName;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRL ImmediateResourceTermination portType.
  */
 public class ImmediateResourceTerminationPortType2JavaInfo extends PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/QueryResourcePropertiesPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/QueryResourcePropertiesPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/QueryResourcePropertiesPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/QueryResourcePropertiesPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -21,9 +21,7 @@
 import javax.xml.namespace.QName;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRP QueryResourceProperties portType.
  */
 public class QueryResourcePropertiesPortType2JavaInfo extends PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/ScheduledResourceTerminationPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/ScheduledResourceTerminationPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/ScheduledResourceTerminationPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/ScheduledResourceTerminationPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -22,9 +22,7 @@
 import javax.xml.namespace.QName;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRL ScheduledResourceTermination portType.
  */
 public class ScheduledResourceTerminationPortType2JavaInfo extends PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/SetResourcePropertiesPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/SetResourcePropertiesPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/SetResourcePropertiesPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_06/SetResourcePropertiesPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -21,9 +21,7 @@
 import javax.xml.namespace.QName;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRP SetResourceProperties portType.
  */
 public class SetResourcePropertiesPortType2JavaInfo extends PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_09/MetadataExchangePortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_09/MetadataExchangePortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_09/MetadataExchangePortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_09/MetadataExchangePortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -7,7 +7,7 @@
 
 
 /**
- * @author Sal Campana
+ * Java mapping info for the WS-MEX MetadataExchange portType.
  */
 public class MetadataExchangePortType2JavaInfo extends PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/DeleteResourcePropertiesPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/DeleteResourcePropertiesPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/DeleteResourcePropertiesPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/DeleteResourcePropertiesPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -19,9 +19,7 @@
 import org.apache.ws.resource.properties.v2004_11.porttype.DeleteResourcePropertiesPortType;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRP DeleteResourceProperties portType.
  */
 public class DeleteResourcePropertiesPortType2JavaInfo extends org.apache.ws.resource.tool.PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetMultipleResourcePropertiesPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetMultipleResourcePropertiesPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetMultipleResourcePropertiesPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetMultipleResourcePropertiesPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -21,9 +21,7 @@
 import javax.xml.namespace.QName;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRP GetMultipleResourceProperties portType.
  */
 public class GetMultipleResourcePropertiesPortType2JavaInfo extends PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetResourcePropertyDocumentPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetResourcePropertyDocumentPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetResourcePropertyDocumentPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetResourcePropertyDocumentPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -18,9 +18,7 @@
 import org.apache.ws.resource.properties.v2004_11.porttype.GetResourcePropertyDocumentPortType;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRP GetResourcePropertyDocument portType.
  */
 public class GetResourcePropertyDocumentPortType2JavaInfo extends org.apache.ws.resource.tool.PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetResourcePropertyPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetResourcePropertyPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetResourcePropertyPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/GetResourcePropertyPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -22,9 +22,7 @@
 import javax.xml.namespace.QName;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRP GetResourceProperty portType.
  */
 public class GetResourcePropertyPortType2JavaInfo extends PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/ImmediateResourceTerminationPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/ImmediateResourceTerminationPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/ImmediateResourceTerminationPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/ImmediateResourceTerminationPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -21,9 +21,7 @@
 import javax.xml.namespace.QName;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRL ImmediateResourceTermination portType.
  */
 public class ImmediateResourceTerminationPortType2JavaInfo extends PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/InsertResourcePropertiesPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/InsertResourcePropertiesPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/InsertResourcePropertiesPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/InsertResourcePropertiesPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -19,9 +19,7 @@
 import org.apache.ws.resource.properties.v2004_11.porttype.InsertResourcePropertiesPortType;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRP InsertResourceProperties portType.
  */
 public class InsertResourcePropertiesPortType2JavaInfo extends org.apache.ws.resource.tool.PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/QueryResourcePropertiesPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/QueryResourcePropertiesPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/QueryResourcePropertiesPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/QueryResourcePropertiesPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -21,9 +21,7 @@
 import javax.xml.namespace.QName;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRP GetMultipleResourceProperties portType.
  */
 public class QueryResourcePropertiesPortType2JavaInfo extends PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/ScheduledResourceTerminationPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/ScheduledResourceTerminationPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/ScheduledResourceTerminationPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/ScheduledResourceTerminationPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -22,9 +22,7 @@
 import javax.xml.namespace.QName;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRL ScheduledResourceTermination portType.
  */
 public class ScheduledResourceTerminationPortType2JavaInfo extends PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/SetResourcePropertiesPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/SetResourcePropertiesPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/SetResourcePropertiesPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/SetResourcePropertiesPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -21,9 +21,7 @@
 import javax.xml.namespace.QName;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRP SetResourceProperties portType.
  */
 public class SetResourcePropertiesPortType2JavaInfo extends PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/UpdateResourcePropertiesPortType2JavaInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/UpdateResourcePropertiesPortType2JavaInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/UpdateResourcePropertiesPortType2JavaInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/resource/tool/porttype/v2004_11/UpdateResourcePropertiesPortType2JavaInfo.java Tue Jul 26 16:13:54 2005
@@ -19,9 +19,7 @@
 import org.apache.ws.resource.properties.v2004_11.porttype.UpdateResourcePropertiesPortType;
 
 /**
- * TODO
- *
- * @author Ian Springer (ian DOT springer AT hp DOT com)
+ * Java mapping info for the WSRP UpdateResourceProperties portType.
  */
 public class UpdateResourcePropertiesPortType2JavaInfo extends org.apache.ws.resource.tool.PortType2JavaInfo
 {

Modified: webservices/wsrf/trunk/src/java/org/apache/ws/util/OperationInfo.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/java/org/apache/ws/util/OperationInfo.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/java/org/apache/ws/util/OperationInfo.java (original)
+++ webservices/wsrf/trunk/src/java/org/apache/ws/util/OperationInfo.java Tue Jul 26 16:13:54 2005
@@ -51,11 +51,18 @@
             Map inputParts = input.getMessage().getParts();
             if ( inputParts.size() > 1 )
             {
-                throw new RuntimeException( "WSDL input element must have at most one part." );
+                throw new RuntimeException( "WSDL input message named " + input.getMessage().getQName() + " has more than one part - input messages must have at most one part." );
+            }
+            if ( inputParts.size() == 1 )
+            {
+                Part inputPart = (Part) inputParts.values().iterator().next();
+                m_requestElemName = inputPart.getElementName();
+                m_fullyQualifiedRequestClassName = XmlBeanNameUtils.getDocumentElementXmlBeanClassName( m_requestElemName );
+            }
+            else  // no input parts
+            {
+                m_fullyQualifiedRequestClassName = "";
             }
-            Part inputPart = (Part) inputParts.values().iterator().next();
-            m_requestElemName = inputPart.getElementName();
-            m_fullyQualifiedRequestClassName = XmlBeanNameUtils.getDocumentElementXmlBeanClassName( m_requestElemName );
         }
         else
         {
@@ -67,7 +74,7 @@
             Map outputParts = output.getMessage().getParts();
             if ( outputParts.size() > 1 )
             {
-                throw new RuntimeException( "WSDL output element must have at most one part." );
+                throw new RuntimeException( "WSDL output message named " + input.getMessage().getQName() + " has more than one part - output messages must have at most one part." );
             }
             if ( outputParts.size() == 1)
             {

Modified: webservices/wsrf/trunk/src/test/org/apache/ws/resource/properties/SushiResourceContext.java
URL: http://svn.apache.org/viewcvs/webservices/wsrf/trunk/src/test/org/apache/ws/resource/properties/SushiResourceContext.java?rev=225415&r1=225414&r2=225415&view=diff
==============================================================================
--- webservices/wsrf/trunk/src/test/org/apache/ws/resource/properties/SushiResourceContext.java (original)
+++ webservices/wsrf/trunk/src/test/org/apache/ws/resource/properties/SushiResourceContext.java Tue Jul 26 16:13:54 2005
@@ -11,6 +11,7 @@
 import javax.xml.soap.SOAPMessage;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.net.URI;
 import java.util.Iterator;
 
 /**
@@ -105,7 +106,7 @@
      *
      * @return WS-Addressing Action Header value
      */
-    public String getAddressingAction()
+    public String getRequestAction()
     {
         return null;
     }
@@ -129,4 +130,9 @@
         return m_resource;
     }
 
+    public void setResponseAction( URI action )
+    {
+        return;
+    }
+    
 }