ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dona...@apache.org
Subject cvs commit: jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types PatternSet.java
Date Wed, 23 Jan 2002 10:21:16 GMT
donaldp     02/01/23 02:21:16

  Modified:    proposal/myrmidon/src/main/org/apache/tools/ant/types
                        PatternSet.java
  Log:
  Convert creator methods into adders.
  
  Remove ability to load patterns from files and so forth - do this in a separate task.
  
  cleaned up a bit of cruft aswell.
  
  Revision  Changes    Path
  1.13      +44 -229   jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/PatternSet.java
  
  Index: PatternSet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/PatternSet.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- PatternSet.java	22 Jan 2002 12:14:58 -0000	1.12
  +++ PatternSet.java	23 Jan 2002 10:21:15 -0000	1.13
  @@ -7,17 +7,12 @@
    */
   package org.apache.tools.ant.types;
   
  -import java.io.BufferedReader;
  -import java.io.File;
  -import java.io.FileReader;
  -import java.io.IOException;
   import java.util.ArrayList;
   import java.util.Iterator;
   import java.util.StringTokenizer;
   import org.apache.myrmidon.api.TaskContext;
   import org.apache.myrmidon.api.TaskException;
   import org.apache.myrmidon.framework.Pattern;
  -import org.apache.tools.ant.Project;
   import org.apache.tools.ant.ProjectComponent;
   
   /**
  @@ -38,13 +33,6 @@
   {
       private ArrayList m_includeList = new ArrayList();
       private ArrayList m_excludeList = new ArrayList();
  -    private ArrayList m_includesFileList = new ArrayList();
  -    private ArrayList m_excludesFileList = new ArrayList();
  -
  -    public PatternSet()
  -    {
  -        super();
  -    }
   
       /**
        * Sets the set of exclude patterns. Patterns may be separated by a comma or
  @@ -52,131 +40,68 @@
        *
        * @param excludes the string containing the exclude patterns
        */
  -    public void setExcludes( String excludes )
  +    public void setExcludes( final String excludes )
       {
  -        if( excludes != null && excludes.length() > 0 )
  +        final Pattern[] patterns = parsePatterns( excludes );
  +        for( int i = 0; i < patterns.length; i++ )
           {
  -            StringTokenizer tok = new StringTokenizer( excludes, ", ", false );
  -            while( tok.hasMoreTokens() )
  -            {
  -                createExclude().setName( tok.nextToken() );
  -            }
  +            addExclude( patterns[ i ] );
           }
       }
   
       /**
  -     * Sets the name of the file containing the excludes patterns.
  -     *
  -     * @param excludesFile The file to fetch the exclude patterns from.
  -     * @exception TaskException Description of Exception
  -     */
  -    public void setExcludesfile( File excludesFile )
  -    {
  -        createExcludesFile().setName( excludesFile.getAbsolutePath() );
  -    }
  -
  -    /**
        * Sets the set of include patterns. Patterns may be separated by a comma or
        * a space.
        *
        * @param includes the string containing the include patterns
        */
  -    public void setIncludes( String includes )
  +    public void setIncludes( final String includes )
       {
  -        if( includes != null && includes.length() > 0 )
  +        final Pattern[] patterns = parsePatterns( includes );
  +        for( int i = 0; i < patterns.length; i++ )
           {
  -            StringTokenizer tok = new StringTokenizer( includes, ", ", false );
  -            while( tok.hasMoreTokens() )
  -            {
  -                createInclude().setName( tok.nextToken() );
  -            }
  +            addInclude( patterns[ i ] );
           }
       }
   
       /**
  -     * Sets the name of the file containing the includes patterns.
  +     * add a name entry on the exclude list
        */
  -    public void setIncludesfile( File includesFile )
  -    {
  -        createIncludesFile().setName( includesFile.getAbsolutePath() );
  -    }
  -
  -    public String[] getExcludePatterns( final TaskContext context )
  -        throws TaskException
  +    public void addExclude( final Pattern pattern )
       {
  -        readFiles( context );
  -        return makeArray( m_excludeList, context );
  +        m_excludeList.add( pattern );
       }
   
       /**
  -     * Returns the filtered include patterns.
  +     * add a name entry on the include list
        */
  -    public String[] getIncludePatterns( final TaskContext context )
  -        throws TaskException
  +    public void addInclude( final Pattern pattern )
       {
  -        readFiles( context );
  -        return makeArray( m_includeList, context );
  +        m_includeList.add( pattern );
       }
   
  -    /**
  -     * Adds the patterns of the other instance to this set.
  -     */
  -    protected void append( PatternSet other )
  +    public String[] getExcludePatterns( final TaskContext context )
           throws TaskException
       {
  -        String[] incl = other.getIncludePatterns( (TaskContext)null );
  -        if( incl != null )
  -        {
  -            for( int i = 0; i < incl.length; i++ )
  -            {
  -                createInclude().setName( incl[ i ] );
  -            }
  -        }
  -
  -        String[] excl = other.getExcludePatterns( (TaskContext)null );
  -        if( excl != null )
  -        {
  -            for( int i = 0; i < excl.length; i++ )
  -            {
  -                createExclude().setName( excl[ i ] );
  -            }
  -        }
  +        return toArray( m_excludeList, context );
       }
   
       /**
  -     * add a name entry on the exclude list
  -     *
  -     * @return Description of the Returned Value
  -     */
  -    public Pattern createExclude()
  -    {
  -        return addPatternToList( m_excludeList );
  -    }
  -
  -    /**
  -     * add a name entry on the exclude files list
  -     *
  -     * @return Description of the Returned Value
  -     */
  -    public Pattern createExcludesFile()
  -    {
  -        return addPatternToList( m_excludesFileList );
  -    }
  -
  -    /**
  -     * add a name entry on the include list
  +     * Returns the filtered include patterns.
        */
  -    public Pattern createInclude()
  +    public String[] getIncludePatterns( final TaskContext context )
  +        throws TaskException
       {
  -        return addPatternToList( m_includeList );
  +        return toArray( m_includeList, context );
       }
   
       /**
  -     * add a name entry on the include files list
  +     * Adds the patterns of the other instance to this set.
        */
  -    public Pattern createIncludesFile()
  +    protected void append( final PatternSet other )
       {
  -        return addPatternToList( m_includesFileList );
  +        m_includeList.addAll( other.m_includeList );
  +        m_excludeList.addAll( other.m_excludeList );
       }
   
       public String toString()
  @@ -185,154 +110,44 @@
               " excludes: " + m_excludeList + " }";
       }
   
  -    /**
  -     * helper for FileSet.
  -     */
  -    boolean hasPatterns()
  -    {
  -        return m_includesFileList.size() > 0 || m_excludesFileList.size() > 0 ||
  -            m_includeList.size() > 0 || m_excludeList.size() > 0;
  -    }
  -
  -    /**
  -     * add a name entry to the given list
  -     */
  -    private Pattern addPatternToList( final ArrayList list )
  +    private Pattern[] parsePatterns( final String patternString )
       {
  -        final Pattern result = new Pattern();
  -        list.add( result );
  -        return result;
  -    }
  -
  -    /**
  -     * Convert a vector of Pattern elements into an array of Strings.
  -     */
  -    private String[] makeArray( final ArrayList list, final TaskContext context )
  -    {
  -        if( list.size() == 0 )
  -        {
  -            return null;
  -        }
  -
  -        final ArrayList tmpNames = new ArrayList();
  -        for( Iterator e = list.iterator(); e.hasNext(); )
  +        final ArrayList patterns = new ArrayList();
  +        if( patternString != null && patternString.length() > 0 )
           {
  -            final Pattern ne = (Pattern)e.next();
  -            final String pattern = ne.evaluateName( context );
  -            if( pattern != null && pattern.length() > 0 )
  +            StringTokenizer tok = new StringTokenizer( patternString, ", ", false );
  +            while( tok.hasMoreTokens() )
               {
  -                tmpNames.add( pattern );
  +                final Pattern pattern = new Pattern( tok.nextToken() );
  +                patterns.add( pattern );
               }
           }
   
  -        final String[] result = new String[ tmpNames.size() ];
  -        return (String[])tmpNames.toArray( result );
  +        return (Pattern[])patterns.toArray( new Pattern[ patterns.size() ] );
       }
   
       /**
  -     * Read includesfile ot excludesfile if not already done so.
  +     * Convert a vector of Pattern elements into an array of Strings.
        */
  -    private void readFiles( final TaskContext context )
  -        throws TaskException
  +    private String[] toArray( final ArrayList list, final TaskContext context )
       {
  -        if( m_includesFileList.size() > 0 )
  +        if( list.size() == 0 )
           {
  -            Iterator e = m_includesFileList.iterator();
  -            while( e.hasNext() )
  -            {
  -                Pattern ne = (Pattern)e.next();
  -                String fileName = ne.evaluateName( (TaskContext)null );
  -                if( fileName != null )
  -                {
  -                    File inclFile = resolveFile( fileName );
  -                    if( !inclFile.exists() )
  -                    {
  -                        throw new TaskException( "Includesfile "
  -                                                 + inclFile.getAbsolutePath()
  -                                                 + " not found." );
  -                    }
  -                    readPatterns( inclFile, m_includeList, null );
  -                }
  -            }
  -            m_includesFileList.clear();
  +            return null;
           }
   
  -        if( m_excludesFileList.size() > 0 )
  +        final ArrayList names = new ArrayList();
  +        final Iterator e = list.iterator();
  +        while( e.hasNext() )
           {
  -            Iterator e = m_excludesFileList.iterator();
  -            while( e.hasNext() )
  +            final Pattern pattern = (Pattern)e.next();
  +            final String result = pattern.evaluateName( context );
  +            if( null != result && result.length() > 0 )
               {
  -                Pattern ne = (Pattern)e.next();
  -                String fileName = ne.evaluateName( null );
  -                if( fileName != null )
  -                {
  -                    File exclFile = resolveFile( fileName );
  -                    if( !exclFile.exists() )
  -                    {
  -                        throw new TaskException( "Excludesfile "
  -                                                 + exclFile.getAbsolutePath()
  -                                                 + " not found." );
  -                    }
  -                    readPatterns( exclFile, m_excludeList, null );
  -                }
  +                names.add( result );
               }
  -            m_excludesFileList.clear();
           }
  -    }
  -
  -    /**
  -     * Reads path matching patterns from a file and adds them to the includes or
  -     * excludes list (as appropriate).
  -     *
  -     * @param patternfile Description of Parameter
  -     * @param patternlist Description of Parameter
  -     * @param p Description of Parameter
  -     * @exception TaskException Description of Exception
  -     */
  -    private void readPatterns( File patternfile, ArrayList patternlist, Project p )
  -        throws TaskException
  -    {
   
  -        BufferedReader patternReader = null;
  -        try
  -        {
  -            // Get a FileReader
  -            patternReader =
  -                new BufferedReader( new FileReader( patternfile ) );
  -
  -            // Create one Pattern in the appropriate pattern list for each
  -            // line in the file.
  -            String line = patternReader.readLine();
  -            while( line != null )
  -            {
  -                if( line.length() > 0 )
  -                {
  -                    line = p.replaceProperties( line );
  -                    addPatternToList( patternlist ).setName( line );
  -                }
  -                line = patternReader.readLine();
  -            }
  -        }
  -        catch( IOException ioe )
  -        {
  -            String msg = "An error occured while reading from pattern file: "
  -                + patternfile;
  -            throw new TaskException( msg, ioe );
  -        }
  -        finally
  -        {
  -            if( null != patternReader )
  -            {
  -                try
  -                {
  -                    patternReader.close();
  -                }
  -                catch( IOException ioe )
  -                {
  -                    //Ignore exception
  -                }
  -            }
  -        }
  +        return (String[])names.toArray( new String[ names.size() ] );
       }
  -
   }
  
  
  

--
To unsubscribe, e-mail:   <mailto:ant-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:ant-dev-help@jakarta.apache.org>


Mime
View raw message