Author: bodewig
Date: Tue Jul 13 11:58:59 2010
New Revision: 963687
URL: http://svn.apache.org/viewvc?rev=963687&view=rev
Log:
Resources#toString relies on cache too much. PR 49588
Added:
ant/core/trunk/src/tests/antunit/types/resources/resources-test.xml (with
props)
Modified:
ant/core/trunk/WHATSNEW
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Resources.java
Modified: ant/core/trunk/WHATSNEW
URL:
http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=963687&r1=963686&r2=963687&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Tue Jul 13 11:58:59 2010
@@ -100,6 +100,12 @@ Fixed bugs:
tasks were trying to create the same directory.
Bugzilla Report 49572.
+ * the toString() method of the Resources class - and thus any
+ ${toString:} expansion of a reference to a <resources> element -
+ didn't iterate over its nested elements if it hadn't done so prior
+ to the toString invocation already.
+ Bugzilla Report 49588.
+
Other changes:
--------------
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Resources.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Resources.java?rev=963687&r1=963686&r2=963687&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Resources.java
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/types/resources/Resources.java
Tue Jul 13 11:58:59 2010
@@ -208,6 +208,7 @@ public class Resources extends DataType
if (isReference()) {
return getCheckedRef().toString();
}
+ validate();
if (coll == null || coll.isEmpty()) {
return "";
}
Added: ant/core/trunk/src/tests/antunit/types/resources/resources-test.xml
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/types/resources/resources-test.xml?rev=963687&view=auto
==============================================================================
--- ant/core/trunk/src/tests/antunit/types/resources/resources-test.xml (added)
+++ ant/core/trunk/src/tests/antunit/types/resources/resources-test.xml Tue Jul
13 11:58:59 2010
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project default="antunit" xmlns:au="antlib:org.apache.ant.antunit">
+
+ <import file="../../antunit-base.xml"/>
+
+ <target name="testToString"
+
description="https://issues.apache.org/bugzilla/show_bug.cgi?id=49588">
+ <resources id="A">
+ <string value="b"/>
+ </resources>
+ <union id="union"><resources refid="A"/></union>
+ <au:assertEquals expected="b" actual="${toString:A}"/>
+ <au:assertEquals expected="b" actual="${toString:union}"/>
+ <au:assertEquals expected="b" actual="${toString:A}"/>
+ </target>
+</project>
Propchange: ant/core/trunk/src/tests/antunit/types/resources/resources-test.xml
------------------------------------------------------------------------------
svn:eol-style = native