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);
}