You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2012/05/08 14:25:44 UTC
svn commit: r1335462 - in /cxf/trunk/tools/wadlto/jaxrs/src:
main/java/org/apache/cxf/tools/wadlto/jaxrs/
test/java/org/apache/cxf/tools/wadlto/jaxrs/ test/resources/wadl/
Author: sergeyb
Date: Tue May 8 12:25:44 2012
New Revision: 1335462
URL: http://svn.apache.org/viewvc?rev=1335462&view=rev
Log:
[CXF-4292] Defaulting to String when WADL Generator can not determine a class name of the primitive type
Modified:
cxf/trunk/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/SourceGenerator.java
cxf/trunk/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainerTest.java
cxf/trunk/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/WADLToJavaTest.java
cxf/trunk/tools/wadlto/jaxrs/src/test/resources/wadl/bookstore.xml
Modified: cxf/trunk/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/SourceGenerator.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/SourceGenerator.java?rev=1335462&r1=1335461&r2=1335462&view=diff
==============================================================================
--- cxf/trunk/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/SourceGenerator.java (original)
+++ cxf/trunk/tools/wadlto/jaxrs/src/main/java/org/apache/cxf/tools/wadlto/jaxrs/SourceGenerator.java Tue May 8 12:25:44 2012
@@ -1004,8 +1004,8 @@ public class SourceGenerator {
return XSD_SPECIFIC_TYPE_MAP.get(value);
} else {
String actualValue = value.replaceAll("[\\-\\_]", "");
- if (!actualValue.equals(value) && pair.length > 1) {
- actualValue = convertRefToClassName(pair[0], actualValue, actualValue, info, imports);
+ if (pair.length > 1) {
+ actualValue = convertRefToClassName(pair[0], actualValue, "String", info, imports);
}
return actualValue;
}
@@ -1026,17 +1026,15 @@ public class SourceGenerator {
if (clsName != null) {
addImport(imports, clsName);
int index = clsName.lastIndexOf(".");
+
if (index != -1) {
- actualValue = clsName.substring(index + 1);
- } else {
- actualValue = clsName;
- }
+ clsName = clsName.substring(index + 1);
+ }
+ return clsName;
}
- } else {
- actualValue = defaultValue;
}
}
- return actualValue;
+ return defaultValue;
}
private String getElementRefName(Element repElement,
Modified: cxf/trunk/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainerTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainerTest.java?rev=1335462&r1=1335461&r2=1335462&view=diff
==============================================================================
--- cxf/trunk/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainerTest.java (original)
+++ cxf/trunk/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/JAXRSContainerTest.java Tue May 8 12:25:44 2012
@@ -47,8 +47,8 @@ public class JAXRSContainerTest extends
assertNotNull(output.list());
- verifyFiles("java", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10);
- verifyFiles("class", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10);
+ verifyFiles("java", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10, true);
+ verifyFiles("class", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10, true);
} catch (Exception e) {
e.printStackTrace();
@@ -72,8 +72,8 @@ public class JAXRSContainerTest extends
assertNotNull(output.list());
- verifyFiles("java", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10);
- verifyFiles("class", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10);
+ verifyFiles("java", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10, true);
+ verifyFiles("class", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10, true);
} catch (Exception e) {
e.printStackTrace();
@@ -97,8 +97,8 @@ public class JAXRSContainerTest extends
assertNotNull(output.list());
- verifyFiles("java", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10);
- verifyFiles("class", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10);
+ verifyFiles("java", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10, true);
+ verifyFiles("class", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10, true);
} catch (Exception e) {
e.printStackTrace();
@@ -376,8 +376,8 @@ public class JAXRSContainerTest extends
assertNotNull(output.list());
- verifyFiles("java", true, false, "superbooks", "custom.books", 10);
- verifyFiles("class", true, false, "superbooks", "custom.books", 10);
+ verifyFiles("java", true, false, "superbooks", "custom.books", 10, true);
+ verifyFiles("class", true, false, "superbooks", "custom.books", 10, true);
} catch (Exception e) {
e.printStackTrace();
@@ -402,8 +402,8 @@ public class JAXRSContainerTest extends
assertNotNull(output.list());
- verifyFiles("java", true, false, "custom.books.schema", "custom.books.service", 10);
- verifyFiles("class", true, false, "custom.books.schema", "custom.books.service", 10);
+ verifyFiles("java", true, false, "custom.books.schema", "custom.books.service", 10, true);
+ verifyFiles("class", true, false, "custom.books.schema", "custom.books.service", 10, true);
} catch (Exception e) {
e.printStackTrace();
@@ -427,8 +427,8 @@ public class JAXRSContainerTest extends
assertNotNull(output.list());
- verifyFiles("java", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10);
- verifyFiles("class", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10);
+ verifyFiles("java", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10, true);
+ verifyFiles("class", true, false, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 10, true);
} catch (Exception e) {
fail();
e.printStackTrace();
@@ -452,8 +452,8 @@ public class JAXRSContainerTest extends
assertNotNull(output.list());
- verifyFiles("java", true, true, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 11);
- verifyFiles("class", true, true, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 11);
+ verifyFiles("java", true, true, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 12, true);
+ verifyFiles("class", true, true, "superbooks", "org.apache.cxf.jaxrs.model.wadl", 12, true);
} catch (Exception e) {
fail();
e.printStackTrace();
@@ -475,7 +475,7 @@ public class JAXRSContainerTest extends
assertNotNull(output.list());
- verifyTypes("superbooks", "java");
+ verifyTypes("superbooks", "java", true);
} catch (Exception e) {
fail();
@@ -484,9 +484,17 @@ public class JAXRSContainerTest extends
}
private void verifyFiles(String ext, boolean subresourceExpected, boolean interfacesAndImpl,
- String schemaPackage, String resourcePackage, int expectedCount) {
+ String schemaPackage, String resourcePackage, int expectedCount) {
+ verifyFiles(ext, subresourceExpected, interfacesAndImpl, schemaPackage, resourcePackage,
+ expectedCount, false);
+ }
+
+ private void verifyFiles(String ext, boolean subresourceExpected, boolean interfacesAndImpl,
+ String schemaPackage, String resourcePackage, int expectedCount,
+ boolean enumTypeExpected) {
List<File> files = FileUtils.getFilesRecurse(output, ".+\\." + ext + "$");
- int size = interfacesAndImpl ? expectedCount : expectedCount - 2;
+ int offset = enumTypeExpected ? 1 : 2;
+ int size = interfacesAndImpl ? expectedCount : expectedCount - offset;
if (!subresourceExpected) {
size--;
}
@@ -506,9 +514,9 @@ public class JAXRSContainerTest extends
}
}
- private void verifyTypes(String schemaPackage, String ext) {
+ private void verifyTypes(String schemaPackage, String ext, boolean enumTypeExpected) {
List<File> files = FileUtils.getFilesRecurse(output, ".+\\." + ext + "$");
- assertEquals(5, files.size());
+ assertEquals(enumTypeExpected ? 6 : 5, files.size());
doVerifyTypes(files, schemaPackage, ext);
}
Modified: cxf/trunk/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/WADLToJavaTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/WADLToJavaTest.java?rev=1335462&r1=1335461&r2=1335462&view=diff
==============================================================================
--- cxf/trunk/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/WADLToJavaTest.java (original)
+++ cxf/trunk/tools/wadlto/jaxrs/src/test/java/org/apache/cxf/tools/wadlto/jaxrs/WADLToJavaTest.java Tue May 8 12:25:44 2012
@@ -59,7 +59,7 @@ public class WADLToJavaTest extends Proc
private void verifyFiles(String ext, boolean subresourceExpected, boolean interfacesAndImpl,
String schemaPackage, String resourcePackage) {
List<File> files = FileUtils.getFilesRecurse(output, ".+\\." + ext + "$");
- int size = interfacesAndImpl ? 10 : 8;
+ int size = interfacesAndImpl ? 11 : 9;
if (!subresourceExpected) {
size--;
}
@@ -78,6 +78,7 @@ public class WADLToJavaTest extends Proc
}
private void doVerifyTypes(List<File> files, String schemaPackage, String ext) {
+ assertTrue(checkContains(files, schemaPackage + ".EnumType." + ext));
assertTrue(checkContains(files, schemaPackage + ".Book." + ext));
assertTrue(checkContains(files, schemaPackage + ".TheBook2." + ext));
assertTrue(checkContains(files, schemaPackage + ".Chapter." + ext));
Modified: cxf/trunk/tools/wadlto/jaxrs/src/test/resources/wadl/bookstore.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/wadlto/jaxrs/src/test/resources/wadl/bookstore.xml?rev=1335462&r1=1335461&r2=1335462&view=diff
==============================================================================
--- cxf/trunk/tools/wadlto/jaxrs/src/test/resources/wadl/bookstore.xml (original)
+++ cxf/trunk/tools/wadlto/jaxrs/src/test/resources/wadl/bookstore.xml Tue May 8 12:25:44 2012
@@ -43,15 +43,32 @@
<xs:element minOccurs="0" name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
+
+ <xs:simpleType name="patternType">
+ <xs:restriction base="xs:string">
+ <xs:pattern value="([A-z0-9_@$\-]+)|(([A-z][A-z0-9_\-]*(\.[A-z][A-z0-9_\-]*)*)(\,[A-z0-9_@$\-]+)(\,(latest|([0-9]+(\.[0-9]+)*)))?)"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="text-only"/>
+ <xs:enumeration value="rich-xml"/>
+ <xs:enumeration value="original"/>
+ </xs:restriction>
+ </xs:simpleType>
+
</xs:schema>
</grammars>
<resources base="http://localhost:8080/baz">
<resource path="/bookstore/{id}" id="org.apache.cxf.jaxrs.model.wadl.BookStore">
<doc xml:lang="en-us" title="book store resource">super resource</doc>
<param name="id" style="template" type="xs:long"/>
+ <param name="patternId" style="template" type="prefix1:patternType"/>
<method name="GET" id="getName">
<request>
+ <param name="enumType" style="query" type="prefix1:enumType"/>
<param name="a" style="query" type="xs:int"/>
<param name="c.a" style="query" type="xs:int"/>
<param name="c.b" style="query" type="xs:int"/>