You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by mb...@apache.org on 2006/11/30 20:11:06 UTC
svn commit: r481041 - in /ant/core/trunk: WHATSNEW
src/main/org/apache/tools/ant/types/FilterSet.java
src/tests/antunit/types/filterset-test.xml
Author: mbenson
Date: Thu Nov 30 11:11:04 2006
New Revision: 481041
URL: http://svn.apache.org/viewvc?view=rev&rev=481041
Log:
fix NPE in recursive filtering. BZ 41086.
Added:
ant/core/trunk/src/tests/antunit/types/filterset-test.xml (with props)
Modified:
ant/core/trunk/WHATSNEW
ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java
Modified: ant/core/trunk/WHATSNEW
URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?view=diff&rev=481041&r1=481040&r2=481041
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Thu Nov 30 11:11:04 2006
@@ -28,6 +28,9 @@
* dependset failed if the basedir of a target fileset did not exist.
Bugzilla 40916.
+* Recursive filtering encountered NullPointerExceptions under certain
+ circumstances. Bugzilla 41086.
+
Other changes:
--------------
Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java?view=diff&rev=481041&r1=481040&r2=481041
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java Thu Nov 30 11:11:04 2006
@@ -581,8 +581,8 @@
}
passedTokens.addElement(parent);
String value = iReplaceTokens(line);
- if (value.indexOf(beginToken) == -1 && !duplicateToken) {
- duplicateToken = false;
+ if (value.indexOf(beginToken) == -1 && !duplicateToken
+ && recurseDepth == 1) {
passedTokens = null;
} else if (duplicateToken) {
// should always be the case...
Added: ant/core/trunk/src/tests/antunit/types/filterset-test.xml
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/types/filterset-test.xml?view=auto&rev=481041
==============================================================================
--- ant/core/trunk/src/tests/antunit/types/filterset-test.xml (added)
+++ ant/core/trunk/src/tests/antunit/types/filterset-test.xml Thu Nov 30 11:11:04 2006
@@ -0,0 +1,28 @@
+<project xmlns:au="antlib:org.apache.ant.antunit">
+
+ <property name="br" value="${line.separator}" />
+
+ <target name="testRecursionRegression">
+ <copy todir="${basedir}">
+ <string value="@a@${br}@b@${br}@c@${br}" />
+ <mergemapper to="filterset-output.txt" />
+ <filterset>
+ <filter token="a" value="aaa" />
+ <filter token="b" value="bbb" />
+ <filter token="c" value="@a@:@b@" />
+ </filterset>
+ </copy>
+
+ <au:assertTrue>
+ <resourcesmatch astext="true">
+ <file file="filterset-output.txt" />
+ <string value="aaa${br}bbb${br}aaa:bbb${br}" />
+ </resourcesmatch>
+ </au:assertTrue>
+ </target>
+
+ <target name="tearDown">
+ <delete file="filterset-output.txt" />
+ </target>
+
+</project>
Propchange: ant/core/trunk/src/tests/antunit/types/filterset-test.xml
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org