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 2006/02/04 02:47:43 UTC
svn commit: r374813 - in /incubator/woden/java/src/org/apache/woden:
internal/ internal/wsdl20/ internal/wsdl20/extensions/soap/ internal/xml/
wsdl20/extensions/ xml/
Author: jkaputin
Date: Fri Feb 3 17:47:22 2006
New Revision: 374813
URL: http://svn.apache.org/viewcvs?rev=374813&view=rev
Log:
Store the QName of extension attributes in XMLAttr,
modify related methods/classes to accomodate it
and added an AttributeExtensible method to get ext
attributes by namespace.
Modified:
incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/WSDLElementImpl.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPHeaderBlockImpl.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPModuleImpl.java
incubator/woden/java/src/org/apache/woden/internal/xml/BooleanAttrImpl.java
incubator/woden/java/src/org/apache/woden/internal/xml/QNameAttrImpl.java
incubator/woden/java/src/org/apache/woden/internal/xml/QNameListAttrImpl.java
incubator/woden/java/src/org/apache/woden/internal/xml/StringAttrImpl.java
incubator/woden/java/src/org/apache/woden/internal/xml/URIAttrImpl.java
incubator/woden/java/src/org/apache/woden/internal/xml/XMLAttrImpl.java
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/AttributeExtensible.java
incubator/woden/java/src/org/apache/woden/xml/UnknownAttr.java
incubator/woden/java/src/org/apache/woden/xml/XMLAttr.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=374813&r1=374812&r2=374813&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java Fri Feb 3 17:47:22 2006
@@ -1824,7 +1824,7 @@
String localName = domAttr.getLocalName();
String namespaceURI = domAttr.getNamespaceURI();
String prefix = domAttr.getPrefix();
- QName qname = new QName(namespaceURI, localName, (prefix != null ? prefix : ""));
+ QName attrType = new QName(namespaceURI, localName, (prefix != null ? prefix : ""));
if (namespaceURI != null && !namespaceURI.equals(Constants.NS_URI_WSDL20))
{
@@ -1838,12 +1838,12 @@
ExtensionRegistry extReg = desc.getExtensionRegistry();
if (extReg != null)
{
- xmlAttr = extReg.createExtAttribute(wsdlClass, qname);
+ xmlAttr = extReg.createExtAttribute(wsdlClass, attrType);
if(xmlAttr != null) //TODO use an 'UnknownAttr' class in place of null
{
String attrValue = domAttr.getValue();
- xmlAttr.init(domEl, attrValue);
- wsdlObj.setExtensionAttribute(qname, xmlAttr);
+ xmlAttr.init(domEl, attrType, attrValue);
+ wsdlObj.setExtensionAttribute(attrType, xmlAttr);
}
}
else
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/WSDLElementImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/WSDLElementImpl.java?rev=374813&r1=374812&r2=374813&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/WSDLElementImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/WSDLElementImpl.java Fri Feb 3 17:47:22 2006
@@ -15,8 +15,10 @@
*/
package org.apache.woden.internal.wsdl20;
+import java.net.URI;
import java.util.Collection;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Vector;
@@ -65,6 +67,34 @@
return (XMLAttr)fExtAttributes.get(attrQN);
} else {
return null;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.woden.wsdl20.xml.WSDLElement#getExtensionAttributesForNamespace(java.net.URI)
+ */
+ public XMLAttr[] getExtensionAttributesForNamespace(URI namespace)
+ {
+ if(namespace != null)
+ {
+ String extensionNS = namespace.toString();
+ List list = new Vector();
+ Collection coll = fExtAttributes.keySet();
+ for(Iterator i = coll.iterator(); i.hasNext();)
+ {
+ QName qn = (QName)i.next();
+ if(qn.getNamespaceURI().equals(extensionNS))
+ {
+ list.add(fExtAttributes.get(qn));
+ }
+ }
+ XMLAttr[] array = new XMLAttr[list.size()];
+ list.toArray(array);
+ return array;
+ }
+ else
+ {
+ return new XMLAttr[0];
}
}
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPHeaderBlockImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPHeaderBlockImpl.java?rev=374813&r1=374812&r2=374813&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPHeaderBlockImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPHeaderBlockImpl.java Fri Feb 3 17:47:22 2006
@@ -15,8 +15,10 @@
*/
package org.apache.woden.internal.wsdl20.extensions.soap;
+import java.net.URI;
import java.util.Collection;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Vector;
@@ -227,6 +229,33 @@
}
}
+ /* (non-Javadoc)
+ * @see org.apache.woden.wsdl20.xml.WSDLElement#getExtensionAttributesForNamespace(java.net.URI)
+ */
+ public XMLAttr[] getExtensionAttributesForNamespace(URI namespace)
+ {
+ if(namespace != null)
+ {
+ String extensionNS = namespace.toString();
+ List list = new Vector();
+ Collection coll = fExtAttributes.keySet();
+ for(Iterator i = coll.iterator(); i.hasNext();)
+ {
+ QName qn = (QName)i.next();
+ if(qn.getNamespaceURI().equals(extensionNS))
+ {
+ list.add(fExtAttributes.get(qn));
+ }
+ }
+ XMLAttr[] array = new XMLAttr[list.size()];
+ list.toArray(array);
+ return array;
+ }
+ else
+ {
+ return new XMLAttr[0];
+ }
+ }
/* (non-Javadoc)
* @see org.apache.woden.wsdl20.extensions.AttributeExtensible#getExtensionAttributes()
*/
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPModuleImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPModuleImpl.java?rev=374813&r1=374812&r2=374813&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPModuleImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/extensions/soap/SOAPModuleImpl.java Fri Feb 3 17:47:22 2006
@@ -18,6 +18,7 @@
import java.net.URI;
import java.util.Collection;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Vector;
@@ -181,6 +182,34 @@
}
}
+ /* (non-Javadoc)
+ * @see org.apache.woden.wsdl20.xml.WSDLElement#getExtensionAttributesForNamespace(java.net.URI)
+ */
+ public XMLAttr[] getExtensionAttributesForNamespace(URI namespace)
+ {
+ if(namespace != null)
+ {
+ String extensionNS = namespace.toString();
+ List list = new Vector();
+ Collection coll = fExtAttributes.keySet();
+ for(Iterator i = coll.iterator(); i.hasNext();)
+ {
+ QName qn = (QName)i.next();
+ if(qn.getNamespaceURI().equals(extensionNS))
+ {
+ list.add(fExtAttributes.get(qn));
+ }
+ }
+ XMLAttr[] array = new XMLAttr[list.size()];
+ list.toArray(array);
+ return array;
+ }
+ else
+ {
+ return new XMLAttr[0];
+ }
+ }
+
/* (non-Javadoc)
* @see org.apache.woden.wsdl20.extensions.AttributeExtensible#getExtensionAttributes()
*/
Modified: incubator/woden/java/src/org/apache/woden/internal/xml/BooleanAttrImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/xml/BooleanAttrImpl.java?rev=374813&r1=374812&r2=374813&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/xml/BooleanAttrImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/xml/BooleanAttrImpl.java Fri Feb 3 17:47:22 2006
@@ -15,6 +15,8 @@
*/
package org.apache.woden.internal.xml;
+import javax.xml.namespace.QName;
+
import org.apache.woden.ErrorReporter;
import org.apache.woden.WSDLException;
import org.apache.woden.internal.ErrorLocatorImpl;
@@ -38,10 +40,10 @@
* TODO This ctor is not used for extension attributes, but may be useful if
* parsing of native WSDL attributes is changed to use the XMLAttr interface.
*/
- public BooleanAttrImpl(Element ownerEl, String attrValue, ErrorReporter errRpt)
+ public BooleanAttrImpl(Element ownerEl, QName attrType, String attrValue, ErrorReporter errRpt)
throws WSDLException
{
- super(ownerEl, attrValue, errRpt);
+ super(ownerEl, attrType, attrValue, errRpt);
}
/* ************************************************************
Modified: incubator/woden/java/src/org/apache/woden/internal/xml/QNameAttrImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/xml/QNameAttrImpl.java?rev=374813&r1=374812&r2=374813&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/xml/QNameAttrImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/xml/QNameAttrImpl.java Fri Feb 3 17:47:22 2006
@@ -38,10 +38,10 @@
* TODO This ctor is not used for extension attributes, but may be useful if
* parsing of native WSDL attributes is changed to use the XMLAttr interface.
*/
- public QNameAttrImpl(Element ownerEl, String attrValue, ErrorReporter errRpt)
+ public QNameAttrImpl(Element ownerEl, QName attrType, String attrValue, ErrorReporter errRpt)
throws WSDLException
{
- super(ownerEl, attrValue, errRpt);
+ super(ownerEl, attrType, attrValue, errRpt);
}
/* ************************************************************
Modified: incubator/woden/java/src/org/apache/woden/internal/xml/QNameListAttrImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/xml/QNameListAttrImpl.java?rev=374813&r1=374812&r2=374813&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/xml/QNameListAttrImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/xml/QNameListAttrImpl.java Fri Feb 3 17:47:22 2006
@@ -43,10 +43,10 @@
* TODO This ctor is not used for extension attributes, but may be useful if
* parsing of native WSDL attributes is changed to use the XMLAttr interface.
*/
- public QNameListAttrImpl(Element ownerEl, String attrValue, ErrorReporter errRpt)
+ public QNameListAttrImpl(Element ownerEl, QName attrType, String attrValue, ErrorReporter errRpt)
throws WSDLException
{
- super(ownerEl, attrValue, errRpt);
+ super(ownerEl, attrType, attrValue, errRpt);
}
/* ************************************************************
Modified: incubator/woden/java/src/org/apache/woden/internal/xml/StringAttrImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/xml/StringAttrImpl.java?rev=374813&r1=374812&r2=374813&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/xml/StringAttrImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/xml/StringAttrImpl.java Fri Feb 3 17:47:22 2006
@@ -15,6 +15,8 @@
*/
package org.apache.woden.internal.xml;
+import javax.xml.namespace.QName;
+
import org.apache.woden.ErrorReporter;
import org.apache.woden.WSDLException;
import org.apache.woden.internal.ErrorLocatorImpl;
@@ -35,10 +37,10 @@
* TODO This ctor is not used for extension attributes, but may be useful if
* parsing of native WSDL attributes is changed to use the XMLAttr interface.
*/
- public StringAttrImpl(Element ownerEl, String attrValue, ErrorReporter errRpt)
+ public StringAttrImpl(Element ownerEl, QName attrType, String attrValue, ErrorReporter errRpt)
throws WSDLException
{
- super(ownerEl, attrValue, errRpt);
+ super(ownerEl, attrType, attrValue, errRpt);
}
/* ************************************************************
Modified: incubator/woden/java/src/org/apache/woden/internal/xml/URIAttrImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/xml/URIAttrImpl.java?rev=374813&r1=374812&r2=374813&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/xml/URIAttrImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/xml/URIAttrImpl.java Fri Feb 3 17:47:22 2006
@@ -18,6 +18,8 @@
import java.net.URI;
import java.net.URISyntaxException;
+import javax.xml.namespace.QName;
+
import org.apache.woden.ErrorReporter;
import org.apache.woden.WSDLException;
import org.apache.woden.internal.ErrorLocatorImpl;
@@ -38,10 +40,10 @@
* TODO This ctor is not used for extension attributes, but may be useful if
* parsing of native WSDL attributes is changed to use the XMLAttr interface.
*/
- public URIAttrImpl(Element ownerEl, String attrValue, ErrorReporter errRpt)
+ public URIAttrImpl(Element ownerEl, QName attrType, String attrValue, ErrorReporter errRpt)
throws WSDLException
{
- super(ownerEl, attrValue, errRpt);
+ super(ownerEl, attrType, attrValue, errRpt);
}
/* ************************************************************
Modified: incubator/woden/java/src/org/apache/woden/internal/xml/XMLAttrImpl.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/xml/XMLAttrImpl.java?rev=374813&r1=374812&r2=374813&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/xml/XMLAttrImpl.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/xml/XMLAttrImpl.java Fri Feb 3 17:47:22 2006
@@ -15,6 +15,8 @@
*/
package org.apache.woden.internal.xml;
+import javax.xml.namespace.QName;
+
import org.apache.woden.ErrorReporter;
import org.apache.woden.WSDLException;
import org.apache.woden.internal.ErrorReporterImpl;
@@ -30,6 +32,7 @@
*/
public abstract class XMLAttrImpl implements XMLAttr
{
+ protected QName fAttrType = null;
protected Object fContent = null;
protected String fExternalForm = null;
protected boolean fValid = true;
@@ -41,11 +44,11 @@
* This ctor is not used for extension attributes, but may be useful if
* parsing of native attributes is changed to use the XMLAttr interface.
*/
- protected XMLAttrImpl(Element ownerEl, String attrValue, ErrorReporter errRpt)
+ protected XMLAttrImpl(Element ownerEl, QName attrType, String attrValue, ErrorReporter errRpt)
throws WSDLException
{
fErrorReporter = errRpt;
- init(ownerEl, attrValue);
+ init(ownerEl, attrType, attrValue);
}
/* ************************************************************
@@ -56,11 +59,16 @@
fErrorReporter = errRpt;
}
- public void init(Element ownerEl, String attrValue) throws WSDLException
+ public void init(Element ownerEl, QName attrType, String attrValue) throws WSDLException
{
+ fAttrType = attrType;
fExternalForm = attrValue;
fContent = convert(ownerEl, attrValue);
if(fContent == null) fValid = false;
+ }
+
+ public QName getAttributeType() {
+ return fAttrType;
}
public Object getContent() {
Modified: incubator/woden/java/src/org/apache/woden/wsdl20/extensions/AttributeExtensible.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/AttributeExtensible.java?rev=374813&r1=374812&r2=374813&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/extensions/AttributeExtensible.java (original)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/extensions/AttributeExtensible.java Fri Feb 3 17:47:22 2006
@@ -15,6 +15,8 @@
*/
package org.apache.woden.wsdl20.extensions;
+import java.net.URI;
+
import javax.xml.namespace.QName;
import org.apache.woden.xml.XMLAttr;
@@ -33,10 +35,21 @@
*
* TODO ? @throws IllegalArgumentException if the QName is null
*/
- public void setExtensionAttribute(QName attrQN, XMLAttr attr);
+ public void setExtensionAttribute(QName attrType, XMLAttr attr);
+
+ /**
+ * Return the extension attribute with this QName.
+ */
+ public XMLAttr getExtensionAttribute(QName attrType);
- public XMLAttr getExtensionAttribute(QName attrQN);
+ /**
+ * Return the extension attributes from this namespace.
+ */
+ public XMLAttr[] getExtensionAttributesForNamespace(URI namespace);
+ /**
+ * Return all extension attributes.
+ */
public XMLAttr[] getExtensionAttributes();
}
Modified: incubator/woden/java/src/org/apache/woden/xml/UnknownAttr.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/xml/UnknownAttr.java?rev=374813&r1=374812&r2=374813&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/xml/UnknownAttr.java (original)
+++ incubator/woden/java/src/org/apache/woden/xml/UnknownAttr.java Fri Feb 3 17:47:22 2006
@@ -15,6 +15,8 @@
*/
package org.apache.woden.xml;
+import javax.xml.namespace.QName;
+
import org.apache.woden.ErrorReporter;
import org.apache.woden.WSDLException;
import org.w3c.dom.Element;
@@ -28,6 +30,7 @@
*/
public class UnknownAttr implements XMLAttr
{
+ private QName fAttrType = null;
private Object fContent = null;
private String fExternalForm = null;
private boolean fValid = true;
@@ -43,12 +46,21 @@
/* (non-Javadoc)
* @see org.apache.woden.xml.XMLAttr#init(org.w3c.dom.Element, java.lang.String)
*/
- public void init(Element ownerEl, String attrValue) throws WSDLException {
+ public void init(Element ownerEl, QName attrType, String attrValue) throws WSDLException
+ {
+ fAttrType = attrType;
fExternalForm = attrValue;
fContent = attrValue;
if(fContent == null) fValid = false;
}
+ /* (non-Javadoc)
+ * @see org.apache.woden.xml.XMLAttr#getAttributeType()
+ */
+ public QName getAttributeType() {
+ return fAttrType;
+ }
+
/* (non-Javadoc)
* @see org.apache.woden.xml.XMLAttr#getContent()
*/
Modified: incubator/woden/java/src/org/apache/woden/xml/XMLAttr.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/xml/XMLAttr.java?rev=374813&r1=374812&r2=374813&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/xml/XMLAttr.java (original)
+++ incubator/woden/java/src/org/apache/woden/xml/XMLAttr.java Fri Feb 3 17:47:22 2006
@@ -15,6 +15,8 @@
*/
package org.apache.woden.xml;
+import javax.xml.namespace.QName;
+
import org.apache.woden.ErrorReporter;
import org.apache.woden.WSDLException;
import org.w3c.dom.Element;
@@ -40,7 +42,9 @@
*
* @throws WSDLException if conversion errors occur
*/
- public void init(Element ownerEl, String attrValue) throws WSDLException;
+ public void init(Element ownerEl, QName attrType, String attrValue) throws WSDLException;
+
+ public QName getAttributeType();
public Object getContent();
---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org