You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ni...@apache.org on 2009/03/09 02:27:59 UTC
svn commit: r751567 - in
/cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools:
XMLBeansSchemaTypeUtils.java XMLBeansToolingDataBinding.java
Author: ningjiang
Date: Mon Mar 9 01:27:58 2009
New Revision: 751567
URL: http://svn.apache.org/viewvc?rev=751567&view=rev
Log:
CXF-2095 mapping the XmlBeans buildin type into the natural Java class when getting the wrapped element types
Added:
cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansSchemaTypeUtils.java (with props)
Modified:
cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansToolingDataBinding.java
Added: cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansSchemaTypeUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansSchemaTypeUtils.java?rev=751567&view=auto
==============================================================================
--- cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansSchemaTypeUtils.java (added)
+++ cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansSchemaTypeUtils.java Mon Mar 9 01:27:58 2009
@@ -0,0 +1,104 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.cxf.xmlbeans.tools;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.xmlbeans.SchemaType;
+
+/**
+ * This class will help us to map the XMLBeansBuildinType into Natural Java Type
+ */
+public final class XMLBeansSchemaTypeUtils {
+ private static final Map<String, String> BUILDIN_TYPES_MAP;
+ static {
+ BUILDIN_TYPES_MAP = new HashMap<String, String>();
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlObject", "org.apache.xmlbeans.XmlObject");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlAnySimpleType", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlAnyURI", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlBase64Binary", "byte[]");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlBoolean", "boolean");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlByte", "byte");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDate", "java.util.Calendar");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDateTime", "java.util.Calendar");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDecimal", "java.math.BigDecimal");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDouble", "double");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDuration", "org.apache.xmlbeans.GDuration");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlENTITIES", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlENTITY", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlFloat", "float");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlGDay", "java.util.Calendar");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlGMonth", "java.util.Calendar");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlGMonthDay", "java.util.Calendar");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlGYear", "java.util.Calendar");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlHexBinary", "java.util.Calendar");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlHexBinary", "byte[]");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlID", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlIDREF", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlIDREFS", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlInt", "int");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlInteger", "java.math.BigInteger");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlLanguage", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlLong", "long");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlName", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlNCNAME", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlNegativeInteger", "java.math.BigInteger");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlNMTOKEN", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlNMTOKENS", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlNonNegativeInteger", "java.math.BigInteger");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlNonPositiveInteger", "java.math.BigInteger");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlNormalizedString", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlNOTATION", "org.apache.xmlbeans.XmlNOTATION");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlPositiveInteger", "java.math.BigInteger");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlQName", "javax.xml.namespace.QName");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlShort", "short");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlString", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlTime", "java.util.Calendar");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlToken", "String");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlUnsignedByte", "short");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlUnsignedInt", "long");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlUnsignedLong", "java.math.BigInteger");
+ BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlUnsignedShort", "int");
+ }
+
+ private XMLBeansSchemaTypeUtils() {
+ // helper class
+ }
+
+ public static String getNaturalJavaClassName(SchemaType st) {
+ SchemaType schemaType = st;
+ String result = null;
+ if (st.isSimpleType() && !st.isBuiltinType()) {
+ schemaType = st.getBaseType();
+ while (schemaType != null && !schemaType.isBuiltinType()) {
+ schemaType = schemaType.getBaseType();
+ }
+ }
+ if (schemaType.isBuiltinType()) {
+ result = BUILDIN_TYPES_MAP.get(schemaType.getFullJavaName());
+ } else {
+ result = schemaType.getFullJavaName().replace('$', '.');
+ }
+ return result;
+
+ }
+
+}
Propchange: cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansSchemaTypeUtils.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansSchemaTypeUtils.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansToolingDataBinding.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansToolingDataBinding.java?rev=751567&r1=751566&r2=751567&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansToolingDataBinding.java (original)
+++ cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansToolingDataBinding.java Mon Mar 9 01:27:58 2009
@@ -74,9 +74,7 @@
static {
MAP_COMPATIBILITY_CONFIG_URIS = new HashMap<String, String>();
MAP_COMPATIBILITY_CONFIG_URIS.put(COMPATIBILITY_CONFIG_URI, CONFIG_URI);
- }
-
-
+ }
SchemaTypeSystem typeSystem;
Map<String, String> sourcesToCopyMap = new HashMap<String, String>();
@@ -127,9 +125,10 @@
return ret.replace('$', '.');
}
- public String getWrappedElementType(QName wrapperElement, QName item) {
+ public String getWrappedElementType(QName wrapperElement, QName item) {
SchemaType st = typeSystem.findElement(wrapperElement).getType();
- return st.getElementProperty(item).getType().getFullJavaName().replace('$', '.');
+ SchemaType partType = st.getElementProperty(item).getType();
+ return XMLBeansSchemaTypeUtils.getNaturalJavaClassName(partType);
}
public void generate(ToolContext context) throws ToolException {
Re: svn commit: r751567 - in /cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools:
XMLBeansSchemaTypeUtils.java XMLBeansToolingDataBinding.java
Posted by Willem Jiang <wi...@gmail.com>.
Hi Glen,
Thanks for pointing out those errors, I will fix them in my next commit.
Willem
Glen Mazza wrote:
> I think you mean "BUILTIN_TYPES_MAP", not "BUILDIN_TYPES_MAP". Also
> note the duplication below.
>
> Glen
>
>
> On Mon, 2009-03-09 at 01:27 +0000, ningjiang@apache.org wrote:
>> Author: ningjiang
>> Date: Mon Mar 9 01:27:58 2009
>> New Revision: 751567
>>
>> URL: http://svn.apache.org/viewvc?rev=751567&view=rev
>> Log:
>> CXF-2095 mapping the XmlBeans buildin type into the natural Java class
>> when getting the wrapped element types
>>
>> Added:
>>
>> cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansSchemaTypeUtils.java (with props)
>> Modified:
>>
>> cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansToolingDataBinding.java
>>
>> Added:
>> cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansSchemaTypeUtils.java
>> URL:
>> http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansSchemaTypeUtils.java?rev=751567&view=auto
>> ==============================================================================
>> --- +/**
>> + * This class will help us to map the XMLBeansBuildinType into Natural Java Type
>> + */
>> +public final class XMLBeansSchemaTypeUtils {
>> + private static final Map<String, String> BUILDIN_TYPES_MAP;
>> + static {
>> + BUILDIN_TYPES_MAP = new HashMap<String, String>();
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlObject", "org.apache.xmlbeans.XmlObject");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlAnySimpleType", "String");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlAnyURI", "String");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlBase64Binary", "byte[]");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlBoolean", "boolean");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlByte", "byte");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDate", "java.util.Calendar");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDateTime", "java.util.Calendar");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDecimal", "java.math.BigDecimal");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDouble", "double");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDuration", "org.apache.xmlbeans.GDuration");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlENTITIES", "String");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlENTITY", "String");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlFloat", "float");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlGDay", "java.util.Calendar");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlGMonth", "java.util.Calendar");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlGMonthDay", "java.util.Calendar");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlGYear", "java.util.Calendar");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlHexBinary", "java.util.Calendar");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlHexBinary", "byte[]");
>
> Error here? You have the above XmlHexBinary duplicated.
>
>
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlID", "String");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlIDREF", "String");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlIDREFS", "String");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlInt", "int");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlInteger", "java.math.BigInteger");
>> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlLanguage", "String");
>
>
>
Re: svn commit: r751567 - in
/cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools:
XMLBeansSchemaTypeUtils.java XMLBeansToolingDataBinding.java
Posted by Glen Mazza <gl...@verizon.net>.
I think you mean "BUILTIN_TYPES_MAP", not "BUILDIN_TYPES_MAP". Also
note the duplication below.
Glen
On Mon, 2009-03-09 at 01:27 +0000, ningjiang@apache.org wrote:
> Author: ningjiang
> Date: Mon Mar 9 01:27:58 2009
> New Revision: 751567
>
> URL: http://svn.apache.org/viewvc?rev=751567&view=rev
> Log:
> CXF-2095 mapping the XmlBeans buildin type into the natural Java class
> when getting the wrapped element types
>
> Added:
>
> cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansSchemaTypeUtils.java (with props)
> Modified:
>
> cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansToolingDataBinding.java
>
> Added:
> cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansSchemaTypeUtils.java
> URL:
> http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/xmlbeans/src/main/java/org/apache/cxf/xmlbeans/tools/XMLBeansSchemaTypeUtils.java?rev=751567&view=auto
> ==============================================================================
> --- +/**
> + * This class will help us to map the XMLBeansBuildinType into Natural Java Type
> + */
> +public final class XMLBeansSchemaTypeUtils {
> + private static final Map<String, String> BUILDIN_TYPES_MAP;
> + static {
> + BUILDIN_TYPES_MAP = new HashMap<String, String>();
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlObject", "org.apache.xmlbeans.XmlObject");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlAnySimpleType", "String");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlAnyURI", "String");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlBase64Binary", "byte[]");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlBoolean", "boolean");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlByte", "byte");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDate", "java.util.Calendar");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDateTime", "java.util.Calendar");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDecimal", "java.math.BigDecimal");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDouble", "double");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlDuration", "org.apache.xmlbeans.GDuration");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlENTITIES", "String");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlENTITY", "String");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlFloat", "float");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlGDay", "java.util.Calendar");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlGMonth", "java.util.Calendar");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlGMonthDay", "java.util.Calendar");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlGYear", "java.util.Calendar");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlHexBinary", "java.util.Calendar");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlHexBinary", "byte[]");
Error here? You have the above XmlHexBinary duplicated.
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlID", "String");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlIDREF", "String");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlIDREFS", "String");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlInt", "int");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlInteger", "java.math.BigInteger");
> + BUILDIN_TYPES_MAP.put("org.apache.xmlbeans.XmlLanguage", "String");