You are viewing a plain text version of this content. The canonical link for it is here.
Posted to woden-dev@ws.apache.org by jk...@apache.org on 2008/02/04 08:21:32 UTC

svn commit: r618183 [2/2] - in /webservices/woden/branches/woden47/src/org/apache/woden: ant/ internal/ internal/wsdl20/ internal/wsdl20/extensions/ internal/wsdl20/extensions/http/ internal/wsdl20/extensions/rpc/ internal/wsdl20/extensions/soap/ wsdl2...

Modified: webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingFaultExtensionsImpl.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingFaultExtensionsImpl.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingFaultExtensionsImpl.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingFaultExtensionsImpl.java Sun Feb  3 23:21:25 2008
@@ -18,17 +18,21 @@
 
 import java.net.URI;
 
-import org.apache.woden.internal.wsdl20.extensions.ComponentExtensionsImpl;
-import org.apache.woden.internal.wsdl20.extensions.http.HTTPConstants;
+import org.apache.woden.ErrorReporter;
 import org.apache.woden.internal.xml.QNameListOrTokenAnyAttrImpl;
 import org.apache.woden.internal.xml.QNameOrTokenAnyAttrImpl;
 import org.apache.woden.wsdl20.Binding;
 import org.apache.woden.wsdl20.NestedComponent;
+import org.apache.woden.wsdl20.WSDLComponent;
+import org.apache.woden.wsdl20.extensions.BaseComponentExtensionContext;
 import org.apache.woden.wsdl20.extensions.ComponentExtensions;
 import org.apache.woden.wsdl20.extensions.ExtensionElement;
+import org.apache.woden.wsdl20.extensions.ExtensionProperty;
+import org.apache.woden.wsdl20.extensions.http.HTTPConstants;
 import org.apache.woden.wsdl20.extensions.http.HTTPHeader;
 import org.apache.woden.wsdl20.extensions.soap.SOAPBindingExtensions;
 import org.apache.woden.wsdl20.extensions.soap.SOAPBindingFaultExtensions;
+import org.apache.woden.wsdl20.extensions.soap.SOAPConstants;
 import org.apache.woden.wsdl20.extensions.soap.SOAPFaultCode;
 import org.apache.woden.wsdl20.extensions.soap.SOAPFaultSubcodes;
 import org.apache.woden.wsdl20.extensions.soap.SOAPHeaderBlock;
@@ -43,10 +47,64 @@
  * 
  * @author John Kaputin (jkaputin@apache.org)
  */
-public class SOAPBindingFaultExtensionsImpl extends ComponentExtensionsImpl
+public class SOAPBindingFaultExtensionsImpl extends BaseComponentExtensionContext
                                             implements SOAPBindingFaultExtensions 
 {
 
+    public SOAPBindingFaultExtensionsImpl(WSDLComponent parent, 
+            URI extNamespace, ErrorReporter errReporter) {
+        
+        super(parent, extNamespace, errReporter);
+    }
+    
+    /* ************************************************************
+     *  Methods declared by ComponentExtensionContext
+     *  
+     *  These are the abstract methods inherited from BaseComponentExtensionContext,
+     *  to be implemented by this subclass.
+     * ************************************************************/
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.ComponentExtensionContext#getProperties()
+     */
+    public ExtensionProperty[] getProperties() {
+        
+        return new ExtensionProperty[] {
+                getProperty(SOAPConstants.PROP_SOAP_FAULT_CODE),
+                getProperty(SOAPConstants.PROP_SOAP_FAULT_SUBCODES),
+                getProperty(SOAPConstants.PROP_SOAP_MODULES),
+                getProperty(SOAPConstants.PROP_SOAP_HEADERS)};
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.ComponentExtensionContext#getProperty(java.lang.String)
+     */
+    public ExtensionProperty getProperty(String propertyName) {
+        
+        if(SOAPConstants.PROP_SOAP_FAULT_CODE.equals(propertyName)) {
+            return newExtensionProperty(SOAPConstants.PROP_SOAP_FAULT_CODE, getSoapFaultCode());
+            
+        } else if(SOAPConstants.PROP_SOAP_FAULT_SUBCODES.equals(propertyName)) {
+            return newExtensionProperty(SOAPConstants.PROP_SOAP_FAULT_SUBCODES, getSoapFaultSubcodes());
+            
+        } else if(SOAPConstants.PROP_SOAP_MODULES.equals(propertyName)) {
+            return newExtensionProperty(SOAPConstants.PROP_SOAP_MODULES, getSoapModules());
+            
+        } else if(SOAPConstants.PROP_SOAP_HEADERS.equals(propertyName)) {
+            return newExtensionProperty(SOAPConstants.PROP_SOAP_HEADERS, getSoapHeaders());
+            
+        } else {
+            return null; //the specified property name does not exist
+        }
+        
+    }
+    
+    /* ************************************************************
+     *  Additional methods declared by SOAPBindingFaultExtensions
+     * ************************************************************/
+    
     /* (non-Javadoc)
      * @see org.apache.woden.wsdl20.extensions.soap.SOAPBindingFaultExtensions#getSoapFaultCode()
      */
@@ -56,8 +114,8 @@
          * here, rather than the QNameOrTokenAttr interface, to guarantee that if the code contains an 
          * xs:token it is of type #any.
          */
-        QNameOrTokenAnyAttrImpl code = 
-            (QNameOrTokenAnyAttrImpl)fParentElement.getExtensionAttribute(SOAPConstants.Q_ATTR_SOAP_CODE);
+        QNameOrTokenAnyAttrImpl code = (QNameOrTokenAnyAttrImpl) ((WSDLElement)getParent())
+            .getExtensionAttribute(SOAPConstants.Q_ATTR_SOAP_CODE);
         
         if(code == null)
         {
@@ -90,8 +148,8 @@
          * here, rather than the QNameListOrTokenAttr interface, to gaurantee that if the code contains an 
          * xs:token it is of type #any.
          */
-        QNameListOrTokenAnyAttrImpl subcodes = 
-            (QNameListOrTokenAnyAttrImpl)fParentElement.getExtensionAttribute(SOAPConstants.Q_ATTR_SOAP_SUBCODES);
+        QNameListOrTokenAnyAttrImpl subcodes = (QNameListOrTokenAnyAttrImpl) ((WSDLElement)getParent())
+            .getExtensionAttribute(SOAPConstants.Q_ATTR_SOAP_SUBCODES);
         
         if(subcodes == null)
         {
@@ -120,7 +178,8 @@
      */
     public SOAPModule[] getSoapModules() 
     {
-        ExtensionElement[] extEls = fParentElement.getExtensionElementsOfType(SOAPConstants.Q_ELEM_SOAP_MODULE);
+        ExtensionElement[] extEls = ((WSDLElement)getParent())
+            .getExtensionElementsOfType(SOAPConstants.Q_ELEM_SOAP_MODULE);
         int len = extEls.length;
         SOAPModule[] soapMods = new SOAPModule[len];
         System.arraycopy(extEls, 0, soapMods, 0, len);
@@ -132,7 +191,8 @@
      */
     public SOAPHeaderBlock[] getSoapHeaders() 
     {
-        ExtensionElement[] extEls = fParentElement.getExtensionElementsOfType(SOAPConstants.Q_ELEM_SOAP_HEADER);
+        ExtensionElement[] extEls = ((WSDLElement)getParent())
+            .getExtensionElementsOfType(SOAPConstants.Q_ELEM_SOAP_HEADER);
         int len = extEls.length;
         SOAPHeaderBlock[] soapHeaders = new SOAPHeaderBlock[len];
         System.arraycopy(extEls, 0, soapHeaders, 0, len);
@@ -145,19 +205,19 @@
      */
     public String getHttpContentEncoding() 
     {
-        Binding binding = (Binding) ((NestedComponent)fParent).getParent();
+        Binding binding = (Binding) ((NestedComponent)getParent()).getParent();
         SOAPBindingExtensions soapBindExt = (SOAPBindingExtensions)binding
-           .getComponentExtensionsForNamespace(ComponentExtensions.NS_URI_SOAP);
+           .getComponentExtensionContext(SOAPConstants.NS_URI_SOAP);
         String version = soapBindExt.getSoapVersion();
         URI protocol = soapBindExt.getSoapUnderlyingProtocol();
         if(protocol == null) {
             return null;
         }
         
-        if( ("1.2".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP12_HTTP)) ||
-            ("1.1".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP11_HTTP)) )
+        if( (SOAPConstants.VERSION_1_2.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP12_HTTP)) ||
+            (SOAPConstants.VERSION_1_1.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP11_HTTP)) )
         {
-            StringAttr contEncoding = (StringAttr) ((WSDLElement)fParent)
+            StringAttr contEncoding = (StringAttr) ((WSDLElement)getParent())
                .getExtensionAttribute(HTTPConstants.Q_ATTR_CONTENT_ENCODING);
             return contEncoding != null ? contEncoding.getString() : null;
         } 
@@ -172,19 +232,19 @@
      */
     public HTTPHeader[] getHttpHeaders() 
     {
-        Binding binding = (Binding) ((NestedComponent)fParent).getParent();
+        Binding binding = (Binding) ((NestedComponent)getParent()).getParent();
         SOAPBindingExtensions soapBindExt = (SOAPBindingExtensions)binding
-           .getComponentExtensionsForNamespace(ComponentExtensions.NS_URI_SOAP);
+           .getComponentExtensionContext(SOAPConstants.NS_URI_SOAP);
         String version = soapBindExt.getSoapVersion();
         URI protocol = soapBindExt.getSoapUnderlyingProtocol();
         if(protocol == null) {
             return new HTTPHeader[0];
         }
         
-        if( ("1.2".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP12_HTTP)) ||
-            ("1.1".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP11_HTTP)) )
+        if( (SOAPConstants.VERSION_1_2.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP12_HTTP)) ||
+            (SOAPConstants.VERSION_1_1.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP11_HTTP)) )
         {
-            ExtensionElement[] extEls = ((WSDLElement)fParent)
+            ExtensionElement[] extEls = ((WSDLElement)getParent())
                 .getExtensionElementsOfType(HTTPConstants.Q_ELEM_HTTP_HEADER);
             int len = extEls.length;
             HTTPHeader[] httpHeaders = new HTTPHeader[len];

Modified: webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingFaultReferenceExtensionsImpl.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingFaultReferenceExtensionsImpl.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingFaultReferenceExtensionsImpl.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingFaultReferenceExtensionsImpl.java Sun Feb  3 23:21:25 2008
@@ -16,10 +16,17 @@
  */
 package org.apache.woden.internal.wsdl20.extensions.soap;
 
-import org.apache.woden.internal.wsdl20.extensions.ComponentExtensionsImpl;
+import java.net.URI;
+
+import org.apache.woden.ErrorReporter;
+import org.apache.woden.wsdl20.WSDLComponent;
+import org.apache.woden.wsdl20.extensions.BaseComponentExtensionContext;
 import org.apache.woden.wsdl20.extensions.ExtensionElement;
+import org.apache.woden.wsdl20.extensions.ExtensionProperty;
 import org.apache.woden.wsdl20.extensions.soap.SOAPBindingFaultReferenceExtensions;
+import org.apache.woden.wsdl20.extensions.soap.SOAPConstants;
 import org.apache.woden.wsdl20.extensions.soap.SOAPModule;
+import org.apache.woden.wsdl20.xml.WSDLElement;
 
 /**
  * This class defines the properties from the SOAP namespace
@@ -28,16 +35,59 @@
  * 
  * @author jkaputin@apache.org
  */
-public class SOAPBindingFaultReferenceExtensionsImpl extends ComponentExtensionsImpl 
+public class SOAPBindingFaultReferenceExtensionsImpl extends BaseComponentExtensionContext 
                                                      implements SOAPBindingFaultReferenceExtensions 
 {
 
+    public SOAPBindingFaultReferenceExtensionsImpl(WSDLComponent parent, 
+            URI extNamespace, ErrorReporter errReporter) {
+        
+        super(parent, extNamespace, errReporter);
+    }
+    
+    /* ************************************************************
+     *  Methods declared by ComponentExtensionContext
+     *  
+     *  These are the abstract methods inherited from BaseComponentExtensionContext,
+     *  to be implemented by this subclass.
+     * ************************************************************/
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.ComponentExtensionContext#getProperties()
+     */
+    public ExtensionProperty[] getProperties() {
+        
+        return new ExtensionProperty[] {
+                getProperty(SOAPConstants.PROP_SOAP_MODULES)};
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.ComponentExtensionContext#getProperty(java.lang.String)
+     */
+    public ExtensionProperty getProperty(String propertyName) {
+        
+        if(SOAPConstants.PROP_SOAP_MODULES.equals(propertyName)) {
+            return newExtensionProperty(SOAPConstants.PROP_SOAP_MODULES, getSoapModules());
+            
+        } else {
+            return null; //the specified property name does not exist
+        }
+        
+    }
+    
+    /* ************************************************************
+     *  Additional methods declared by SOAPBindingFaultReferenceExtensions
+     * ************************************************************/
+    
     /* (non-Javadoc)
      * @see org.apache.woden.wsdl20.extensions.soap.SOAPBindingFaultReferenceExtensions#getSoapModules()
      */
     public SOAPModule[] getSoapModules() 
     {
-        ExtensionElement[] extEls = fParentElement.getExtensionElementsOfType(SOAPConstants.Q_ELEM_SOAP_MODULE);
+        ExtensionElement[] extEls = ((WSDLElement)getParent())
+            .getExtensionElementsOfType(SOAPConstants.Q_ELEM_SOAP_MODULE);
         int len = extEls.length;
         SOAPModule[] soapMods = new SOAPModule[len];
         System.arraycopy(extEls, 0, soapMods, 0, len);

Modified: webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingMessageReferenceExtensionsImpl.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingMessageReferenceExtensionsImpl.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingMessageReferenceExtensionsImpl.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingMessageReferenceExtensionsImpl.java Sun Feb  3 23:21:25 2008
@@ -18,16 +18,19 @@
 
 import java.net.URI;
 
-import org.apache.woden.internal.wsdl20.extensions.ComponentExtensionsImpl;
-import org.apache.woden.internal.wsdl20.extensions.http.HTTPConstants;
+import org.apache.woden.ErrorReporter;
 import org.apache.woden.wsdl20.Binding;
 import org.apache.woden.wsdl20.BindingOperation;
 import org.apache.woden.wsdl20.NestedComponent;
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.WSDLComponent;
+import org.apache.woden.wsdl20.extensions.BaseComponentExtensionContext;
 import org.apache.woden.wsdl20.extensions.ExtensionElement;
+import org.apache.woden.wsdl20.extensions.ExtensionProperty;
+import org.apache.woden.wsdl20.extensions.http.HTTPConstants;
 import org.apache.woden.wsdl20.extensions.http.HTTPHeader;
 import org.apache.woden.wsdl20.extensions.soap.SOAPBindingExtensions;
 import org.apache.woden.wsdl20.extensions.soap.SOAPBindingMessageReferenceExtensions;
+import org.apache.woden.wsdl20.extensions.soap.SOAPConstants;
 import org.apache.woden.wsdl20.extensions.soap.SOAPHeaderBlock;
 import org.apache.woden.wsdl20.extensions.soap.SOAPModule;
 import org.apache.woden.wsdl20.xml.WSDLElement;
@@ -40,16 +43,63 @@
  * 
  * @author jkaputin@apache.org
  */
-public class SOAPBindingMessageReferenceExtensionsImpl extends ComponentExtensionsImpl 
+public class SOAPBindingMessageReferenceExtensionsImpl extends BaseComponentExtensionContext 
                                                        implements SOAPBindingMessageReferenceExtensions 
 {
 
+    public SOAPBindingMessageReferenceExtensionsImpl(WSDLComponent parent, 
+            URI extNamespace, ErrorReporter errReporter) {
+        
+        super(parent, extNamespace, errReporter);
+    }
+    
+    /* ************************************************************
+     *  Methods declared by ComponentExtensionContext
+     *  
+     *  These are the abstract methods inherited from BaseComponentExtensionContext,
+     *  to be implemented by this subclass.
+     * ************************************************************/
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.ComponentExtensionContext#getProperties()
+     */
+    public ExtensionProperty[] getProperties() {
+        
+        return new ExtensionProperty[] {
+                getProperty(SOAPConstants.PROP_SOAP_MODULES),
+                getProperty(SOAPConstants.PROP_SOAP_HEADERS)};
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.ComponentExtensionContext#getProperty(java.lang.String)
+     */
+    public ExtensionProperty getProperty(String propertyName) {
+        
+        if(SOAPConstants.PROP_SOAP_MODULES.equals(propertyName)) {
+            return newExtensionProperty(SOAPConstants.PROP_SOAP_MODULES, getSoapModules());
+            
+        } else if(SOAPConstants.PROP_SOAP_HEADERS.equals(propertyName)) {
+            return newExtensionProperty(SOAPConstants.PROP_SOAP_HEADERS, getSoapHeaders());
+            
+        } else {
+            return null; //the specified property name does not exist
+        }
+        
+    }
+    
+    /* ************************************************************
+     *  Additional methods declared by SOAPBindingFaultExtensions
+     * ************************************************************/
+    
     /* (non-Javadoc)
      * @see org.apache.woden.wsdl20.extensions.soap.SOAPBindingMessageReferenceExtensions#getSoapModules()
      */
     public SOAPModule[] getSoapModules() 
     {
-        ExtensionElement[] extEls = fParentElement.getExtensionElementsOfType(SOAPConstants.Q_ELEM_SOAP_MODULE);
+        ExtensionElement[] extEls = ((WSDLElement)getParent())
+            .getExtensionElementsOfType(SOAPConstants.Q_ELEM_SOAP_MODULE);
         int len = extEls.length;
         SOAPModule[] soapMods = new SOAPModule[len];
         System.arraycopy(extEls, 0, soapMods, 0, len);
@@ -61,7 +111,8 @@
      */
     public SOAPHeaderBlock[] getSoapHeaders() 
     {
-        ExtensionElement[] extEls = fParentElement.getExtensionElementsOfType(SOAPConstants.Q_ELEM_SOAP_HEADER);
+        ExtensionElement[] extEls = ((WSDLElement)getParent())
+            .getExtensionElementsOfType(SOAPConstants.Q_ELEM_SOAP_HEADER);
         int len = extEls.length;
         SOAPHeaderBlock[] soapHeaders = new SOAPHeaderBlock[len];
         System.arraycopy(extEls, 0, soapHeaders, 0, len);
@@ -74,20 +125,20 @@
      */
     public String getHttpContentEncoding() 
     {
-        BindingOperation bindingOp = (BindingOperation) ((NestedComponent)fParent).getParent();
+        BindingOperation bindingOp = (BindingOperation) ((NestedComponent)getParent()).getParent();
         Binding binding = (Binding) bindingOp.getParent();
         SOAPBindingExtensions soapBindExt = (SOAPBindingExtensions)binding
-           .getComponentExtensionsForNamespace(ComponentExtensions.NS_URI_SOAP);
+           .getComponentExtensionContext(SOAPConstants.NS_URI_SOAP);
         String version = soapBindExt.getSoapVersion();
         URI protocol = soapBindExt.getSoapUnderlyingProtocol();
         if(protocol == null) {
             return null;
         }
         
-        if( ("1.2".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP12_HTTP)) ||
-            ("1.1".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP11_HTTP)) )
+        if( (SOAPConstants.VERSION_1_2.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP12_HTTP)) ||
+            (SOAPConstants.VERSION_1_1.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP11_HTTP)) )
         {
-            StringAttr contEncoding = (StringAttr) ((WSDLElement)fParent)
+            StringAttr contEncoding = (StringAttr) ((WSDLElement)getParent())
                .getExtensionAttribute(HTTPConstants.Q_ATTR_CONTENT_ENCODING);
             return contEncoding != null ? contEncoding.getString() : null;
         } 
@@ -102,20 +153,20 @@
      */
     public HTTPHeader[] getHttpHeaders() 
     {
-        BindingOperation bindingOp = (BindingOperation) ((NestedComponent)fParent).getParent();
+        BindingOperation bindingOp = (BindingOperation) ((NestedComponent)getParent()).getParent();
         Binding binding = (Binding) bindingOp.getParent();
         SOAPBindingExtensions soapBindExt = (SOAPBindingExtensions)binding
-           .getComponentExtensionsForNamespace(ComponentExtensions.NS_URI_SOAP);
+           .getComponentExtensionContext(SOAPConstants.NS_URI_SOAP);
         String version = soapBindExt.getSoapVersion();
         URI protocol = soapBindExt.getSoapUnderlyingProtocol();
         if(protocol == null) {
             return new HTTPHeader[0];
         }
         
-        if( ("1.2".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP12_HTTP)) ||
-            ("1.1".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP11_HTTP)) )
+        if( (SOAPConstants.VERSION_1_2.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP12_HTTP)) ||
+            (SOAPConstants.VERSION_1_1.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP11_HTTP)) )
         {
-            ExtensionElement[] extEls = ((WSDLElement)fParent)
+            ExtensionElement[] extEls = ((WSDLElement)getParent())
                 .getExtensionElementsOfType(HTTPConstants.Q_ELEM_HTTP_HEADER);
             int len = extEls.length;
             HTTPHeader[] httpHeaders = new HTTPHeader[len];

Modified: webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingOperationExtensionsImpl.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingOperationExtensionsImpl.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingOperationExtensionsImpl.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPBindingOperationExtensionsImpl.java Sun Feb  3 23:21:25 2008
@@ -18,15 +18,18 @@
 
 import java.net.URI;
 
-import org.apache.woden.internal.wsdl20.extensions.ComponentExtensionsImpl;
-import org.apache.woden.internal.wsdl20.extensions.http.HTTPConstants;
+import org.apache.woden.ErrorReporter;
 import org.apache.woden.wsdl20.Binding;
 import org.apache.woden.wsdl20.NestedComponent;
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.WSDLComponent;
+import org.apache.woden.wsdl20.extensions.BaseComponentExtensionContext;
 import org.apache.woden.wsdl20.extensions.ExtensionElement;
+import org.apache.woden.wsdl20.extensions.ExtensionProperty;
+import org.apache.woden.wsdl20.extensions.http.HTTPConstants;
 import org.apache.woden.wsdl20.extensions.http.HTTPLocation;
 import org.apache.woden.wsdl20.extensions.soap.SOAPBindingExtensions;
 import org.apache.woden.wsdl20.extensions.soap.SOAPBindingOperationExtensions;
+import org.apache.woden.wsdl20.extensions.soap.SOAPConstants;
 import org.apache.woden.wsdl20.extensions.soap.SOAPModule;
 import org.apache.woden.wsdl20.xml.WSDLElement;
 import org.apache.woden.xml.StringAttr;
@@ -39,17 +42,67 @@
  * 
  * @author jkaputin@apache.org
  */
-public class SOAPBindingOperationExtensionsImpl extends ComponentExtensionsImpl
+public class SOAPBindingOperationExtensionsImpl extends BaseComponentExtensionContext
                                                 implements SOAPBindingOperationExtensions 
 {
 
+    public SOAPBindingOperationExtensionsImpl(WSDLComponent parent, 
+            URI extNamespace, ErrorReporter errReporter) {
+        
+        super(parent, extNamespace, errReporter);
+    }
+    
+    /* ************************************************************
+     *  Methods declared by ComponentExtensionContext
+     *  
+     *  These are the abstract methods inherited from BaseComponentExtensionContext,
+     *  to be implemented by this subclass.
+     * ************************************************************/
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.ComponentExtensionContext#getProperties()
+     */
+    public ExtensionProperty[] getProperties() {
+        
+        return new ExtensionProperty[] {
+                getProperty(SOAPConstants.PROP_SOAP_MEP),
+                getProperty(SOAPConstants.PROP_SOAP_ACTION),
+                getProperty(SOAPConstants.PROP_SOAP_MODULES)};
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.ComponentExtensionContext#getProperty(java.lang.String)
+     */
+    public ExtensionProperty getProperty(String propertyName) {
+        
+        if(SOAPConstants.PROP_SOAP_MEP.equals(propertyName)) {
+            return newExtensionProperty(SOAPConstants.PROP_SOAP_MEP, getSoapMep());
+            
+        } else if(SOAPConstants.PROP_SOAP_ACTION.equals(propertyName)) {
+            return newExtensionProperty(SOAPConstants.PROP_SOAP_ACTION, getSoapAction());
+            
+        } else if(SOAPConstants.PROP_SOAP_MODULES.equals(propertyName)) {
+            return newExtensionProperty(SOAPConstants.PROP_SOAP_MODULES, getSoapModules());
+            
+        } else {
+            return null; //the specified property name does not exist
+        }
+        
+    }
+    
+    /* ************************************************************
+     *  Additional methods declared by SOAPBindingOperationExtensions
+     * ************************************************************/
+    
     /* (non-Javadoc)
      * @see org.apache.woden.wsdl20.extensions.soap.SOAPBindingOperationExtensions#getSoapMep()
      */
     public URI getSoapMep() 
     {
-        URIAttr mep = 
-            (URIAttr)fParentElement.getExtensionAttribute(SOAPConstants.Q_ATTR_SOAP_MEP);
+        URIAttr mep = (URIAttr) ((WSDLElement)getParent())
+            .getExtensionAttribute(SOAPConstants.Q_ATTR_SOAP_MEP);
         return mep != null ? mep.getURI() : null;
     }
 
@@ -58,8 +111,8 @@
      */
     public URI getSoapAction() 
     {
-        URIAttr action = 
-            (URIAttr)fParentElement.getExtensionAttribute(SOAPConstants.Q_ATTR_SOAP_ACTION);
+        URIAttr action = (URIAttr) ((WSDLElement)getParent())
+            .getExtensionAttribute(SOAPConstants.Q_ATTR_SOAP_ACTION);
         return action != null ? action.getURI() : null;
     }
 
@@ -68,7 +121,8 @@
      */
     public SOAPModule[] getSoapModules() 
     {
-        ExtensionElement[] extEls = fParentElement.getExtensionElementsOfType(SOAPConstants.Q_ELEM_SOAP_MODULE);
+        ExtensionElement[] extEls = ((WSDLElement)getParent())
+            .getExtensionElementsOfType(SOAPConstants.Q_ELEM_SOAP_MODULE);
         int len = extEls.length;
         SOAPModule[] soapMods = new SOAPModule[len];
         System.arraycopy(extEls, 0, soapMods, 0, len);
@@ -82,19 +136,19 @@
      */
     public HTTPLocation getHttpLocation() {
         
-        Binding binding = (Binding) ((NestedComponent)fParent).getParent();
+        Binding binding = (Binding) ((NestedComponent)getParent()).getParent();
         SOAPBindingExtensions soapBindExt = (SOAPBindingExtensions)binding
-           .getComponentExtensionsForNamespace(ComponentExtensions.NS_URI_SOAP);
+           .getComponentExtensionContext(SOAPConstants.NS_URI_SOAP);
         String version = soapBindExt.getSoapVersion();
         URI protocol = soapBindExt.getSoapUnderlyingProtocol();
         if(protocol == null) {
             return null;
         }
         
-        if( ("1.2".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP12_HTTP)) ||
-            ("1.1".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP11_HTTP)) )
+        if( (SOAPConstants.VERSION_1_2.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP12_HTTP)) ||
+            (SOAPConstants.VERSION_1_1.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP11_HTTP)) )
         {
-            StringAttr httpLoc = (StringAttr) ((WSDLElement)fParent)
+            StringAttr httpLoc = (StringAttr) ((WSDLElement)getParent())
                 .getExtensionAttribute(HTTPConstants.Q_ATTR_LOCATION);
             return httpLoc != null ? new HTTPLocation(httpLoc.getString()) : null;
         } 
@@ -111,19 +165,19 @@
      */
     public String getHttpQueryParameterSeparator() {
         
-        Binding binding = (Binding) ((NestedComponent)fParent).getParent();
+        Binding binding = (Binding) ((NestedComponent)getParent()).getParent();
         SOAPBindingExtensions soapBindExt = (SOAPBindingExtensions)binding
-           .getComponentExtensionsForNamespace(ComponentExtensions.NS_URI_SOAP);
+           .getComponentExtensionContext(SOAPConstants.NS_URI_SOAP);
         String version = soapBindExt.getSoapVersion();
         URI protocol = soapBindExt.getSoapUnderlyingProtocol();
         if(protocol == null) {
             return null;
         }
         
-        if( ("1.2".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP12_HTTP)) ||
-            ("1.1".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP11_HTTP)) )
+        if( (SOAPConstants.VERSION_1_2.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP12_HTTP)) ||
+            (SOAPConstants.VERSION_1_1.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP11_HTTP)) )
         {
-            StringAttr separator = (StringAttr) ((WSDLElement) fParent)
+            StringAttr separator = (StringAttr) ((WSDLElement) getParent())
                 .getExtensionAttribute(HTTPConstants.Q_ATTR_QUERY_PARAMETER_SEPARATOR);
             return separator != null ? separator.getString() : null;
         } 
@@ -140,19 +194,19 @@
      */
     public String getHttpContentEncodingDefault() {
         
-        Binding binding = (Binding) ((NestedComponent)fParent).getParent();
+        Binding binding = (Binding) ((NestedComponent)getParent()).getParent();
         SOAPBindingExtensions soapBindExt = (SOAPBindingExtensions)binding
-           .getComponentExtensionsForNamespace(ComponentExtensions.NS_URI_SOAP);
+           .getComponentExtensionContext(SOAPConstants.NS_URI_SOAP);
         String version = soapBindExt.getSoapVersion();
         URI protocol = soapBindExt.getSoapUnderlyingProtocol();
         if(protocol == null) {
             return null;
         }
         
-        if( ("1.2".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP12_HTTP)) ||
-            ("1.1".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP11_HTTP)) )
+        if( (SOAPConstants.VERSION_1_2.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP12_HTTP)) ||
+            (SOAPConstants.VERSION_1_1.equals(version) && protocol.equals(SOAPConstants.PROTOCOL_URI_SOAP11_HTTP)) )
         {
-            StringAttr ceDef = (StringAttr) ((WSDLElement)fParent)
+            StringAttr ceDef = (StringAttr) ((WSDLElement)getParent())
                .getExtensionAttribute(HTTPConstants.Q_ATTR_CONTENT_ENCODING_DEFAULT);
             return ceDef != null ? ceDef.getString() : null;
         } 

Modified: webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPEndpointExtensionsImpl.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPEndpointExtensionsImpl.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPEndpointExtensionsImpl.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPEndpointExtensionsImpl.java Sun Feb  3 23:21:25 2008
@@ -18,14 +18,16 @@
 
 import java.net.URI;
 
-import org.apache.woden.internal.wsdl20.extensions.ComponentExtensionsImpl;
-import org.apache.woden.internal.wsdl20.extensions.http.HTTPConstants;
+import org.apache.woden.ErrorReporter;
 import org.apache.woden.wsdl20.Binding;
 import org.apache.woden.wsdl20.Endpoint;
-import org.apache.woden.wsdl20.NestedComponent;
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.WSDLComponent;
+import org.apache.woden.wsdl20.extensions.BaseComponentExtensionContext;
+import org.apache.woden.wsdl20.extensions.ExtensionProperty;
 import org.apache.woden.wsdl20.extensions.http.HTTPAuthenticationScheme;
+import org.apache.woden.wsdl20.extensions.http.HTTPConstants;
 import org.apache.woden.wsdl20.extensions.soap.SOAPBindingExtensions;
+import org.apache.woden.wsdl20.extensions.soap.SOAPConstants;
 import org.apache.woden.wsdl20.extensions.soap.SOAPEndpointExtensions;
 import org.apache.woden.wsdl20.xml.WSDLElement;
 import org.apache.woden.xml.HTTPAuthenticationSchemeAttr;
@@ -39,9 +41,45 @@
  * @author Arthur Ryman (ryman@ca.ibm.com, arthur.ryman@gmail.com)
  * 
  */
-public class SOAPEndpointExtensionsImpl extends ComponentExtensionsImpl
+public class SOAPEndpointExtensionsImpl extends BaseComponentExtensionContext
 		implements SOAPEndpointExtensions {
 
+
+    public SOAPEndpointExtensionsImpl(WSDLComponent parent, 
+            URI extNamespace, ErrorReporter errReporter) {
+        
+        super(parent, extNamespace, errReporter);
+    }
+    
+    /* ************************************************************
+     *  Methods declared by ComponentExtensionContext
+     *  
+     *  These are the abstract methods inherited from BaseComponentExtensionContext,
+     *  to be implemented by this subclass.
+     * ************************************************************/
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.ComponentExtensionContext#getProperties()
+     */
+    public ExtensionProperty[] getProperties() {
+        
+        return new ExtensionProperty[0]; //no SOAP extensions properties for Endpoint
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.woden.wsdl20.extensions.ComponentExtensionContext#getProperty(java.lang.String)
+     */
+    public ExtensionProperty getProperty(String propertyName) {
+        
+        return null; //no SOAP extension properties for Endpoint
+        
+    }
+    
+    /* ************************************************************
+     *  Additional methods declared by SOAPEndpointExtensions
+     * ************************************************************/
 	/*
 	 * (non-Javadoc)
 	 * 
@@ -49,14 +87,14 @@
 	 */
 	public HTTPAuthenticationScheme getHttpAuthenticationScheme() {
 
-        Endpoint endpoint = (Endpoint) fParent;
+        Endpoint endpoint = (Endpoint) getParent();
         Binding binding = endpoint.getBinding();
         if(binding == null) {
-            return null; //the wsdl is invalid
+            return null; //the wsdl is invalid  TODO - remove this check? (extensions require valid wsdl?)
         }
         
         SOAPBindingExtensions soapBindExt = (SOAPBindingExtensions)binding
-           .getComponentExtensionsForNamespace(ComponentExtensions.NS_URI_SOAP);
+           .getComponentExtensionContext(SOAPConstants.NS_URI_SOAP);
         String version = soapBindExt.getSoapVersion();
         URI protocol = soapBindExt.getSoapUnderlyingProtocol();
         if(protocol == null) {
@@ -66,7 +104,7 @@
         if( ("1.2".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP12_HTTP)) ||
             ("1.1".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP11_HTTP)) )
         {
-		    HTTPAuthenticationSchemeAttr scheme = (HTTPAuthenticationSchemeAttr) ((WSDLElement) fParent)
+		    HTTPAuthenticationSchemeAttr scheme = (HTTPAuthenticationSchemeAttr) ((WSDLElement) getParent())
 				.getExtensionAttribute(HTTPConstants.Q_ATTR_AUTHENTICATION_SCHEME);
 		    return scheme != null ? scheme.getScheme() : null;
         }
@@ -83,14 +121,14 @@
 	 */
 	public String getHttpAuthenticationRealm() {
 
-        Endpoint endpoint = (Endpoint) fParent;
+        Endpoint endpoint = (Endpoint) getParent();
         Binding binding = endpoint.getBinding();
         if(binding == null) {
-            return null; //the wsdl is invalid
+            return null; //the wsdl is invalid TODO - remove this check? (extensions require valid wsdl?)
         }
         
         SOAPBindingExtensions soapBindExt = (SOAPBindingExtensions)binding
-            .getComponentExtensionsForNamespace(ComponentExtensions.NS_URI_SOAP);
+            .getComponentExtensionContext(SOAPConstants.NS_URI_SOAP);
         String version = soapBindExt.getSoapVersion();
         URI protocol = soapBindExt.getSoapUnderlyingProtocol();
         if(protocol == null) {
@@ -100,7 +138,7 @@
         if( ("1.2".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP12_HTTP)) ||
             ("1.1".equals(version) && protocol.toString().equals(SOAPConstants.PROTOCOL_STRING_SOAP11_HTTP)) )
         {
-		    StringAttr realm = (StringAttr) ((WSDLElement) fParent)
+		    StringAttr realm = (StringAttr) ((WSDLElement) getParent())
 				.getExtensionAttribute(HTTPConstants.Q_ATTR_AUTHENTICATION_REALM);
 		    return realm != null ? realm.getString() : null;
         }

Modified: webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPHeaderBlockDeserializer.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPHeaderBlockDeserializer.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPHeaderBlockDeserializer.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPHeaderBlockDeserializer.java Sun Feb  3 23:21:25 2008
@@ -26,6 +26,7 @@
 import org.apache.woden.wsdl20.extensions.ExtensionDeserializer;
 import org.apache.woden.wsdl20.extensions.ExtensionElement;
 import org.apache.woden.wsdl20.extensions.ExtensionRegistry;
+import org.apache.woden.wsdl20.extensions.soap.SOAPConstants;
 import org.apache.woden.wsdl20.extensions.soap.SOAPHeaderBlockElement;
 import org.apache.woden.wsdl20.xml.DescriptionElement;
 import org.apache.woden.wsdl20.xml.DocumentableElement;

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/WSDLComponent.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/WSDLComponent.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/WSDLComponent.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/WSDLComponent.java Sun Feb  3 23:21:25 2008
@@ -18,8 +18,9 @@
 
 import java.net.URI;
 
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
 import org.apache.woden.wsdl20.extensions.ComponentExtensions;
-
+import org.apache.woden.wsdl20.extensions.PropertyExtensible;
 import org.apache.woden.wsdl20.fragids.FragmentIdentifier;
 
 /**
@@ -31,7 +32,7 @@
  * 
  * @author John Kaputin (jkaputin@apache.org)
  */
-public interface WSDLComponent 
+public interface WSDLComponent extends PropertyExtensible
 {
     /**
      * Tests whether this component is logically equivalent the specified component.
@@ -49,11 +50,30 @@
      * 
      * @param namespace a namespace URI different to the WSDL 2.0 namespace.
      * @return the <code>ComponentExtensions</code> with the specified namespace.
+     * 
+     * @deprecated in Milestone 8, replaced by getComponentExtensionContext(URI)
      */
     public ComponentExtensions getComponentExtensionsForNamespace(URI namespace);
     
-    //TODO consider a getExtensionProperty(N/S, propName) method here. 
+    /**
+     * Stores the ComponentExtensionContext object that provides access to this WSDL component's
+     * extension properties from the specified namespace.
+     * 
+     * @param extNamespace the namespace URI of the extension properties 
+     * @param compExtCtx the ComponentExtensionContext object for accessing the extension properties
+     */
+    public void setComponentExtensionContext(URI extNamespace, ComponentExtensionContext compExtCtx);
+    
+    /**
+     * Returns the ComponentExtensionContext object that provides access to this WSDL component's
+     * extension properties from the specified namespace.
+     * 
+     * @param extNamespace the namespace URI of the extension properties 
+     * @return the ComponentExtensionContext object for accessing the extension properties
+     */
+    public ComponentExtensionContext getComponentExtensionContext(URI extNamespace);
     
+   
     /**
      * Returns the fragment identifier for this WSDL 2.0 component.
      * 

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/ExtensionRegistry.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/ExtensionRegistry.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/ExtensionRegistry.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/ExtensionRegistry.java Sun Feb  3 23:21:25 2008
@@ -17,7 +17,6 @@
 package org.apache.woden.wsdl20.extensions;
 
 import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.Hashtable;
@@ -30,7 +29,7 @@
 import org.apache.woden.ErrorReporter;
 import org.apache.woden.WSDLException;
 import org.apache.woden.XMLElement;
-import org.apache.woden.wsdl20.xml.InterfaceElement;
+import org.apache.woden.wsdl20.WSDLComponent;
 import org.apache.woden.wsdl20.xml.WSDLElement;
 import org.apache.woden.xml.UnknownAttr;
 import org.apache.woden.xml.XMLAttr;
@@ -629,19 +628,20 @@
   /**
    * Register the Java class which will represent extensions from a specified 
    * namespace that will extend the specified WSDL component class.
+   * The Java class must implement <code>ComponentExtensionContext</code>.
    * 
    * @param parentClass the WSDL component class
    * @param extNamespace the extension namespace
-   * @param compExtClass the Java class representing these extensions
+   * @param compExtCtxClass the Java class representing these extensions
    */
   public void registerComponentExtension(Class parentClass,
                                          URI extNamespace,
-                                         Class compExtClass)
+                                         Class compExtCtxClass)
   {
-      if(!(ComponentExtensions.class.isAssignableFrom(compExtClass)))
+      if(!(ComponentExtensionContext.class.isAssignableFrom(compExtCtxClass)))
       {
           String msg = getErrorReporter().getFormattedMessage("WSDL016", 
-                  new Object[] {compExtClass.getName()});    
+                  new Object[] {compExtCtxClass.getName()});    
           throw new IllegalArgumentException(msg);
       }
       
@@ -655,12 +655,13 @@
           compExtReg.put(parentClass, innerCompExtReg);
       }
       
-      innerCompExtReg.put(extNamespace, compExtClass);
+      innerCompExtReg.put(extNamespace, compExtCtxClass);
   }
   
   /**
    * Return the Java class that represents the extensions from the specified
    * namespace that extend the specified WSDL component class.
+   * This class will be an implementation of <code>ComponentExtensionContext</code>.
    * 
    * @param parentClass the WSDL component
    * @param extNamespace the extension namespace
@@ -706,45 +707,67 @@
   }
   
   /**
-   * Return a ComponentExtensions object from the Java class registered for 
+   * Return a ComponentExtensionContext object from the Java class registered for 
    * the specified extension namespace against the specified WSDL component class.
    * 
    * @param parentClass the WSDL component class.
    * @param extNamespace the extension namespace.
-   * @return a <code>ComponentExtensions</code> object
+   * @return a <code>ComponentExtensionContext</code> object
    * @throws WSDLException if no Java class is registered for this namespace and WSDL component.
    */
-  public ComponentExtensions createComponentExtension(Class parentClass, 
+  public ComponentExtensionContext createComponentExtension(Class parentClass,
+                                                      WSDLComponent parentComp,
                                                       URI extNamespace)
                                                       throws WSDLException
   {
-      Class compExtClass = queryComponentExtension(parentClass, extNamespace);
+      Class compExtCtxClass = queryComponentExtension(parentClass, extNamespace);
       
-      if(compExtClass == null)
+      if(compExtCtxClass == null)
       {
           String msg = getErrorReporter().getFormattedMessage("WSDL015",
                   new Object[] {extNamespace.toString(), parentClass.getName()});
           throw new WSDLException(WSDLException.CONFIGURATION_ERROR, "WSDL015: " + msg);
       }
           
-      ComponentExtensions compExt = null;
+      ComponentExtensionContext compExtCtx = null;
       
+      /* TODO remove with woden-47
       try {
-          compExt = (ComponentExtensions)compExtClass.newInstance();
+          compExtCtx = (ComponentExtensionContext)compExtCtxClass.newInstance();
       } 
       catch (InstantiationException e) 
       {
           String msg = getErrorReporter().getFormattedMessage("WSDL009",
-                  new Object[] {compExtClass.getName()});
+                  new Object[] {compExtCtxClass.getName()});
           throw new WSDLException(WSDLException.CONFIGURATION_ERROR, "WSDL009: " + msg, e);
       } 
       catch (IllegalAccessException e) {
           String msg = getErrorReporter().getFormattedMessage("WSDL009",
-                  new Object[] {compExtClass.getName()});
+                  new Object[] {compExtCtxClass.getName()});
           throw new WSDLException(WSDLException.CONFIGURATION_ERROR, "WSDL009: " + msg, e);
       }
+      */
+      
+      
+      try {
+          Class[] ctorParms = new Class[] {WSDLComponent.class, URI.class, ErrorReporter.class};
+          Constructor ctor = compExtCtxClass.getConstructor(ctorParms);
+          Object[] ctorParmValues = new Object[] {parentComp, extNamespace, getErrorReporter()};
+          compExtCtx = (ComponentExtensionContext)ctor.newInstance(ctorParmValues);
+      } 
+      catch (Exception e) {
+          //SecurityException
+          //NoSuchMethodException
+          //InvocationTargetException
+          //InstantiationException
+          //IllegalAccessException
+          String msg = getErrorReporter().getFormattedMessage("WSDL009", 
+                           new Object[] {compExtCtxClass.getName()});
+          throw new WSDLException(WSDLException.CONFIGURATION_ERROR, "WSDL009: " + msg, e);
+      } 
+      
       
-      return compExt;
+      return compExtCtx;
   }
   
     public void registerResourceBundle(String resourceBundleName) {

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/InterfaceOperationExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/InterfaceOperationExtensions.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/InterfaceOperationExtensions.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/InterfaceOperationExtensions.java Sun Feb  3 23:21:25 2008
@@ -19,21 +19,38 @@
 
 /**
  * <code>InterfaceOperationExtensions</code> represents the WSDL 2.0
- * predefined extensions, as specified on Part 2: Adjuncts, for the Interface
+ * predefined extensions, as specified by WSDL 2.0 Part 2: Adjuncts, for the Interface
  * Operation component.
- * 
- * The only predefined extension property is:
- * {safety}
+ * <p>
+ * Provides access to the extension properties of the Interface Operation component
+ * that are in the <code>http://www.w3.org/ns/wsdl-extensions</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects 
+ * via the <code>getProperties</code> and <code>getProperty</code> methods  
+ * using the property names and Java types shown in the following table.
+ * <p>
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>safe</td>
+ * <td>java.lang.Boolean</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods, 
+ * this interface defines accessor methods specific to each extension property. 
  * 
  * @author Arthur Ryman (ryman@ca.ibm.com)
  * 
  */
-public interface InterfaceOperationExtensions extends ComponentExtensions {
+public interface InterfaceOperationExtensions extends ComponentExtensionContext {
 
-	/*
-	 * Returns the value of the {safety} extension property of Interface
-	 * Operation as defined by the wsdlx:safe attribute.
+	/**
+	 * Returns the value of the {safe} extension property of Interface
+	 * Operation as defined by the <code>wsdlx:safe</code> attribute.
 	 */
-	public boolean isSafety();
+	public boolean isSafe();
 
 }

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingExtensions.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingExtensions.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingExtensions.java Sun Feb  3 23:21:25 2008
@@ -16,24 +16,45 @@
  */
 package org.apache.woden.wsdl20.extensions.http;
 
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
 
 /**
- * This interface represents the properties from the HTTP namespace
- * added to the WSDL 2.0 <code>Binding</code> component as part 
- * of the HTTP binding extension. 
+ * Provides access to the extension properties of the Binding component 
+ * that are in the <code>http://www.w3.org/ns/wsdl/http</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects 
+ * via the <code>getProperties</code> and <code>getProperty</code> methods  
+ * using the property names and Java types shown in the following table.
  * <p>
- * These include:
- * <ul>
- * <li>{http method default}</li>
- * <li>{http query parameter separator default}</li>
- * <li>{http cookies}</li>
- * <li>{http content encoding default}</li>
- * </ul> 
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>http method default</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http query parameter separator default</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http cookies</td>
+ * <td>java.lang.Boolean</td>
+ * </tr>
+ * <tr>
+ * <td>http content encoding default</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods, 
+ * this interface defines accessor methods specific to each HTTP extension property. 
  * 
  * @author John Kaputin (jkaputin@apache.org)
+ * 
  */
-public interface HTTPBindingExtensions extends ComponentExtensions 
+public interface HTTPBindingExtensions extends ComponentExtensionContext 
 {
     public String getHttpMethodDefault();
     

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingFaultExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingFaultExtensions.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingFaultExtensions.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingFaultExtensions.java Sun Feb  3 23:21:25 2008
@@ -16,23 +16,40 @@
  */
 package org.apache.woden.wsdl20.extensions.http;
 
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
 
 /**
- * This interface represents the properties from the HTTP namespace
- * added to the WSDL 2.0 <code>BindingFault</code> component as part 
- * of the HTTP binding extension. 
+ * Provides access to the extension properties of the Binding Fault component 
+ * that are in the <code>http://www.w3.org/ns/wsdl/http</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects 
+ * via the <code>getProperties</code> and <code>getProperty</code> methods  
+ * using the property names and Java types shown in the following table.
  * <p>
- * These include:
- * <ul>
- * <li>{http error status code}</li>
- * <li>{http content encoding}</li>
- * <li>{http headers}</li>
- * </ul> 
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>http error status code</td>
+ * <td>org.apache.woden.wsdl20.extensions.http.HTTPErrorStatusCode</td>
+ * </tr>
+ * <tr>
+ * <td>http content encoding</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http headers</td>
+ * <td>org.apache.woden.wsdl20.extensions.http.HTTPHeader[]</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods, 
+ * this interface defines accessor methods specific to each HTTP extension property. 
  * 
  * @author John Kaputin (jkaputin@apache.org)
  */
-public interface HTTPBindingFaultExtensions extends ComponentExtensions 
+public interface HTTPBindingFaultExtensions extends ComponentExtensionContext 
 {
     public HTTPErrorStatusCode getHttpErrorStatusCode();
     

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingMessageReferenceExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingMessageReferenceExtensions.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingMessageReferenceExtensions.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingMessageReferenceExtensions.java Sun Feb  3 23:21:25 2008
@@ -16,22 +16,36 @@
  */
 package org.apache.woden.wsdl20.extensions.http;
 
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
 
 /**
- * This interface represents the properties from the HTTP namespace
- * added to the WSDL 2.0 <code>BindingMessageReference</code> component as part 
- * of the HTTP binding extension. 
+ * Provides access to the extension properties of the Binding Message Reference component 
+ * that are in the <code>http://www.w3.org/ns/wsdl/http</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects 
+ * via the <code>getProperties</code> and <code>getProperty</code> methods  
+ * using the property names and Java types shown in the following table.
  * <p>
- * These include:
- * <ul>
- * <li>{http content encoding}</li>
- * <li>{http headers}</li>
- * </ul> 
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>http content encoding</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http headers</td>
+ * <td>org.apache.woden.wsdl20.extensions.http.HTTPHeader[]</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods, 
+ * this interface defines accessor methods specific to each HTTP extension property. 
  * 
  * @author John Kaputin (jkaputin@apache.org)
  */
-public interface HTTPBindingMessageReferenceExtensions extends ComponentExtensions 
+public interface HTTPBindingMessageReferenceExtensions extends ComponentExtensionContext 
 {
     /**
      * @return String the {http content encoding} property, represented by the whttp:contentEncoding extension attribute

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingOperationExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingOperationExtensions.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingOperationExtensions.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPBindingOperationExtensions.java Sun Feb  3 23:21:25 2008
@@ -16,30 +16,62 @@
  */
 package org.apache.woden.wsdl20.extensions.http;
 
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
 
 /**
- * This interface represents the properties from the HTTP namespace
- * added to the WSDL 2.0 <code>BindingOperation</code> component as part 
- * of the HTTP binding extension. 
+ * Provides access to the extension properties of the Binding Operation component 
+ * that are in the <code>http://www.w3.org/ns/wsdl/http</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects 
+ * via the <code>getProperties</code> and <code>getProperty</code> methods  
+ * using the property names and Java types shown in the following table.
  * <p>
- * These include:
- * <ul>
- * <li>{http location}</li>
- * <li>{http location ignore uncited}</li>
- * <li>{http method}</li>
- * <li>{http input serialization}</li>
- * <li>{http output serialization}</li>
- * <li>{http fault serialization}</li>
- * <li>{http query parameter separator}</li>
- * <li>{http content encoding default}</li>
- * </ul> 
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>http location</td>
+ * <td>org.apache.woden.wsdl20.extensions.http.HTTPLocation</td>
+ * </tr>
+ * <tr>
+ * <td>http location ignore uncited</td>
+ * <td>java.lang.Boolean</td>
+ * </tr>
+ * <tr>
+ * <td>http method</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http input serialization</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http output serialization</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http fault serialization</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http query parameter separator</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http content encoding default</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods, 
+ * this interface defines accessor methods specific to each HTTP extension property. 
  * 
  * @author John Kaputin (jkaputin@apache.org)
  * @author Arthur Ryman (ryman@ca.ibm.com, arthur.ryman@gmail.com)
  * - added support for {http location ignore uncited}
  */
-public interface HTTPBindingOperationExtensions extends ComponentExtensions 
+public interface HTTPBindingOperationExtensions extends ComponentExtensionContext 
 {
     /**
      * @return HTTPLocation the {http location} property, represented by the whttp:location extension attribute

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPEndpointExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPEndpointExtensions.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPEndpointExtensions.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/http/HTTPEndpointExtensions.java Sun Feb  3 23:21:25 2008
@@ -16,23 +16,37 @@
  */
 package org.apache.woden.wsdl20.extensions.http;
 
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
 
 /**
- * This interface represents the properties from the HTTP namespace added to the
- * WSDL 2.0 <code>Endpoint</code> component as part of the HTTP binding
- * extension.
+ * Provides access to the extension properties of the Endpoint component 
+ * that are in the <code>http://www.w3.org/ns/wsdl/http</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects 
+ * via the <code>getProperties</code> and <code>getProperty</code> methods  
+ * using the property names and Java types shown in the following table.
  * <p>
- * These include:
- * <ul>
- * <li>{http authentication scheme}</li>
- * <li>{http authentication realm}</li>
- * </ul>
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>http authentication scheme</td>
+ * <td>org.apache.woden.wsdl20.extensions.http.HTTPAuthenticationScheme</td>
+ * </tr>
+ * <tr>
+ * <td>http authentication realm</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods, 
+ * this interface defines accessor methods specific to each HTTP extension property. 
  * 
  * @author Arthur Ryman (ryman@ca.ibm.com, arthur.ryman@gmail.com)
  * 
  */
-public interface HTTPEndpointExtensions extends ComponentExtensions {
+public interface HTTPEndpointExtensions extends ComponentExtensionContext {
 
 	public HTTPAuthenticationScheme getHttpAuthenticationScheme();
 

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/rpc/RPCInterfaceOperationExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/rpc/RPCInterfaceOperationExtensions.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/rpc/RPCInterfaceOperationExtensions.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/rpc/RPCInterfaceOperationExtensions.java Sun Feb  3 23:21:25 2008
@@ -17,22 +17,39 @@
 
 package org.apache.woden.wsdl20.extensions.rpc;
 
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
 
 /**
  * <code>RPCInterfaceOperationExtensions</code> represents the WSDL 2.0 predefined
- * RPC extensions, as specified on Part 2: Adjuncts, for the Interface Operation
- * component.
- * 
- * The only predefined extension attribute is:
- * {rpc signature} 
+ * RPC extensions, as specified in the WSDL 2.0 Part 2: Adjuncts specification, 
+ * for the Interface Operation component.
+ * <p>
+ * Provides access to the extension properties of the Interface Operation component 
+ * that are in the <code>http://www.w3.org/ns/wsdl/rpc</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects 
+ * via the <code>getProperties</code> and <code>getProperty</code> methods  
+ * using the property names and Java types shown in the following table.
+ * <p>
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>rpc signature</td>
+ * <td>org.apache.woden.wsdl20.extensions.rpc.Argument[]</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods, 
+ * this interface defines accessor methods specific to each extension property. 
  *  
  * @author Arthur Ryman (ryman@ca.ibm.com)
  *
  */
-public interface RPCInterfaceOperationExtensions extends ComponentExtensions {
+public interface RPCInterfaceOperationExtensions extends ComponentExtensionContext {
 	
-	/*
+	/**
 	 * Returns the {rpc signature} extension property of Interface Operation 
 	 * as defined by the wrpc:signature attribute.
 	 */

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingExtensions.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingExtensions.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingExtensions.java Sun Feb  3 23:21:25 2008
@@ -18,34 +18,55 @@
 
 import java.net.URI;
 
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
 
 /**
- * This interface represents the properties from the SOAP namespace
- * added to the WSDL 2.0 <code>Binding</code> component as part 
- * of the SOAP binding extension. 
+ * Provides access to the extension properties of the Binding component 
+ * that are in the <code>http://www.w3.org/ns/wsdl/soap</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects 
+ * via the <code>getProperties</code> and <code>getProperty</code> methods  
+ * using the property names and Java types shown in the following table.
  * <p>
- * These include:
- * <ul>
- * <li>{soap version}</li>
- * <li>{soap underlying protocol}</li>
- * <li>{soap mep default}</li>
- * <li>{soap modules}</li>
- * </ul> 
- * It also defines the properties from the HTTP extensions that
- * are present in the SOAP Binding extensions when the underlying
- * protocol is HTTP.
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>soap version</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>soap underlying protocol</td>
+ * <td>java.net.URI</td>
+ * </tr>
+ * <tr>
+ * <td>soap mep default</td>
+ * <td>java.net.URI</td>
+ * </tr>
+ * <tr>
+ * <td>soap modules</td>
+ * <td>org.apache.woden.wsdl20.extensions.soap.SOAPModule[]</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods, 
+ * this interface defines accessor methods specific to each SOAP extension property. 
+ * It also provides accessor methods for some additional HTTP extension properties 
+ * that are present in a SOAP binding when the underlying protocol is HTTP.
  * <p>
- * These include:
+ * These are:
  * <ul>
  * <li>{http query parameter separator default}</li>
  * <li>{http cookies}</li>
  * <li>{http content encoding default}</li>
  * </ul>
+ * <p> 
+ * TODO Re HTTP methods, consider WODEN-158 which proposes keeping extension interfaces namespace-specific, not binding-type-specific
  * 
  * @author John Kaputin (jkaputin@apache.org)
  */
-public interface SOAPBindingExtensions extends ComponentExtensions 
+public interface SOAPBindingExtensions extends ComponentExtensionContext 
 {
     public String getSoapVersion();
     

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingFaultExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingFaultExtensions.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingFaultExtensions.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingFaultExtensions.java Sun Feb  3 23:21:25 2008
@@ -16,34 +16,55 @@
  */
 package org.apache.woden.wsdl20.extensions.soap;
 
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
 import org.apache.woden.wsdl20.extensions.http.HTTPHeader;
 
 /**
- * This interface represents the properties from the SOAP namespace
- * added to the WSDL 2.0 <code>BindingFault</code> component as part 
- * of the SOAP binding extension.
+ * Provides access to the extension properties of the Binding Fault component 
+ * that are in the <code>http://www.w3.org/ns/wsdl/soap</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects 
+ * via the <code>getProperties</code> and <code>getProperty</code> methods  
+ * using the property names and Java types shown in the following table.
  * <p>
- * These include:
- * <ul>
- * <li>{soap fault code}</li>
- * <li>{soap fault subcodes}</li>
- * <li>{soap modules}</li>
- * <li>{soap headers}</li>
- * </ul> 
- * It also defines the properties from the HTTP extensions that
- * are present in the SOAP BindingFault extensions when the underlying
- * protocol of the SOAP Binding is HTTP.
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>soap fault code</td>
+ * <td>org.apache.woden.wsdl20.extensions.soap.SOAPFaultCode</td>
+ * </tr>
+ * <tr>
+ * <td>soap fault subcodes</td>
+ * <td>org.apache.woden.wsdl20.extensions.soap.SOAPFaultSubcodes</td>
+ * </tr>
+ * <tr>
+ * <td>soap modules</td>
+ * <td>org.apache.woden.wsdl20.extensions.soap.SOAPModule[]</td>
+ * </tr>
+ * <tr>
+ * <td>soap headers</td>
+ * <td>org.apache.woden.wsdl20.extensions.soap.SOAPHeaderBlock[]</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods, 
+ * this interface defines accessor methods specific to each SOAP extension property. 
+ * It also provides accessor methods for some additional HTTP extension properties 
+ * that are present in a SOAP binding when the underlying protocol is HTTP.
  * <p>
- * These include:
+ * These are:
  * <ul>
  * <li>{http content encoding}</li>
  * <li>{http headers}</li>
  * </ul>
+ * <p> 
+ * TODO Re HTTP methods, consider WODEN-158 which proposes keeping extension interfaces namespace-specific, not binding-type-specific
  * 
  * @author John Kaputin (jkaputin@apache.org)
  */
-public interface SOAPBindingFaultExtensions extends ComponentExtensions 
+public interface SOAPBindingFaultExtensions extends ComponentExtensionContext 
 {
     /**
      * Returns an object representing the {soap fault code} property, which may

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingFaultReferenceExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingFaultReferenceExtensions.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingFaultReferenceExtensions.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingFaultReferenceExtensions.java Sun Feb  3 23:21:25 2008
@@ -16,21 +16,32 @@
  */
 package org.apache.woden.wsdl20.extensions.soap;
 
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
 
 /**
- * This interface represents the properties from the SOAP namespace
- * added to the WSDL 2.0 <code>BindingFaultReference</code> component as part 
- * of the SOAP binding extension.
+ * Provides access to the extension properties of the Binding Fault Reference component 
+ * that are in the <code>http://www.w3.org/ns/wsdl/soap</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects 
+ * via the <code>getProperties</code> and <code>getProperty</code> methods  
+ * using the property names and Java types shown in the following table.
  * <p>
- * These include:
- * <ul>
- * <li>{soap modules}</li>
- * </ul> 
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>soap modules</td>
+ * <td>org.apache.woden.wsdl20.extensions.soap.SOAPModule[]</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods, 
+ * this interface defines accessor methods specific to each SOAP extension property. 
  * 
- * @author jkaputin@apache.org
+ * @author John Kaputin (jkaputin@apache.org)
  */
-public interface SOAPBindingFaultReferenceExtensions extends ComponentExtensions 
+public interface SOAPBindingFaultReferenceExtensions extends ComponentExtensionContext 
 {
     public SOAPModule[] getSoapModules();
 }

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingMessageReferenceExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingMessageReferenceExtensions.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingMessageReferenceExtensions.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingMessageReferenceExtensions.java Sun Feb  3 23:21:25 2008
@@ -16,32 +16,47 @@
  */
 package org.apache.woden.wsdl20.extensions.soap;
 
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
 import org.apache.woden.wsdl20.extensions.http.HTTPHeader;
 
 /**
- * This interface represents the properties from the SOAP namespace
- * added to the WSDL 2.0 <code>BindingMessageReference</code> component as part 
- * of the SOAP binding extension.
+ * Provides access to the extension properties of the Binding Message Reference component 
+ * that are in the <code>http://www.w3.org/ns/wsdl/soap</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects 
+ * via the <code>getProperties</code> and <code>getProperty</code> methods  
+ * using the property names and Java types shown in the following table.
  * <p>
- * These include:
- * <ul>
- * <li>{soap modules}</li>
- * <li>{soap headers}</li>
- * </ul> 
- * It also defines the properties from the HTTP extensions that
- * are present in the SOAP BindingMessageReference extensions when the underlying
- * protocol of the SOAP Binding is HTTP.
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>soap modules</td>
+ * <td>org.apache.woden.wsdl20.extensions.soap.SOAPModule[]</td>
+ * </tr>
+ * <tr>
+ * <td>soap headers</td>
+ * <td>org.apache.woden.wsdl20.extensions.soap.SOAPHeaderBlock[]</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods, 
+ * this interface defines accessor methods specific to each SOAP extension property. 
+ * It also provides accessor methods for some additional HTTP extension properties 
+ * that are present in a SOAP binding when the underlying protocol is HTTP.
  * <p>
- * These include:
+ * These are:
  * <ul>
  * <li>{http content encoding}</li>
  * <li>{http headers}</li>
  * </ul>
+ * <p> 
+ * TODO Re HTTP methods, consider WODEN-158 which proposes keeping extension interfaces namespace-specific, not binding-type-specific
  * 
  * @author John Kaputin (jkaputin@apache.org)
  */
-public interface SOAPBindingMessageReferenceExtensions extends ComponentExtensions 
+public interface SOAPBindingMessageReferenceExtensions extends ComponentExtensionContext 
 {
     public SOAPModule[] getSoapModules();
 

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingOperationExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingOperationExtensions.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingOperationExtensions.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPBindingOperationExtensions.java Sun Feb  3 23:21:25 2008
@@ -18,34 +18,51 @@
 
 import java.net.URI;
 
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
 import org.apache.woden.wsdl20.extensions.http.HTTPLocation;
 
 /**
- * This interface represents the properties from the SOAP namespace
- * added to the WSDL 2.0 <code>BindingOperation</code> component as part 
- * of the SOAP binding extension.
+ * Provides access to the extension properties of the Binding Operation component 
+ * that are in the <code>http://www.w3.org/ns/wsdl/soap</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects 
+ * via the <code>getProperties</code> and <code>getProperty</code> methods  
+ * using the property names and Java types shown in the following table.
  * <p>
- * These include:
- * <ul>
- * <li>{soap mep}</li>
- * <li>{soap action}</li>
- * <li>{soap modules}</li>
- * </ul> 
- * It also defines the properties from the HTTP extensions that
- * are present in the SOAP BindingOperation extensions when the underlying
- * protocol of the SOAP Binding is HTTP.
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>soap mep</td>
+ * <td>java.net.URI</td>
+ * </tr>
+ * <tr>
+ * <td>soap action</td>
+ * <td>java.net.URI</td>
+ * </tr>
+ * <td>soap modules</td>
+ * <td>org.apache.woden.wsdl20.extensions.soap.SOAPModule[]</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods, 
+ * this interface defines accessor methods specific to each SOAP extension property. 
+ * It also provides accessor methods for some additional HTTP extension properties 
+ * that are present in a SOAP binding when the underlying protocol is HTTP.
  * <p>
- * These include:
+ * These are:
  * <ul>
  * <li>{http location}</li>
  * <li>{http query parameter separator}</li>
  * <li>{http content encoding default}</li>
  * </ul>
+ * <p> 
+ * TODO Re HTTP methods, consider WODEN-158 which proposes keeping extension interfaces namespace-specific, not binding-type-specific
  * 
  * @author John Kaputin (jkaputin@apache.org)
  */
-public interface SOAPBindingOperationExtensions extends ComponentExtensions 
+public interface SOAPBindingOperationExtensions extends ComponentExtensionContext 
 {
     /**
      * Returns an object representing the {soap mep} property, of type xs:anyURI.

Modified: webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPEndpointExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPEndpointExtensions.java?rev=618183&r1=618182&r2=618183&view=diff
==============================================================================
--- webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPEndpointExtensions.java (original)
+++ webservices/woden/branches/woden47/src/org/apache/woden/wsdl20/extensions/soap/SOAPEndpointExtensions.java Sun Feb  3 23:21:25 2008
@@ -16,26 +16,58 @@
  */
 package org.apache.woden.wsdl20.extensions.soap;
 
-import org.apache.woden.wsdl20.extensions.ComponentExtensions;
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
 import org.apache.woden.wsdl20.extensions.http.HTTPAuthenticationScheme;
 
 /**
- * This interface represents the properties from the HTTP namespace added to the
- * WSDL 2.0 <code>Endpoint</code> component when the binding type is SOAP and the
- * underlying protocol is HTTP.
+ * There are no WSDL 2.0 SOAP extension properties (from the namespace
+ * <code>http://www.w3.org/ns/wsdl/soap</code>) attached to the Endpoint component.
  * <p>
- * These include:
+ * The purpose of this interface is to maintain consistency across the 
+ * WSDL 2.0 SOAP extensions in Woden, which define accessor methods for the 
+ * HTTP properties that are added to WSDL 2.0 components, along with 
+ * the SOAP properties, when a SOAP binding specifies HTTP as the underlying
+ * protocol.
+ * <p>
+ * For this interface, the generic ExtensionProperty accessor methods, 
+ * <code>getProperties</code> and <code>getProperty</code>, return null 
+ * (because they only apply to SOAP extension properties, which are not present 
+ * for the Endpoint component).
+ * <p>
+ * This interface defines additional extension-specific accessor methods for the 
+ * HTTP extension properties that are added to the Endpoint component by a SOAP binding 
+ * when the underlying protocol is HTTP.
+ * <p>
+ * These are:
  * <ul>
  * <li>{http authentication scheme}</li>
  * <li>{http authentication realm}</li>
  * </ul>
+ * <p> 
+ * TODO Re HTTP methods, consider WODEN-158 which proposes keeping extension interfaces namespace-specific, not binding-type-specific
  * 
  * @author Arthur Ryman (ryman@ca.ibm.com, arthur.ryman@gmail.com)
  * 
  */
-public interface SOAPEndpointExtensions extends ComponentExtensions {
+public interface SOAPEndpointExtensions extends ComponentExtensionContext {
 
+    /**
+     * If the SOAP binding specifies HTTP as the underlying protocol, the 
+     * {http authentication scheme} property is added to the Endpoint component
+     * and it will be returned by this method. 
+     * If the underlying protocol is not HTTP, this method will return null.
+     * 
+     * @return the HTTPAuthenticationScheme if present, otherwise null
+     */
 	public HTTPAuthenticationScheme getHttpAuthenticationScheme();
 
+    /**
+     * If the SOAP binding specifies HTTP as the underlying protocol, the 
+     * {http authentication realm} property is added to the Endpoint component
+     * and it will be returned by this method. 
+     * If the underlying protocol is not HTTP, this method will return null.
+     * 
+     * @return a String representing the {http authentication realm} property if present, otherwise null.
+     */
 	public String getHttpAuthenticationRealm();
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org