@@ -31,11 +31,11 @@ import java.io.OutputStreamWriter; | |||||
import java.io.Reader; | import java.io.Reader; | ||||
import java.io.Writer; | import java.io.Writer; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.Collections; | |||||
import java.util.Comparator; | import java.util.Comparator; | ||||
import java.util.Iterator; | import java.util.Iterator; | ||||
import java.util.List; | |||||
import java.util.Properties; | import java.util.Properties; | ||||
import java.util.Set; | |||||
import java.util.TreeSet; | |||||
import org.apache.tools.ant.BuildException; | import org.apache.tools.ant.BuildException; | ||||
import org.apache.tools.ant.DirectoryScanner; | import org.apache.tools.ant.DirectoryScanner; | ||||
@@ -960,7 +960,8 @@ public class Replace extends MatchingTask { | |||||
* strings are tried later. | * strings are tried later. | ||||
*/ | */ | ||||
private Iterator<Object> getOrderedIterator(Properties props) { | private Iterator<Object> getOrderedIterator(Properties props) { | ||||
Set<Object> keys = new TreeSet(new Comparator<Object>() { | |||||
List<Object> keys = new ArrayList<Object>(props.keySet()); | |||||
Collections.sort(keys, new Comparator<Object>() { | |||||
@Override | @Override | ||||
public int compare(Object key1, Object key2) { | public int compare(Object key1, Object key2) { | ||||
return compare(key1.toString(), key2.toString()); | return compare(key1.toString(), key2.toString()); | ||||
@@ -970,7 +971,6 @@ public class Replace extends MatchingTask { | |||||
return key2.length() - key1.length(); | return key2.length() - key1.length(); | ||||
} | } | ||||
}); | }); | ||||
keys.addAll(props.keySet()); | |||||
return keys.iterator(); | return keys.iterator(); | ||||
} | } | ||||
} | } |
@@ -129,6 +129,32 @@ abcdefghijklmnopqrstuvw=23 | |||||
abcdefghijklmnopqrstuvwx=24 | abcdefghijklmnopqrstuvwx=24 | ||||
abcdefghijklmnopqrstuvwxy=25 | abcdefghijklmnopqrstuvwxy=25 | ||||
abcdefghijklmnopqrstuvwxyz=26 | abcdefghijklmnopqrstuvwxyz=26 | ||||
A=27 | |||||
AB=28 | |||||
ABC=29 | |||||
ABCD=30 | |||||
ABCDE=31 | |||||
ABCDEF=32 | |||||
ABCDEFG=33 | |||||
ABCDEFGH=34 | |||||
ABCDEFGHI=35 | |||||
ABCDEFGHIJ=36 | |||||
ABCDEFGHIJK=37 | |||||
ABCDEFGHIJKL=38 | |||||
ABCDEFGHIJKLM=39 | |||||
ABCDEFGHIJKLMN=40 | |||||
ABCDEFGHIJKLMNO=41 | |||||
ABCDEFGHIJKLMNOP=42 | |||||
ABCDEFGHIJKLMNOPQ=43 | |||||
ABCDEFGHIJKLMNOPQR=44 | |||||
ABCDEFGHIJKLMNOPQRS=45 | |||||
ABCDEFGHIJKLMNOPQRST=46 | |||||
ABCDEFGHIJKLMNOPQRSTU=47 | |||||
ABCDEFGHIJKLMNOPQRSTUV=48 | |||||
ABCDEFGHIJKLMNOPQRSTUVW=49 | |||||
ABCDEFGHIJKLMNOPQRSTUVWX=50 | |||||
ABCDEFGHIJKLMNOPQRSTUVWXY=51 | |||||
ABCDEFGHIJKLMNOPQRSTUVWXYZ=52 | |||||
]]></echo> | ]]></echo> | ||||
<echo file="${output}/text.txt"><![CDATA[ | <echo file="${output}/text.txt"><![CDATA[ | ||||
a | a | ||||
@@ -157,6 +183,32 @@ abcdefghijklmnopqrstuvw | |||||
abcdefghijklmnopqrstuvwx | abcdefghijklmnopqrstuvwx | ||||
abcdefghijklmnopqrstuvwxy | abcdefghijklmnopqrstuvwxy | ||||
abcdefghijklmnopqrstuvwxyz | abcdefghijklmnopqrstuvwxyz | ||||
A | |||||
AB | |||||
ABC | |||||
ABCD | |||||
ABCDE | |||||
ABCDEF | |||||
ABCDEFG | |||||
ABCDEFGH | |||||
ABCDEFGHI | |||||
ABCDEFGHIJ | |||||
ABCDEFGHIJK | |||||
ABCDEFGHIJKL | |||||
ABCDEFGHIJKLM | |||||
ABCDEFGHIJKLMN | |||||
ABCDEFGHIJKLMNO | |||||
ABCDEFGHIJKLMNOP | |||||
ABCDEFGHIJKLMNOPQ | |||||
ABCDEFGHIJKLMNOPQR | |||||
ABCDEFGHIJKLMNOPQRS | |||||
ABCDEFGHIJKLMNOPQRST | |||||
ABCDEFGHIJKLMNOPQRSTU | |||||
ABCDEFGHIJKLMNOPQRSTUV | |||||
ABCDEFGHIJKLMNOPQRSTUVW | |||||
ABCDEFGHIJKLMNOPQRSTUVWX | |||||
ABCDEFGHIJKLMNOPQRSTUVWXY | |||||
ABCDEFGHIJKLMNOPQRSTUVWXYZ | |||||
]]></echo> | ]]></echo> | ||||
<echo file="${output}/expected.txt"><![CDATA[ | <echo file="${output}/expected.txt"><![CDATA[ | ||||
1 | 1 | ||||
@@ -185,6 +237,32 @@ abcdefghijklmnopqrstuvwxyz | |||||
24 | 24 | ||||
25 | 25 | ||||
26 | 26 | ||||
27 | |||||
28 | |||||
29 | |||||
30 | |||||
31 | |||||
32 | |||||
33 | |||||
34 | |||||
35 | |||||
36 | |||||
37 | |||||
38 | |||||
39 | |||||
40 | |||||
41 | |||||
42 | |||||
43 | |||||
44 | |||||
45 | |||||
46 | |||||
47 | |||||
48 | |||||
49 | |||||
50 | |||||
51 | |||||
52 | |||||
]]></echo> | ]]></echo> | ||||
<replace replacefilterresource="${input}/filter.properties"> | <replace replacefilterresource="${input}/filter.properties"> | ||||
<file file="${output}/text.txt"/> | <file file="${output}/text.txt"/> | ||||