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 2005/11/07 17:13:47 UTC
svn commit: r331292 -
/incubator/woden/java/src/org/apache/woden/internal/wsdl20/
Author: jkaputin
Date: Mon Nov 7 08:13:30 2005
New Revision: 331292
URL: http://svn.apache.org/viewcvs?rev=331292&view=rev
Log:
Renamed DocumentableImpl to WSDL20ObjectImpl (which still
implements the DocumentableElement interface). Created
the NestedConfigurableImpl abstract class to
encapsulate behaviour for getting/setting a nested
element's 'parent' and refactored this behaviour out
of the relevant Impl classes.
Also, checked in the work-in-progress Interface code
to ensure the repository code compiles.
Added:
incubator/woden/java/src/org/apache/woden/internal/wsdl20/WSDL20ObjectImpl.java
Removed:
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DocumentableImpl.java
Modified:
incubator/woden/java/src/org/apache/woden/internal/wsdl20/ConfigurableImpl.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DescriptionElementImpl.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/DescriptionImpl.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/FeatureImpl.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceFaultImpl.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceFaultReferenceImpl.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceMessageReferenceImpl.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceOperationImpl.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/PropertyImpl.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/ConfigurableImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/ConfigurableImpl.java?rev=331292&r1=331291&r2=331292&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/ConfigurableImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/ConfigurableImpl.java Mon Nov 7 08:13:30 2005
@@ -26,25 +26,24 @@
import org.apache.woden.wsdl20.xml.PropertyElement;
/**
- * This is an abstract superclass providing support for the
- * <feature> and <property> elements.
- * All WSDL elements that may these as child elements
- * should inherit this class.
- * <p>
- * Note that in WSDL 2.0, all elements may have documentation,
- * so this class extends the DocumentableImpl abstract class.
+ * This abstract superclass implements support for features and
+ * properties. All classes representing WSDL components that
+ * can be configured with features and properties will directly
+ * or indirectly extend this abstract class.
*
* @author jkaputin@apache.org
*/
-public abstract class ConfigurableImpl extends DocumentableImpl
+public abstract class ConfigurableImpl extends WSDL20ObjectImpl
implements ConfigurableComponent,
ConfigurableElement
{
private List fFeatures = new Vector();
private List fProperties = new Vector();
- private List fFeatureElements = new Vector();
- private List fPropertyElements = new Vector();
+ /* ************************************************************
+ * API methods for Property and Feature components.
+ * ************************************************************/
+
/* (non-Javadoc)
* @see org.apache.woden.wsdl20.ConfigurableComponent#getFeatures()
*/
@@ -63,19 +62,23 @@
return array;
}
+ /* ************************************************************
+ * API methods for Property and Feature elements.
+ * ************************************************************/
+
/* (non-Javadoc)
* @see org.apache.woden.wsdl20.xml.ConfigurableElement#addFeatureElement(org.apache.woden.wsdl20.xml.FeatureElement)
*/
public void addFeatureElement(FeatureElement feature) {
- fFeatureElements.add(feature);
+ fFeatures.add(feature);
}
/* (non-Javadoc)
* @see org.apache.woden.wsdl20.xml.ConfigurableElement#getFeatureElements()
*/
public FeatureElement[] getFeatureElements() {
- FeatureElement[] array = new FeatureElement[fFeatureElements.size()];
- fFeatureElements.toArray(array);
+ FeatureElement[] array = new FeatureElement[fFeatures.size()];
+ fFeatures.toArray(array);
return array;
}
@@ -83,15 +86,15 @@
* @see org.apache.woden.wsdl20.xml.ConfigurableElement#addPropertyElement(org.apache.woden.wsdl20.xml.PropertyElement)
*/
public void addPropertyElement(PropertyElement property) {
- fPropertyElements.add(property);
+ fProperties.add(property);
}
/* (non-Javadoc)
* @see org.apache.woden.wsdl20.xml.ConfigurableElement#getPropertyElements()
*/
public PropertyElement[] getPropertyElements() {
- PropertyElement[] array = new PropertyElement[fPropertyElements.size()];
- fPropertyElements.toArray(array);
+ PropertyElement[] array = new PropertyElement[fProperties.size()];
+ fProperties.toArray(array);
return array;
}
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/DescriptionElementImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DescriptionElementImpl.java?rev=331292&r1=331291&r2=331292&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/DescriptionElementImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/DescriptionElementImpl.java Mon Nov 7 08:13:30 2005
@@ -53,7 +53,7 @@
*
* @author jkaputin@apache.org
*/
-public class DescriptionElementImpl extends DocumentableImpl
+public class DescriptionElementImpl extends WSDL20ObjectImpl
implements DescriptionElement
{
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/DescriptionImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/DescriptionImpl.java?rev=331292&r1=331291&r2=331292&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/DescriptionImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/DescriptionImpl.java Mon Nov 7 08:13:30 2005
@@ -17,10 +17,13 @@
import java.net.URI;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Vector;
+import javax.xml.namespace.QName;
+
import org.apache.woden.internal.util.ComponentModelBuilder;
import org.apache.woden.wsdl20.Binding;
import org.apache.woden.wsdl20.Description;
@@ -59,7 +62,7 @@
*
* @author jkaputin@apache.org
*/
-public class DescriptionImpl extends DocumentableImpl
+public class DescriptionImpl extends WSDL20ObjectImpl
implements Description, DescriptionElement
{
/*
@@ -68,8 +71,8 @@
private List fInterfaces = new Vector();
private List fBindings = new Vector();
private List fServices = new Vector();
- private List fElementDeclarations = new Vector();
- private List fTypeDefinitions = new Vector();
+ private List fElementDeclarations = new Vector(); //TODO consider using Map
+ private List fTypeDefinitions = new Vector(); //TODO consider using Map
/*
* XML Element model data
@@ -150,6 +153,25 @@
TypeDefinition[] array = new TypeDefinition[fTypeDefinitions.size()];
fTypeDefinitions.toArray(array);
return array;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.woden.wsdl20.Description#getTypeDefinition(javax.xml.namespace.QName)
+ * TODO consider using Map instead of List
+ */
+ public TypeDefinition getTypeDefinition(QName qname)
+ {
+ TypeDefinition typeDef = null;
+ Iterator i = fTypeDefinitions.iterator();
+ while(i.hasNext())
+ {
+ TypeDefinition td = (TypeDefinition)i.next();
+ if(qname.equals(td.getName()))
+ {
+ typeDef = td;
+ }
+ }
+ return typeDef;
}
/* (non-Javadoc)
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/FeatureImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/FeatureImpl.java?rev=331292&r1=331291&r2=331292&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/FeatureImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/FeatureImpl.java Mon Nov 7 08:13:30 2005
@@ -17,9 +17,10 @@
import java.net.URI;
-import org.apache.woden.wsdl20.Component;
import org.apache.woden.wsdl20.Feature;
+import org.apache.woden.wsdl20.WSDL20Component;
import org.apache.woden.wsdl20.xml.FeatureElement;
+import org.apache.woden.wsdl20.xml.WSDL20Element;
/**
* This class implements support for the <wsdl:feature> element
@@ -27,52 +28,70 @@
*
* @author jkaputin@apache.org
*/
-public class FeatureImpl extends DocumentableImpl
+public class FeatureImpl extends WSDL20ObjectImpl
implements Feature, FeatureElement
{
private URI fRef = null;
private boolean fRequired = false;
+ private WSDL20Element fParent = null;
- /*
- * @see org.apache.woden.wsdl20.xml.FeatureElement#setRef(URI)
- */
- public void setRef(URI ref)
- {
- fRef = ref;
- }
+ /* ************************************************************
+ * WSDL Component model methods
+ * ************************************************************/
/*
* @see org.apache.woden.wsdl20.Feature#getRef()
* @see org.apache.woden.wsdl20.xml.FeatureElement#getRef()
*/
- public URI getRef()
- {
+ public URI getRef() {
return fRef;
}
+ /*
+ * @see org.apache.woden.wsdl20.Feature#isRequired()
+ * @see org.apache.woden.wsdl20.xml.FeatureElement#isRequired()
+ */
+ public boolean isRequired() {
+ return fRequired;
+ }
+
+ /*
+ * @see org.apache.woden.wsdl20.NestedComponent#getParent()
+ */
+ public WSDL20Component getParent() {
+ return (WSDL20Component)fParent;
+ }
+
+ /* ************************************************************
+ * Methods specific to the XML Element model)
+ * ************************************************************/
+
/*
* @see org.apache.woden.wsdl20.xml.FeatureElement#setRequired(boolean)
*/
- public void setRequired(boolean required)
- {
+ public void setRequired(boolean required) {
fRequired = required;
}
+ /*
+ * @see org.apache.woden.wsdl20.xml.FeatureElement#setRef(URI)
+ */
+ public void setRef(URI ref) {
+ fRef = ref;
+ }
+
/*
- * @see org.apache.woden.wsdl20.Feature#isRequired()
- * @see org.apache.woden.wsdl20.xml.FeatureElement#isRequired()
+ * @see org.apache.woden.wsdl20.xml.NestedElement#setParentElement(WSDL20Element)
*/
- public boolean isRequired()
- {
- return fRequired;
+ public void setParentElement(WSDL20Element parent) {
+ fParent = parent;
}
/*
- * @see org.apache.woden.wsdl20.NestedComponent#getParent()
+ * @see org.apache.woden.wsdl20.xml.NestedElement#getParentElement()
*/
- public Component getParent()
- {
- return null;
+ public WSDL20Element getParentElement() {
+ return fParent;
}
}
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceFaultImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceFaultImpl.java?rev=331292&r1=331291&r2=331292&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceFaultImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceFaultImpl.java Mon Nov 7 08:13:30 2005
@@ -17,7 +17,6 @@
import javax.xml.namespace.QName;
-import org.apache.woden.wsdl20.Component;
import org.apache.woden.wsdl20.ElementDeclaration;
import org.apache.woden.wsdl20.InterfaceFault;
import org.apache.woden.wsdl20.xml.InterfaceFaultElement;
@@ -28,14 +27,13 @@
*
* @author jkaputin@apache.org
*/
-public class InterfaceFaultImpl extends ConfigurableImpl
+public class InterfaceFaultImpl extends NestedConfigurableImpl
implements InterfaceFault,
InterfaceFaultElement
{
//WSDL Component model data
private QName fName = null;
private ElementDeclaration fElementDeclaration = null;
- private Component fParent = null;
//XML Element model data
private QName fElement = null;
@@ -59,23 +57,6 @@
public ElementDeclaration getElementDeclaration()
{
return fElementDeclaration;
- }
-
- /*
- * @see org.apache.woden.wsdl20.NestedComponent#getParent()
- */
- public Component getParent()
- {
- return fParent;
- }
-
- /* ************************************************************
- * Public implementation methods (not on the API)
- * ************************************************************/
-
- public void setParent(Component parent)
- {
- fParent = parent;
}
/* ************************************************************
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceFaultReferenceImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceFaultReferenceImpl.java?rev=331292&r1=331291&r2=331292&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceFaultReferenceImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceFaultReferenceImpl.java Mon Nov 7 08:13:30 2005
@@ -17,10 +17,8 @@
import javax.xml.namespace.QName;
-import org.apache.woden.wsdl20.Component;
import org.apache.woden.wsdl20.InterfaceFault;
import org.apache.woden.wsdl20.InterfaceFaultReference;
-import org.apache.woden.wsdl20.InterfaceOperation;
import org.apache.woden.wsdl20.xml.FaultReferenceElement;
/**
@@ -29,7 +27,7 @@
*
* @author jkaputin@apache.org
*/
-public class InterfaceFaultReferenceImpl extends ConfigurableImpl
+public class InterfaceFaultReferenceImpl extends NestedConfigurableImpl
implements InterfaceFaultReference,
FaultReferenceElement
{
@@ -37,11 +35,14 @@
private InterfaceFault fInterfaceFault = null;
private String fMessageLabel = null;
private String fDirection = null;
- private InterfaceOperation fParent = null;
//XML Element model data
QName fRef = null;
+ /* ************************************************************
+ * InterfaceFaultReference methods (i.e. WSDL Component model)
+ * ************************************************************/
+
/* (non-Javadoc)
* @see org.apache.woden.wsdl20.InterfaceFaultReference#getInterfaceFault()
*/
@@ -64,6 +65,10 @@
return fDirection;
}
+ /* ************************************************************
+ * FaultReferenceElement methods (i.e. XML Element model)
+ * ************************************************************/
+
/* (non-Javadoc)
* @see org.apache.woden.wsdl20.xml.FaultReferenceElement#setRef(javax.xml.namespace.QName)
*/
@@ -84,13 +89,6 @@
*/
public void setMessageLabel(String msgLabel) {
fMessageLabel = msgLabel;
- }
-
- /* (non-Javadoc)
- * @see org.apache.woden.wsdl20.NestedComponent#getParent()
- */
- public Component getParent() {
- return fParent;
}
}
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java?rev=331292&r1=331291&r2=331292&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java Mon Nov 7 08:13:30 2005
@@ -49,13 +49,9 @@
private List fInterfaceFaultElements = new Vector();
private List fInterfaceOperationElements = new Vector();
- /*
- * @see org.apache.woden.wsdl20.xml.InterfaceElement#setName(QName)
- */
- public void setName(QName qname)
- {
- fName = qname;
- }
+ /* ************************************************************
+ * Interface interface methods (the WSDL Component model)
+ * ************************************************************/
/*
* @see org.apache.woden.wsdl20.Interface#getName()
@@ -67,6 +63,55 @@
}
/*
+ * @see org.apache.woden.wsdl20.Interface#getExtendedInterfaces()
+ */
+ public Interface[] getExtendedInterfaces()
+ {
+ Interface[] array = new Interface[fExtendedInterfaces.size()];
+ fExtendedInterfaces.toArray(array);
+ return array;
+ }
+
+ /*
+ * @see org.apache.woden.wsdl20.Interface#getInterfaceFaults()
+ */
+ public InterfaceFault[] getInterfaceFaults()
+ {
+ InterfaceFault[] array = new InterfaceFault[fInterfaceFaults.size()];
+ fInterfaceFaults.toArray(array);
+ return array;
+ }
+
+ /*
+ * @see org.apache.woden.wsdl20.Interface#getInterfaceOperations()
+ */
+ public InterfaceOperation[] getInterfaceOperations()
+ {
+ InterfaceOperation[] array = new InterfaceOperation[fInterfaceOperations.size()];
+ fInterfaceOperations.toArray(array);
+ return array;
+ }
+
+ /*
+ * @see org.apache.woden.wsdl20.Interface#toElement()
+ */
+ public InterfaceElement toElement() {
+ return this;
+ }
+
+ /* ************************************************************
+ * DescriptionElement interface methods (the XML Element model)
+ * ************************************************************/
+
+ /*
+ * @see org.apache.woden.wsdl20.xml.InterfaceElement#setName(QName)
+ */
+ public void setName(QName qname)
+ {
+ fName = qname;
+ }
+
+ /*
* @see org.apache.woden.wsdl20.xml.InterfaceElement#addStyleDefaultURI(URI)
*/
public void addStyleDefaultURI(URI uri)
@@ -79,7 +124,9 @@
*/
public URI[] getStyleDefault()
{
- return (URI[])fStyleDefault.toArray();
+ URI[] array = new URI[fStyleDefault.size()];
+ fStyleDefault.toArray(array);
+ return array;
}
/*
@@ -95,18 +142,12 @@
*/
public QName[] getExtendsQNames()
{
- return (QName[])fExtendsQNames.toArray();
+ QName[] array = new QName[fExtendsQNames.size()];
+ fExtendsQNames.toArray(array);
+ return array;
}
/*
- * @see org.apache.woden.wsdl20.Interface#getExtendedInterfaces()
- */
- public Interface[] getExtendedInterfaces()
- {
- return (Interface[])fExtendedInterfaces.toArray();
- }
-
- /*
* @see org.apache.woden.wsdl20.xml.InterfaceElement#addFaultElement(FaultElement)
*/
public void addInterfaceFaultElement(InterfaceFaultElement fault)
@@ -119,15 +160,9 @@
*/
public InterfaceFaultElement[] getInterfaceFaultElements()
{
- return (InterfaceFaultElement[])fInterfaceFaultElements.toArray();
- }
-
- /*
- * @see org.apache.woden.wsdl20.Interface#getInterfaceFaults()
- */
- public InterfaceFault[] getInterfaceFaults()
- {
- return (InterfaceFault[])fInterfaceFaults.toArray();
+ InterfaceFaultElement[] array = new InterfaceFaultElement[fInterfaceFaultElements.size()];
+ fInterfaceFaultElements.toArray(array);
+ return array;
}
/*
@@ -143,15 +178,25 @@
*/
public InterfaceOperationElement[] getInterfaceOperationElements()
{
- return (InterfaceOperationElement[])fInterfaceOperationElements.toArray();
+ InterfaceOperationElement[] array = new InterfaceOperationElement[fInterfaceOperationElements.size()];
+ fInterfaceOperationElements.toArray(array);
+ return array;
}
- /*
- * @see org.apache.woden.wsdl20.Interface#getInterfaceOperations()
- */
- public InterfaceOperation[] getInterfaceOperations()
- {
- return (InterfaceOperation[])fInterfaceOperations.toArray();
+ /* ************************************************************
+ * Non-API implementation methods
+ * ************************************************************/
+
+ public void addExtendedInterface(Interface intface) {
+ fExtendedInterfaces.add(intface);
+ }
+
+ public void addInterfaceFault(InterfaceFault fault) {
+ fInterfaceFaults.add(fault);
+ }
+
+ public void addInterfaceOperation(InterfaceOperation operation) {
+ fInterfaceOperations.add(operation);
}
}
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceMessageReferenceImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceMessageReferenceImpl.java?rev=331292&r1=331291&r2=331292&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceMessageReferenceImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceMessageReferenceImpl.java Mon Nov 7 08:13:30 2005
@@ -17,9 +17,7 @@
import javax.xml.namespace.QName;
-import org.apache.woden.wsdl20.Component;
import org.apache.woden.wsdl20.ElementDeclaration;
-import org.apache.woden.wsdl20.Interface;
import org.apache.woden.wsdl20.InterfaceMessageReference;
import org.apache.woden.wsdl20.xml.InterfaceMessageReferenceElement;
@@ -29,7 +27,7 @@
*
* @author jkaputin@apache.org
*/
-public class InterfaceMessageReferenceImpl extends ConfigurableImpl
+public class InterfaceMessageReferenceImpl extends NestedConfigurableImpl
implements InterfaceMessageReference,
InterfaceMessageReferenceElement
{
@@ -38,7 +36,6 @@
private String fDirection = null;
private String fMessageContentModel = null;
private ElementDeclaration fElementDeclaration = null;
- private Interface fParent = null;
//XML Element model data
private QName fElement = null;
@@ -76,14 +73,6 @@
return fElementDeclaration;
}
- /* (non-Javadoc)
- * @see org.apache.woden.wsdl20.NestedComponent#getParent()
- */
- public Component getParent()
- {
- return fParent;
- }
-
/* ************************************************************
* InterfaceMessageReferenceElement methods (the XML Element model)
* ************************************************************/
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceOperationImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceOperationImpl.java?rev=331292&r1=331291&r2=331292&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceOperationImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceOperationImpl.java Mon Nov 7 08:13:30 2005
@@ -21,8 +21,6 @@
import javax.xml.namespace.QName;
-import org.apache.woden.wsdl20.Component;
-import org.apache.woden.wsdl20.Interface;
import org.apache.woden.wsdl20.InterfaceFaultReference;
import org.apache.woden.wsdl20.InterfaceMessageReference;
import org.apache.woden.wsdl20.InterfaceOperation;
@@ -36,7 +34,7 @@
*
* @author jkaputin@apache.org
*/
-public class InterfaceOperationImpl extends ConfigurableImpl
+public class InterfaceOperationImpl extends NestedConfigurableImpl
implements InterfaceOperation,
InterfaceOperationElement
{
@@ -46,7 +44,6 @@
private List fInterfaceMessageRefs = new Vector();
private List fInterfaceFaultRefs = new Vector();
private List fStyle = new Vector();
- private Interface fParent = null;
//XML data
private List fInputs = new Vector();
@@ -105,14 +102,6 @@
URI[] array = new URI[fStyle.size()];
fStyle.toArray(array);
return array;
- }
-
- /* (non-Javadoc)
- * @see org.apache.woden.wsdl20.NestedComponent#getParent()
- */
- public Component getParent()
- {
- return fParent;
}
/* ************************************************************
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/PropertyImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/PropertyImpl.java?rev=331292&r1=331291&r2=331292&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/PropertyImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/PropertyImpl.java Mon Nov 7 08:13:30 2005
@@ -19,10 +19,11 @@
import javax.xml.namespace.QName;
-import org.apache.woden.wsdl20.Component;
import org.apache.woden.wsdl20.Property;
import org.apache.woden.wsdl20.TypeDefinition;
+import org.apache.woden.wsdl20.WSDL20Component;
import org.apache.woden.wsdl20.xml.PropertyElement;
+import org.apache.woden.wsdl20.xml.WSDL20Element;
/**
* This class implements support for the <wsdl:property> element
@@ -30,103 +31,119 @@
*
* @author jkaputin@apache.org
*/
-public class PropertyImpl extends DocumentableImpl
+public class PropertyImpl extends WSDL20ObjectImpl
implements Property, PropertyElement
{
+ //WSDL Component model data
private URI fRef = null;
private Object fValue = null; //TODO decide how to handle value contents
+ private TypeDefinition fValueConstraint = null;
+ private WSDL20Element fParent = null;
+
+ //XML Element data
private QName fConstraint = null;
-
private boolean fHasValueToken = false; //true if <constraint>='#value'
- /*
- * @see org.apache.woden.wsdl20.xml.PropertyElement#setRef(URI)
- */
- public void setRef(URI ref)
- {
- fRef = ref;
- }
+ /* ************************************************************
+ * Property interface methods (the WSDL Component model)
+ * ************************************************************/
/*
* @see org.apache.woden.wsdl20.Property#getRef()
* @see org.apache.woden.wsdl20.xml.PropertyElement#getRef()
*/
- public URI getRef()
- {
+ public URI getRef() {
return fRef;
}
/*
- * @see org.apache.woden.wsdl20.xml.PropertyElement#setValue(Object)
+ * @see org.apache.woden.wsdl20.Property#getValue()
+ * @see org.apache.woden.wsdl20.xml.PropertyElement#getValue()
*/
- public void setValue(Object value)
- {
- fValue = value;
+ public Object getValue() {
+ return fValue;
}
+ /*
+ * @see org.apache.woden.wsdl20.Property#getValueConstraint()
+ */
+ public TypeDefinition getValueConstraint() {
+ return fValueConstraint;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.woden.wsdl20.NestedComponent#getParent()
+ */
+ public WSDL20Component getParent() {
+ return (WSDL20Component)fParent;
+ }
+
+ /* ************************************************************
+ * PropertyElement interface methods (the XML Element model)
+ * ************************************************************/
+
/*
- * @see org.apache.woden.wsdl20.Property#getValue()
- * @see org.apache.woden.wsdl20.xml.PropertyElement#getValue()
+ * @see org.apache.woden.wsdl20.xml.PropertyElement#setRef(URI)
*/
- public Object getValue()
- {
- return fValue;
+ public void setRef(URI ref) {
+ fRef = ref;
+ }
+
+ /*
+ * @see org.apache.woden.wsdl20.xml.PropertyElement#setValue(Object)
+ */
+ public void setValue(Object value) {
+ fValue = value;
}
/*
* @see org.apache.woden.wsdl20.xml.PropertyElement#setConstraint(QName)
*/
- public void setConstraint(QName constraint)
- {
+ public void setConstraint(QName constraint) {
fConstraint = constraint;
}
/*
* @see org.apache.woden.wsdl20.xml.PropertyElement#getConstraint()
*/
- public QName getConstraint()
- {
+ public QName getConstraint() {
return fConstraint;
}
-
+
/*
- * Set to true if <constraint> contains the NMToken "#value",
- * which would indicate that this property specifies a <value> instead of a
- * <constraint> QName.
- *
* @see org.apache.woden.wsdl20.xml.PropertyElement#setHasValueToken(boolean)
*/
- public void setHasValueToken(boolean b)
- {
+ public void setHasValueToken(boolean b) {
fHasValueToken = b;
}
/*
- * Should return true if the <constraint> contains the NMToken "#value",
- * which would indicate that this property specifies a <value> instead of a
- * <constraint> QName.
- *
* @see org.apache.woden.wsdl20.xml.PropertyElement#hasValueToken()
*/
- public boolean hasValueToken()
- {
+ public boolean hasValueToken() {
return fHasValueToken;
}
- /*
- * @see org.apache.woden.wsdl20.Property#getValueConstraint()
+ /*
+ * @see org.apache.woden.wsdl20.xml.NestedElement#setParentElement(WSDL20Element)
*/
- public TypeDefinition getValueConstraint() {
- // TODO Auto-generated method stub
- return null;
+ public void setParentElement(WSDL20Element parent) {
+ fParent = parent;
}
-
- /* (non-Javadoc)
- * @see org.apache.woden.wsdl20.NestedComponent#getParent()
+
+ /*
+ * @see org.apache.woden.wsdl20.xml.NestedElement#getParentElement()
*/
- public Component getParent() {
- // TODO Auto-generated method stub
- return null;
+ public WSDL20Element getParentElement() {
+ return fParent;
+ }
+
+ /* ************************************************************
+ * Non-API implementation methods
+ * ************************************************************/
+
+ public void setValueConstraint(TypeDefinition typeDef) {
+ fValueConstraint = typeDef;
}
}
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java?rev=331292&r1=331291&r2=331292&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/TypesImpl.java Mon Nov 7 08:13:30 2005
@@ -39,7 +39,7 @@
*
* @author jkaputin@apache.org
*/
-public class TypesImpl extends DocumentableImpl
+public class TypesImpl extends WSDL20ObjectImpl
implements TypesElement
{
private String fTypeSystem;
Added: incubator/woden/java/src/org/apache/woden/internal/wsdl20/WSDL20ObjectImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/WSDL20ObjectImpl.java?rev=331292&view=auto
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/WSDL20ObjectImpl.java (added)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/WSDL20ObjectImpl.java Mon Nov 7 08:13:30 2005
@@ -0,0 +1,60 @@
+/**
+ * Copyright 2005 Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.woden.internal.wsdl20;
+
+import java.util.List;
+import java.util.Vector;
+
+import org.apache.woden.wsdl20.WSDL20Component;
+import org.apache.woden.wsdl20.xml.DocumentableElement;
+import org.apache.woden.wsdl20.xml.DocumentationElement;
+
+/**
+ * All classes implementing the WSDL 2.0 Component and Element
+ * model interfaces directly or indirectly extend this
+ * abstract class. It implements the WSDL20Component interface
+ * which provides a common object reference for the WSDL 2.0
+ * Component API. Via the DocumentableElement interface, this
+ * class also implements the WSDL20Element interface, which provides
+ * a common object reference for WSDL 2.0 Element API.
+ * <p>
+ * Note, this class implements DocumentableElement because all
+ * WSDL 2.0 elements may have <documentation> child elements.
+ *
+ * @author jkaputin@apache.org
+ */
+public abstract class WSDL20ObjectImpl implements WSDL20Component,
+ DocumentableElement {
+
+ private List fDocumentationElements = new Vector();
+
+ /* (non-Javadoc)
+ * @see org.apache.woden.wsdl20.xml.DocumentableElement#addDocumentationElement(org.apache.woden.wsdl20.xml.DocumentationElement)
+ */
+ public void addDocumentationElement(DocumentationElement docEl) {
+ fDocumentationElements.add(docEl);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.woden.wsdl20.xml.DocumentableElement#getDocumentationElements()
+ */
+ public DocumentationElement[] getDocumentationElements() {
+ DocumentationElement[] array = new DocumentationElement[fDocumentationElements.size()];
+ fDocumentationElements.toArray(array);
+ return array;
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org