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]

Reply via email to