jhm 2003/09/19 02:24:13 Modified: docs/manual/CoreTypes filterchain.html src/etc/testcases/filters concat.xml src/main/org/apache/tools/ant/filters ConcatFilter.java src/testcases/org/apache/tools/ant/filters ConcatFilterTest.java Log: ConcatFilter: rename attributes after->append and before->prepend; added documentation. Revision Changes Path 1.13 +45 -1 ant/docs/manual/CoreTypes/filterchain.html Index: filterchain.html =================================================================== RCS file: /home/cvs/ant/docs/manual/CoreTypes/filterchain.html,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- filterchain.html 23 Jul 2003 11:32:12 -0000 1.12 +++ filterchain.html 19 Sep 2003 09:24:13 -0000 1.13 @@ -103,6 +103,7 @@ <a href="#tabstospaces">TabsToSpaces</a><BR> <a href="#tailfilter">TailFilter</a><BR> <a href="#deletecharacters">DeleteCharacters</a><BR> +<a href="#concatfilter">ConcatFilter</a><BR> <a href="#tokenfilter">TokenFilter</a><BR> <H3><a name="filterreader">FilterReader</a></H3> @@ -818,6 +819,49 @@ <deletecharacters chars="\t\r"/> </PRE></BLOCKQUOTE> +<H3><a name="concatfilter">ConcatFilter</a></H3> + <p>This filter prepends or appends the content file to the filtered files.</p> + <p><em>since Ant 1.6</em></p> +<TABLE cellSpacing=0 cellPadding=2 border=1> + <TR> + <TD vAlign=top><B>Parameter Name</B></TD> + <TD vAlign=top><B>Parameter Value</B></TD> + <TD vAlign=top align="center"><B>Required</B></TD> + </TR> + <TR> + <TD vAlign=top>prepend</TD> + <TD vAlign=top> + The name of the file which content should be prepended to the file. + </TD> + <TD vAlign=top align="center">No</TD> + </TR> + <TR> + <TD vAlign=top>append</TD> + <TD vAlign=top> + The name of the file which content should be appended to the file. + </TD> + <TD vAlign=top align="center">No</TD> + </TR> +</TABLE> +<P> + +<H4>Examples:</H4> + +Do nothing: +<BLOCKQUOTE><PRE> +<filterchain> + <concatfilter/> +</filterchain> +</PRE></BLOCKQUOTE> + +Adds a license text before each java source: +<BLOCKQUOTE><PRE> +<filterchain> + <concatfilter prepend="apache-license-java.txt"/> +</filterchain> +</PRE></BLOCKQUOTE> + + <H3><a name="tokenfilter">TokenFilter</a></H3> This filter tokenizes the inputstream into strings and passes these @@ -1293,4 +1337,4 @@ <HR> <P align=center>Copyright © 2002-2003 Apache Software Foundation. All rights -Reserved.</P></BODY></HTML> +Reserved.</P></BODY></HTML> \ No newline at end of file 1.2 +21 -21 ant/src/etc/testcases/filters/concat.xml Index: concat.xml =================================================================== RCS file: /home/cvs/ant/src/etc/testcases/filters/concat.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- concat.xml 18 Sep 2003 15:39:26 -0000 1.1 +++ concat.xml 19 Sep 2003 09:24:13 -0000 1.2 @@ -3,8 +3,8 @@ <target name="init"> <mkdir dir="result" /> - <echo file="result/before.txt" message="this-should-be-the-first-line${line.separator}"/> - <echo file="result/after.txt" message="this-should-be-the-last-line${line.separator}"/> + <echo file="result/prepend.txt" message="this-should-be-the-first-line${line.separator}"/> + <echo file="result/append.txt" message="this-should-be-the-last-line${line.separator}"/> <copy file="input/head-tail.test" tofile="input/concatfilter.test"/> <fixcrlf srcDir="input" includes="concatfilter.test"/> </target> @@ -26,35 +26,35 @@ </copy> </target> - <target name="testFilterReaderBefore" depends="init"> + <target name="testFilterReaderPrepend" depends="init"> <copy file="input/concatfilter.test" - tofile="result/concat.filterReaderBefore.test"> + tofile="result/concat.filterReaderPrepend.test"> <filterchain> <filterreader classname="org.apache.tools.ant.filters.ConcatFilter"> - <param name="before" value="result/before.txt"/> + <param name="prepend" value="result/prepend.txt"/> </filterreader> </filterchain> </copy> </target> - <target name="testFilterReaderAfter" depends="init"> + <target name="testFilterReaderAppend" depends="init"> <copy file="input/concatfilter.test" - tofile="result/concat.filterReaderAfter.test"> + tofile="result/concat.filterReaderAppend.test"> <filterchain> <filterreader classname="org.apache.tools.ant.filters.ConcatFilter"> - <param name="after" value="result/after.txt"/> + <param name="append" value="result/append.txt"/> </filterreader> </filterchain> </copy> </target> - <target name="testFilterReaderBeforeAfter" depends="init"> + <target name="testFilterReaderPrependAppend" depends="init"> <copy file="input/concatfilter.test" - tofile="result/concat.filterReaderBeforeAfter.test"> + tofile="result/concat.filterReaderPrependAppend.test"> <filterchain> <filterreader classname="org.apache.tools.ant.filters.ConcatFilter"> - <param name="before" value="result/before.txt"/> - <param name="after" value="result/after.txt"/> + <param name="prepend" value="result/prepend.txt"/> + <param name="append" value="result/append.txt"/> </filterreader> </filterchain> </copy> @@ -70,32 +70,32 @@ </copy> </target> - <target name="testConcatFilterBefore" depends="init"> + <target name="testConcatFilterPrepend" depends="init"> <typedef name="concatfilter" classname="org.apache.tools.ant.filters.ConcatFilter"/> <copy file="input/concatfilter.test" - tofile="result/concat.concatfilterBefore.test"> + tofile="result/concat.concatfilterPrepend.test"> <filterchain> - <concatfilter before="result/before.txt"/> + <concatfilter prepend="result/prepend.txt"/> </filterchain> </copy> </target> - <target name="testConcatFilterAfter" depends="init"> + <target name="testConcatFilterAppend" depends="init"> <typedef name="concatfilter" classname="org.apache.tools.ant.filters.ConcatFilter"/> <copy file="input/concatfilter.test" - tofile="result/concat.concatfilterAfter.test"> + tofile="result/concat.concatfilterAppend.test"> <filterchain> - <concatfilter after="result/after.txt"/> + <concatfilter append="result/append.txt"/> </filterchain> </copy> </target> - <target name="testConcatFilterBeforeAfter" depends="init"> + <target name="testConcatFilterPrependAppend" depends="init"> <typedef name="concatfilter" classname="org.apache.tools.ant.filters.ConcatFilter"/> <copy file="input/concatfilter.test" - tofile="result/concat.concatfilterBeforeAfter.test"> + tofile="result/concat.concatfilterPrependAppend.test"> <filterchain> - <concatfilter before="result/before.txt" after="result/after.txt"/> + <concatfilter prepend="result/prepend.txt" append="result/append.txt"/> </filterchain> </copy> </target> 1.2 +42 -42 ant/src/main/org/apache/tools/ant/filters/ConcatFilter.java Index: ConcatFilter.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/filters/ConcatFilter.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ConcatFilter.java 18 Sep 2003 15:39:26 -0000 1.1 +++ ConcatFilter.java 19 Sep 2003 09:24:13 -0000 1.2 @@ -67,7 +67,7 @@ * <copy todir="build"> * <fileset dir="src" includes="*.java"/> * <filterchain> - * <concatfilter before="apache-license-java.txt"/> + * <concatfilter prepend="apache-license-java.txt"/> * </filterchain> * </copy> * </pre> @@ -83,16 +83,16 @@ implements ChainableReader { /** File to add before the content. */ - private File before; + private File prepend; /** File to add after the content. */ - private File after; + private File append; - /** Reader for before-file. */ - private Reader beforeReader = new EmptyReader(); + /** Reader for prepend-file. */ + private Reader prependReader = new EmptyReader(); - /** Reader for after-file. */ - private Reader afterReader = new EmptyReader(); + /** Reader for append-file. */ + private Reader appendReader = new EmptyReader(); /** * Constructor for "dummy" instances. @@ -134,49 +134,49 @@ int ch = -1; - // The readers return -1 if they end. So simply read the "before" - // after that the "content" and at the end the "after" file. - ch = beforeReader.read(); + // The readers return -1 if they end. So simply read the "prepend" + // after that the "content" and at the end the "append" file. + ch = prependReader.read(); if (ch == -1) { ch = super.read(); } if (ch == -1) { - ch = afterReader.read(); + ch = appendReader.read(); } return ch; } /** - * Sets <i>before</i> attribute. - * @param before new value + * Sets <i>prepend</i> attribute. + * @param prepend new value */ - public void setBefore(final File before) { - this.before = before; + public void setPrepend(final File prepend) { + this.prepend = prepend; } /** - * Returns <i>before</i> attribute. - * @return before attribute + * Returns <i>prepend</i> attribute. + * @return prepend attribute */ - public File getBefore() { - return before; + public File getPrepend() { + return prepend; } /** - * Sets <i>after</i> attribute. - * @param after new value + * Sets <i>append</i> attribute. + * @param append new value */ - public void setAfter(final File after) { - this.after = after; + public void setAppend(final File append) { + this.append = append; } /** - * Returns <i>after</i> attribute. - * @return after attribute + * Returns <i>append</i> attribute. + * @return append attribute */ - public File getAfter() { - return after; + public File getAppend() { + return append; } /** @@ -191,10 +191,10 @@ */ public Reader chain(final Reader rdr) { ConcatFilter newFilter = new ConcatFilter(rdr); - newFilter.setBefore(getBefore()); - newFilter.setAfter(getAfter()); + newFilter.setPrepend(getPrepend()); + newFilter.setAppend(getAppend()); // Usually the initialized is set to true. But here it must not. - // Because the before and after readers have to be instantiated + // Because the prepend and append readers have to be instantiated // on runtime //newFilter.setInitialized(true); return newFilter; @@ -210,27 +210,27 @@ Parameter[] params = getParameters(); if (params != null) { for (int i = 0; i < params.length; i++) { - if ("before".equals(params[i].getName())) { - setBefore(new File(params[i].getValue())); + if ("prepend".equals(params[i].getName())) { + setPrepend(new File(params[i].getValue())); continue; } - if ("after".equals(params[i].getName())) { - setAfter(new File(params[i].getValue())); + if ("append".equals(params[i].getName())) { + setAppend(new File(params[i].getValue())); continue; } } } - if (before != null) { - if (!before.isAbsolute()) { - before = new File(getProject().getBaseDir(), before.getPath()); + if (prepend != null) { + if (!prepend.isAbsolute()) { + prepend = new File(getProject().getBaseDir(), prepend.getPath()); } - beforeReader = new BufferedReader(new FileReader(before)); + prependReader = new BufferedReader(new FileReader(prepend)); } - if (after != null) { - if (!after.isAbsolute()) { - after = new File(getProject().getBaseDir(), after.getPath()); + if (append != null) { + if (!append.isAbsolute()) { + append = new File(getProject().getBaseDir(), append.getPath()); } - afterReader = new BufferedReader(new FileReader(after)); + appendReader = new BufferedReader(new FileReader(append)); } } 1.2 +31 -31 ant/src/testcases/org/apache/tools/ant/filters/ConcatFilterTest.java Index: ConcatFilterTest.java =================================================================== RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/filters/ConcatFilterTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ConcatFilterTest.java 18 Sep 2003 15:39:26 -0000 1.1 +++ ConcatFilterTest.java 19 Sep 2003 09:24:13 -0000 1.2 @@ -69,7 +69,7 @@ private static FileUtils fu = FileUtils.newFileUtils(); private static final String lSep = System.getProperty("line.separator"); - private static final String FILE_BEGINNING_WITH = + private static final String FILE_PREPEND_WITH = "this-should-be-the-first-line" + lSep + "Line 1" + lSep + "Line 2" + lSep @@ -77,7 +77,7 @@ + "Line 4" + lSep ; - private static final String FILE_BEGINNING = + private static final String FILE_PREPEND = "Line 1" + lSep + "Line 2" + lSep + "Line 3" + lSep @@ -85,7 +85,7 @@ + "Line 5" + lSep ; - private static final String FILE_ENDING_WITH = + private static final String FILE_APPEND_WITH = "Line 57" + lSep + "Line 58" + lSep + "Line 59" + lSep @@ -93,7 +93,7 @@ + "this-should-be-the-last-line" + lSep ; - private static final String FILE_ENDING = + private static final String FILE_APPEND = "Line 56" + lSep + "Line 57" + lSep + "Line 58" + lSep @@ -112,7 +112,7 @@ public void tearDown() { // I dont know why - but on my machine I always get a - // "Unable to delete file ...result\after.txt" (or before.txt) + // "Unable to delete file ...result\append.txt" (or prepend.txt) // from Delete.removeDir(Delete.java:612). // Win2000, JDK 1.4.1_02 // A <sleep> before <delete> doesn´t work. From 10ms to 3000ms. @@ -137,59 +137,59 @@ } public void testFilterReaderBefore() throws IOException { - executeTarget("testFilterReaderBefore"); - File resultFile = getProject().resolveFile("result/concat.filterReaderBefore.test"); + executeTarget("testFilterReaderPrepend"); + File resultFile = getProject().resolveFile("result/concat.filterReaderPrepend.test"); String resultContent = fu.readFully(new java.io.FileReader(resultFile)); - assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_BEGINNING_WITH)); - assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_ENDING)); + assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_PREPEND_WITH)); + assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_APPEND)); } public void testFilterReaderAfter() throws IOException { - executeTarget("testFilterReaderAfter"); - File resultFile = getProject().resolveFile("result/concat.filterReaderAfter.test"); + executeTarget("testFilterReaderAppend"); + File resultFile = getProject().resolveFile("result/concat.filterReaderAppend.test"); String resultContent = fu.readFully(new java.io.FileReader(resultFile)); - assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_BEGINNING)); - assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_ENDING_WITH)); + assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_PREPEND)); + assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_APPEND_WITH)); } public void testFilterReaderBeforeAfter() throws IOException { - executeTarget("testFilterReaderBeforeAfter"); - File resultFile = getProject().resolveFile("result/concat.filterReaderBeforeAfter.test"); + executeTarget("testFilterReaderPrependAppend"); + File resultFile = getProject().resolveFile("result/concat.filterReaderPrependAppend.test"); String resultContent = fu.readFully(new java.io.FileReader(resultFile)); - assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_BEGINNING_WITH)); - assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_ENDING_WITH)); + assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_PREPEND_WITH)); + assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_APPEND_WITH)); } public void testConcatFilter() throws IOException { executeTarget("testConcatFilter"); File resultFile = getProject().resolveFile("result/concat.concatfilter.test"); String resultContent = fu.readFully(new java.io.FileReader(resultFile)); - assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_BEGINNING)); - assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_ENDING)); + assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_PREPEND)); + assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_APPEND)); } public void testConcatFilterBefore() throws IOException { - executeTarget("testConcatFilterBefore"); - File resultFile = getProject().resolveFile("result/concat.concatfilterBefore.test"); + executeTarget("testConcatFilterPrepend"); + File resultFile = getProject().resolveFile("result/concat.concatfilterPrepend.test"); String resultContent = fu.readFully(new java.io.FileReader(resultFile)); - assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_BEGINNING_WITH)); - assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_ENDING)); + assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_PREPEND_WITH)); + assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_APPEND)); } public void testConcatFilterAfter() throws IOException { - executeTarget("testConcatFilterAfter"); - File resultFile = getProject().resolveFile("result/concat.concatfilterAfter.test"); + executeTarget("testConcatFilterAppend"); + File resultFile = getProject().resolveFile("result/concat.concatfilterAppend.test"); String resultContent = fu.readFully(new java.io.FileReader(resultFile)); - assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_BEGINNING)); - assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_ENDING_WITH)); + assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_PREPEND)); + assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_APPEND_WITH)); } public void testConcatFilterBeforeAfter() throws IOException { - executeTarget("testConcatFilterBeforeAfter"); - File resultFile = getProject().resolveFile("result/concat.concatfilterBeforeAfter.test"); + executeTarget("testConcatFilterPrependAppend"); + File resultFile = getProject().resolveFile("result/concat.concatfilterPrependAppend.test"); String resultContent = fu.readFully(new java.io.FileReader(resultFile)); - assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_BEGINNING_WITH)); - assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_ENDING_WITH)); + assertTrue("First 5 lines differs.", resultContent.startsWith(FILE_PREPEND_WITH)); + assertTrue("Last 5 lines differs.", resultContent.endsWith(FILE_APPEND_WITH)); } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]