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