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 2002/10/19 17:42:29 UTC

cvs commit: xml-axis/java/src/org/apache/axis/wsdl/toJava Emitter.java

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 douglas.bitting@agile.com (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();