git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@271267 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -5,7 +5,7 @@ | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.tools.ant.types;// java io classes | |||
| package org.apache.tools.ant.types; | |||
| import java.io.File; | |||
| import java.io.FileInputStream; | |||
| @@ -81,7 +81,7 @@ public class FilterSet | |||
| * | |||
| * @param filter The feature to be added to the Filter attribute | |||
| */ | |||
| public void addFilter( Filter filter ) | |||
| public void addFilter( final Filter filter ) | |||
| { | |||
| m_filters.add( filter ); | |||
| } | |||
| @@ -121,17 +121,6 @@ public class FilterSet | |||
| return new FiltersFile(); | |||
| }*/ | |||
| /** | |||
| * Test to see if this filter set it empty. | |||
| * | |||
| * @return Return true if there are filter in this set otherwise false. | |||
| */ | |||
| public boolean hasFilters() | |||
| throws TaskException | |||
| { | |||
| return m_filters.size() > 0; | |||
| } | |||
| /** | |||
| * Read the filters from the given file. | |||
| * | |||
| @@ -7,14 +7,10 @@ | |||
| */ | |||
| package org.apache.tools.ant.types;// java io classes | |||
| // java util classes | |||
| import java.util.ArrayList; | |||
| import java.util.Iterator; | |||
| import org.apache.myrmidon.api.TaskException; | |||
| // ant classes | |||
| /** | |||
| * A FilterSetCollection is a collection of filtersets each of which may have a | |||
| * different start/end token settings. | |||
| @@ -23,40 +19,11 @@ import org.apache.myrmidon.api.TaskException; | |||
| */ | |||
| public class FilterSetCollection | |||
| { | |||
| private ArrayList m_filterSets = new ArrayList(); | |||
| private ArrayList filterSets = new ArrayList(); | |||
| public FilterSetCollection() | |||
| { | |||
| } | |||
| public FilterSetCollection( FilterSet filterSet ) | |||
| public void addFilterSet( final FilterSet filterSet ) | |||
| { | |||
| addFilterSet( filterSet ); | |||
| } | |||
| public void addFilterSet( FilterSet filterSet ) | |||
| { | |||
| filterSets.add( filterSet ); | |||
| } | |||
| /** | |||
| * Test to see if this filter set it empty. | |||
| * | |||
| * @return Return true if there are filter in this set otherwise false. | |||
| */ | |||
| public boolean hasFilters() | |||
| throws TaskException | |||
| { | |||
| for( Iterator e = filterSets.iterator(); e.hasNext(); ) | |||
| { | |||
| FilterSet filterSet = (FilterSet)e.next(); | |||
| if( filterSet.hasFilters() ) | |||
| { | |||
| return true; | |||
| } | |||
| } | |||
| return false; | |||
| m_filterSets.add( filterSet ); | |||
| } | |||
| /** | |||
| @@ -70,9 +37,11 @@ public class FilterSetCollection | |||
| throws TaskException | |||
| { | |||
| String replacedLine = line; | |||
| for( Iterator e = filterSets.iterator(); e.hasNext(); ) | |||
| final Iterator filterSets = m_filterSets.iterator(); | |||
| while( filterSets.hasNext() ) | |||
| { | |||
| FilterSet filterSet = (FilterSet)e.next(); | |||
| final FilterSet filterSet = (FilterSet)filterSets.next(); | |||
| replacedLine = filterSet.replaceTokens( replacedLine ); | |||
| } | |||
| return replacedLine; | |||
| @@ -52,70 +52,6 @@ public class FileUtils | |||
| return (String[])result.toArray( new String[ result.size() ] ); | |||
| } | |||
| /** | |||
| * Convienence method to copy a file from a source to a destination | |||
| * specifying if token filtering must be used, if source files may overwrite | |||
| * newer destination files and the last modified time of <code>destFile</code> | |||
| * file should be made equal to the last modified time of <code>sourceFile</code> | |||
| * . | |||
| */ | |||
| public static void copyFile( final File sourceFile, | |||
| final File destFile, | |||
| final FilterSetCollection filters ) | |||
| throws IOException, TaskException | |||
| { | |||
| if( !destFile.exists() || | |||
| destFile.lastModified() < sourceFile.lastModified() ) | |||
| { | |||
| if( destFile.exists() && destFile.isFile() ) | |||
| { | |||
| destFile.delete(); | |||
| } | |||
| // ensure that parent dir of dest file exists! | |||
| // not using getParentFile method to stay 1.1 compat | |||
| File parent = destFile.getParentFile(); | |||
| if( !parent.exists() ) | |||
| { | |||
| parent.mkdirs(); | |||
| } | |||
| if( filters != null && filters.hasFilters() ) | |||
| { | |||
| BufferedReader in = new BufferedReader( new FileReader( sourceFile ) ); | |||
| BufferedWriter out = new BufferedWriter( new FileWriter( destFile ) ); | |||
| String newline = null; | |||
| String line = in.readLine(); | |||
| while( line != null ) | |||
| { | |||
| if( line.length() == 0 ) | |||
| { | |||
| out.newLine(); | |||
| } | |||
| else | |||
| { | |||
| newline = filters.replaceTokens( line ); | |||
| out.write( newline ); | |||
| out.newLine(); | |||
| } | |||
| line = in.readLine(); | |||
| } | |||
| IOUtil.shutdownReader( in ); | |||
| IOUtil.shutdownWriter( out ); | |||
| } | |||
| else | |||
| { | |||
| final FileInputStream in = new FileInputStream( sourceFile ); | |||
| final FileOutputStream out = new FileOutputStream( destFile ); | |||
| IOUtil.copy( in, out ); | |||
| IOUtil.shutdownStream( in ); | |||
| IOUtil.shutdownStream( out ); | |||
| } | |||
| } | |||
| } | |||
| /** | |||
| * "normalize" the given absolute path. <p> | |||
| * | |||
| @@ -5,7 +5,7 @@ | |||
| * version 1.1, a copy of which has been included with this distribution in | |||
| * the LICENSE.txt file. | |||
| */ | |||
| package org.apache.tools.ant.types;// java io classes | |||
| package org.apache.tools.ant.types; | |||
| import java.io.File; | |||
| import java.io.FileInputStream; | |||
| @@ -81,7 +81,7 @@ public class FilterSet | |||
| * | |||
| * @param filter The feature to be added to the Filter attribute | |||
| */ | |||
| public void addFilter( Filter filter ) | |||
| public void addFilter( final Filter filter ) | |||
| { | |||
| m_filters.add( filter ); | |||
| } | |||
| @@ -121,17 +121,6 @@ public class FilterSet | |||
| return new FiltersFile(); | |||
| }*/ | |||
| /** | |||
| * Test to see if this filter set it empty. | |||
| * | |||
| * @return Return true if there are filter in this set otherwise false. | |||
| */ | |||
| public boolean hasFilters() | |||
| throws TaskException | |||
| { | |||
| return m_filters.size() > 0; | |||
| } | |||
| /** | |||
| * Read the filters from the given file. | |||
| * | |||
| @@ -7,14 +7,10 @@ | |||
| */ | |||
| package org.apache.tools.ant.types;// java io classes | |||
| // java util classes | |||
| import java.util.ArrayList; | |||
| import java.util.Iterator; | |||
| import org.apache.myrmidon.api.TaskException; | |||
| // ant classes | |||
| /** | |||
| * A FilterSetCollection is a collection of filtersets each of which may have a | |||
| * different start/end token settings. | |||
| @@ -23,40 +19,11 @@ import org.apache.myrmidon.api.TaskException; | |||
| */ | |||
| public class FilterSetCollection | |||
| { | |||
| private ArrayList m_filterSets = new ArrayList(); | |||
| private ArrayList filterSets = new ArrayList(); | |||
| public FilterSetCollection() | |||
| { | |||
| } | |||
| public FilterSetCollection( FilterSet filterSet ) | |||
| public void addFilterSet( final FilterSet filterSet ) | |||
| { | |||
| addFilterSet( filterSet ); | |||
| } | |||
| public void addFilterSet( FilterSet filterSet ) | |||
| { | |||
| filterSets.add( filterSet ); | |||
| } | |||
| /** | |||
| * Test to see if this filter set it empty. | |||
| * | |||
| * @return Return true if there are filter in this set otherwise false. | |||
| */ | |||
| public boolean hasFilters() | |||
| throws TaskException | |||
| { | |||
| for( Iterator e = filterSets.iterator(); e.hasNext(); ) | |||
| { | |||
| FilterSet filterSet = (FilterSet)e.next(); | |||
| if( filterSet.hasFilters() ) | |||
| { | |||
| return true; | |||
| } | |||
| } | |||
| return false; | |||
| m_filterSets.add( filterSet ); | |||
| } | |||
| /** | |||
| @@ -70,9 +37,11 @@ public class FilterSetCollection | |||
| throws TaskException | |||
| { | |||
| String replacedLine = line; | |||
| for( Iterator e = filterSets.iterator(); e.hasNext(); ) | |||
| final Iterator filterSets = m_filterSets.iterator(); | |||
| while( filterSets.hasNext() ) | |||
| { | |||
| FilterSet filterSet = (FilterSet)e.next(); | |||
| final FilterSet filterSet = (FilterSet)filterSets.next(); | |||
| replacedLine = filterSet.replaceTokens( replacedLine ); | |||
| } | |||
| return replacedLine; | |||
| @@ -52,70 +52,6 @@ public class FileUtils | |||
| return (String[])result.toArray( new String[ result.size() ] ); | |||
| } | |||
| /** | |||
| * Convienence method to copy a file from a source to a destination | |||
| * specifying if token filtering must be used, if source files may overwrite | |||
| * newer destination files and the last modified time of <code>destFile</code> | |||
| * file should be made equal to the last modified time of <code>sourceFile</code> | |||
| * . | |||
| */ | |||
| public static void copyFile( final File sourceFile, | |||
| final File destFile, | |||
| final FilterSetCollection filters ) | |||
| throws IOException, TaskException | |||
| { | |||
| if( !destFile.exists() || | |||
| destFile.lastModified() < sourceFile.lastModified() ) | |||
| { | |||
| if( destFile.exists() && destFile.isFile() ) | |||
| { | |||
| destFile.delete(); | |||
| } | |||
| // ensure that parent dir of dest file exists! | |||
| // not using getParentFile method to stay 1.1 compat | |||
| File parent = destFile.getParentFile(); | |||
| if( !parent.exists() ) | |||
| { | |||
| parent.mkdirs(); | |||
| } | |||
| if( filters != null && filters.hasFilters() ) | |||
| { | |||
| BufferedReader in = new BufferedReader( new FileReader( sourceFile ) ); | |||
| BufferedWriter out = new BufferedWriter( new FileWriter( destFile ) ); | |||
| String newline = null; | |||
| String line = in.readLine(); | |||
| while( line != null ) | |||
| { | |||
| if( line.length() == 0 ) | |||
| { | |||
| out.newLine(); | |||
| } | |||
| else | |||
| { | |||
| newline = filters.replaceTokens( line ); | |||
| out.write( newline ); | |||
| out.newLine(); | |||
| } | |||
| line = in.readLine(); | |||
| } | |||
| IOUtil.shutdownReader( in ); | |||
| IOUtil.shutdownWriter( out ); | |||
| } | |||
| else | |||
| { | |||
| final FileInputStream in = new FileInputStream( sourceFile ); | |||
| final FileOutputStream out = new FileOutputStream( destFile ); | |||
| IOUtil.copy( in, out ); | |||
| IOUtil.shutdownStream( in ); | |||
| IOUtil.shutdownStream( out ); | |||
| } | |||
| } | |||
| } | |||
| /** | |||
| * "normalize" the given absolute path. <p> | |||
| * | |||