dims        2002/11/29 16:03:00

  Modified:    java/tools/org/apache/axis/tools/ant/wsdl
                        Java2WsdlAntTask.java
  Log:
  Fix for Bug 14815 - classpath extension to java2WSDL ant task
  from [EMAIL PROTECTED] (Arno de Quaasteniet)
  
  Revision  Changes    Path
  1.13      +24 -0     
xml-axis/java/tools/org/apache/axis/tools/ant/wsdl/Java2WsdlAntTask.java
  
  Index: Java2WsdlAntTask.java
  ===================================================================
  RCS file: 
/home/cvs/xml-axis/java/tools/org/apache/axis/tools/ant/wsdl/Java2WsdlAntTask.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- Java2WsdlAntTask.java     1 Nov 2002 20:38:28 -0000       1.12
  +++ Java2WsdlAntTask.java     30 Nov 2002 00:03:00 -0000      1.13
  @@ -58,10 +58,14 @@
   import org.apache.tools.ant.BuildException;
   import org.apache.tools.ant.Project;
   import org.apache.tools.ant.Task;
  +import org.apache.tools.ant.AntClassLoader;
  +import org.apache.tools.ant.types.Path;
   import org.apache.axis.encoding.DefaultTypeMappingImpl;
   import org.apache.axis.encoding.DefaultSOAPEncodingTypeMappingImpl;
  +import org.apache.axis.utils.ClassUtils;
   
   import java.util.HashMap;
  +import java.util.StringTokenizer;
   import java.io.StringWriter;
   import java.io.PrintWriter;
   import java.io.File;
  @@ -111,6 +115,7 @@
       private String use = null;
       private MappingSet mappings=new MappingSet();
       private String extraClasses = null;
  +    private Path classpath = null;
   
       /**
        * trace out parameters
  @@ -163,6 +168,18 @@
        * @throws BuildException
        */
       public void execute() throws BuildException {
  +        if (classpath != null) {
  +            AntClassLoader cl = new AntClassLoader(null, project, classpath, false);
  +            log("Using CLASSPATH " + cl.getClasspath(),
  +              Project.MSG_VERBOSE);
  +            ClassUtils.setClassLoader(className, cl);
  +            ClassUtils.setClassLoader(implClass, cl);
  +            StringTokenizer tokenizer = new StringTokenizer(extraClasses, " ,");
  +            while (tokenizer.hasMoreTokens()) {
  +                String clsName = tokenizer.nextToken();
  +                ClassUtils.setClassLoader(clsName, cl);
  +            }
  +        }
           try {
               traceParams(Project.MSG_VERBOSE);
               validate();
  @@ -246,6 +263,13 @@
               log(writer.getBuffer().toString(), Project.MSG_ERR);
               throw new BuildException("Error while running " + getClass().getName(), 
t);
           }
  +    }
  +
  +    public Path createClasspath() {
  +      if (classpath == null) {
  +        classpath = new Path(project);
  +      }
  +      return classpath.createPath();
       }
   
       /**
  
  
  


Reply via email to