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