From bdd0a41aed7edf21ec2a65cfa17a86af2ef8c48a Mon Sep 17 00:00:00 2001 From: dims Date: Tue, 17 Jun 2008 00:23:01 +0000 Subject: Move Tuscany from Incubator to top level. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@668359 13f79535-47bb-0310-9956-ffa450edef68 --- .../binding/axis2/util/SDODataBindingTestCase.java | 123 +++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 branches/java-post-M1/sca/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/util/SDODataBindingTestCase.java (limited to 'branches/java-post-M1/sca/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/util/SDODataBindingTestCase.java') diff --git a/branches/java-post-M1/sca/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/util/SDODataBindingTestCase.java b/branches/java-post-M1/sca/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/util/SDODataBindingTestCase.java new file mode 100644 index 0000000000..621f12068c --- /dev/null +++ b/branches/java-post-M1/sca/bindings/binding.axis2/src/test/java/org/apache/tuscany/binding/axis2/util/SDODataBindingTestCase.java @@ -0,0 +1,123 @@ +/** + * + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. + * + * Licensed 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. + */ +package org.apache.tuscany.binding.axis2.util; + +import java.net.URL; + +import javax.xml.namespace.QName; + +import junit.framework.TestCase; + +import org.apache.axiom.om.OMElement; +import org.apache.tuscany.sdo.util.DataObjectUtil; +import org.apache.tuscany.sdo.util.SDOUtil; + +import commonj.sdo.DataObject; +import commonj.sdo.helper.DataFactory; +import commonj.sdo.helper.TypeHelper; +import commonj.sdo.helper.XSDHelper; + +public class SDODataBindingTestCase extends TestCase { + public static final QName DOCLITWRAPPED_QN = new QName("http://www.example.org/creditscore/doclitwrapped/", "getCreditScore"); + + public static final QName DOCLIT_QN = new QName("http://www.example.org/creditscore/doclit/", "getCreditScoreRequest"); + + public static final QName GREETING_QN = new QName("http://helloworldaxis.samples.tuscany.apache.org", "getGreetings"); + + private TypeHelper typeHelper; + + private SDODataBinding docLitWrappedDB; + + private SDODataBinding docLitDB; + + private SDODataBinding greetingDB; + + public void testToOMElement() { + String s = "petra"; + + OMElement omElement = greetingDB.toOMElement(new Object[] { s }); + assertNotNull(omElement); + + Object[] os = greetingDB.fromOMElement(omElement); + assertNotNull(os); + assertEquals(1, os.length); + assertEquals(s, os[0]); + } + + public void testDocLit() { + DataFactory dataFactory = SDOUtil.createDataFactory(typeHelper); + DataObject dataObject = dataFactory.create("http://www.example.org/creditscore/doclit/", "Customer"); + dataObject.setString(0, "111-22-3333"); + dataObject.setString(1, "John"); + dataObject.setString(2, "Smith"); + + OMElement omElement = docLitDB.toOMElement(new Object[] { dataObject }); + assertNotNull(omElement); + + Object[] os = docLitDB.fromOMElement(omElement); + assertNotNull(os); + assertEquals(os.length, 1); + assertTrue(os[0] instanceof DataObject); + + dataObject = (DataObject) os[0]; + assertEquals(dataObject.getString(0), "111-22-3333"); + assertEquals(dataObject.getString(1), "John"); + assertEquals(dataObject.getString(2), "Smith"); + } + + public void testDocLitWrapped() { + Object[] args = new Object[] { "111-22-3333", "John", "Smith" }; + + OMElement omElement = docLitWrappedDB.toOMElement(args); + assertNotNull(omElement); + + Object[] os = docLitWrappedDB.fromOMElement(omElement); + assertNotNull(os); + assertEquals(os.length, 3); + + assertEquals(os[0], "111-22-3333"); + assertEquals(os[1], "John"); + assertEquals(os[2], "Smith"); + } + + protected void setUp() throws Exception { + super.setUp(); + DataObjectUtil.initRuntime(); + ClassLoader cl = Thread.currentThread().getContextClassLoader(); + try { + Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); + + typeHelper = SDOUtil.createTypeHelper(); + XSDHelper xsdHelper = SDOUtil.createXSDHelper(typeHelper); + URL url = getClass().getResource("helloworld.wsdl"); + xsdHelper.define(url.openStream(), null); + url = getClass().getResource("CreditScoreDocLitWrapped.wsdl"); + xsdHelper.define(url.openStream(), null); + url = getClass().getResource("CreditScoreDocLit.wsdl"); + xsdHelper.define(url.openStream(), null); + + this.greetingDB = new SDODataBinding(getClass().getClassLoader(),typeHelper, GREETING_QN, true); + this.docLitWrappedDB = new SDODataBinding(getClass().getClassLoader(),typeHelper, DOCLITWRAPPED_QN, true); + + this.docLitDB = new SDODataBinding(getClass().getClassLoader(),typeHelper, DOCLIT_QN, false); + + } finally { + Thread.currentThread().setContextClassLoader(cl); + } + } + +} -- cgit v1.2.3