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 di...@apache.org on 2005/09/27 05:25:14 UTC

svn commit: r291811 - /webservices/axis/trunk/java/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java

Author: dims
Date: Mon Sep 26 20:25:11 2005
New Revision: 291811

URL: http://svn.apache.org/viewcvs?rev=291811&view=rev
Log:
- Prevent writing Full Constructor if any type in parent hierarchy is a simple type
- check getAnyElement for every type entry in the hierarchy (don't reuse isAny which is only for the type being written)


Modified:
    webservices/axis/trunk/java/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java

Modified: webservices/axis/trunk/java/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java?rev=291811&r1=291810&r2=291811&view=diff
==============================================================================
--- webservices/axis/trunk/java/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java (original)
+++ webservices/axis/trunk/java/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java Mon Sep 26 20:25:11 2005
@@ -648,6 +648,7 @@
             return;
         }
 
+        boolean isSimpleType = false;
         // The constructor needs to consider all extended types
         Vector extendList = new Vector();
 
@@ -656,6 +657,9 @@
         TypeEntry parent = extendType;
 
         while (parent != null) {
+            if(parent.isSimpleType()) {
+                isSimpleType = true;
+            }
             extendList.add(parent);
 
             parent =
@@ -663,12 +667,17 @@
                             emitter.getSymbolTable());
         }
 
+        if (isSimpleType) {
+            return;
+        }
+
         // Now generate a list of names and types starting with
         // the oldest parent.  (Attrs are considered before elements).
         Vector paramTypes = new Vector();
         Vector paramNames = new Vector();
 
         for (int i = extendList.size() - 1; i >= 0; i--) {
+            boolean isAny2 = false;
             TypeEntry te = (TypeEntry) extendList.elementAt(i);
 
             // The names of the inherited parms are mangled
@@ -687,6 +696,9 @@
             if (elements != null) {
                 for (int j = 0; j < elements.size(); j++) {
                     ElementDecl elem = (ElementDecl) elements.get(j);
+                    if(elem.getAnyElement()){
+                        isAny2 = true;
+                    }
                     paramTypes.add(processTypeName(elem,elem.getType().getName()));
                     String name = elem.getName() == null ? ("param" + i) : elem.getName();
                     paramNames.add(JavaUtils.getUniqueValue(
@@ -717,7 +729,7 @@
 
             if (enableMemberFields && SchemaUtils.isMixed(te.getNode())) {
                 isMixed = true;
-                if (!isAny) {
+                if (!isAny2) {
                     paramTypes.add("org.apache.axis.message.MessageElement []");
                     paramNames.add(Constants.ANYCONTENT);
                 }