Author: dkulp
Date: Thu Oct 29 14:52:42 2009
New Revision: 830978
URL: http://svn.apache.org/viewvc?rev=830978&view=rev
Log:
Merged revisions 830966 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r830966 | dkulp | 2009-10-29 10:40:57 -0400 (Thu, 29 Oct 2009) | 1 line
[CXF-1817] Add a depth check to make sure we don't recurse forever
........
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
cxf/branches/2.2.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java?rev=830978&r1=830977&r2=830978&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
(original)
+++
cxf/branches/2.2.x-fixes/tools/wsdlto/databinding/jaxb/src/main/java/org/apache/cxf/tools/wsdlto/databinding/jaxb/JAXBDataBinding.java
Thu Oct 29 14:52:42 2009
@@ -816,17 +816,28 @@
writeDefaultType(writer, m.listParamTypes()[0], path +
"/" + m.name().substring(3));
writer.write(");");
} else {
- writeDefaultValue(writer, indent,
- path + "/" + m.name().substring(3),
- varName + m.name().substring(3),
- m.listParamTypes()[0]);
- writer.write("\n");
+ int idx = path.indexOf("/" + m.name().substring(3) +
"/");
+ if (idx > 0) {
+ idx = path.indexOf("/" + m.name().substring(3) +
"/", idx + 1);
+ }
+ boolean hasTwo = idx > 0;
+ if (!hasTwo) {
+ writeDefaultValue(writer, indent,
+ path + "/" +
m.name().substring(3),
+ varName + m.name().substring(3),
+ m.listParamTypes()[0]);
+ writer.write("\n");
+ }
writer.write(indent);
writer.write(varName);
writer.write(".");
writer.write(m.name());
writer.write("(");
- writer.write(varName + m.name().substring(3));
+ if (!hasTwo) {
+ writer.write(varName + m.name().substring(3));
+ } else {
+ writer.write("null");
+ }
writer.write(");");
}
} else if (m.type().fullName().startsWith("java.util.List")) {