From fd3ea490305970d8594f45a45f617ebe011ca885 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Fri, 5 Dec 2008 13:24:14 +0000 Subject: [PATCH] Take advantage of JDK 1.4 (and 1.2, actually) git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@723730 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/tools/ant/taskdefs/Replace.java | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/Replace.java b/src/main/org/apache/tools/ant/taskdefs/Replace.java index ee8e48798..f304b569e 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Replace.java +++ b/src/main/org/apache/tools/ant/taskdefs/Replace.java @@ -31,9 +31,9 @@ import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Reader; import java.io.Writer; +import java.util.ArrayList; import java.util.Enumeration; import java.util.Properties; -import java.util.Vector; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.Project; @@ -62,7 +62,7 @@ public class Replace extends MatchingTask { private File propertyFile = null; private File replaceFilterFile = null; private Properties properties = null; - private Vector replacefilters = new Vector(); + private ArrayList replacefilters = new ArrayList(); private File dir = null; @@ -271,8 +271,7 @@ public class Replace extends MatchingTask { */ void flush() { replace(); - // Avoid runtime problem on pre 1.4 when compiling post 1.4 - outputBuffer.append(inputBuffer.toString()); + outputBuffer.append(inputBuffer); inputBuffer.delete(0, inputBuffer.length()); } @@ -282,13 +281,14 @@ public class Replace extends MatchingTask { * replacement. */ private int replace() { - int found = inputBuffer.toString().indexOf(token); + int found = inputBuffer.indexOf(token); int pos = -1; + final int tokenLength = token.length(); + final int replaceValueLength = replaceValue.length(); while (found >= 0) { - inputBuffer.replace(found, found + token.length(), - replaceValue); - pos = found + replaceValue.length(); - found = inputBuffer.toString().indexOf(token, pos); + inputBuffer.replace(found, found + tokenLength, replaceValue); + pos = found + replaceValueLength; + found = inputBuffer.indexOf(token, pos); ++replaceCount; } return pos; @@ -442,7 +442,7 @@ public class Replace extends MatchingTask { */ public void execute() throws BuildException { - Vector savedFilters = (Vector) replacefilters.clone(); + ArrayList savedFilters = (ArrayList) replacefilters.clone(); Properties savedProperties = properties == null ? null : (Properties) properties.clone(); @@ -546,7 +546,7 @@ public class Replace extends MatchingTask { throws BuildException { for (int i = 0; i < replacefilters.size(); i++) { Replacefilter element = - (Replacefilter) replacefilters.elementAt(i); + (Replacefilter) replacefilters.get(i); element.validate(); } } @@ -653,7 +653,7 @@ public class Replace extends MatchingTask { */ private void flushFilterChain() { for (int i = 0; i < replacefilters.size(); i++) { - Replacefilter filter = (Replacefilter) replacefilters.elementAt(i); + Replacefilter filter = (Replacefilter) replacefilters.get(i); filter.flush(); } } @@ -664,7 +664,7 @@ public class Replace extends MatchingTask { */ private boolean processFilterChain() { for (int i = 0; i < replacefilters.size(); i++) { - Replacefilter filter = (Replacefilter) replacefilters.elementAt(i); + Replacefilter filter = (Replacefilter) replacefilters.get(i); if (!filter.process()) { return false; } @@ -681,7 +681,7 @@ public class Replace extends MatchingTask { private StringBuffer buildFilterChain(StringBuffer inputBuffer) { StringBuffer buf = inputBuffer; for (int i = 0; i < replacefilters.size(); i++) { - Replacefilter filter = (Replacefilter) replacefilters.elementAt(i); + Replacefilter filter = (Replacefilter) replacefilters.get(i); filter.setInputBuffer(buf); buf = filter.getOutputBuffer(); } @@ -694,7 +694,7 @@ public class Replace extends MatchingTask { */ private void logFilterChain(String filename) { for (int i = 0; i < replacefilters.size(); i++) { - Replacefilter filter = (Replacefilter) replacefilters.elementAt(i); + Replacefilter filter = (Replacefilter) replacefilters.get(i); log("Replacing in " + filename + ": " + filter.getToken() + " --> " + filter.getReplaceValue(), Project.MSG_VERBOSE); } @@ -803,7 +803,7 @@ public class Replace extends MatchingTask { */ public Replacefilter createReplacefilter() { Replacefilter filter = new Replacefilter(); - replacefilters.addElement(filter); + replacefilters.add(filter); return filter; } @@ -814,7 +814,7 @@ public class Replace extends MatchingTask { */ private Replacefilter createPrimaryfilter() { Replacefilter filter = new Replacefilter(); - replacefilters.insertElementAt(filter, 0); + replacefilters.add(0, filter); return filter; } @@ -822,10 +822,12 @@ public class Replace extends MatchingTask { * Replace occurrences of str1 in StringBuffer str with str2. */ private void stringReplace(StringBuffer str, String str1, String str2) { - int found = str.toString().indexOf(str1); + int found = str.indexOf(str1); + final int str1Length = str1.length(); + final int str2Length = str2.length(); while (found >= 0) { - str.replace(found, found + str1.length(), str2); - found = str.toString().indexOf(str1, found + str2.length()); + str.replace(found, found + str1Length, str2); + found = str.indexOf(str1, found + str2Length); } }