You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by am...@apache.org on 2007/10/04 07:10:23 UTC

svn commit: r581777 - in /webservices/axis2/trunk/java/modules/adb-codegen: src/org/apache/axis2/schema/ src/org/apache/axis2/schema/writer/ test-resources/testsuite/

Author: amilas
Date: Wed Oct  3 22:10:21 2007
New Revision: 581777

URL: http://svn.apache.org/viewvc?rev=581777&view=rev
Log:
used the same java name for xml names in inherited properties

Modified:
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java
    webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java
    webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/extensions.xsd
    webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/testattribute.xsd

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java?rev=581777&r1=581776&r2=581777&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/BeanWriterMetaInfoHolder.java Wed Oct  3 22:10:21 2007
@@ -61,6 +61,7 @@
     protected String minInclusiveFacet = null;
 
     protected Map memberTypes = new HashMap();
+    protected Map xmlNameJavaNameMap = new HashMap();
     protected List memberTypesKeys = new ArrayList();
 
     protected QName itemTypeQName;
@@ -862,6 +863,18 @@
 
     public void setHasParticleType(boolean hasParticleType) {
         this.hasParticleType = hasParticleType;
+    }
+
+    public void addXmlNameJavaNameMapping(String xmlName,String javaName){
+        this.xmlNameJavaNameMap.put(xmlName,javaName);
+    }
+
+    public boolean isJavaNameMappingAvailable(String xmlName){
+        return this.xmlNameJavaNameMap.containsKey(xmlName);
+    }
+
+    public String getJavaName(String xmlName){
+        return (String) this.xmlNameJavaNameMap.get(xmlName);
     }
 
 }

Modified: webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java?rev=581777&r1=581776&r2=581777&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/src/org/apache/axis2/schema/writer/JavaBeanWriter.java Wed Oct  3 22:10:21 2007
@@ -691,13 +691,20 @@
             XSLTUtils.addAttribute(model, "name", xmlName, property);
             XSLTUtils.addAttribute(model, "nsuri", name.getNamespaceURI(), property);
 
-            String javaName = makeUniqueJavaClassName(propertyNames, xmlName);
-            // in a restriction if this element already there and array status have changed
-            // then we have to generate a new  name for this
-            if (parentMetaInf != null && metainf.isRestriction() && !missingQNames.contains(name) &&
-                    (parentMetaInf.getArrayStatusForQName(name) && !metainf.getArrayStatusForQName(name))) {
+            String javaName;
+            if (metainf.isJavaNameMappingAvailable(xmlName)) {
+                javaName = metainf.getJavaName(xmlName);
+            } else {
                 javaName = makeUniqueJavaClassName(propertyNames, xmlName);
+                // in a restriction if this element already there and array status have changed
+                // then we have to generate a new  name for this
+                if (parentMetaInf != null && metainf.isRestriction() && !missingQNames.contains(name) &&
+                        (parentMetaInf.getArrayStatusForQName(name) && !metainf.getArrayStatusForQName(name))) {
+                    javaName = makeUniqueJavaClassName(propertyNames, xmlName);
+                }
+                metainf.addXmlNameJavaNameMapping(xmlName,javaName);
             }
+
             XSLTUtils.addAttribute(model, "javaname", javaName, property);
 
             if (parentMetaInf != null && metainf.isRestriction() && missingQNames.contains(name)) {

Modified: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/extensions.xsd
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/extensions.xsd?rev=581777&r1=581776&r2=581777&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/extensions.xsd (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/extensions.xsd Wed Oct  3 22:10:21 2007
@@ -29,13 +29,11 @@
             <xs:element name="last" type="xs:string"/>
         </xs:sequence>
     </xs:complexType>
-
     <xs:simpleType name="simpleType">
         <xs:restriction base="xs:string">
             <xs:pattern value="[A-Z]*"></xs:pattern>
         </xs:restriction>
     </xs:simpleType>
-
     <xs:simpleType name="baseType">
         <xs:restriction base="xs:string">
             <xs:enumeration value="s1"></xs:enumeration>
@@ -44,7 +42,6 @@
             <xs:enumeration value="s4"></xs:enumeration>
         </xs:restriction>
     </xs:simpleType>
-
     <xs:element name="fullName">
         <xs:complexType>
             <xs:simpleContent>
@@ -56,19 +53,36 @@
             </xs:simpleContent>
         </xs:complexType>
     </xs:element>
-
     <xs:complexType name="ExtendedComplexType">
         <xs:complexContent>
             <xs:extension base="tns:type">
-                  <xs:sequence>
-                      <xs:element name="parentElement1" type="xs:string"></xs:element>
-                      <xs:element name="parentElement2" type="xs:string"></xs:element>
-                  </xs:sequence>
+                <xs:sequence>
+                    <xs:element name="parentElement1" type="xs:string"></xs:element>
+                    <xs:element name="parentElement2" type="xs:string"></xs:element>
+                </xs:sequence>
             </xs:extension>
         </xs:complexContent>
     </xs:complexType>
-
     <xs:element name="TestComplexElement" type="tns:ExtendedComplexType">
-
     </xs:element>
+
+    <xs:complexType name="P2apiAgPatAppt">
+        <xs:complexContent>
+            <xs:extension base="tns:P2apiDataRptGrp">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="aG_MAX_APPT_DETL_ROW" type="xs:int"/>
+                    <xs:element minOccurs="0" name="apptLst" nillable="true" type="xs:anyType"/>
+                </xs:sequence>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+    <xs:complexType name="P2apiDataRptGrp">
+        <xs:sequence>
+            <xs:element minOccurs="0" name="sORT_ASCENDING" type="xs:int"/>
+            <xs:element minOccurs="0" name="sORT_DESCENDING" type="xs:int"/>
+            <xs:element minOccurs="0" name="SORT_ASCENDING" type="xs:int"/>
+            <xs:element minOccurs="0" name="SORT_DESCENDING" type="xs:int"/>
+        </xs:sequence>
+    </xs:complexType>
+
 </schema>

Modified: webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/testattribute.xsd
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/testattribute.xsd?rev=581777&r1=581776&r2=581777&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/testattribute.xsd (original)
+++ webservices/axis2/trunk/java/modules/adb-codegen/test-resources/testsuite/testattribute.xsd Wed Oct  3 22:10:21 2007
@@ -53,7 +53,7 @@
     </xs:element>
 
     <xs:element name="TestAttributeReferenceElement" type="tns:TestAttributeReferenceType"/>
-    <xs:attribute   name="TestAttribute1" type="xs:string"/>
+    <xs:attribute name="TestAttribute1" type="xs:string"/>
     <xs:complexType name="TestAttributeReferenceType">
         <xs:sequence>
             <xs:element name="param1" type="xs:string"/>
@@ -61,5 +61,19 @@
         </xs:sequence>
         <xs:attribute use="optional" ref="tns:TestAttribute1"/>
     </xs:complexType>
+
+    <xs:attribute name="Type">
+        <xs:simpleType>
+            <xs:restriction base="xs:string">
+                <xs:pattern value="String|Base64"/>
+            </xs:restriction>
+        </xs:simpleType>
+    </xs:attribute>
+
+    <xs:element name="TestTypeElement">
+        <xs:complexType>
+            <xs:attribute ref="tns:Type"/>
+        </xs:complexType>
+    </xs:element>
 
 </xs:schema>



---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org