umagesh 02/02/23 17:57:33
Modified: proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/util
ChainReaderHelper.java
Log:
Use classpath of AntFilterReader if available.
Revision Changes Path
1.2 +19 -1
jakarta-ant/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/util/ChainReaderHelper.java
Index: ChainReaderHelper.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/util/ChainReaderHelper.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ChainReaderHelper.java 23 Feb 2002 17:36:42 -0000 1.1
+++ ChainReaderHelper.java 24 Feb 2002 01:57:33 -0000 1.2
@@ -53,9 +53,12 @@
*/
package org.apache.tools.ant.util;
+import org.apache.tools.ant.AntClassLoader;
import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Project;
import org.apache.tools.ant.types.AntFilterReader;
import org.apache.tools.ant.types.FilterReaderSet;
+import org.apache.tools.ant.types.Path;
import org.apache.tools.ant.types.Parameter;
import org.apache.tools.ant.types.Parameterizable;
@@ -143,10 +146,25 @@
final AntFilterReader filter =
(AntFilterReader) finalFilters.elementAt(i);
final String className = filter.getClassName();
+ final Path classpath = filter.getClasspath();
+ final Project project = filter.getProject();
if (className != null) {
try {
- final Class clazz = Class.forName(className);
+ Class clazz = null;
+ if (classpath == null) {
+ clazz = Class.forName(className);
+ } else {
+ System.out.println(project + " " + classpath);
+ AntClassLoader al = new AntClassLoader(project,
+
classpath);
+ clazz = al.loadClass(className);
+ AntClassLoader.initializeClass(clazz);
+ }
if (clazz != null) {
+ if (!FilterReader.class.isAssignableFrom(clazz))
{
+ throw new BuildException(className +
+ " does not extend java.io.FilterReader");
+ }
final Constructor[] constructors =
clazz.getConstructors();
final Reader[] rdr = {instream};
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>