Author: darran.lofthouse(a)jboss.com
Date: 2007-04-26 08:07:14 -0400 (Thu, 26 Apr 2007)
New Revision: 2929
Added:
branches/dlofthouse/JBWS-1627/jbossws-tests/src/java/org/jboss/test/ws/tools/jbws1627/
branches/dlofthouse/JBWS-1627/jbossws-tests/src/java/org/jboss/test/ws/tools/jbws1627/JBWS1627TestCase.java
branches/dlofthouse/JBWS-1627/jbossws-tests/src/resources/tools/jbws1627/
branches/dlofthouse/JBWS-1627/jbossws-tests/src/resources/tools/jbws1627/PhoneBook.wsdl
branches/dlofthouse/JBWS-1627/jbossws-tests/src/resources/tools/jbws1627/wstools-config.xml
Modified:
branches/dlofthouse/JBWS-1627/jbossws-core/src/java/org/jboss/ws/tools/XSDTypeToJava.java
Log:
Correct the case of the array type and initial test. Still need to generate array wrapper
if doc/lit.
Modified:
branches/dlofthouse/JBWS-1627/jbossws-core/src/java/org/jboss/ws/tools/XSDTypeToJava.java
===================================================================
---
branches/dlofthouse/JBWS-1627/jbossws-core/src/java/org/jboss/ws/tools/XSDTypeToJava.java 2007-04-26
10:53:56 UTC (rev 2928)
+++
branches/dlofthouse/JBWS-1627/jbossws-core/src/java/org/jboss/ws/tools/XSDTypeToJava.java 2007-04-26
12:07:14 UTC (rev 2929)
@@ -63,6 +63,7 @@
protected LiteralTypeMapping typeMapping = null;
protected WSDLUtils utils = WSDLUtils.getInstance();
protected SchemaUtils schemautils = SchemaUtils.getInstance();
+ protected WSDLUtils wsdlUtils = WSDLUtils.getInstance();
protected JavaWriter jwriter = new JavaWriter();
@@ -648,15 +649,15 @@
if (tempqn != null)
qn = tempqn;
}
- String clname = "";
+ String qualifiedClassName = "";
Class cls = typeMapping.getJavaType(qn);
VAR v = null;
if (cls != null)
{
- clname = JavaUtils.getSourceName(cls);
- String primitive = utils.getPrimitive(clname);
+ qualifiedClassName = JavaUtils.getSourceName(cls);
+ String primitive = utils.getPrimitive(qualifiedClassName);
if ((!elem.getNillable()) && primitive != null)
- clname = primitive;
+ qualifiedClassName = primitive;
}
else
{
@@ -669,14 +670,15 @@
{
String nsuri = typename.getNamespaceURI();
if (!nsuri.equals(Constants.NS_SCHEMA_XSD))
- clname = pkgname + ".";
- clname += typename.getLocalPart();
+ qualifiedClassName = pkgname + ".";
+ String className = wsdlUtils.firstLetterUpperCase(typename.getLocalPart());
+ qualifiedClassName += className;
}
else if (qn != null)
- clname = qn.getLocalPart();
+ qualifiedClassName = qn.getLocalPart();
}
- v = new VAR(Introspector.decapitalize(varstr), clname, arrayType);
+ v = new VAR(Introspector.decapitalize(varstr), qualifiedClassName, arrayType);
return v;
}
Added:
branches/dlofthouse/JBWS-1627/jbossws-tests/src/java/org/jboss/test/ws/tools/jbws1627/JBWS1627TestCase.java
===================================================================
---
branches/dlofthouse/JBWS-1627/jbossws-tests/src/java/org/jboss/test/ws/tools/jbws1627/JBWS1627TestCase.java
(rev 0)
+++
branches/dlofthouse/JBWS-1627/jbossws-tests/src/java/org/jboss/test/ws/tools/jbws1627/JBWS1627TestCase.java 2007-04-26
12:07:14 UTC (rev 2929)
@@ -0,0 +1,107 @@
+/*
+ * 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.jbws1627;
+
+import java.io.File;
+import java.io.FilenameFilter;
+
+import org.jboss.test.ws.JBossWSTest;
+import org.jboss.test.ws.tools.fixture.JBossSourceComparator;
+import org.jboss.test.ws.tools.validation.JaxrpcMappingValidator;
+import org.jboss.ws.tools.WSTools;
+
+/**
+ * Test case for
http://jira.jboss.com/jira/browse/JBWS-1627
+ *
+ * WSDL to Java, Unwrapping arrays the wrong case is used to
+ * reference the generated class.
+ *
+ * @author darran.lofthouse(a)jboss.com
+ * @since 26 Apr 2007
+ */
+public class JBWS1627TestCase extends JBossWSTest
+{
+
+ /**
+ * Test generation of the SEI.
+ *
+ * @throws Exception
+ */
+ public void testGenerate() throws Exception
+ {
+ String resourceDir = "resources/tools/jbws1627";
+ String toolsDir = "tools/jbws1627";
+ 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/jbws1627/" + currentFile);
+ }
+ catch (Exception e)
+ {
+ throw new Exception("Validation of '" + currentFile +
"' failed.", e);
+ }
+ }
+
+ File packageDir = new File(toolsDir + "/org/jboss/test/ws/jbws1627");
+ 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:
branches/dlofthouse/JBWS-1627/jbossws-tests/src/java/org/jboss/test/ws/tools/jbws1627/JBWS1627TestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
branches/dlofthouse/JBWS-1627/jbossws-tests/src/resources/tools/jbws1627/PhoneBook.wsdl
===================================================================
---
branches/dlofthouse/JBWS-1627/jbossws-tests/src/resources/tools/jbws1627/PhoneBook.wsdl
(rev 0)
+++
branches/dlofthouse/JBWS-1627/jbossws-tests/src/resources/tools/jbws1627/PhoneBook.wsdl 2007-04-26
12:07:14 UTC (rev 2929)
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name='PhoneBook'
targetNamespace='http://test.jboss.org/ws/jbws1627'
+
xmlns='http://schemas.xmlsoap.org/wsdl/'
+
xmlns:ns1='http://test.jboss.org/ws/jbws1627/types'
+
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
+
xmlns:tns='http://test.jboss.org/ws/jbws1627'
+
xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
+
+ <types>
+ <schema
targetNamespace='http://test.jboss.org/ws/jbws1627/types'
+
xmlns='http://www.w3.org/2001/XMLSchema'
+
xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/'
+
xmlns:tns='http://test.jboss.org/ws/jbws1627/types'
+
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
+
+ <complexType name='Person'>
+ <sequence>
+ <element name='surname' nillable='true'
type='string'/>
+ <element name='nickNames' nillable='true'
type='tns:ArrayOf_nickNames'/>
+ </sequence>
+ </complexType>
+
+ <complexType name='ArrayOf_nickNames'>
+ <sequence>
+ <element name='names' maxOccurs='unbounded'
nillable='true' type='tns:nickName'/>
+ </sequence>
+ </complexType>
+
+ <complexType name='nickName'>
+ <sequence>
+ <element name='name' nillable='true' type='string'/>
+ </sequence>
+ </complexType>
+
+ <complexType name='TelephoneNumber'>
+ <sequence>
+ <element name='number' nillable='true'
type='string'/>
+ </sequence>
+ </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'/>
+ </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>
Property changes on:
branches/dlofthouse/JBWS-1627/jbossws-tests/src/resources/tools/jbws1627/PhoneBook.wsdl
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
branches/dlofthouse/JBWS-1627/jbossws-tests/src/resources/tools/jbws1627/wstools-config.xml
===================================================================
---
branches/dlofthouse/JBWS-1627/jbossws-tests/src/resources/tools/jbws1627/wstools-config.xml
(rev 0)
+++
branches/dlofthouse/JBWS-1627/jbossws-tests/src/resources/tools/jbws1627/wstools-config.xml 2007-04-26
12:07:14 UTC (rev 2929)
@@ -0,0 +1,5 @@
+<configuration>
+ <wsdl-java location="resources/tools/jbws1627/PhoneBook.wsdl"
parameter-style="bare">
+ <mapping file="jaxrpc-mapping.xml"/>
+ </wsdl-java>
+</configuration>
Property changes on:
branches/dlofthouse/JBWS-1627/jbossws-tests/src/resources/tools/jbws1627/wstools-config.xml
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF