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 2006/08/22 22:36:23 UTC

svn commit: r433741 - in /incubator/tuscany/java/sca: bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/ databinding/databinding-castor/ databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/ databindin...

Author: rfeng
Date: Tue Aug 22 13:36:22 2006
New Revision: 433741

URL: http://svn.apache.org/viewvc?rev=433741&view=rev
Log:
Refactored databinding to use DataType SPI

Modified:
    incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/SDODataBinding.java
    incubator/tuscany/java/sca/databinding/databinding-castor/pom.xml
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBindingRegistry.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Mediator.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationContext.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImpl.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java
    incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java
    incubator/tuscany/java/sca/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java
    incubator/tuscany/java/sca/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java
    incubator/tuscany/java/sca/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java
    incubator/tuscany/java/sca/databinding/databinding-test/pom.xml
    incubator/tuscany/java/sca/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/JAXBTestCase.java
    incubator/tuscany/java/sca/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java

Modified: incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/SDODataBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/SDODataBinding.java?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/SDODataBinding.java (original)
+++ incubator/tuscany/java/sca/bindings/binding.axis2/src/main/java/org/apache/tuscany/binding/axis2/util/SDODataBinding.java Tue Aug 22 13:36:22 2006
@@ -31,8 +31,8 @@
 import org.apache.tuscany.databinding.impl.TransformationContextImpl;
 import org.apache.tuscany.databinding.sdo.XMLDocument2XMLStreamReader;
 import org.apache.tuscany.databinding.sdo.XMLStreamReader2XMLDocument;
-import org.apache.tuscany.databinding.xml.StAXBinding;
 import org.apache.tuscany.sdo.util.SDOUtil;
+import org.apache.tuscany.spi.model.DataType;
 import org.apache.tuscany.spi.wire.InvocationRuntimeException;
 
 import commonj.sdo.DataObject;
@@ -66,9 +66,9 @@
         // HACK: [rfeng] We should use the transformer in an interceptor
         XMLStreamReader2XMLDocument transformer = new XMLStreamReader2XMLDocument();
         TransformationContext context = new TransformationContextImpl();
-        StAXBinding binding = new StAXBinding();
-        binding.setAttribute(TypeHelper.class.getName(), typeHelper);
-        context.setTargetDataBinding(binding);
+        DataType<QName> binding = new DataType<QName>(DataObject.class, null);
+        binding.setMetadata(TypeHelper.class.getName(), typeHelper);
+        context.setTargetDataType(binding);
         XMLDocument document = transformer.transform(reader, context);
         return toObjects(document, isWrapped);
     }

Modified: incubator/tuscany/java/sca/databinding/databinding-castor/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-castor/pom.xml?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-castor/pom.xml (original)
+++ incubator/tuscany/java/sca/databinding/databinding-castor/pom.xml Tue Aug 22 13:36:22 2006
@@ -89,7 +89,7 @@
                             <tasks>
                                 <taskdef name="castor-srcgen"
                                     classname="org.exolab.castor.tools.ant.taskdefs.CastorSourceGenTask"
-                                    classpathref="maven.runtime.classpath" />
+                                    classpathref="maven.test.classpath" />
                                 <mkdir dir="${project.build.directory}/castor-source"></mkdir>
                                 <castor-srcgen file="${basedir}/src/test/resources/ipo.xsd"
                                     todir="${project.build.directory}/castor-source" package="com.example.ipo.castor" types="j2"

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBindingRegistry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBindingRegistry.java?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBindingRegistry.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/DataBindingRegistry.java Tue Aug 22 13:36:22 2006
@@ -17,6 +17,8 @@
 
 package org.apache.tuscany.databinding;
 
+import org.apache.tuscany.spi.model.DataType;
+
 /**
  * The registry for data bindings
  */
@@ -53,5 +55,8 @@
      * @param object The value
      * @return
      */
-    public DataBinding introspectValue(Object object); 
+    public DataBinding introspectValue(Object object);
+    
+    public DataBinding introspectType(DataType dataType);
+    
 }

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Mediator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Mediator.java?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Mediator.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/Mediator.java Tue Aug 22 13:36:22 2006
@@ -18,6 +18,8 @@
  */
 package org.apache.tuscany.databinding;
 
+import org.apache.tuscany.spi.model.DataType;
+
 /**
  * This interface will be used as a Tuscany system service to perform data mediations
  * 
@@ -33,7 +35,7 @@
      * @param targetBinding
      * @return
      */
-    public Object mediate(Object source, DataBinding sourceBinding, DataBinding targetBinding);
+    public Object mediate(Object source, DataType sourceBinding, DataType targetBinding);
     /**
      * Mediate the data
      * @param source
@@ -41,6 +43,6 @@
      * @param sourceBinding
      * @param targetBinding
      */
-    public void mediate(Object source, Object target, DataBinding sourceBinding, DataBinding targetBinding);
+    public void mediate(Object source, Object target, DataType sourceBinding, DataType targetBinding);
     
 }

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationContext.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationContext.java?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationContext.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/TransformationContext.java Tue Aug 22 13:36:22 2006
@@ -18,6 +18,8 @@
  */
 package org.apache.tuscany.databinding;
 
+import org.apache.tuscany.spi.model.DataType;
+
 /**
  * Context for data transformation
  * 
@@ -26,22 +28,22 @@
     /**
      * @return
      */
-    public DataBinding getSourceDataBinding();
+    public DataType getSourceDataType();
 
     /**
      * @return
      */
-    public DataBinding getTargetDataBinding();
+    public DataType getTargetDataType();
 
     /**
      * @param sourceNode
      */
-    public void setSourceDataBinding(DataBinding sourceNode);
+    public void setSourceDataType(DataType sourceNode);
 
     /**
      * @param targetNode
      */
-    public void setTargetDataBinding(DataBinding targetNode);
+    public void setTargetDataType(DataType targetNode);
 
     /**
      * @return

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImpl.java?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImpl.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/DataBindingRegistryImpl.java Tue Aug 22 13:36:22 2006
@@ -22,6 +22,7 @@
 
 import org.apache.tuscany.databinding.DataBinding;
 import org.apache.tuscany.databinding.DataBindingRegistry;
+import org.apache.tuscany.spi.model.DataType;
 import org.osoa.sca.annotations.Init;
 
 /**
@@ -69,6 +70,11 @@
         if (object == null)
             return null;
         return introspectType(object.getClass());
+    }
+
+    public DataBinding introspectType(DataType dataType) {
+        // FIXME: [rfeng] To be implemented
+        return introspectType((Class) dataType.getPhysical());
     }
 
 }

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/MediatorImpl.java Tue Aug 22 13:36:22 2006
@@ -21,7 +21,7 @@
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.tuscany.databinding.DataBinding;
+import org.apache.tuscany.databinding.DataBindingRegistry;
 import org.apache.tuscany.databinding.DataPipe;
 import org.apache.tuscany.databinding.Mediator;
 import org.apache.tuscany.databinding.PullTransformer;
@@ -30,6 +30,7 @@
 import org.apache.tuscany.databinding.Transformer;
 import org.apache.tuscany.databinding.TransformerRegistry;
 import org.apache.tuscany.spi.annotation.Autowire;
+import org.apache.tuscany.spi.model.DataType;
 import org.osoa.sca.annotations.Scope;
 
 /**
@@ -38,11 +39,18 @@
 @Scope("MODULE")
 public class MediatorImpl implements Mediator {
 
-    private TransformerRegistry registry;
+    private DataBindingRegistry dataBindingRegistry;
+
+    private TransformerRegistry transformerRegistry;
+
+    @Autowire
+    public void setTransformerRegistry(TransformerRegistry transformerRegistry) {
+        this.transformerRegistry = transformerRegistry;
+    }
 
     @Autowire
-    public void setRegistry(TransformerRegistry registry) {
-        this.registry = registry;
+    public void setDataBindingRegistry(DataBindingRegistry dataBindingRegistry) {
+        this.dataBindingRegistry = dataBindingRegistry;
     }
 
     /*
@@ -51,8 +59,10 @@
      *      org.apache.tuscany.databinding.TransformationContext)
      */
     @SuppressWarnings("unchecked")
-    public Object mediate(Object source, DataBinding sourceBinding, DataBinding targetBinding) {
-        List<Transformer> path = registry.getTransformerChain(sourceBinding.getName(), targetBinding.getName());
+    public Object mediate(Object source, DataType sourceDataType, DataType targetDataType) {
+        String sourceId = dataBindingRegistry.introspectType(sourceDataType).getName();
+        String targetId = dataBindingRegistry.introspectType(targetDataType).getName();
+        List<Transformer> path = transformerRegistry.getTransformerChain(sourceId, targetId);
 
         Object result = source;
         for (Iterator<Transformer> i = path.iterator(); i.hasNext();) {
@@ -60,10 +70,12 @@
             // FIXME: We probably need to reset the context for each transformation on the path to reflect
             // the source and target type
             if (transformer instanceof PullTransformer) {
-                TransformationContext context = new TransformationContextImpl(sourceBinding, targetBinding, Thread.currentThread().getContextClassLoader());
+                TransformationContext context = new TransformationContextImpl(sourceDataType, targetDataType, Thread.currentThread()
+                        .getContextClassLoader());
                 result = ((PullTransformer) transformer).transform(result, context);
             } else if (transformer instanceof PushTransformer) {
-                TransformationContext context = new TransformationContextImpl(sourceBinding, targetBinding, Thread.currentThread().getContextClassLoader());
+                TransformationContext context = new TransformationContextImpl(sourceDataType, targetDataType, Thread.currentThread()
+                        .getContextClassLoader());
                 DataPipe dataPipe = i.hasNext() ? (DataPipe) i.next() : null;
                 ((PushTransformer) transformer).transform(result, dataPipe.getSink(), context);
                 result = dataPipe.getResult();
@@ -74,17 +86,21 @@
     }
 
     @SuppressWarnings("unchecked")
-    public void mediate(Object source, Object target, DataBinding sourceBinding, DataBinding targetBinding) {
-        List<Transformer> path = registry.getTransformerChain(sourceBinding.getName(), targetBinding.getName());
+    public void mediate(Object source, Object target, DataType sourceDataType, DataType targetDataType) {
+        String sourceId = dataBindingRegistry.introspectType(sourceDataType).getName();
+        String targetId = dataBindingRegistry.introspectType(targetDataType).getName();
+        List<Transformer> path = transformerRegistry.getTransformerChain(sourceId, targetId);
 
         Object result = source;
         for (Iterator<Transformer> i = path.iterator(); i.hasNext();) {
             Transformer transformer = i.next();
             if (transformer instanceof PullTransformer) {
-                TransformationContext context = new TransformationContextImpl(sourceBinding, targetBinding, Thread.currentThread().getContextClassLoader());
+                TransformationContext context = new TransformationContextImpl(sourceDataType, targetDataType, Thread.currentThread()
+                        .getContextClassLoader());
                 result = ((PullTransformer) transformer).transform(result, context);
             } else if (transformer instanceof PushTransformer) {
-                TransformationContext context = new TransformationContextImpl(sourceBinding, targetBinding, Thread.currentThread().getContextClassLoader());
+                TransformationContext context = new TransformationContextImpl(sourceDataType, targetDataType, Thread.currentThread()
+                        .getContextClassLoader());
                 DataPipe dataPipe = i.hasNext() ? (DataPipe) i.next() : null;
                 Object sink = dataPipe != null ? dataPipe.getSink() : target;
                 ((PushTransformer) transformer).transform(result, sink, context);

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/main/java/org/apache/tuscany/databinding/impl/TransformationContextImpl.java Tue Aug 22 13:36:22 2006
@@ -20,13 +20,13 @@
 
 import java.lang.ref.WeakReference;
 
-import org.apache.tuscany.databinding.DataBinding;
 import org.apache.tuscany.databinding.TransformationContext;
+import org.apache.tuscany.spi.model.DataType;
 
 public class TransformationContextImpl implements TransformationContext {
-    private DataBinding sourceDataBinding;
+    private DataType sourceDataType;
 
-    private DataBinding targetDataBinding;
+    private DataType targetDataType;
 
     private WeakReference<ClassLoader> classLoaderRef;
 
@@ -35,27 +35,27 @@
         setClassLoader(Thread.currentThread().getContextClassLoader());
     }
 
-    public TransformationContextImpl(DataBinding sourceDataBinding, DataBinding targetDataBinding, ClassLoader classLoader) {
+    public TransformationContextImpl(DataType sourceDataType, DataType targetDataType, ClassLoader classLoader) {
         super();
-        this.sourceDataBinding = sourceDataBinding;
-        this.targetDataBinding = targetDataBinding;
+        this.sourceDataType = sourceDataType;
+        this.targetDataType = targetDataType;
         setClassLoader(classLoader);
     }
 
-    public DataBinding getSourceDataBinding() {
-        return sourceDataBinding;
+    public DataType getSourceDataType() {
+        return sourceDataType;
     }
 
-    public DataBinding getTargetDataBinding() {
-        return targetDataBinding;
+    public DataType getTargetDataType() {
+        return targetDataType;
     }
 
-    public void setSourceDataBinding(DataBinding sourceDataBinding) {
-        this.sourceDataBinding = sourceDataBinding;
+    public void setSourceDataType(DataType sourceDataType) {
+        this.sourceDataType = sourceDataType;
     }
 
-    public void setTargetDataBinding(DataBinding targetDataBinding) {
-        this.targetDataBinding = targetDataBinding;
+    public void setTargetDataType(DataType targetDataType) {
+        this.targetDataType = targetDataType;
     }
 
     final public void setClassLoader(ClassLoader classLoader) {

Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java Tue Aug 22 13:36:22 2006
@@ -35,6 +35,7 @@
 import org.apache.tuscany.databinding.xml.SAXContentHandlerBinding;
 import org.apache.tuscany.databinding.xml.WriterBinding;
 import org.apache.tuscany.databinding.xml.XMLStringBinding;
+import org.apache.tuscany.spi.model.DataType;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -72,20 +73,23 @@
         registry.registerTransformer(new Node2Writer());
 
         mediator = new MediatorImpl();
-        mediator.setRegistry(registry);
+        mediator.setTransformerRegistry(registry);
+        mediator.setDataBindingRegistry(bindingRegistry);
     }
 
     @SuppressWarnings("unchecked")
     private TransformationContext createTransformationContext(Class sourceType, Class targetType) {
         TransformationContext context = new TransformationContextImpl();
-        context.setSourceDataBinding(bindingRegistry.introspectType(sourceType));
-        context.setTargetDataBinding(bindingRegistry.introspectType(targetType));
+        DataType sourceDataType = new DataType<Class>(sourceType, sourceType);
+        DataType targetDataType = new DataType<Class>(targetType, targetType);
+        context.setSourceDataType(sourceDataType);
+        context.setTargetDataType(targetDataType);
         return context;
     }
 
     public void testTransform1() {
         TransformationContext context = createTransformationContext(String.class, Node.class);
-        Object node = mediator.mediate(IPO_XML, context.getSourceDataBinding(), context.getTargetDataBinding());
+        Object node = mediator.mediate(IPO_XML, context.getSourceDataType(), context.getTargetDataType());
         Assert.assertTrue(node instanceof Document);
         Element root = ((Document) node).getDocumentElement();
         Assert.assertEquals(root.getNamespaceURI(), "http://www.example.com/IPO");
@@ -95,7 +99,7 @@
     public void testTransform2() {
         TransformationContext context = createTransformationContext(String.class, Writer.class);
         Writer writer = new StringWriter();
-        mediator.mediate(IPO_XML, writer, context.getSourceDataBinding(), context.getTargetDataBinding());
+        mediator.mediate(IPO_XML, writer, context.getSourceDataType(), context.getTargetDataType());
         String str = writer.toString();
         Assert.assertTrue(str != null && str.indexOf("<shipDate>1999-12-05</shipDate>") != -1);
     }

Modified: incubator/tuscany/java/sca/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-jaxb/src/main/java/org/apache/tuscany/databinding/jaxb/JAXBContextHelper.java Tue Aug 22 13:36:22 2006
@@ -19,9 +19,9 @@
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
 
-import org.apache.tuscany.databinding.DataBinding;
 import org.apache.tuscany.databinding.TransformationContext;
 import org.apache.tuscany.databinding.TransformationException;
+import org.apache.tuscany.spi.model.DataType;
 
 public class JAXBContextHelper {
     // TODO: Do we need to set them for source and target?
@@ -38,13 +38,13 @@
 
         // FIXME: We should check the context path or classes
         // FIXME: What should we do if JAXB is an intermediate node?
-        DataBinding bindingContext = source ? tContext.getSourceDataBinding() : tContext.getTargetDataBinding();
-        String contextPath = (String) bindingContext.getAttribute(JAXB_CONTEXT_PATH);
+        DataType<?> bindingContext = source ? tContext.getSourceDataType() : tContext.getTargetDataType();
+        String contextPath = (String) bindingContext.getMetadata(JAXB_CONTEXT_PATH);
         JAXBContext context = null;
         if (contextPath != null)
             context = JAXBContext.newInstance(contextPath);
         else {
-            Class[] classes = (Class[]) bindingContext.getAttribute(JAXB_CLASSES);
+            Class[] classes = (Class[]) bindingContext.getMetadata(JAXB_CLASSES);
             context = JAXBContext.newInstance(classes);
         }
         if (context == null)

Modified: incubator/tuscany/java/sca/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-jaxb/src/test/java/org/apache/tuscany/databinding/jaxb/JAXBTestCase.java Tue Aug 22 13:36:22 2006
@@ -27,8 +27,8 @@
 import junit.framework.Assert;
 import junit.framework.TestCase;
 
-import org.apache.tuscany.databinding.DataBinding;
 import org.apache.tuscany.databinding.TransformationContext;
+import org.apache.tuscany.spi.model.DataType;
 import org.w3c.dom.Node;
 
 public class JAXBTestCase extends TestCase {
@@ -52,22 +52,20 @@
     public void testTransform() throws Exception {
         Reader2JAXB t0 = new Reader2JAXB();
         
-        DataBinding targetContext = createMock(DataBinding.class);
-        expect(targetContext.getAttribute(JAXBContextHelper.JAXB_CONTEXT_PATH)).andReturn(contextPath).anyTimes();
-        replay(targetContext);
+        DataType targetDataType = new DataType<Class>(Object.class, null);
+        targetDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
         
         TransformationContext tContext = createMock(TransformationContext.class);
-        expect(tContext.getTargetDataBinding()).andReturn(targetContext).anyTimes();
+        expect(tContext.getTargetDataType()).andReturn(targetDataType).anyTimes();
         replay(tContext);
 
         Object object1 = t0.transform(new StringReader(IPO_XML), tContext);
 
-        DataBinding sourceContext = createMock(DataBinding.class);
-        expect(sourceContext.getAttribute(JAXBContextHelper.JAXB_CONTEXT_PATH)).andReturn(contextPath).anyTimes();
-        replay(sourceContext);
+        DataType sourceDataType = new DataType<Class>(Object.class, null);
+        sourceDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
         
         TransformationContext tContext1 = createMock(TransformationContext.class);
-        expect(tContext1.getSourceDataBinding()).andReturn(sourceContext).anyTimes();
+        expect(tContext1.getSourceDataType()).andReturn(sourceDataType).anyTimes();
         replay(tContext1);
 
         

Modified: incubator/tuscany/java/sca/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/XMLStreamReader2XMLDocument.java Tue Aug 22 13:36:22 2006
@@ -37,7 +37,7 @@
         try {
             TypeHelper typeHelper = null;
             if (context != null) {
-                typeHelper = (TypeHelper) context.getTargetDataBinding().getAttribute(TypeHelper.class.getName());
+                typeHelper = (TypeHelper) context.getTargetDataType().getMetadata(TypeHelper.class.getName());
             }
             if (typeHelper == null)
                 typeHelper = TypeHelper.INSTANCE;

Modified: incubator/tuscany/java/sca/databinding/databinding-test/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-test/pom.xml?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-test/pom.xml (original)
+++ incubator/tuscany/java/sca/databinding/databinding-test/pom.xml Tue Aug 22 13:36:22 2006
@@ -28,8 +28,8 @@
 	<modelVersion>4.0.0</modelVersion>
 	<artifactId>databinding-test</artifactId>
     <packaging>jar</packaging>
-    <name>Data Binding Integration Test</name>
-	<description>Data Binding Integration Test</description>
+    <name>Apache Tuscany Data Binding Integration Test</name>
+	<description>Apache Tuscany Data Binding Integration Test</description>
 
 	<dependencies>
 		<dependency>

Modified: incubator/tuscany/java/sca/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/JAXBTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/JAXBTestCase.java?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/JAXBTestCase.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/JAXBTestCase.java Tue Aug 22 13:36:22 2006
@@ -34,6 +34,7 @@
 import org.apache.tuscany.databinding.jaxb.XMLStreamReader2JAXB;
 import org.apache.tuscany.databinding.xmlbeans.Node2XmlObject;
 import org.apache.tuscany.databinding.xmlbeans.XmlObject2XMLStreamReader;
+import org.apache.tuscany.spi.model.DataType;
 import org.apache.xmlbeans.XmlObject;
 import org.w3c.dom.Node;
 
@@ -63,24 +64,22 @@
         XmlObject2XMLStreamReader t1 = new XmlObject2XMLStreamReader();
         XMLStreamReader reader = t1.transform(object, null);
 
-        DataBinding targetContext = createMock(DataBinding.class);
-        expect(targetContext.getAttribute(JAXBContextHelper.JAXB_CONTEXT_PATH)).andReturn(contextPath).anyTimes();
-        replay(targetContext);
+        DataType targetDataType = new DataType<Class>(Object.class, null);
+        targetDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
 
         TransformationContext tContext = createMock(TransformationContext.class);
-        expect(tContext.getTargetDataBinding()).andReturn(targetContext).anyTimes();
+        expect(tContext.getTargetDataType()).andReturn(targetDataType).anyTimes();
         replay(tContext);
 
         // XMLStreamReader to JAXB
         XMLStreamReader2JAXB t2 = new XMLStreamReader2JAXB();
         Object object2 = t2.transform(reader, tContext);
 
-        DataBinding sourceContext = createMock(DataBinding.class);
-        expect(sourceContext.getAttribute(JAXBContextHelper.JAXB_CONTEXT_PATH)).andReturn(contextPath).anyTimes();
-        replay(sourceContext);
+        DataType sourceDataType = new DataType<Class>(Object.class, null);
+        sourceDataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
 
         TransformationContext tContext1 = createMock(TransformationContext.class);
-        expect(tContext1.getSourceDataBinding()).andReturn(sourceContext).anyTimes();
+        expect(tContext1.getSourceDataType()).andReturn(sourceDataType).anyTimes();
         replay(tContext1);
 
         JAXB2Node t3 = new JAXB2Node();

Modified: incubator/tuscany/java/sca/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java?rev=433741&r1=433740&r2=433741&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-test/src/test/java/org/apache/tuscany/databinding/TransformationTestCase.java Tue Aug 22 13:36:22 2006
@@ -51,6 +51,7 @@
 import org.apache.tuscany.databinding.xmlbeans.XMLStreamReader2XmlObject;
 import org.apache.tuscany.databinding.xmlbeans.XmlObject2Node;
 import org.apache.tuscany.databinding.xmlbeans.XmlObject2XMLStreamReader;
+import org.apache.tuscany.spi.model.DataType;
 import org.apache.xmlbeans.XmlObject;
 import org.w3c.dom.Node;
 
@@ -193,18 +194,14 @@
     }
 
     private TransformationContext createTransformationContext() {
-        DataBinding targetContext = createMock(DataBinding.class);
-        expect(targetContext.getAttribute(JAXBContextHelper.JAXB_CONTEXT_PATH)).andReturn(contextPath).anyTimes();
-        replay(targetContext);
+        DataType dataType = new DataType<Class>(Object.class, null);
+        dataType.setMetadata(JAXBContextHelper.JAXB_CONTEXT_PATH, contextPath);
 
-        TransformationContext tContext = createMock(TransformationContext.class);
-        expect(tContext.getTargetDataBinding()).andReturn(targetContext).anyTimes();
 
-        DataBinding sourceContext = createMock(DataBinding.class);
-        expect(sourceContext.getAttribute(JAXBContextHelper.JAXB_CONTEXT_PATH)).andReturn(contextPath).anyTimes();
-        replay(sourceContext);
+        TransformationContext tContext = createMock(TransformationContext.class);
+        expect(tContext.getTargetDataType()).andReturn(dataType).anyTimes();
 
-        expect(tContext.getSourceDataBinding()).andReturn(sourceContext).anyTimes();
+        expect(tContext.getSourceDataType()).andReturn(dataType).anyTimes();
         replay(tContext);
         return tContext;
     }



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