Browse Source

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
master
Stefan Bodewig 16 years ago
parent
commit
fd3ea49030
1 changed files with 22 additions and 20 deletions
  1. +22
    -20
      src/main/org/apache/tools/ant/taskdefs/Replace.java

+ 22
- 20
src/main/org/apache/tools/ant/taskdefs/Replace.java View File

@@ -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);
}
}



Loading…
Cancel
Save