You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ews-dev@ws.apache.org by gu...@apache.org on 2005/08/08 14:28:41 UTC
svn commit: r230790 [9/9] - in /webservices/ews/trunk/mapper: ./ src/
src/java/ src/java/org/ src/java/org/apache/ src/java/org/apache/ws/
src/java/org/apache/ws/ews/ src/java/org/apache/ws/ews/context/
src/java/org/apache/ws/ews/context/webservices/ s...
Added: webservices/ews/trunk/mapper/src/test-resources/heavyweight/BookQuote.xml
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/mapper/src/test-resources/heavyweight/BookQuote.xml?rev=230790&view=auto
==============================================================================
--- webservices/ews/trunk/mapper/src/test-resources/heavyweight/BookQuote.xml (added)
+++ webservices/ews/trunk/mapper/src/test-resources/heavyweight/BookQuote.xml Mon Aug 8 05:28:03 2005
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<java-wsdl-mapping
+ xmlns="http://java.sun.com/xml/ns/j2ee"
+ xmlns:mh="http://www.Monson-Haefel.com/jwsbook/BookQuote"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
+ http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd"
+ version="1.1">
+ <package-mapping>
+ <package-type>com.jwsbook.jaxrpc</package-type>
+ <namespaceURI>
+ http://www.Monson-Haefel.com/jwsbook/BookQuote
+ </namespaceURI>
+ </package-mapping>
+ <exception-mapping>
+ <exception-type>com.jwsbook.jaxrpc.InvalidIsbnException</exception-type>
+ <wsdl-message>mh:InvalidIsbnFault</wsdl-message>
+ </exception-mapping>
+ <service-interface-mapping>
+ <service-interface>com.jwsbook.jaxrpc.BookQuoteService</service-interface>
+ <wsdl-service-name>mh:BookQuoteService</wsdl-service-name>
+ <port-mapping>
+ <port-name>mh:BookQuotePort</port-name>
+ <java-port-name>BookQuotePort</java-port-name>
+ </port-mapping>
+ </service-interface-mapping>
+ <service-endpoint-interface-mapping>
+ <service-endpoint-interface>com.jwsbook.jaxrpc.BookQuote
+ </service-endpoint-interface>
+ <wsdl-port-type>mh:BookQuote</wsdl-port-type>
+ <wsdl-binding>mh:BookQuoteBinding</wsdl-binding>
+ <service-endpoint-method-mapping>
+ <java-method-name>getBookPrice</java-method-name>
+ <wsdl-operation>getBookPrice</wsdl-operation>
+ <method-param-parts-mapping>
+ <param-position>0</param-position>
+ <param-type>java.lang.String</param-type>
+ <wsdl-message-mapping>
+ <wsdl-message>mh:BookQuote_getBookPriceRequest</wsdl-message>
+ <wsdl-message-part-name>isbn</wsdl-message-part-name>
+ <parameter-mode>IN</parameter-mode>
+ </wsdl-message-mapping>
+ </method-param-parts-mapping>
+ <wsdl-return-value-mapping>
+ <method-return-value>float</method-return-value>
+ <wsdl-message>mh:BookQuote_getBookPriceResponse</wsdl-message>
+ <wsdl-message-part-name>result</wsdl-message-part-name>
+ </wsdl-return-value-mapping>
+ </service-endpoint-method-mapping>
+ </service-endpoint-interface-mapping>
+</java-wsdl-mapping>
\ No newline at end of file
Added: webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/AbstractTestCase.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/AbstractTestCase.java?rev=230790&view=auto
==============================================================================
--- webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/AbstractTestCase.java (added)
+++ webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/AbstractTestCase.java Mon Aug 8 05:28:03 2005
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * 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.ws.ews.mapper;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+/**
+ * Abstract base class for test cases.
+ *
+ * @author <a href="jason@zenplex.com">Jason van Zyl</a>
+ */
+public abstract class AbstractTestCase
+ extends TestCase
+{
+ protected String testDir = "src/test/";
+ protected String resDir = "src/test-resources/";
+ /**
+ * Basedir for all file I/O. Important when running tests from
+ * the reactor.
+ */
+ public String basedir = System.getProperty("basedir");
+
+ /**
+ * Constructor.
+ */
+ public AbstractTestCase(String testName)
+ {
+ super(testName);
+ }
+
+ /**
+ * Get test input file.
+ *
+ * @param path Path to test input file.
+ */
+ public String getTestFile(String path)
+ {
+ return new File(basedir, path).getAbsolutePath();
+ }
+
+ /**
+ * Get test input file.
+ *
+ * @param path Path to test input file.
+ */
+ public String getTestResource(String path)
+ {
+ return getTestFile(resDir + path);
+ }
+}
+
Added: webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/AnonymousTypesTest.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/AnonymousTypesTest.java?rev=230790&view=auto
==============================================================================
--- webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/AnonymousTypesTest.java (added)
+++ webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/AnonymousTypesTest.java Mon Aug 8 05:28:03 2005
@@ -0,0 +1,118 @@
+package org.apache.ws.ews.mapper;
+
+import javax.xml.namespace.QName;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: sauthieg
+ * Date: Aug 5, 2005
+ * Time: 10:49:48 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public class AnonymousTypesTest extends JAXRPCMapperTestCase {
+
+ public AnonymousTypesTest(String name) {
+ super(name);
+ }
+
+ public void setUp() throws Exception {
+ super.setUp();
+ mapper.loadMappingFromDir(getTestResource(getJAXRPCMappingFileName()));
+ }
+
+ protected String getJAXRPCMappingFileName() {
+ return "anonymous/mapping.xml";
+ }
+
+ public void testGetPackageMappingCount() throws Exception {
+ int count = mapper.getPackageMappingCount();
+ assertEquals("Package mapping count incorrrect", 1, count);
+ }
+
+ public void testGetPackageMappingClassName() throws Exception {
+ String pkg = mapper.getPackageMappingClassName(0);
+ assertEquals("wrong package name", "org.apache.ws.ews", pkg);
+ }
+
+ public void testGetPackageMappingURI() throws Exception {
+ String uri = mapper.getPackageMappingURI(0);
+ assertEquals("wrong namespace", "X", uri);
+ }
+
+ public void testGetJavaType() throws Exception {
+ QName case1 = new QName("X", "root");
+ QName case2 = new QName("X", "root");
+ QName case3 = new QName("X", "root[0,unbounded]");
+ QName case4 = new QName("X", ">root");
+ QName case5 = new QName("X", ">root>inside");
+ QName case6 = new QName("X", ">root>inside[,10]");
+ QName case9 = new QName("X", "someOtherElement");
+ QName case8 = new QName("X", "someOtherElement[,20]");
+ QName case7 = new QName("X", ">>root>inside");
+
+ String type1 = mapper.getJavaType(case1);
+ assertEquals("org.apache.ws.ews.Root", type1);
+
+ // no support for qname-scope for now
+ /*
+ String type2 = mapper.getJavaType(case2);
+ assertEquals("org.apache.ws.ews.Root[]", type2);
+ */
+
+ String type3 = mapper.getJavaType(case3);
+ assertEquals("org.apache.ws.ews.Root[]", type3);
+
+ String type4 = mapper.getJavaType(case4);
+ assertEquals("org.apache.ws.ews.Root", type4);
+
+ String type5 = mapper.getJavaType(case5);
+ assertEquals("org.apache.ws.ews.Inside", type5);
+
+ String type6 = mapper.getJavaType(case6);
+ assertEquals("org.apache.ws.ews.Inside[]", type6);
+
+ String type7 = mapper.getJavaType(case7);
+ assertEquals("org.apache.ws.ews.Inside", type7);
+
+ String type8 = mapper.getJavaType(case8);
+ assertEquals("int[]", type8);
+
+ String type9 = mapper.getJavaType(case9);
+ assertEquals("int", type9);
+
+
+
+ }
+
+ public void testGetExceptionType() {
+ // no applicable for this mapping
+ }
+
+ public void testGetPortName() {
+ // no applicable for this mapping
+ }
+
+ public void testGetServiceInterfaceName() {
+ // no applicable for this mapping
+ }
+
+ public void testGetServiceEndpointInterfaceName() {
+ // no applicable for this mapping
+ }
+
+ public void testGetJavaMethodParamType() {
+ // no applicable for this mapping
+ }
+
+ public void testGetJavaMethodReturnType() {
+ // no applicable for this mapping
+ }
+
+ public void testGetJavaMethodName() {
+ // no applicable for this mapping
+ }
+
+ public void testHasWrappedElement() {
+ // no applicable for this mapping
+ }
+}
Added: webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/FrenchZipTest.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/FrenchZipTest.java?rev=230790&view=auto
==============================================================================
--- webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/FrenchZipTest.java (added)
+++ webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/FrenchZipTest.java Mon Aug 8 05:28:03 2005
@@ -0,0 +1,94 @@
+package org.apache.ws.ews.mapper;
+
+import javax.xml.namespace.QName;
+import javax.wsdl.Definition;
+import javax.wsdl.Port;
+import javax.wsdl.factory.WSDLFactory;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: sauthieg
+ * Date: Aug 5, 2005
+ * Time: 1:14:34 PM
+ * To change this template use File | Settings | File Templates.
+ */
+public class FrenchZipTest extends JAXRPCMapperTestCase {
+
+ private QName pt = null;
+ private QName b = null;
+ private QName s = null;
+
+ public FrenchZipTest(String name) {
+ super(name);
+ }
+
+ public void setUp() throws Exception {
+ super.setUp();
+ mapper.loadMappingFromDir(getTestResource(getJAXRPCMappingFileName()));
+ pt = new QName("http://tempuri.org/", "IODCODESPOSTAUX");
+ b = new QName("http://tempuri.org/", "IODCODESPOSTAUXbinding");
+ s = new QName("http://tempuri.org/", "IODCODESPOSTAUXservice");
+ }
+
+ protected String getJAXRPCMappingFileName() {
+ return "frenchzip/FrenchZipMapping.xml";
+ }
+
+ public void testGetPackageMappingCount() throws Exception {
+ int count = mapper.getPackageMappingCount();
+ assertEquals("Package mapping count incorrrect", 1, count);
+ }
+
+ public void testGetPackageMappingClassName() throws Exception {
+ String pkg = mapper.getPackageMappingClassName(0);
+ assertEquals("wrong package name", "org.objectweb.jonas.zip", pkg);
+ }
+
+ public void testGetPackageMappingURI() throws Exception {
+ String uri = mapper.getPackageMappingURI(0);
+ assertEquals("wrong namespace", "http://tempuri.org/", uri);
+ }
+
+ public void testGetJavaType() throws Exception {
+ // no type mapping here, the service use only string, int, ...
+ }
+
+ public void testGetExceptionType() throws Exception {
+ // not applicable
+ }
+
+ public void testGetPortName() throws Exception {
+ String port = mapper.getPortName("IODCODESPOSTAUXPort");
+ assertEquals("Java port name incorrect", "ZipPort", port);
+ }
+
+ public void testGetServiceInterfaceName() throws Exception {
+ String si = mapper.getServiceInterfaceName(s);
+ assertEquals("Wrong Java service interface name", "org.objectweb.jonas.zip.ZipService", si);
+ }
+
+ public void testGetServiceEndpointInterfaceName() throws Exception {
+ String sei = mapper.getServiceEndpointInterfaceName(pt, b);
+ assertEquals("Wrong Java service endpoint interface name", "org.objectweb.jonas.zip.Zip", sei);
+ }
+
+ public void testGetJavaMethodParamType() throws Exception {
+ String type = mapper.getJavaMethodParamType(b, pt, "GetDepartmentForCode", 0);
+ assertEquals("Wrong Method param type", "java.lang.String", type);
+ }
+
+ public void testGetJavaMethodReturnType() throws Exception {
+ String type = mapper.getJavaMethodReturnType(b, pt, "GetDepartmentForCode");
+ assertEquals("Wrong Method Return type", "java.lang.String", type);
+ }
+
+ public void testGetJavaMethodName() throws Exception {
+ String jmn = mapper.getJavaMethodName(b, pt, "GetDepartmentForCode");
+ assertEquals("Wrong Java Method name", "getMyDepartmentFromGivenPostalCode", jmn);
+ }
+
+ public void testHasWrappedElement() throws Exception {
+ boolean w = mapper.hasWrappedElement();
+ assertFalse("WSDL not wrapped", w);
+ }
+}
Added: webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/JAXRPCMapperTestCase.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/JAXRPCMapperTestCase.java?rev=230790&view=auto
==============================================================================
--- webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/JAXRPCMapperTestCase.java (added)
+++ webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/JAXRPCMapperTestCase.java Mon Aug 8 05:28:03 2005
@@ -0,0 +1,86 @@
+package org.apache.ws.ews.mapper;
+
+import org.apache.ws.ews.mapper.jaxrpc.JaxRpcMapper;
+import org.apache.ws.ews.mapper.jaxrpc.XMLBeansJaxRpcMapper;
+import org.apache.axis.wsdl.symbolTable.ServiceEntry;
+import org.apache.axis.wsdl.symbolTable.PortTypeEntry;
+import org.apache.axis.wsdl.symbolTable.BindingEntry;
+
+import javax.xml.namespace.QName;
+import javax.wsdl.Port;
+import javax.wsdl.Operation;
+import java.io.InputStream;
+import java.io.FileInputStream;
+
+/**
+ * Created by IntelliJ IDEA.
+ * User: sauthieg
+ * Date: Aug 5, 2005
+ * Time: 10:35:32 AM
+ * To change this template use File | Settings | File Templates.
+ */
+public abstract class JAXRPCMapperTestCase extends AbstractTestCase {
+
+ protected JaxRpcMapper mapper = null;
+
+ public JAXRPCMapperTestCase(String name) {
+ super(name);
+ }
+
+ public void setUp() throws Exception {
+ super.setUp();
+ mapper = new XMLBeansJaxRpcMapper();
+ }
+
+ public void tearDown() throws Exception {
+ mapper = null;
+ super.tearDown();
+ }
+
+ public void testLoadMappingFromInputStream() throws Exception {
+ String mapping = getTestResource(getJAXRPCMappingFileName());
+ try {
+ mapper.loadMappingFromInputStream(new FileInputStream(mapping));
+ } catch (MapperFault f) {
+ fail("Cannot load Mapping file '" + mapping + "' from an InputStream");
+ }
+ }
+
+ protected abstract String getJAXRPCMappingFileName();
+
+ public void testLoadMappingFromDir() throws Exception {
+ String mapping = getTestResource(getJAXRPCMappingFileName());
+ try {
+ mapper.loadMappingFromDir(mapping);
+ } catch (MapperFault f) {
+ fail("Cannot load Mapping file '" + mapping + "' from a File");
+ }
+ }
+
+ public abstract void testGetPackageMappingCount() throws Exception;
+
+ public abstract void testGetPackageMappingClassName() throws Exception;
+
+ public abstract void testGetPackageMappingURI() throws Exception;
+
+ public abstract void testGetJavaType() throws Exception;
+
+ public abstract void testGetExceptionType() throws Exception;
+
+ public abstract void testGetPortName() throws Exception;
+
+ public abstract void testGetServiceInterfaceName() throws Exception;
+
+ public abstract void testGetServiceEndpointInterfaceName() throws Exception;
+
+ public abstract void testGetJavaMethodParamType() throws Exception;
+
+ public abstract void testGetJavaMethodReturnType() throws Exception;
+
+ public abstract void testGetJavaMethodName() throws Exception;
+
+ public abstract void testHasWrappedElement() throws Exception;
+
+
+}
+
Added: webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/MapperTest.java
URL: http://svn.apache.org/viewcvs/webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/MapperTest.java?rev=230790&view=auto
==============================================================================
--- webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/MapperTest.java (added)
+++ webservices/ews/trunk/mapper/src/test/org/apache/ws/ews/mapper/MapperTest.java Mon Aug 8 05:28:03 2005
@@ -0,0 +1,94 @@
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * 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.ws.ews.mapper;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.apache.ws.ews.mapper.WsdlToJ2ee;
+
+/**
+ * Unit test for simple App.
+ *
+ * @author <a href="mailto:jason@zenplex.com">Jason van Zyl</a>
+ */
+public class MapperTest
+ extends AbstractTestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public MapperTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite();
+ suite.addTest(TestSuite.createTest(MapperTest.class,"testHeavyWeight"));
+ //suite.addTest(TestSuite.createTest(MapperTest.class,"testLightWeight"));
+ suite.addTest(TestSuite.createTest(MapperTest.class,"testGoogle"));
+ suite.addTest(TestSuite.createTest(MapperTest.class,"testFrenchZip"));
+ //suite.addTest(TestSuite.createTest(MapperTest.class,"testAnonymousTypes"));
+ return suite;
+ }
+
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testHeavyWeight() throws Exception {
+ String[] args = new String[]{"-m", getTestFile(resDir +"heavyweight/BookQuote.xml"),
+ "-o", getTestFile("target/generated/samples/mapper/heavyweight"),
+ getTestFile(resDir +"heavyweight/BookQuote.wsdl")};
+ WsdlToJ2ee.main(args);
+ }
+
+ public void testLightWeight() throws Exception {
+ String[] args = new String[]{"-m", getTestFile(resDir +"lightweight/BookQuote.xml"),
+ "-o", getTestFile("target/generated/samples/mapper/lightweight"),
+ getTestFile(resDir +"lightweight/BookQuote.wsdl")};
+ WsdlToJ2ee.main(args);
+ }
+
+ public void testGoogle() throws Exception {
+ String[] args = new String[]{"-m",getTestFile(resDir +"google/GoogleSearch.xml"),
+ "-o", getTestFile("target/generated/samples/mapper/google"),
+ getTestFile(resDir +"google/GoogleSearch.wsdl")};
+ WsdlToJ2ee.main(args);
+ }
+
+ public void testFrenchZip() throws Exception {
+ String[] args = new String[]{"-m",getTestFile(resDir +"frenchzip/FrenchZipMapping.xml"),
+ "-o", getTestFile("target/generated/samples/mapper/frenchzip"),
+ getTestFile(resDir +"frenchzip/FrenchZip.wsdl")};
+ WsdlToJ2ee.main(args);
+ }
+
+ public void testAnonymousTypes() throws Exception {
+ String[] args = new String[]{"-m",getTestFile(resDir +"anonymous/mapping.xml"),
+ "-o", getTestFile("target/generated/samples/mapper/anonymous"),
+ getTestFile(resDir +"anonymous/anonymous.wsdl")};
+ WsdlToJ2ee.main(args);
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: ews-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: ews-dev-help@ws.apache.org