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