You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by pe...@apache.org on 2004/10/21 15:54:25 UTC
cvs commit: ant/src/main/org/apache/tools/ant/taskdefs Concat.java
peterreilly 2004/10/21 06:54:25
Modified: . WHATSNEW
src/main/org/apache/tools/ant/taskdefs Concat.java
Log:
Concat task instance could not be run twice
PR: 31814
Reported by: elara at smartops dot com (Eduardo)
Revision Changes Path
1.675 +3 -0 ant/WHATSNEW
Index: WHATSNEW
===================================================================
RCS file: /home/cvs/ant/WHATSNEW,v
retrieving revision 1.674
retrieving revision 1.675
diff -u -r1.674 -r1.675
--- WHATSNEW 21 Oct 2004 10:31:06 -0000 1.674
+++ WHATSNEW 21 Oct 2004 13:54:25 -0000 1.675
@@ -127,6 +127,9 @@
* ExecTask executes checkConfiguration() even though os does not match.
Bugzilla report 31805.
+* Concat task instance could not be run twice.
+ Bugzilla report 31814.
+
Changes from Ant 1.6.1 to Ant 1.6.2
===================================
1.37 +23 -5 ant/src/main/org/apache/tools/ant/taskdefs/Concat.java
Index: Concat.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Concat.java,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- Concat.java 31 May 2004 08:21:02 -0000 1.36
+++ Concat.java 21 Oct 2004 13:54:25 -0000 1.37
@@ -93,7 +93,7 @@
/** Stores the binary attribute */
private boolean binary = false;
-
+
// Child elements.
/**
@@ -237,7 +237,6 @@
textBuffer.append(text);
}
-
/**
* Add a header to the concatenated output
* @param header the header
@@ -311,9 +310,9 @@
}
/**
- * This method performs the concatenation.
+ * This method checks the attributes and performs the concatenation.
*/
- public void execute() {
+ private void checkAndExecute() {
// treat empty nested text as no text
sanitizeText();
@@ -423,6 +422,17 @@
}
/**
+ * execute the concat task.
+ */
+ public void execute() {
+ try {
+ checkAndExecute();
+ } finally {
+ resetTask();
+ }
+ }
+
+ /**
* Reset state to default.
*/
public void reset() {
@@ -439,6 +449,14 @@
header = null;
}
+ /**
+ * reset the used variables to allow the same task
+ * instance to be used again.
+ */
+ private void resetTask() {
+ sourceFiles.clear();
+ }
+
private void checkAddFiles(File base, String[] filenames) {
for (int i = 0; i < filenames.length; ++i) {
File file = new File(base, filenames[i]);
@@ -471,7 +489,7 @@
"Unable to open " + destinationFile
+ " for writing", t);
}
- for (Iterator i = sourceFiles.iterator(); i.hasNext(); ) {
+ for (Iterator i = sourceFiles.iterator(); i.hasNext();) {
File sourceFile = (File) i.next();
try {
in = new FileInputStream(sourceFile);
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org