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/03/18 07:25:52 UTC

svn commit: r519565 - in /incubator/tuscany/java/sca/extensions/axis2/databinding: ./ src/main/java/org/apache/tuscany/databinding/axiom/ src/test/java/org/apache/tuscany/databinding/axiom/

Author: rfeng
Date: Sat Mar 17 23:25:51 2007
New Revision: 519565

URL: http://svn.apache.org/viewvc?view=rev&rev=519565
Log:
Merge databinding-axiom from sca-java-integration branch

Added:
    incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandler.java
      - copied, changed from r518676, incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandler.java
    incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomHelper.java
      - copied, changed from r518676, incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomHelper.java
    incubator/tuscany/java/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandlerTestCase.java
      - copied, changed from r518676, incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandlerTestCase.java
Modified:
    incubator/tuscany/java/sca/extensions/axis2/databinding/pom.xml
    incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomDataBinding.java
    incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java
    incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java
    incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java
    incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/XMLStreamReader2OMElement.java
    incubator/tuscany/java/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/OMElementTestCase.java

Modified: incubator/tuscany/java/sca/extensions/axis2/databinding/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/extensions/axis2/databinding/pom.xml?view=diff&rev=519565&r1=519564&r2=519565
==============================================================================
--- incubator/tuscany/java/sca/extensions/axis2/databinding/pom.xml (original)
+++ incubator/tuscany/java/sca/extensions/axis2/databinding/pom.xml Sat Mar 17 23:25:51 2007
@@ -1,49 +1,52 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.    
+    * Licensed to the Apache Software Foundation (ASF) under one
+    * or more contributor license agreements.  See the NOTICE file
+    * distributed with this work for additional information
+    * regarding copyright ownership.  The ASF licenses this file
+    * to you under the Apache License, Version 2.0 (the
+    * "License"); you may not use this file except in compliance
+    * with the License.  You may obtain a copy of the License at
+    * 
+    *   http://www.apache.org/licenses/LICENSE-2.0
+    * 
+    * Unless required by applicable law or agreed to in writing,
+    * software distributed under the License is distributed on an
+    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    * KIND, either express or implied.  See the License for the
+    * specific language governing permissions and limitations
+    * under the License.    
 -->
 <project>
-	<parent>
-		<groupId>org.apache.tuscany.sca.extensions.axis2</groupId>
-		<artifactId>parent</artifactId>
-		<version>1.0-incubator-SNAPSHOT</version>
-	</parent>
-
-	<modelVersion>4.0.0</modelVersion>
-	<artifactId>databinding-axiom</artifactId>
-	<name>Apache Tuscany Data Binding for Axiom</name>
-	<description>Tuscany Axiom Data Binding</description>
+    <parent>
+        <groupId>org.apache.tuscany.sca.axis2</groupId>
+        <artifactId>parent</artifactId>
+        <version>2.0-alpha2-incubating-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>databinding-axiom</artifactId>
+    <name>Apache Tuscany Data Binding for Axiom</name>
+    <description>Tuscany Axiom Data Binding</description>
 
-	<dependencies>
+    <dependencies>
 
         <dependency>
             <groupId>org.apache.tuscany.sca.kernel</groupId>
-            <artifactId>tuscany-spi</artifactId>
+            <artifactId>tuscany-databinding</artifactId>
+            <version>2.0-alpha2-incubating-SNAPSHOT</version>
+            <scope>compile</scope>
         </dependency>
 
         <dependency>
             <groupId>org.apache.ws.commons.axiom</groupId>
             <artifactId>axiom-api</artifactId>
             <exclusions>
-               <exclusion>
-                  <groupId>xerces</groupId>
-                  <artifactId>xercesImpl</artifactId>
-               </exclusion>
+                <exclusion>
+                    <groupId>xerces</groupId>
+                    <artifactId>xercesImpl</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
 
@@ -64,15 +67,45 @@
         </dependency>
 
         <dependency>
-            <groupId>woodstox</groupId>
+            <groupId>org.codehaus.woodstox</groupId>
             <artifactId>wstx-asl</artifactId>
         </dependency>
 
         <dependency>
             <groupId>commons-logging</groupId>
             <artifactId>commons-logging</artifactId>
-        </dependency>		
+        </dependency>
+        <!-- java.xml.stream API -->
+        <dependency>
+            <groupId>stax</groupId>
+            <artifactId>stax-api</artifactId>
+            <version>1.0.1</version>
+            <scope>compile</scope>
+        </dependency>
+
+        <!-- StAX implementation -->
+        <dependency>
+            <groupId>org.codehaus.woodstox</groupId>
+            <artifactId>wstx-asl</artifactId>
+            <version>3.2.0</version>
+            <scope>runtime</scope>
+        </dependency>
 
-   </dependencies>
+        <!-- junit version -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.2</version>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- EasyMock version -->
+        <dependency>
+            <groupId>org.easymock</groupId>
+            <artifactId>easymock</artifactId>
+            <version>2.2</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
 
 </project>

Modified: incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomDataBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomDataBinding.java?view=diff&rev=519565&r1=519564&r2=519565
==============================================================================
--- incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomDataBinding.java (original)
+++ incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomDataBinding.java Sat Mar 17 23:25:51 2007
@@ -19,14 +19,9 @@
 
 package org.apache.tuscany.databinding.axiom;
 
-import java.io.ByteArrayInputStream;
-import java.io.StringWriter;
-
-import javax.xml.stream.XMLStreamException;
-
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
 import org.apache.tuscany.spi.databinding.DataBinding;
+import org.apache.tuscany.spi.databinding.ExceptionHandler;
 import org.apache.tuscany.spi.databinding.WrapperHandler;
 import org.apache.tuscany.spi.databinding.extension.DataBindingExtension;
 import org.osoa.sca.annotations.Service;
@@ -38,9 +33,10 @@
 public class AxiomDataBinding extends DataBindingExtension {
     
     public static final String NAME = OMElement.class.getName();
+    public static final String[] ALIASES = new String[] {"axiom"};
 
     public AxiomDataBinding() {
-        super(OMElement.class);
+        super(NAME, ALIASES, OMElement.class);
     }
 
     /**
@@ -55,17 +51,17 @@
         if ( OMElement.class.isAssignableFrom(source.getClass()) ) {
             try {
                 OMElement sourceElement = (OMElement)source;
-                StringWriter writer = new StringWriter();
-                sourceElement.serialize(writer);
-                
-                StAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(writer.toString().getBytes()));
-                OMElement copyElement = builder.getDocumentElement();
-                return copyElement;
-            } catch ( XMLStreamException e ) {
+                return sourceElement.cloneOMElement();
+            } catch ( Exception e ) {
                 throw new IllegalArgumentException(e);
             }
         }
         return super.copy(source);
     }
+    
+    @Override
+    public ExceptionHandler getExceptionHandler() {
+        return new AxiomExceptionHandler();
+    }    
 
 }

Copied: incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandler.java (from r518676, incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandler.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandler.java?view=diff&rev=519565&p1=incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandler.java&r1=518676&p2=incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandler.java&r2=519565
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandler.java (original)
+++ incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandler.java Sat Mar 17 23:25:51 2007
@@ -22,8 +22,8 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.tuscany.spi.databinding.ExceptionHandler;
 import org.apache.tuscany.spi.idl.ServiceFaultException;
-import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
+import org.apache.tuscany.spi.model.XMLType;
 
 /**
  * AXIOM implementation of ExceptionHandler

Copied: incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomHelper.java (from r518676, incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomHelper.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomHelper.java?view=diff&rev=519565&p1=incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomHelper.java&r1=518676&p2=incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomHelper.java&r2=519565
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomHelper.java (original)
+++ incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/AxiomHelper.java Sat Mar 17 23:25:51 2007
@@ -26,8 +26,8 @@
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.tuscany.spi.databinding.TransformationContext;
-import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
+import org.apache.tuscany.spi.model.XMLType;
 
 /**
  * Helper for AXIOM

Modified: incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java?view=diff&rev=519565&r1=519564&r2=519565
==============================================================================
--- incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java (original)
+++ incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/OMElementWrapperHandler.java Sat Mar 17 23:25:51 2007
@@ -19,14 +19,19 @@
 
 package org.apache.tuscany.databinding.axiom;
 
+import java.util.ArrayList;
 import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.namespace.QName;
 
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
 import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.apache.tuscany.spi.databinding.WrapperHandler;
-import org.apache.tuscany.spi.idl.ElementInfo;
+import org.apache.tuscany.spi.model.ElementInfo;
 
 /**
  * OMElement wrapper handler implementation
@@ -45,23 +50,21 @@
         return wrapper;
     }
 
-    public Object getChild(OMElement wrapper, int i, ElementInfo element) {
-        int index = 0;
-        for (Iterator e = wrapper.getChildElements(); e.hasNext();) {
-            OMElement child = (OMElement) e.next();
-            if (index != i) {
-                index++;
-                continue;
-            }
-            if (child.getQName().equals(element.getQName())) {
-                return child;
-            }
-        }
-        return null;
+    public void setChild(OMElement wrapper, int i, ElementInfo childElement, Object value) {
+        OMElement element = (OMElement)value;
+        QName elementName = childElement.getQName();
+        OMNamespace namespace = factory.createOMNamespace(elementName.getNamespaceURI(), elementName.getPrefix());
+        element.setNamespace(namespace);
+        element.setLocalName(childElement.getQName().getLocalPart());
+        wrapper.addChild((OMElement)value);
     }
 
-    public void setChild(OMElement wrapper, int i, ElementInfo childElement, Object value) {
-        wrapper.addChild((OMElement) value);
+    public List getChildren(OMElement wrapper) {
+        List<Object> elements = new ArrayList<Object>();
+        for (Iterator i = wrapper.getChildElements(); i.hasNext();) {
+            elements.add(i.next());
+        }
+        return elements;
     }
 
 }

Modified: incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java?view=diff&rev=519565&r1=519564&r2=519565
==============================================================================
--- incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java (original)
+++ incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/Object2OMElement.java Sat Mar 17 23:25:51 2007
@@ -18,13 +18,14 @@
  */
 package org.apache.tuscany.databinding.axiom;
 
+import javax.xml.namespace.QName;
+
 import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.apache.tuscany.spi.databinding.Transformer;
 import org.apache.tuscany.spi.databinding.extension.Java2SimpleTypeTransformer;
-import org.apache.tuscany.spi.idl.ElementInfo;
 import org.osoa.sca.annotations.Service;
 
 /**
@@ -40,8 +41,8 @@
         factory = OMAbstractFactory.getOMFactory();
     }
 
-    protected OMElement createElement(ElementInfo element, String text, TransformationContext context) {
-        OMElement omElement = factory.createOMElement(element.getQName(), null);
+    protected OMElement createElement(QName element, String text, TransformationContext context) {
+        OMElement omElement = factory.createOMElement(element, null);
         factory.createOMText(omElement, text);
         return omElement;
     }

Modified: incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java?view=diff&rev=519565&r1=519564&r2=519565
==============================================================================
--- incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java (original)
+++ incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/String2OMElement.java Sat Mar 17 23:25:51 2007
@@ -20,19 +20,13 @@
 
 import java.io.ByteArrayInputStream;
 
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.impl.builder.StAXOMBuilder;
 import org.apache.tuscany.spi.databinding.PullTransformer;
 import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.apache.tuscany.spi.databinding.TransformationException;
 import org.apache.tuscany.spi.databinding.Transformer;
 import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.apache.tuscany.spi.model.DataType;
 import org.osoa.sca.annotations.Service;
 
 @Service(Transformer.class)
@@ -44,32 +38,10 @@
         try {
             StAXOMBuilder builder = new StAXOMBuilder(new ByteArrayInputStream(source.getBytes()));
             OMElement element = builder.getDocumentElement();
-            adjustElementName(context, element);
+            AxiomHelper.adjustElementName(context, element);
             return element;
         } catch (Exception e) {
             throw new TransformationException(e);
-        }
-    }
-
-    /**
-     * @param context
-     * @param element
-     */
-    private void adjustElementName(TransformationContext context, OMElement element) {
-        if (context != null) {
-            DataType dataType = context.getTargetDataType();
-            Object targetQName = dataType == null ? null : dataType.getLogical();
-            if (!(targetQName instanceof QName)) {
-                return;
-            }
-            if (!element.getQName().equals(targetQName)) {
-                // TODO: Throw expection or switch to the new Element
-                OMFactory factory = OMAbstractFactory.getOMFactory();
-                QName name = (QName)targetQName;
-                OMNamespace namespace = factory.createOMNamespace(name.getNamespaceURI(), name.getPrefix());
-                element.setNamespace(namespace);
-                element.setLocalName(name.getLocalPart());
-            }
         }
     }
 

Modified: incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/XMLStreamReader2OMElement.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/XMLStreamReader2OMElement.java?view=diff&rev=519565&r1=519564&r2=519565
==============================================================================
--- incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/XMLStreamReader2OMElement.java (original)
+++ incubator/tuscany/java/sca/extensions/axis2/databinding/src/main/java/org/apache/tuscany/databinding/axiom/XMLStreamReader2OMElement.java Sat Mar 17 23:25:51 2007
@@ -18,20 +18,15 @@
  */
 package org.apache.tuscany.databinding.axiom;
 
-import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamReader;
 
-import org.apache.axiom.om.OMAbstractFactory;
 import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.OMFactory;
-import org.apache.axiom.om.OMNamespace;
 import org.apache.axiom.om.impl.builder.StAXOMBuilder;
 import org.apache.tuscany.spi.databinding.PullTransformer;
 import org.apache.tuscany.spi.databinding.TransformationContext;
 import org.apache.tuscany.spi.databinding.TransformationException;
 import org.apache.tuscany.spi.databinding.Transformer;
 import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.apache.tuscany.spi.model.DataType;
 import org.osoa.sca.annotations.Service;
 
 @Service(Transformer.class)
@@ -46,32 +41,10 @@
         try {
             StAXOMBuilder builder = new StAXOMBuilder(source);
             OMElement element = builder.getDocumentElement();
-            adjustElementName(context, element);
+            AxiomHelper.adjustElementName(context, element);
             return element;
         } catch (Exception e) {
             throw new TransformationException(e);
-        }
-    }
-
-    /**
-     * @param context
-     * @param element
-     */
-    private void adjustElementName(TransformationContext context, OMElement element) {
-        if (context != null) {
-            DataType dataType = context.getTargetDataType();
-            Object targetQName = dataType == null ? null : dataType.getLogical();
-            if (!(targetQName instanceof QName)) {
-                return;
-            }
-            if (!element.getQName().equals(targetQName)) {
-                // TODO: Throw expection or switch to the new Element
-                OMFactory factory = OMAbstractFactory.getOMFactory();
-                QName name = (QName)targetQName;
-                OMNamespace namespace = factory.createOMNamespace(name.getNamespaceURI(), name.getPrefix());
-                element.setNamespace(namespace);
-                element.setLocalName(name.getLocalPart());
-            }
         }
     }
 

Copied: incubator/tuscany/java/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandlerTestCase.java (from r518676, incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandlerTestCase.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandlerTestCase.java?view=diff&rev=519565&p1=incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandlerTestCase.java&r1=518676&p2=incubator/tuscany/java/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandlerTestCase.java&r2=519565
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandlerTestCase.java (original)
+++ incubator/tuscany/java/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/AxiomExceptionHandlerTestCase.java Sat Mar 17 23:25:51 2007
@@ -29,8 +29,8 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.impl.builder.StAXOMBuilder;
 import org.apache.tuscany.spi.idl.ServiceFaultException;
-import org.apache.tuscany.spi.idl.XMLType;
 import org.apache.tuscany.spi.model.DataType;
+import org.apache.tuscany.spi.model.XMLType;
 
 /**
  * Test case for SDOExceptionHandler

Modified: incubator/tuscany/java/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/OMElementTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/OMElementTestCase.java?view=diff&rev=519565&r1=519564&r2=519565
==============================================================================
--- incubator/tuscany/java/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/OMElementTestCase.java (original)
+++ incubator/tuscany/java/sca/extensions/axis2/databinding/src/test/java/org/apache/tuscany/databinding/axiom/OMElementTestCase.java Sat Mar 17 23:25:51 2007
@@ -28,19 +28,34 @@
 
 public class OMElementTestCase extends TestCase {
     private static final String IPO_XML =
-            "<?xml version=\"1.0\"?>" + "<ipo:purchaseOrder"
-                    + "  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
-                    + "  xmlns:ipo=\"http://www.example.com/IPO\""
-                    + "  xsi:schemaLocation=\"http://www.example.com/IPO ipo.xsd\"" + "  orderDate=\"1999-12-01\">"
-                    + "  <shipTo exportCode=\"1\" xsi:type=\"ipo:UKAddress\">" + "    <name>Helen Zoe</name>"
-                    + "    <street>47 Eden Street</street>" + "    <city>Cambridge</city>"
-                    + "    <postcode>CB1 1JR</postcode>" + "  </shipTo>" + "  <billTo xsi:type=\"ipo:USAddress\">"
-                    + "    <name>Robert Smith</name>" + "    <street>8 Oak Avenue</street>"
-                    + "    <city>Old Town</city>" + "    <state>PA</state>" + "    <zip>95819</zip>" + "  </billTo>"
-                    + "  <items>" + "    <item partNum=\"833-AA\">" + "      <productName>Lapis necklace</productName>"
-                    + "      <quantity>1</quantity>" + "      <USPrice>99.95</USPrice>"
-                    + "      <ipo:comment>Want this for the holidays</ipo:comment>"
-                    + "      <shipDate>1999-12-05</shipDate>" + "    </item>" + "  </items>" + "</ipo:purchaseOrder>";
+        "<?xml version=\"1.0\"?>" + "<ipo:purchaseOrder"
+            + "  xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\""
+            + "  xmlns:ipo=\"http://www.example.com/IPO\""
+            + "  xsi:schemaLocation=\"http://www.example.com/IPO ipo.xsd\""
+            + "  orderDate=\"1999-12-01\">"
+            + "  <shipTo exportCode=\"1\" xsi:type=\"ipo:UKAddress\">"
+            + "    <name>Helen Zoe</name>"
+            + "    <street>47 Eden Street</street>"
+            + "    <city>Cambridge</city>"
+            + "    <postcode>CB1 1JR</postcode>"
+            + "  </shipTo>"
+            + "  <billTo xsi:type=\"ipo:USAddress\">"
+            + "    <name>Robert Smith</name>"
+            + "    <street>8 Oak Avenue</street>"
+            + "    <city>Old Town</city>"
+            + "    <state>PA</state>"
+            + "    <zip>95819</zip>"
+            + "  </billTo>"
+            + "  <items>"
+            + "    <item partNum=\"833-AA\">"
+            + "      <productName>Lapis necklace</productName>"
+            + "      <quantity>1</quantity>"
+            + "      <USPrice>99.95</USPrice>"
+            + "      <ipo:comment>Want this for the holidays</ipo:comment>"
+            + "      <shipDate>1999-12-05</shipDate>"
+            + "    </item>"
+            + "  </items>"
+            + "</ipo:purchaseOrder>";
 
     public final void testStringTransform() {
         String2OMElement t1 = new String2OMElement();
@@ -53,16 +68,15 @@
 
     public final void testStringTransform2() {
         String str =
-            "<p0:firstName xmlns:xml=\"http://www.w3.org/XML/1998/namespace\" " 
-            + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
-            + "xmlns:p0=\"http://helloworld\">Robert</p0:firstName>";
+            "<p0:firstName xmlns:xml=\"http://www.w3.org/XML/1998/namespace\" " + "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "
+                + "xmlns:p0=\"http://helloworld\">Robert</p0:firstName>";
         String2OMElement t1 = new String2OMElement();
         OMElement element = t1.transform(str, null);
         OMElement2String t2 = new OMElement2String();
         String xml = t2.transform(element, null);
         Assert.assertNotNull(xml);
         Assert.assertNotNull(xml.indexOf("<ipo:comment>") != -1);
-    }    
+    }
 
     public final void testStAXTransform() {
         String2OMElement t1 = new String2OMElement();
@@ -76,6 +90,14 @@
 
         Assert.assertEquals(element2.getQName(), element.getQName());
         Assert.assertEquals(new QName("http://www.example.com/IPO", "purchaseOrder"), element2.getQName());
+    }
+
+    public final void testCopy() {
+        String2OMElement t1 = new String2OMElement();
+        OMElement element = t1.transform(IPO_XML, null);
+        OMElement copy = (OMElement)new AxiomDataBinding().copy(element);
+        assertNotSame(element, copy);
+        assertEquals(new QName("http://www.example.com/IPO", "purchaseOrder"), copy.getQName());
     }
 
 }



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