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/01/11 12:56:20 UTC
svn commit: r1229965 -
/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/codegen/SourceGenerator.java
Author: sergeyb
Date: Wed Jan 11 11:56:19 2012
New Revision: 1229965
URL: http://svn.apache.org/viewvc?rev=1229965&view=rev
Log:
[CXF-4015] Mapping xsd:integer to long
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/codegen/SourceGenerator.java
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/codegen/SourceGenerator.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/codegen/SourceGenerator.java?rev=1229965&r1=1229964&r2=1229965&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/codegen/SourceGenerator.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/codegen/SourceGenerator.java Wed Jan 11 11:56:19 2012
@@ -112,6 +112,7 @@ public class SourceGenerator {
private static final Map<String, Class<?>> PARAM_ANNOTATIONS;
private static final Set<String> RESOURCE_LEVEL_PARAMS;
private static final Map<String, String> AUTOBOXED_PRIMITIVES_MAP;
+ private static final Map<String, String> XSD_SPECIFIC_TYPE_MAP;
static {
HTTP_METHOD_ANNOTATIONS = new HashMap<String, Class<?>>();
@@ -140,6 +141,11 @@ public class SourceGenerator {
AUTOBOXED_PRIMITIVES_MAP.put(float.class.getSimpleName(), Float.class.getSimpleName());
AUTOBOXED_PRIMITIVES_MAP.put(double.class.getSimpleName(), Double.class.getSimpleName());
AUTOBOXED_PRIMITIVES_MAP.put(boolean.class.getSimpleName(), Boolean.class.getSimpleName());
+
+ XSD_SPECIFIC_TYPE_MAP = new HashMap<String, String>();
+ XSD_SPECIFIC_TYPE_MAP.put("string", "String");
+ XSD_SPECIFIC_TYPE_MAP.put("decimal", "java.math.BigInteger");
+ XSD_SPECIFIC_TYPE_MAP.put("integer", "long");
}
private Comparator<String> importsComparator;
@@ -941,7 +947,11 @@ public class SourceGenerator {
}
String[] pair = type.split(":");
String value = pair.length == 2 ? pair[1] : type;
- return "string".equals(value) ? "String" : value;
+ if (XSD_SPECIFIC_TYPE_MAP.containsKey(value)) {
+ return XSD_SPECIFIC_TYPE_MAP.get(value);
+ } else {
+ return value;
+ }
}
private String getElementRefName(Element repElement,