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]>

Reply via email to