diff options
Diffstat (limited to 'src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java')
-rw-r--r-- | src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java | 77 |
1 files changed, 21 insertions, 56 deletions
diff --git a/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java b/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java index 9fbc3fd6a..83ec60701 100644 --- a/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java +++ b/src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java @@ -21,17 +21,13 @@ import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; -import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.nio.file.Files; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import java.util.StringTokenizer; -import java.util.Vector; - import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; import org.apache.tools.ant.taskdefs.AbstractCvsTask; @@ -152,7 +148,7 @@ public class CvsTagDiff extends AbstractCvsTask { /** * temporary list of package names. */ - private List packageNames = new ArrayList(); + private List<String> packageNames = new ArrayList<>(); /** * temporary list of "File:" + package name + "/" for all packages. @@ -229,7 +225,6 @@ public class CvsTagDiff extends AbstractCvsTask { ignoreRemoved = b; } - /** * Execute task. * @@ -297,10 +292,9 @@ public class CvsTagDiff extends AbstractCvsTask { */ private CvsTagEntry[] parseRDiff(File tmpFile) throws BuildException { // parse the output of the command - BufferedReader reader = null; - try { - reader = new BufferedReader(new FileReader(tmpFile)); //NOSONAR + try (BufferedReader reader = + new BufferedReader(new FileReader(tmpFile))) { // entries are of the form: //CVS 1.11 @@ -316,7 +310,7 @@ public class CvsTagDiff extends AbstractCvsTask { // File testantoine/antoine.bat is removed; TESTANTOINE_1 revision 1.1.1.1 // // get rid of 'File module/" - Vector entries = new Vector(); + List<CvsTagEntry> entries = new ArrayList<>(); String line = reader.readLine(); @@ -325,6 +319,7 @@ public class CvsTagDiff extends AbstractCvsTask { packageNamePrefixLengths); if (line != null) { // use || in a perl like fashion + @SuppressWarnings("unused") boolean processed = doFileIsNew(entries, line) || doFileHasChanged(entries, line) @@ -333,24 +328,13 @@ public class CvsTagDiff extends AbstractCvsTask { line = reader.readLine(); } - CvsTagEntry[] array = new CvsTagEntry[entries.size()]; - entries.copyInto(array); - - return array; + return entries.toArray(new CvsTagEntry[entries.size()]); } catch (IOException e) { throw new BuildException("Error in parsing", e); - } finally { - if (reader != null) { - try { - reader.close(); - } catch (IOException e) { - log(e.toString(), Project.MSG_ERR); - } - } } } - private boolean doFileIsNew(Vector entries, String line) { + private boolean doFileIsNew(List<CvsTagEntry> entries, String line) { int index = line.indexOf(FILE_IS_NEW); if (index == -1) { return false; @@ -364,12 +348,12 @@ public class CvsTagDiff extends AbstractCvsTask { rev = line.substring(indexrev + REVISION.length()); } CvsTagEntry entry = new CvsTagEntry(filename, rev); - entries.addElement(entry); + entries.add(entry); log(entry.toString(), Project.MSG_VERBOSE); return true; } - private boolean doFileHasChanged(Vector entries, String line) { + private boolean doFileHasChanged(List<CvsTagEntry> entries, String line) { int index = line.indexOf(FILE_HAS_CHANGED); if (index == -1) { return false; @@ -385,12 +369,12 @@ public class CvsTagDiff extends AbstractCvsTask { CvsTagEntry entry = new CvsTagEntry(filename, revision, prevRevision); - entries.addElement(entry); + entries.add(entry); log(entry.toString(), Project.MSG_VERBOSE); return true; } - private boolean doFileWasRemoved(Vector entries, String line) { + private boolean doFileWasRemoved(List<CvsTagEntry> entries, String line) { if (ignoreRemoved) { return false; } @@ -406,7 +390,7 @@ public class CvsTagDiff extends AbstractCvsTask { rev = line.substring(indexrev + REVISION.length()); } CvsTagEntry entry = new CvsTagEntry(filename, null, rev); - entries.addElement(entry); + entries.add(entry); log(entry.toString(), Project.MSG_VERBOSE); return true; } @@ -418,11 +402,8 @@ public class CvsTagDiff extends AbstractCvsTask { * @exception BuildException if an error occurs */ private void writeTagDiff(CvsTagEntry[] entries) throws BuildException { - OutputStream output = null; - try { - output = Files.newOutputStream(mydestfile.toPath()); - PrintWriter writer = new PrintWriter( - new OutputStreamWriter(output, "UTF-8")); + try (PrintWriter writer = new PrintWriter(new OutputStreamWriter( + Files.newOutputStream(mydestfile.toPath()), "UTF-8"))) { writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); Document doc = DOMUtils.newDocument(); Element root = doc.createElement("tagdiff"); @@ -455,14 +436,6 @@ public class CvsTagDiff extends AbstractCvsTask { log(uee.toString(), Project.MSG_ERR); } catch (IOException ioe) { throw new BuildException(ioe.toString(), ioe); - } finally { - if (null != output) { - try { - output.close(); - } catch (IOException ioe) { - log(ioe.toString(), Project.MSG_ERR); - } - } } } @@ -508,8 +481,8 @@ public class CvsTagDiff extends AbstractCvsTask { } if (null != mystartTag && null != mystartDate) { - throw new BuildException("Only one of start tag and start date " - + "must be set."); + throw new BuildException( + "Only one of start tag and start date must be set."); } if (null == myendTag && null == myendDate) { @@ -517,8 +490,8 @@ public class CvsTagDiff extends AbstractCvsTask { } if (null != myendTag && null != myendDate) { - throw new BuildException("Only one of end tag and end date must " - + "be set."); + throw new BuildException( + "Only one of end tag and end date must be set."); } } @@ -536,8 +509,7 @@ public class CvsTagDiff extends AbstractCvsTask { addCommandArgument(pack); } } - for (Iterator iter = getModules().iterator(); iter.hasNext();) { - AbstractCvsTask.Module m = (AbstractCvsTask.Module) iter.next(); + for (Module m : getModules()) { packageNames.add(m.getName()); // will be added to command line in super.execute() } @@ -549,7 +521,6 @@ public class CvsTagDiff extends AbstractCvsTask { } } - /** * removes a "File: module/" prefix if present. * @@ -561,17 +532,11 @@ public class CvsTagDiff extends AbstractCvsTask { if (line.length() < FILE_STRING_LENGTH) { return null; } - boolean matched = false; for (int i = 0; i < packagePrefixes.length; i++) { if (line.startsWith(packagePrefixes[i])) { - matched = true; - line = line.substring(prefixLengths[i]); - break; + return line.substring(prefixLengths[i]); } } - if (!matched) { - line = line.substring(FILE_STRING_LENGTH); - } - return line; + return line.substring(FILE_STRING_LENGTH); } } |