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/10 04:54:36 UTC

svn commit: r505625 - in /incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src: main/java/org/apache/tuscany/core/databinding/impl/ test/java/org/apache/tuscany/core/databinding/impl/

Author: rfeng
Date: Fri Feb  9 19:54:35 2007
New Revision: 505625

URL: http://svn.apache.org/viewvc?view=rev&rev=505625
Log:
Fix for JIRA 1106

Modified:
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingRegistryImpl.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingRegistryImplTestCase.java

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingRegistryImpl.java?view=diff&rev=505625&r1=505624&r2=505625
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingRegistryImpl.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingRegistryImpl.java Fri Feb  9 19:54:35 2007
@@ -24,6 +24,7 @@
 
 import org.osoa.sca.annotations.EagerInit;
 
+import org.apache.tuscany.core.databinding.javabeans.JavaBeansDataBinding;
 import org.apache.tuscany.spi.databinding.DataBinding;
 import org.apache.tuscany.spi.databinding.DataBindingRegistry;
 import org.apache.tuscany.spi.model.DataType;
@@ -56,25 +57,34 @@
     }
 
     public DataType introspectType(Class<?> javaType) {
-        DataType dataType;
+        DataType dataType = null;
         for (DataBinding binding : bindings.values()) {
-            dataType = binding.introspect(javaType);
+            //don't introspect for JavaBeansDatabinding as all javatypes will anyways match to its basetype 
+            //which is java.lang.Object.  Default to this only if no databinding results
+            if (!binding.getName().equals(JavaBeansDataBinding.NAME)) {
+                dataType = binding.introspect(javaType);
+            }
+            
             if (dataType != null) {
                 return dataType;
             }
         }
-        return null;
+        return new DataType<Class>(JavaBeansDataBinding.NAME, Object.class, javaType);
     }
 
     public DataType introspectType(Object value) {
-        DataType dataType;
+        DataType dataType = null;
         for (DataBinding binding : bindings.values()) {
-            dataType = binding.introspect(value);
+            //don't introspect for JavaBeansDatabinding as all javatypes will anyways match to its basetype 
+            //which is java.lang.Object.  Default to this only if no databinding results
+            if (!binding.getName().equals(JavaBeansDataBinding.NAME)) {
+                dataType = binding.introspect(value);
+            }
             if (dataType != null) {
                 return dataType;
             }
         }
-        return null;
+        return new DataType<Class>(JavaBeansDataBinding.NAME, Object.class, value.getClass());
     }
 
 }

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingRegistryImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingRegistryImplTestCase.java?view=diff&rev=505625&r1=505624&r2=505625
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingRegistryImplTestCase.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/test/java/org/apache/tuscany/core/databinding/impl/DataBindingRegistryImplTestCase.java Fri Feb  9 19:54:35 2007
@@ -48,11 +48,6 @@
     }
 
     public void testRegistry() {
-        // FIXME
-        // Temp work around failing test case
-        // JIRA TUSCANY-1106
-        if (true)
-           return;
         DataBinding db1 = createMock(DataBinding.class);
         expect(db1.getName()).andReturn(ContentHandler.class.getName()).anyTimes();
         DataType<Class> dataType1 = new DataType<Class>(ContentHandler.class, ContentHandler.class);



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org