Author: jkaputin
Date: Wed Apr 12 10:30:30 2006
New Revision: 393542
URL: http://svn.apache.org/viewcvs?rev=393542&view=rev
Log:
Added API methods for interface extension and parsing
of the 'extends' attribute (methods to resolve the
extends qnames to interface objects is are in-progress).
Modified:
incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/InterfaceImpl.java
incubator/woden/java/src/org/apache/woden/wsdl20/xml/InterfaceElement.java
Modified: incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java?rev=393542&r1=393541&r2=393542&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
(original)
+++ incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java Wed
Apr 12 10:30:30 2006
@@ -675,7 +675,18 @@
}
}
- //TODO extends attribute
+ String extendsAtt = DOMUtils.getAttribute(interfaceEl,
Constants.ATTR_EXTENDS);
+ if(extendsAtt != null)
+ {
+ List stringList = StringUtils.parseNMTokens(extendsAtt);
+ String qnString = null;
+ Iterator it = stringList.iterator();
+ while(it.hasNext())
+ {
+ qnString = (String)it.next();
+ intface.addExtendedInterfaceName(DOMUtils.getQName(qnString,
interfaceEl, desc));
+ }
+ }
parseExtensionAttributes(interfaceEl, InterfaceElement.class, intface,
desc);
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=393542&r1=393541&r2=393542&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
Wed Apr 12 10:30:30 2006
@@ -43,7 +43,7 @@
//XML Element model data
private QName fName = null;
- private List fExtendsQNames = new Vector();
+ private List fExtends = new Vector();
private List fStyleDefault = new Vector();
private List fInterfaceFaultElements = new Vector();
private List fInterfaceOperationElements = new Vector();
@@ -153,23 +153,51 @@
}
/*
- * @see org.apache.woden.wsdl20.xml.InterfaceElement#addExtendsQName(QName)
+ * @see
org.apache.woden.wsdl20.xml.InterfaceElement#addExtendedInterfaceName(javax.xml.namespace.QName)
*/
- public void addExtendsQName(QName qname)
+ public void addExtendedInterfaceName(QName qname)
{
if(qname != null) {
- fExtendsQNames.add(qname);
+ fExtends.add(qname);
}
}
/*
- * @see org.apache.woden.wsdl20.xml.InterfaceElement#getExtendsQNames()
+ * @see
org.apache.woden.wsdl20.xml.InterfaceElement#removeExtendedInterfaceName(javax.xml.namespace.QName)
*/
- public QName[] getExtendsQNames()
+ public void removeExtendedInterfaceName(QName qname)
{
- QName[] array = new QName[fExtendsQNames.size()];
- fExtendsQNames.toArray(array);
+ if(qname != null) {
+ fExtends.remove(qname);
+ }
+ }
+
+ /*
+ * @see
org.apache.woden.wsdl20.xml.InterfaceElement#getExtendedInterfaceNames()
+ */
+ public QName[] getExtendedInterfaceNames()
+ {
+ QName[] array = new QName[fExtends.size()];
+ fExtends.toArray(array);
return array;
+ }
+
+ /*
+ * @see
org.apache.woden.wsdl20.xml.InterfaceElement#getExtendedInterfaceElement(javax.xml.namespace.QName)
+ */
+ public InterfaceElement getExtendedInterfaceElement(QName qname)
+ {
+ //TODO deref qname arg to an interface element.
+ return null;
+ }
+
+ /*
+ * @see
org.apache.woden.wsdl20.xml.InterfaceElement#getExtendedInterfaceElements()
+ */
+ public InterfaceElement[] getExtendedInterfaceElements()
+ {
+ //TODO deref extends qnames to an array of interface elements.
+ return null;
}
/*
Modified:
incubator/woden/java/src/org/apache/woden/wsdl20/xml/InterfaceElement.java
URL:
http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/xml/InterfaceElement.java?rev=393542&r1=393541&r2=393542&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/xml/InterfaceElement.java
(original)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/xml/InterfaceElement.java
Wed Apr 12 10:30:30 2006
@@ -36,10 +36,12 @@
public void setName(QName qname);
public QName getName();
- //TODO change to store InterfaceElments instead of QNames?
- public void addExtendsQName(QName qname);
- public QName[] getExtendsQNames();
- //TODO add a remove method
+ public void addExtendedInterfaceName(QName qname);
+ public void removeExtendedInterfaceName(QName qname);
+ public QName[] getExtendedInterfaceNames();
+
+ public InterfaceElement getExtendedInterfaceElement(QName qname);
+ public InterfaceElement[] getExtendedInterfaceElements();
public void addStyleDefaultURI(URI uri);
public URI[] getStyleDefault();
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]