Author: nash
Date: Thu Jan  3 07:01:00 2008
New Revision: 608514

URL: http://svn.apache.org/viewvc?rev=608514&view=rev
Log:
Fix for TUSCANY-1945

Modified:
    
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
    
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaExceptionExceptionHandler.java

Modified: 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java?rev=608514&r1=608513&r2=608514&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/DefaultDataBindingExtensionPoint.java
 Thu Jan  3 07:01:00 2008
@@ -32,6 +32,7 @@
 import org.apache.tuscany.sca.contribution.util.ServiceDeclaration;
 import org.apache.tuscany.sca.contribution.util.ServiceDiscovery;
 import org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding;
+import org.apache.tuscany.sca.databinding.javabeans.JavaExceptionDataBinding;
 import org.apache.tuscany.sca.interfacedef.DataType;
 import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl;
 
@@ -241,7 +242,7 @@
                         DataType faultType = excHandler.getFaultType(dataType);
                         if (faultType != null) {
                             dataType.setDataBinding(binding.getName());
-                            dataType.setLogical(faultType.getLogical());
+                            dataType.setLogical(faultType);
                             return true;
                         }
                     }
@@ -261,6 +262,9 @@
         if (dataType.getPhysical().isArray()) {
             introspectArray(dataType, annotations);
             return true;
+        } else if (isException) {
+            dataType.setDataBinding(JavaExceptionDataBinding.NAME);
+            return false;
         } else {
             dataType.setDataBinding(JavaBeansDataBinding.NAME);
             return false;

Modified: 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaExceptionExceptionHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaExceptionExceptionHandler.java?rev=608514&r1=608513&r2=608514&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaExceptionExceptionHandler.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/javabeans/JavaExceptionExceptionHandler.java
 Thu Jan  3 07:01:00 2008
@@ -27,8 +27,12 @@
 public class JavaExceptionExceptionHandler extends JavaBeansExceptionHandler {
 
     public DataType<?> getFaultType(DataType exceptionDataType) {
-        // needed to make exception handling code in 
DefaultDataBindingExtensionPoint work correctly
-        return exceptionDataType;
+        // We only handle faults that have been explicitly associated with the
+        // JavaExceptionDataBinding by the DefaultDataBindingExtensionPoint.
+        if 
(JavaExceptionDataBinding.NAME.equals(exceptionDataType.getDataBinding())) {
+            return exceptionDataType;
+        }
+        return null;
     }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to