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();
}
/**