dims 2002/10/19 08:42:29
Modified: java/src/org/apache/axis/wsdl/toJava Emitter.java
Log:
Fix for "Bug 13774 - WSDL2Java" - Patch from [EMAIL PROTECTED] (Doug Bitting)
Revision Changes Path
1.52 +12 -2 xml-axis/java/src/org/apache/axis/wsdl/toJava/Emitter.java
Index: Emitter.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/wsdl/toJava/Emitter.java,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -r1.51 -r1.52
--- Emitter.java 18 Oct 2002 20:54:28 -0000 1.51
+++ Emitter.java 19 Oct 2002 15:42:29 -0000 1.52
@@ -62,6 +62,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Properties;
+import java.lang.reflect.Constructor;
import javax.xml.namespace.QName;
import javax.wsdl.WSDLException;
@@ -282,8 +283,17 @@
*/
public void setFactory(String factory) {
try {
- setFactory((GeneratorFactory)
- ClassUtils.forName(factory).newInstance());
+ Class clazz = ClassUtils.forName(factory);
+ GeneratorFactory genFac = null;
+ try {
+ Constructor ctor =
+ clazz.getConstructor(new Class[] { getClass() });
+ genFac = (GeneratorFactory)
+ ctor.newInstance(new Object[] { this });
+ } catch (NoSuchMethodException ex) {
+ genFac = (GeneratorFactory) clazz.newInstance();
+ }
+ setFactory(genFac);
}
catch (Exception ex) {
ex.printStackTrace();