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/12/05 16:09:32 UTC
svn commit: r354082 - in /incubator/woden/java/src/org/apache/woden:
internal/DOMWSDLReader.java internal/wsdl20/Constants.java
wsdl20/extensions/ExtensionRegistry.java
Author: jkaputin
Date: Mon Dec 5 07:09:21 2005
New Revision: 354082
URL: http://svn.apache.org/viewcvs?rev=354082&view=rev
Log:
Modified behaviour if there is no extension registered
for a non-WSDL attribute to report error rather than
to throw an exception. Will add more support for an
'UnknownAttr' type to wrap the non-WSDL attribute.
Modified:
incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java
incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
incubator/woden/java/src/org/apache/woden/wsdl20/extensions/ExtensionRegistry.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=354082&r1=354081&r2=354082&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/DOMWSDLReader.java Mon Dec 5 07:09:21 2005
@@ -1446,7 +1446,8 @@
if (namespaceURI != null && !namespaceURI.equals(Constants.NS_URI_WSDL20))
{
- if (!namespaceURI.equals(Constants.NS_URI_XMLNS))
+ if (!namespaceURI.equals(Constants.NS_URI_XMLNS) &&
+ !namespaceURI.equals(Constants.NS_URI_XSI)) //TODO handle xsi attrs elsewhere, without need to register
{
//TODO reg namespaces at appropriate element scope, not just at desc.
//DOMUtils.registerUniquePrefix(prefix, namespaceURI, desc);
@@ -1456,9 +1457,12 @@
if (extReg != null)
{
xmlAttr = extReg.createExtAttribute(wsdlClass, qname);
- String attrValue = domAttr.getValue();
- xmlAttr.init(domEl, attrValue);
- wsdlObj.setExtensionAttribute(qname, xmlAttr);
+ if(xmlAttr != null) //TODO use an 'UnknownAttr' class in place of null
+ {
+ String attrValue = domAttr.getValue();
+ xmlAttr.init(domEl, attrValue);
+ wsdlObj.setExtensionAttribute(qname, xmlAttr);
+ }
}
else
{
Modified: incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java?rev=354082&r1=354081&r2=354082&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java (original)
+++ incubator/woden/java/src/org/apache/woden/internal/wsdl20/Constants.java Mon Dec 5 07:09:21 2005
@@ -31,6 +31,8 @@
"http://www.w3.org/2005/08/wsdl";
public static final String NS_URI_XMLNS =
"http://www.w3.org/2000/xmlns/";
+ public static final String NS_URI_XSI =
+ "http://www.w3.org/2001/XMLSchema-instance";
// Top-level WSDL 2.0 element names.
public static final String ELEM_DESCRIPTION = "description";
Modified: incubator/woden/java/src/org/apache/woden/wsdl20/extensions/ExtensionRegistry.java
URL: http://svn.apache.org/viewcvs/incubator/woden/java/src/org/apache/woden/wsdl20/extensions/ExtensionRegistry.java?rev=354082&r1=354081&r2=354082&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/wsdl20/extensions/ExtensionRegistry.java (original)
+++ incubator/woden/java/src/org/apache/woden/wsdl20/extensions/ExtensionRegistry.java Mon Dec 5 07:09:21 2005
@@ -23,6 +23,7 @@
import org.apache.woden.ErrorReporter;
import org.apache.woden.WSDLException;
+import org.apache.woden.internal.ErrorLocatorImpl;
import org.apache.woden.xml.XMLAttr;
/**
@@ -537,15 +538,21 @@
if (implClass == null)
{
- String msg = getErrorReporter().getFormattedMessage("WSDL010",
- new Object[] {attrQName.toString(), ownerClass.getName()});
- throw new WSDLException(WSDLException.CONFIGURATION_ERROR, msg);
+ //TODO capture the attr in an 'UnknownAttr' object instead
+
+ getErrorReporter().reportError(
+ new ErrorLocatorImpl(), //TODO line/col nos.
+ "WSDL010",
+ new Object[] {attrQName.toString(), ownerClass.getName()},
+ ErrorReporter.SEVERITY_ERROR);
+
+ return null;
}
else if (!(XMLAttr.class.isAssignableFrom(implClass)))
{
String msg = getErrorReporter().getFormattedMessage("WSDL011",
new Object[] {attrQName.toString()});
- throw new WSDLException(WSDLException.CONFIGURATION_ERROR, msg);
+ throw new WSDLException(WSDLException.CONFIGURATION_ERROR, "WSDL011: " + msg);
}
try {
@@ -556,7 +563,7 @@
{
String msg = getErrorReporter().getFormattedMessage("WSDL009",
new Object[] {implClass.getName()});
- throw new WSDLException(WSDLException.CONFIGURATION_ERROR, msg, e);
+ throw new WSDLException(WSDLException.CONFIGURATION_ERROR, "WSDL009: " + msg, e);
}
catch (IllegalAccessException e) {
String msg = getErrorReporter().getFormattedMessage("WSDL009",
---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org