Author: darran.lofthouse(a)jboss.com
Date: 2007-11-01 12:01:19 -0400 (Thu, 01 Nov 2007)
New Revision: 4971
Added:
stack/native/trunk/src/test/java/org/jboss/test/ws/tools/jbws1881/
stack/native/trunk/src/test/java/org/jboss/test/ws/tools/jbws1881/JBWS1881TestCase.java
stack/native/trunk/src/test/resources/tools/jbws1881/
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/Base.java
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/Person.java
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/PhoneBook.wsdl
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/PhoneBook_PortType.java
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/TelephoneNumber.java
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/jaxrpc-mapping.xml
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/wstools-config.xml
Modified:
stack/native/trunk/src/main/java/org/jboss/ws/tools/XSDTypeToJava.java
Log:
[JBWS-1881] WSDL To Java - All generated types have first character upper case, extends
clause in base types do not take this into account.
Modified: stack/native/trunk/src/main/java/org/jboss/ws/tools/XSDTypeToJava.java
===================================================================
--- stack/native/trunk/src/main/java/org/jboss/ws/tools/XSDTypeToJava.java 2007-11-01
13:48:17 UTC (rev 4970)
+++ stack/native/trunk/src/main/java/org/jboss/ws/tools/XSDTypeToJava.java 2007-11-01
16:01:19 UTC (rev 4971)
@@ -712,7 +712,7 @@
}
if (baseName == null && baseType != null)
- baseName = baseType.getName();
+ baseName = ToolsUtils.firstLetterUpperCase(baseType.getName());
return baseName;
}
Added:
stack/native/trunk/src/test/java/org/jboss/test/ws/tools/jbws1881/JBWS1881TestCase.java
===================================================================
---
stack/native/trunk/src/test/java/org/jboss/test/ws/tools/jbws1881/JBWS1881TestCase.java
(rev 0)
+++
stack/native/trunk/src/test/java/org/jboss/test/ws/tools/jbws1881/JBWS1881TestCase.java 2007-11-01
16:01:19 UTC (rev 4971)
@@ -0,0 +1,104 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.test.ws.tools.jbws1881;
+
+import java.io.File;
+import java.io.FilenameFilter;
+
+import org.jboss.test.ws.tools.fixture.JBossSourceComparator;
+import org.jboss.test.ws.tools.validation.JaxrpcMappingValidator;
+import org.jboss.ws.tools.WSTools;
+import org.jboss.wsf.test.JBossWSTest;
+
+/**
+ * Test case to test the following fix: -
+ *
+ * @see
http://jira.jboss.com/jira/browse/JBWS-1881
+ *
+ * @author darran.lofthouse(a)jboss.com
+ * @since Nov 1, 2007
+ */
+public class JBWS1881TestCase extends JBossWSTest
+{
+
+ public void testDocumentLiteral() throws Exception
+ {
+ generateScenario("doclit");
+ }
+
+ protected void generateScenario(final String scenario) throws Exception
+ {
+ String resourceDir = "resources/tools/jbws1881/" + scenario;
+ String toolsDir = "tools/jbws1881/" + scenario;
+ String[] args = new String[] { "-dest", toolsDir, "-config",
resourceDir + "/wstools-config.xml" };
+ new WSTools().generate(args);
+ File resourceDirFile = new File(resourceDir);
+ String[] expectedFiles = resourceDirFile.list(new FilenameFilter() {
+ public boolean accept(File dir, String name)
+ {
+ return name.endsWith(".java");
+ }
+ });
+
+ for (int i = 0; i < expectedFiles.length; i++)
+ {
+ String currentFile = expectedFiles[i];
+
+ try
+ {
+ compareSource(resourceDir + "/" + currentFile, toolsDir +
"/org/jboss/test/ws/jbws1881/" + currentFile);
+ }
+ catch (Exception e)
+ {
+ throw new Exception("Validation of '" + currentFile +
"' failed.", e);
+ }
+ }
+
+ File packageDir = new File(toolsDir + "/org/jboss/test/ws/jbws1881");
+ String[] generatedFiles = packageDir.list();
+ for (int i = 0; i < generatedFiles.length; i++)
+ {
+ String currentFile = generatedFiles[i];
+
+ boolean matched = "PhoneBookService.java".equals(currentFile);
+
+ for (int j = 0; j < expectedFiles.length && (matched == false); j++)
+ matched = currentFile.equals(expectedFiles[j]);
+
+ assertTrue("File '" + currentFile + "' was not expected
to be generated", matched);
+ }
+
+ JaxrpcMappingValidator mappingValidator = new JaxrpcMappingValidator();
+ mappingValidator.validate(resourceDir + "/jaxrpc-mapping.xml", toolsDir +
"/jaxrpc-mapping.xml");
+ }
+
+ private static void compareSource(final String expectedName, final String
generatedName) throws Exception
+ {
+ File expected = new File(expectedName);
+ File generated = new File(generatedName);
+
+ JBossSourceComparator sc = new JBossSourceComparator(expected, generated);
+ sc.validate();
+ sc.validateImports();
+ }
+
+}
Property changes on:
stack/native/trunk/src/test/java/org/jboss/test/ws/tools/jbws1881/JBWS1881TestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/test/resources/tools/jbws1881/doclit/Base.java
===================================================================
--- stack/native/trunk/src/test/resources/tools/jbws1881/doclit/Base.java
(rev 0)
+++ stack/native/trunk/src/test/resources/tools/jbws1881/doclit/Base.java 2007-11-01
16:01:19 UTC (rev 4971)
@@ -0,0 +1,27 @@
+/*
+ * JBossWS WS-Tools Generated Source
+ *
+ * Generation Date: Thu Nov 01 15:45:09 GMT 2007
+ *
+ * This generated source code represents a derivative work of the input to
+ * the generator that produced it. Consult the input for the copyright and
+ * terms of use that apply to this source code.
+ */
+
+package org.jboss.test.ws.jbws1881;
+
+
+public class Base
+{
+
+protected java.lang.String id;
+public Base(){}
+
+public Base(java.lang.String id){
+this.id=id;
+}
+public java.lang.String getId() { return id ;}
+
+public void setId(java.lang.String id){ this.id=id; }
+
+}
Property changes on:
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/Base.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/test/resources/tools/jbws1881/doclit/Person.java
===================================================================
--- stack/native/trunk/src/test/resources/tools/jbws1881/doclit/Person.java
(rev 0)
+++ stack/native/trunk/src/test/resources/tools/jbws1881/doclit/Person.java 2007-11-01
16:01:19 UTC (rev 4971)
@@ -0,0 +1,27 @@
+/*
+ * JBossWS WS-Tools Generated Source
+ *
+ * Generation Date: Thu Nov 01 15:45:09 GMT 2007
+ *
+ * This generated source code represents a derivative work of the input to
+ * the generator that produced it. Consult the input for the copyright and
+ * terms of use that apply to this source code.
+ */
+
+package org.jboss.test.ws.jbws1881;
+
+
+public class Person
+ extends Base{
+
+protected java.lang.String surname;
+public Person(){}
+
+public Person(java.lang.String surname){
+this.surname=surname;
+}
+public java.lang.String getSurname() { return surname ;}
+
+public void setSurname(java.lang.String surname){ this.surname=surname; }
+
+}
Property changes on:
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/Person.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/test/resources/tools/jbws1881/doclit/PhoneBook.wsdl
===================================================================
--- stack/native/trunk/src/test/resources/tools/jbws1881/doclit/PhoneBook.wsdl
(rev 0)
+++ stack/native/trunk/src/test/resources/tools/jbws1881/doclit/PhoneBook.wsdl 2007-11-01
16:01:19 UTC (rev 4971)
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name='PhoneBook'
+
targetNamespace='http://test.jboss.org/ws/jbws1881'
+
xmlns='http://schemas.xmlsoap.org/wsdl/'
+
xmlns:ns1='http://test.jboss.org/ws/jbws1881/types'
+
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
+
xmlns:tns='http://test.jboss.org/ws/jbws1881'
+
xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
+ <types>
+ <schema
targetNamespace='http://test.jboss.org/ws/jbws1881/types'
+
xmlns='http://www.w3.org/2001/XMLSchema'
+
xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/'
+
xmlns:tns='http://test.jboss.org/ws/jbws1881/types'
+
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
+
+ <complexType name='base'>
+ <sequence>
+ <element name='id' nillable='true' type='string'/>
+ </sequence>
+ </complexType>
+
+ <complexType name='Person'>
+ <complexContent>
+ <extension base='tns:base'>
+ <sequence>
+ <element name='surname' nillable='true'
type='string'/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <complexType name='TelephoneNumber'>
+ <complexContent>
+ <extension base='tns:base'>
+ <sequence>
+ <element name='number' nillable='true'
type='string'/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name='lookup' type='tns:Person'/>
+ <element name='lookupResponse' type='tns:TelephoneNumber'/>
+
+ </schema>
+ </types>
+
+ <message name='PhoneBook_lookup'>
+ <part element='ns1:lookup' name='parameters'/>
+ </message>
+
+ <message name='PhoneBook_lookupResponse'>
+ <part element='ns1:lookupResponse' name='result'/>
+ </message>
+
+ <portType name='PhoneBook'>
+ <operation name='lookup'>
+ <input message='tns:PhoneBook_lookup'/>
+ <output message='tns:PhoneBook_lookupResponse'/>
+ </operation>
+ </portType>
+
+ <binding name='PhoneBookBinding' type='tns:PhoneBook'>
+ <soap:binding style='document'
transport='http://schemas.xmlsoap.org/soap/http'/>
+ <operation name='lookup'>
+ <soap:operation soapAction=''/>
+ <input>
+ <soap:body use='literal' parts='parameters'/>
+ </input>
+ <output>
+ <soap:body use='literal'/>
+ </output>
+ </operation>
+ </binding>
+
+ <service name='PhoneBook'>
+ <port binding='tns:PhoneBookBinding' name='PhoneBookPort'>
+ <soap:address location='REPLACE_WITH_ACTUAL_URL'/>
+ </port>
+ </service>
+
+</definitions>
\ No newline at end of file
Property changes on:
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/PhoneBook.wsdl
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/PhoneBook_PortType.java
===================================================================
--- stack/native/trunk/src/test/resources/tools/jbws1881/doclit/PhoneBook_PortType.java
(rev 0)
+++
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/PhoneBook_PortType.java 2007-11-01
16:01:19 UTC (rev 4971)
@@ -0,0 +1,15 @@
+/*
+ * JBossWS WS-Tools Generated Source
+ *
+ * Generation Date: Thu Nov 01 15:45:09 GMT 2007
+ *
+ * This generated source code represents a derivative work of the input to
+ * the generator that produced it. Consult the input for the copyright and
+ * terms of use that apply to this source code.
+ */
+package org.jboss.test.ws.jbws1881;
+public interface PhoneBook_PortType extends java.rmi.Remote
+{
+
+ public org.jboss.test.ws.jbws1881.TelephoneNumber
lookup(org.jboss.test.ws.jbws1881.Person lookup) throws java.rmi.RemoteException;
+}
Property changes on:
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/PhoneBook_PortType.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/test/resources/tools/jbws1881/doclit/TelephoneNumber.java
===================================================================
--- stack/native/trunk/src/test/resources/tools/jbws1881/doclit/TelephoneNumber.java
(rev 0)
+++
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/TelephoneNumber.java 2007-11-01
16:01:19 UTC (rev 4971)
@@ -0,0 +1,27 @@
+/*
+ * JBossWS WS-Tools Generated Source
+ *
+ * Generation Date: Thu Nov 01 15:45:09 GMT 2007
+ *
+ * This generated source code represents a derivative work of the input to
+ * the generator that produced it. Consult the input for the copyright and
+ * terms of use that apply to this source code.
+ */
+
+package org.jboss.test.ws.jbws1881;
+
+
+public class TelephoneNumber
+ extends Base{
+
+protected java.lang.String number;
+public TelephoneNumber(){}
+
+public TelephoneNumber(java.lang.String number){
+this.number=number;
+}
+public java.lang.String getNumber() { return number ;}
+
+public void setNumber(java.lang.String number){ this.number=number; }
+
+}
Property changes on:
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/TelephoneNumber.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/test/resources/tools/jbws1881/doclit/jaxrpc-mapping.xml
===================================================================
--- stack/native/trunk/src/test/resources/tools/jbws1881/doclit/jaxrpc-mapping.xml
(rev 0)
+++
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/jaxrpc-mapping.xml 2007-11-01
16:01:19 UTC (rev 4971)
@@ -0,0 +1,67 @@
+<?xml version='1.0' encoding='UTF-8'?><java-wsdl-mapping
version='1.1'
xmlns='http://java.sun.com/xml/ns/j2ee'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://java.sun.com/xml/ns/j2ee
http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd'>
+ <package-mapping>
+ <package-type>org.jboss.test.ws.jbws1881</package-type>
+ <
namespaceURI>http://test.jboss.org/ws/jbws1881/types</namespaceURI>
+ </package-mapping>
+ <package-mapping>
+ <package-type>org.jboss.test.ws.jbws1881</package-type>
+ <
namespaceURI>http://test.jboss.org/ws/jbws1881</namespaceURI>
+ </package-mapping>
+ <java-xml-type-mapping>
+ <java-type>org.jboss.test.ws.jbws1881.Person</java-type>
+ <root-type-qname
xmlns:typeNS='http://test.jboss.org/ws/jbws1881/types'>typeNS:...
+ <qname-scope>complexType</qname-scope>
+ <variable-mapping>
+ <java-variable-name>id</java-variable-name>
+ <xml-element-name>id</xml-element-name>
+ </variable-mapping>
+ <variable-mapping>
+ <java-variable-name>surname</java-variable-name>
+ <xml-element-name>surname</xml-element-name>
+ </variable-mapping>
+ </java-xml-type-mapping>
+ <java-xml-type-mapping>
+ <java-type>org.jboss.test.ws.jbws1881.TelephoneNumber</java-type>
+ <root-type-qname
xmlns:typeNS='http://test.jboss.org/ws/jbws1881/types'>typeNS:...
+ <qname-scope>complexType</qname-scope>
+ <variable-mapping>
+ <java-variable-name>id</java-variable-name>
+ <xml-element-name>id</xml-element-name>
+ </variable-mapping>
+ <variable-mapping>
+ <java-variable-name>number</java-variable-name>
+ <xml-element-name>number</xml-element-name>
+ </variable-mapping>
+ </java-xml-type-mapping>
+ <service-interface-mapping>
+
<service-interface>org.jboss.test.ws.jbws1881.PhoneBook_Service</service-interface>
+ <wsdl-service-name
xmlns:serviceNS='http://test.jboss.org/ws/jbws1881'>serviceNS:...
+ <port-mapping>
+ <port-name>PhoneBookPort</port-name>
+ <java-port-name>PhoneBookPort</java-port-name>
+ </port-mapping>
+ </service-interface-mapping>
+ <service-endpoint-interface-mapping>
+
<service-endpoint-interface>org.jboss.test.ws.jbws1881.PhoneBook_PortType</service-endpoint-interface>
+ <wsdl-port-type
xmlns:portTypeNS='http://test.jboss.org/ws/jbws1881'>portTypeN...
+ <wsdl-binding
xmlns:bindingNS='http://test.jboss.org/ws/jbws1881'>bindingNS:...
+ <service-endpoint-method-mapping>
+ <java-method-name>lookup</java-method-name>
+ <wsdl-operation>lookup</wsdl-operation>
+ <method-param-parts-mapping>
+ <param-position>0</param-position>
+ <param-type>org.jboss.test.ws.jbws1881.Person</param-type>
+ <wsdl-message-mapping>
+ <wsdl-message
xmlns:wsdlMsgNS='http://test.jboss.org/ws/jbws1881'>wsdlMsgNS:...
+ <wsdl-message-part-name>parameters</wsdl-message-part-name>
+ <parameter-mode>IN</parameter-mode>
+ </wsdl-message-mapping>
+ </method-param-parts-mapping>
+ <wsdl-return-value-mapping>
+
<method-return-value>org.jboss.test.ws.jbws1881.TelephoneNumber</method-return-value>
+ <wsdl-message
xmlns:wsdlMsgNS='http://test.jboss.org/ws/jbws1881'>wsdlMsgNS:...
+ <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
Property changes on:
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/jaxrpc-mapping.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added: stack/native/trunk/src/test/resources/tools/jbws1881/doclit/wstools-config.xml
===================================================================
--- stack/native/trunk/src/test/resources/tools/jbws1881/doclit/wstools-config.xml
(rev 0)
+++
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/wstools-config.xml 2007-11-01
16:01:19 UTC (rev 4971)
@@ -0,0 +1,6 @@
+<configuration>
+ <wsdl-java location="resources/tools/jbws1881/doclit/PhoneBook.wsdl"
+ parameter-style="bare">
+ <mapping file="jaxrpc-mapping.xml"/>
+ </wsdl-java>
+</configuration>
Property changes on:
stack/native/trunk/src/test/resources/tools/jbws1881/doclit/wstools-config.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF