You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/02/19 23:37:52 UTC
svn commit: r509360 - in
/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src:
main/java/org/apache/tuscany/databinding/sdo/
test/java/com/example/stock/sdo/fault/
Author: rfeng
Date: Mon Feb 19 14:37:51 2007
New Revision: 509360
URL: http://svn.apache.org/viewvc?view=rev&rev=509360
Log:
[sca-integration-branch] Assume SDO exception will have the QName of the fault element
Modified:
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java
incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/com/example/stock/sdo/fault/InvalidSymbolFault_Exception.java
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java?view=diff&rev=509360&r1=509359&r2=509360
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDOExceptionHandler.java Mon Feb 19 14:37:51 2007
@@ -20,6 +20,7 @@
package org.apache.tuscany.databinding.sdo;
import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
import java.lang.reflect.Method;
import javax.xml.namespace.QName;
@@ -96,16 +97,23 @@
return null;
}
- Type type = helperContext.getTypeHelper().getType(faultBeanClass);
- if (type != null) {
- String ns = type.getURI();
- String name = helperContext.getXSDHelper().getLocalName(type);
- QName typeInfo = new QName(ns, name);
- DataType<QName> faultType = new DataType<QName>(faultBeanClass, typeInfo);
- return faultType;
- } else {
- return null;
+ QName typeInfo = null;
+ try {
+ Field field = exceptionType.getField("FAULT_ELEMENT");
+ typeInfo = (QName)field.get(null);
+ } catch (NoSuchFieldException e) {
+ // Fall back to type inspection
+ Type type = helperContext.getTypeHelper().getType(faultBeanClass);
+ if (type != null) {
+ String ns = type.getURI();
+ String name = helperContext.getXSDHelper().getLocalName(type);
+ typeInfo = new QName(ns, name);
+ }
+ } catch (Throwable e) {
+ // Ignore
}
+ DataType<QName> faultType = new DataType<QName>(faultBeanClass, typeInfo);
+ return faultType;
}
Modified: incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/com/example/stock/sdo/fault/InvalidSymbolFault_Exception.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/com/example/stock/sdo/fault/InvalidSymbolFault_Exception.java?view=diff&rev=509360&r1=509359&r2=509360
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/com/example/stock/sdo/fault/InvalidSymbolFault_Exception.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/services/databinding/databinding-sdo/src/test/java/com/example/stock/sdo/fault/InvalidSymbolFault_Exception.java Mon Feb 19 14:37:51 2007
@@ -19,6 +19,8 @@
package com.example.stock.sdo.fault;
+import javax.xml.namespace.QName;
+
import com.example.stock.sdo.InvalidSymbolFault;
/**
@@ -26,6 +28,10 @@
*
*/
public class InvalidSymbolFault_Exception extends Exception {
+ /**
+ * Generated QName for the fault element
+ */
+ public static final QName FAULT_ELEMENT = new QName("http://www.example.com/stock", "InvalidSymbolFault");
/**
* Java type that goes as soapenv:Fault detail element.
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org