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


Reply via email to