umagesh     02/02/23 20:08:14

  Modified:    
proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters
                        HeadFilter.java ReplaceTokens.java
                        StripLineComments.java TailFilter.java
               proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/util
                        ChainReaderHelper.java
  Added:       
proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters
                        LineContains.java
  Log:
  1.  Addition of new filter reader "LineContains"
  2.  Javadoc changes to use &lt; and &gt; instead of < and > characters
  3.  Removal of debug statement from ChainReaderHelper
  
  Revision  Changes    Path
  1.3       +3 -3      
jakarta-ant/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters/HeadFilter.java
  
  Index: HeadFilter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters/HeadFilter.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- HeadFilter.java   18 Feb 2002 20:57:36 -0000      1.2
  +++ HeadFilter.java   24 Feb 2002 04:08:14 -0000      1.3
  @@ -66,9 +66,9 @@
    * Example:
    * =======
    *
  - * <filterreader classname="org.apache.tools.ant.filters.HeadFilter">
  - *    <param name="lines" value="3"/>
  - * </filterreader>
  + * &lt;filterreader classname="org.apache.tools.ant.filters.HeadFilter"&gt;
  + *    &lt;param name="lines" value="3"/&gt;
  + * &lt;/filterreader&gt;
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Magesh Umasankar</a>
    */
  
  
  
  1.4       +5 -5      
jakarta-ant/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters/ReplaceTokens.java
  
  Index: ReplaceTokens.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters/ReplaceTokens.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ReplaceTokens.java        18 Feb 2002 20:57:36 -0000      1.3
  +++ ReplaceTokens.java        24 Feb 2002 04:08:14 -0000      1.4
  @@ -66,11 +66,11 @@
    *
    * Example Usage:
    * =============
  - * <filterreader classname="org.apache.tools.ant.filters.ReplaceTokens">
  - *    <param type="tokenchar" name="begintoken" value="#"/>
  - *    <param type="tokenchar" name="endtoken" value="#"/>
  - *    <param type="token" name="DATE" value="${DATE}"/>
  - * </filterreader>
  + * &lt;filterreader 
classname="org.apache.tools.ant.filters.ReplaceTokens"&gt;
  + *    &lt;param type="tokenchar" name="begintoken" value="#"/&gt;
  + *    &lt;param type="tokenchar" name="endtoken" value="#"/&gt;
  + *    &lt;param type="token" name="DATE" value="${DATE}"/&gt;
  + * &lt;/filterreader&gt;
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Magesh Umasankar</a>
    */
  
  
  
  1.3       +7 -7      
jakarta-ant/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters/StripLineComments.java
  
  Index: StripLineComments.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters/StripLineComments.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- StripLineComments.java    24 Feb 2002 03:36:44 -0000      1.2
  +++ StripLineComments.java    24 Feb 2002 04:08:14 -0000      1.3
  @@ -14,13 +14,13 @@
    * Example:
    * =======
    *
  - * <filterreader classname="org.apache.tools.ant.filters.StripLineComments">
  - *    <param type="comment" value="#"/>
  - *    <param type="comment" value="--"/>
  - *    <param type="comment" value="REM "/>
  - *    <param type="comment" value="rem "/>
  - *    <param type="comment" value="//"/>
  - * </filterreader>
  + * &lt;filterreader 
classname="org.apache.tools.ant.filters.StripLineComments"&gt;
  + *    &lt;param type="comment" value="#"/&gt;
  + *    &lt;param type="comment" value="--"/&gt;
  + *    &lt;param type="comment" value="REM "/&gt;
  + *    &lt;param type="comment" value="rem "/&gt;
  + *    &lt;param type="comment" value="//"/&gt;
  + * &lt;/filterreader&gt;
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Magesh Umasankar</a>
    */
  
  
  
  1.3       +3 -3      
jakarta-ant/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters/TailFilter.java
  
  Index: TailFilter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-ant/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters/TailFilter.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TailFilter.java   18 Feb 2002 20:57:36 -0000      1.2
  +++ TailFilter.java   24 Feb 2002 04:08:14 -0000      1.3
  @@ -66,9 +66,9 @@
    * Example:
    * =======
    *
  - * <filterreader classname="org.apache.tools.ant.filters.TailFilter">
  - *    <param name="lines" value="3"/>
  - * </filterreader>
  + * &lt;filterreader classname="org.apache.tools.ant.filters.TailFilter"&gt;
  + *    &lt;param name="lines" value="3"/&gt;
  + * &lt;/filterreader&gt;
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Magesh Umasankar</a>
    */
  
  
  
  1.1                  
jakarta-ant/proposal/sandbox/filterreaders/src/main/org/apache/tools/ant/filters/LineContains.java
  
  Index: LineContains.java
  ===================================================================
  package org.apache.tools.ant.filters;
  
  import java.io.FilterReader;
  import java.io.IOException;
  import java.io.Reader;
  import java.util.Vector;
  
  import org.apache.tools.ant.types.Parameter;
  import org.apache.tools.ant.types.Parameterizable;
  
  /**
   * Filter Reader to fetch only those lines that contain user specified
   * strings.
   *
   * Example:
   * =======
   *
   * &lt;filterreader classname="org.apache.tools.ant.filters.LineContains"&gt;
   *    &lt;param type="contains" value="foo"/&gt;
   *    &lt;param type="contains" value="bar"/&gt;
   * &lt;/filterreader&gt;
   *
   * This will fetch all those lines that contain foo and bar
   *
   * @author <a href="mailto:[EMAIL PROTECTED]">Magesh Umasankar</a>
   */
  public final class LineContains
      extends FilterReader
      implements Parameterizable
  {
      private static final String CONTAINS_KEY = "contains";
  
      private Parameter[] parameters;
  
      private boolean initialized = false;
  
      private final Vector contains = new Vector();
  
      private int containsSize = 0;
  
      private String line = null;
  
      /**
       * Create a new filtered reader.
       *
       * @param in  a Reader object providing the underlying stream.
       */
      public LineContains(final Reader in) {
          super(in);
      }
  
      public final int read() throws IOException {
          if (!initialized) {
              initialize();
              initialized = true;
          }
  
          int ch = -1;
  
          if (line != null) {
              ch = line.charAt(0);
              if (line.length() == 1) {
                  line = null;
              } else {
                  line = line.substring(1);
              }
          } else {
              ch = in.read();
              while (ch != -1) {
                  if (line == null) {
                      line = "";
                  }
                  line = line + (char) ch;
                  if (ch == '\n') {
                      break;
                  }
                  ch = in.read();
              }
  
              if (line != null) {
                  for (int i = 0; i < containsSize; i++) {
                      String containsStr = (String) contains.elementAt(i);
                      if (line.indexOf(containsStr) == -1) {
                          line = null;
                          break;
                      }
                  }
  
                  return read();
              }
          }
  
          return ch;
      }
  
      public final int read(final char cbuf[], final int off,
                            final int len) throws IOException {
          for (int i = 0; i < len; i++) {
              final int ch = read();
              if (ch == -1) {
                  if (i == 0) {
                      return -1;
                  } else {
                      return i;
                  }
              }
              cbuf[off + i] = (char) ch;
          }
          return len;
      }
  
      public final long skip(final long n) throws IOException {
          for (long i = 0; i < n; i++) {
              if (in.read() == -1) return i;
          }
          return n;
      }
  
      /**
       * Set Parameters
       */
      public final void setParameters(final Parameter[] parameters) {
          this.parameters = parameters;
          initialized = false;
      }
  
      private final void initialize() {
          if (parameters != null) {
              for (int i = 0; i < parameters.length; i++) {
                  if (CONTAINS_KEY.equals(parameters[i].getType())) {
                      contains.addElement(parameters[i].getValue());
                  }
              }
              containsSize = contains.size();
          }
      }
  }
  
  
  
  1.3       +0 -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.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ChainReaderHelper.java    24 Feb 2002 01:57:33 -0000      1.2
  +++ ChainReaderHelper.java    24 Feb 2002 04:08:14 -0000      1.3
  @@ -154,7 +154,6 @@
                           if (classpath == null) {
                               clazz = Class.forName(className);
                           } else {
  -                            System.out.println(project + " " + classpath);
                               AntClassLoader al = new AntClassLoader(project,
                                                                      
classpath);
                               clazz = al.loadClass(className);
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to