You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by mb...@apache.org on 2017/04/13 15:16:13 UTC
[13/34] ant git commit: java 5-8
http://git-wip-us.apache.org/repos/asf/ant/blob/b7d1e9bd/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.java
index 9a21cae..5ac988e 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitVersionHelper.java
@@ -82,9 +82,8 @@ public class JUnitVersionHelper {
if (name.endsWith(")")) {
int paren = name.lastIndexOf('(');
return name.substring(0, paren);
- } else {
- return name;
}
+ return name;
}
if (t instanceof TestCase && testCaseName != null) {
try {
@@ -94,17 +93,16 @@ public class JUnitVersionHelper {
}
} else {
try {
- Method getNameMethod = null;
+ Method getNameMethod;
try {
getNameMethod =
- t.getClass().getMethod("getName", new Class [0]);
+ t.getClass().getMethod("getName");
} catch (NoSuchMethodException e) {
- getNameMethod = t.getClass().getMethod("name",
- new Class [0]);
+ getNameMethod = t.getClass().getMethod("name");
}
if (getNameMethod != null
&& getNameMethod.getReturnType() == String.class) {
- return (String) getNameMethod.invoke(t, new Object[0]);
+ return (String) getNameMethod.invoke(t);
}
} catch (Throwable ignored) {
// ignore
@@ -125,8 +123,7 @@ public class JUnitVersionHelper {
String className = test.getClass().getName();
if (test instanceof JUnitTaskMirrorImpl.VmExitErrorTest) {
className = ((JUnitTaskMirrorImpl.VmExitErrorTest) test).getClassName();
- } else
- if (className.equals(JUNIT_FRAMEWORK_JUNIT4_TEST_CASE_FACADE)) {
+ } else if (className.equals(JUNIT_FRAMEWORK_JUNIT4_TEST_CASE_FACADE)) {
// JUnit 4 wraps solo tests this way. We can extract
// the original test name with a little hack.
String name = test.toString();
@@ -152,28 +149,22 @@ public class JUnitVersionHelper {
Class<?> testClass = Class.forName(JUnitVersionHelper.getTestCaseClassName(test));
Method testMethod = testClass.getMethod(JUnitVersionHelper.getTestCaseName(test));
- Class ignoreAnnotation = Class.forName("org.junit.Ignore");
+ Class<? extends Annotation> ignoreAnnotation = Class
+ .forName("org.junit.Ignore").asSubclass(Annotation.class);
Annotation annotation = testMethod.getAnnotation(ignoreAnnotation);
if (annotation != null) {
- Method valueMethod = annotation.getClass().getMethod("value");
+ Method valueMethod = annotation.annotationType().getMethod("value");
String value = (String) valueMethod.invoke(annotation);
if (value != null && value.length() > 0) {
message = value;
}
}
-
}
- } catch (NoSuchMethodException e) {
- // silently ignore - we'll report a skip with no message
- } catch (ClassNotFoundException e) {
- // silently ignore - we'll report a skip with no message
- } catch (InvocationTargetException e) {
- // silently ignore - we'll report a skip with no message
- } catch (IllegalAccessException e) {
+ } catch (NoSuchMethodException | ClassNotFoundException
+ | InvocationTargetException | IllegalAccessException e) {
// silently ignore - we'll report a skip with no message
}
return message;
-
}
}
http://git-wip-us.apache.org/repos/asf/ant/blob/b7d1e9bd/src/main/org/apache/tools/ant/taskdefs/optional/junit/PlainJUnitResultFormatter.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/PlainJUnitResultFormatter.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/PlainJUnitResultFormatter.java
index 07264b7..85cfb0c 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/PlainJUnitResultFormatter.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/PlainJUnitResultFormatter.java
@@ -24,6 +24,7 @@ import java.io.OutputStream;
import java.io.StringWriter;
import java.text.NumberFormat;
import java.util.Hashtable;
+import java.util.Map;
import junit.framework.AssertionFailedError;
import junit.framework.Test;
@@ -37,7 +38,6 @@ import org.apache.tools.ant.util.StringUtils;
* Prints plain text output of the test to a specified Writer.
*
*/
-
public class PlainJUnitResultFormatter implements JUnitResultFormatter, IgnoredTestListener {
private static final double ONE_SECOND = 1000.0;
@@ -49,7 +49,7 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter, IgnoredT
/**
* Timing helper.
*/
- private Hashtable testStarts = new Hashtable();
+ private Map<Test, Long> testStarts = new Hashtable<>();
/**
* Where to write the log to.
*/
@@ -65,7 +65,7 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter, IgnoredT
/**
* Suppress endTest if testcase failed.
*/
- private Hashtable failed = new Hashtable();
+ private Map<Test, Boolean> failed = new Hashtable<>();
private String systemOutput = null;
private String systemError = null;
@@ -77,16 +77,19 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter, IgnoredT
}
/** {@inheritDoc}. */
+ @Override
public void setOutput(OutputStream out) {
this.out = out;
}
/** {@inheritDoc}. */
+ @Override
public void setSystemOutput(String out) {
systemOutput = out;
}
/** {@inheritDoc}. */
+ @Override
public void setSystemError(String err) {
systemError = err;
}
@@ -96,15 +99,14 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter, IgnoredT
* @param suite the test suite
* @throws BuildException if unable to write the output
*/
+ @Override
public void startTestSuite(JUnitTest suite) throws BuildException {
if (out == null) {
return; // Quick return - no output do nothing.
}
- StringBuffer sb = new StringBuffer("Testsuite: ");
- sb.append(suite.getName());
- sb.append(StringUtils.LINE_SEP);
try {
- out.write(sb.toString().getBytes());
+ out.write(new StringBuilder("Testsuite: ").append(suite.getName())
+ .append(StringUtils.LINE_SEP).toString().getBytes());
out.flush();
} catch (IOException ex) {
throw new BuildException("Unable to write output", ex);
@@ -116,10 +118,11 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter, IgnoredT
* @param suite the test suite
* @throws BuildException if unable to write the output
*/
+ @Override
public void endTestSuite(JUnitTest suite) throws BuildException {
boolean success = false;
try {
- StringBuffer sb = new StringBuffer("Tests run: ");
+ StringBuilder sb = new StringBuilder("Tests run: ");
sb.append(suite.runCount());
sb.append(", Failures: ");
sb.append(suite.failureCount());
@@ -185,6 +188,7 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter, IgnoredT
* <p>A new Test is started.
* @param t the test.
*/
+ @Override
public void startTest(Test t) {
testStarts.put(t, new Long(System.currentTimeMillis()));
failed.put(t, Boolean.FALSE);
@@ -196,6 +200,7 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter, IgnoredT
* <p>A Test is finished.
* @param test the test.
*/
+ @Override
public void endTest(Test test) {
if (Boolean.TRUE.equals(failed.get(test))) {
return;
@@ -204,7 +209,7 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter, IgnoredT
try {
wri.write("Testcase: "
+ JUnitVersionHelper.getTestCaseName(test));
- Long l = (Long) testStarts.get(test);
+ Long l = testStarts.get(test);
double seconds = 0;
// can be null if an error occurred in setUp
if (l != null) {
@@ -238,6 +243,7 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter, IgnoredT
* @param test the test.
* @param t the assertion that failed.
*/
+ @Override
public void addFailure(Test test, AssertionFailedError t) {
addFailure(test, (Throwable) t);
}
@@ -249,6 +255,7 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter, IgnoredT
* @param test the test.
* @param t the exception.
*/
+ @Override
public void addError(Test test, Throwable t) {
formatError("\tCaused an ERROR", test, t);
}
@@ -274,6 +281,7 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter, IgnoredT
}
}
+ @Override
public void testIgnored(Test test) {
formatSkip(test, JUnitVersionHelper.getIgnoreMessage(test));
}
@@ -297,6 +305,7 @@ public class PlainJUnitResultFormatter implements JUnitResultFormatter, IgnoredT
}
+ @Override
public void testAssumptionFailure(Test test, Throwable throwable) {
formatSkip(test, throwable.getMessage());
}
http://git-wip-us.apache.org/repos/asf/ant/blob/b7d1e9bd/src/main/org/apache/tools/ant/taskdefs/optional/junit/SummaryJUnitResultFormatter.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/SummaryJUnitResultFormatter.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/SummaryJUnitResultFormatter.java
index 4eb30fb..27239d6 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/SummaryJUnitResultFormatter.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/SummaryJUnitResultFormatter.java
@@ -52,12 +52,6 @@ public class SummaryJUnitResultFormatter
private String systemError = null;
/**
- * Empty
- */
- public SummaryJUnitResultFormatter() {
- }
-
- /**
* Insures that a line of log output is written and flushed as a single
* operation, to prevent lines from being spliced into other lines.
* (Hopefully this solves the issue of run on lines -
@@ -81,9 +75,10 @@ public class SummaryJUnitResultFormatter
* The testsuite started.
* @param suite the testsuite.
*/
+ @Override
public void startTestSuite(JUnitTest suite) {
String newLine = System.getProperty("line.separator");
- StringBuffer sb = new StringBuffer("Running ");
+ StringBuilder sb = new StringBuilder("Running ");
int antThreadID = suite.getThread();
sb.append(suite.getName());
@@ -99,12 +94,14 @@ public class SummaryJUnitResultFormatter
* Empty
* @param t not used.
*/
+ @Override
public void startTest(Test t) {
}
/**
* Empty
* @param test not used.
*/
+ @Override
public void endTest(Test test) {
}
/**
@@ -121,6 +118,7 @@ public class SummaryJUnitResultFormatter
* @param test not used.
* @param t not used.
*/
+ @Override
public void addFailure(Test test, AssertionFailedError t) {
addFailure(test, (Throwable) t);
}
@@ -129,20 +127,24 @@ public class SummaryJUnitResultFormatter
* @param test not used.
* @param t not used.
*/
+ @Override
public void addError(Test test, Throwable t) {
}
/** {@inheritDoc}. */
+ @Override
public void setOutput(OutputStream out) {
this.out = out;
}
/** {@inheritDoc}. */
+ @Override
public void setSystemOutput(String out) {
systemOutput = out;
}
/** {@inheritDoc}. */
+ @Override
public void setSystemError(String err) {
systemError = err;
}
@@ -152,6 +154,7 @@ public class SummaryJUnitResultFormatter
* the summary.
* @param value if true write System.out and System.err to the summary.
*/
+ @Override
public void setWithOutAndErr(boolean value) {
withOutAndErr = value;
}
@@ -161,9 +164,10 @@ public class SummaryJUnitResultFormatter
* @param suite the testsuite.
* @throws BuildException if there is an error.
*/
+ @Override
public void endTestSuite(JUnitTest suite) throws BuildException {
String newLine = System.getProperty("line.separator");
- StringBuffer sb = new StringBuffer("Tests run: ");
+ StringBuilder sb = new StringBuilder("Tests run: ");
sb.append(suite.runCount());
sb.append(", Failures: ");
sb.append(suite.failureCount());
http://git-wip-us.apache.org/repos/asf/ant/blob/b7d1e9bd/src/main/org/apache/tools/ant/taskdefs/optional/junit/TearDownOnVmCrash.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/TearDownOnVmCrash.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/TearDownOnVmCrash.java
index e381a70..a500839 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/TearDownOnVmCrash.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/TearDownOnVmCrash.java
@@ -19,7 +19,6 @@
package org.apache.tools.ant.taskdefs.optional.junit;
import java.io.OutputStream;
-import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import junit.framework.AssertionFailedError;
@@ -43,6 +42,7 @@ public class TearDownOnVmCrash implements JUnitResultFormatter {
* Records the suite's name to later determine the class to invoke
* tearDown on.
*/
+ @Override
public void startTestSuite(final JUnitTest suite) {
suiteName = suite.getName();
if (suiteName != null &&
@@ -57,6 +57,7 @@ public class TearDownOnVmCrash implements JUnitResultFormatter {
* test we get when a Batch fails and the error is an actual
* error generated by Ant.
*/
+ @Override
public void addError(final Test fakeTest, final Throwable t) {
if (suiteName != null
&& fakeTest instanceof JUnitTaskMirrorImpl.VmExitErrorTest) {
@@ -67,25 +68,32 @@ public class TearDownOnVmCrash implements JUnitResultFormatter {
// no need to implement the rest
public void addFailure(Test test, Throwable t) {}
+ @Override
public void addFailure(Test test, AssertionFailedError t) {}
+ @Override
public void startTest(Test test) {}
+ @Override
public void endTest(Test test) {}
+ @Override
public void endTestSuite(JUnitTest suite) {}
+ @Override
public void setOutput(OutputStream out) {}
+ @Override
public void setSystemOutput(String out) {}
+ @Override
public void setSystemError(String err) {}
private void tearDown() {
try {
// first try to load the class and let's hope it is on our
// classpath
- Class testClass = null;
+ Class<?> testClass = null;
if (Thread.currentThread().getContextClassLoader() != null) {
try {
testClass = Thread.currentThread().getContextClassLoader()
@@ -111,7 +119,7 @@ public class TearDownOnVmCrash implements JUnitResultFormatter {
// which test of the executed suite timed out, ignore it
try {
// check if there is a suite method
- testClass.getMethod("suite", new Class[0]);
+ testClass.getMethod("suite");
return;
} catch (NoSuchMethodException e) {
// no suite method
@@ -122,9 +130,9 @@ public class TearDownOnVmCrash implements JUnitResultFormatter {
// doesn't have any tearDown method.
try {
- Method td = testClass.getMethod("tearDown", new Class[0]);
+ Method td = testClass.getMethod("tearDown");
if (td.getReturnType() == Void.TYPE) {
- td.invoke(testClass.newInstance(), new Object[0]);
+ td.invoke(testClass.newInstance());
}
} catch (NoSuchMethodException nsme) {
// no tearDown, fine
@@ -133,9 +141,6 @@ public class TearDownOnVmCrash implements JUnitResultFormatter {
} catch (ClassNotFoundException cnfe) {
// class probably is not in our classpath, there is
// nothing we can do
- } catch (InvocationTargetException ite) {
- System.err.println("Caught an exception while trying to invoke"
- + " tearDown: " + ite.getMessage());
} catch (Throwable t) {
System.err.println("Caught an exception while trying to invoke"
+ " tearDown: " + t.getMessage());
http://git-wip-us.apache.org/repos/asf/ant/blob/b7d1e9bd/src/main/org/apache/tools/ant/taskdefs/optional/junit/TestListenerWrapper.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/TestListenerWrapper.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/TestListenerWrapper.java
index 692e4fc..d65b7f2 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/TestListenerWrapper.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/TestListenerWrapper.java
@@ -32,31 +32,38 @@ public class TestListenerWrapper implements TestListener, IgnoredTestListener {
wrapped = listener;
}
+ @Override
public void addError(Test test, Throwable throwable) {
wrapped.addError(test, throwable);
}
+ @Override
public void addFailure(Test test, AssertionFailedError assertionFailedError) {
wrapped.addFailure(test, assertionFailedError);
}
+ @Override
public void endTest(Test test) {
wrapped.endTest(test);
}
+ @Override
public void startTest(Test test) {
wrapped.startTest(test);
}
+ @Override
public void testIgnored(Test test) {
if (wrapped instanceof IgnoredTestListener) {
- ((IgnoredTestListener)wrapped).testIgnored(test);
+ ((IgnoredTestListener) wrapped).testIgnored(test);
}
}
+ @Override
public void testAssumptionFailure(Test test, Throwable throwable) {
if (wrapped instanceof IgnoredTestListener) {
- ((IgnoredTestListener)wrapped).testAssumptionFailure(test, throwable);
+ ((IgnoredTestListener) wrapped).testAssumptionFailure(test,
+ throwable);
}
}
http://git-wip-us.apache.org/repos/asf/ant/blob/b7d1e9bd/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLJUnitResultFormatter.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLJUnitResultFormatter.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLJUnitResultFormatter.java
index 416c10d..d62a847 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLJUnitResultFormatter.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLJUnitResultFormatter.java
@@ -26,8 +26,8 @@ import java.io.Writer;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Date;
-import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.Map;
import java.util.Properties;
import javax.xml.parsers.DocumentBuilder;
@@ -50,7 +50,6 @@ import org.w3c.dom.Text;
*
* @see FormatterElement
*/
-
public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstants, IgnoredTestListener {
private static final double ONE_SECOND = 1000.0;
@@ -84,45 +83,44 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
* so we can't easily match Test objects without manually iterating over all keys and checking
* individual fields.
*/
- private final Hashtable<String, Element> testElements = new Hashtable<String, Element>();
+ private final Hashtable<String, Element> testElements = new Hashtable<>();
/**
* tests that failed.
*/
- private final Hashtable failedTests = new Hashtable();
+ private final Map<Test, Test> failedTests = new Hashtable<>();
/**
* Tests that were skipped.
*/
- private final Hashtable<String, Test> skippedTests = new Hashtable<String, Test>();
+ private final Map<String, Test> skippedTests = new Hashtable<>();
/**
* Tests that were ignored. See the note above about the key being a bit of a hack.
*/
- private final Hashtable<String, Test> ignoredTests = new Hashtable<String, Test>();
+ private final Map<String, Test> ignoredTests = new Hashtable<>();
/**
* Timing helper.
*/
- private final Hashtable<String, Long> testStarts = new Hashtable<String, Long>();
+ private final Map<String, Long> testStarts = new Hashtable<>();
/**
* Where to write the log to.
*/
private OutputStream out;
- /** No arg constructor. */
- public XMLJUnitResultFormatter() {
- }
-
/** {@inheritDoc}. */
+ @Override
public void setOutput(final OutputStream out) {
this.out = out;
}
/** {@inheritDoc}. */
+ @Override
public void setSystemOutput(final String out) {
formatOutput(SYSTEM_OUT, out);
}
/** {@inheritDoc}. */
+ @Override
public void setSystemError(final String out) {
formatOutput(SYSTEM_ERR, out);
}
@@ -131,6 +129,7 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
* The whole testsuite started.
* @param suite the testsuite.
*/
+ @Override
public void startTestSuite(final JUnitTest suite) {
doc = getDocumentBuilder().newDocument();
rootElement = doc.createElement(TESTSUITE);
@@ -149,9 +148,7 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
rootElement.appendChild(propsElement);
final Properties props = suite.getProperties();
if (props != null) {
- final Enumeration e = props.propertyNames();
- while (e.hasMoreElements()) {
- final String name = (String) e.nextElement();
+ for (String name : props.stringPropertyNames()) {
final Element propElement = doc.createElement(PROPERTY);
propElement.setAttribute(ATTR_NAME, name);
propElement.setAttribute(ATTR_VALUE, props.getProperty(name));
@@ -182,19 +179,20 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
* @param suite the testsuite.
* @throws BuildException on error.
*/
+ @Override
public void endTestSuite(final JUnitTest suite) throws BuildException {
- rootElement.setAttribute(ATTR_TESTS, "" + suite.runCount());
- rootElement.setAttribute(ATTR_FAILURES, "" + suite.failureCount());
- rootElement.setAttribute(ATTR_ERRORS, "" + suite.errorCount());
- rootElement.setAttribute(ATTR_SKIPPED, "" + suite.skipCount());
+ rootElement.setAttribute(ATTR_TESTS, Long.toString(suite.runCount()));
+ rootElement.setAttribute(ATTR_FAILURES, Long.toString(suite.failureCount()));
+ rootElement.setAttribute(ATTR_ERRORS, Long.toString(suite.errorCount()));
+ rootElement.setAttribute(ATTR_SKIPPED, Long.toString(suite.skipCount()));
rootElement.setAttribute(
- ATTR_TIME, "" + (suite.getRunTime() / ONE_SECOND));
+ ATTR_TIME, Double.toString(suite.getRunTime() / ONE_SECOND));
if (out != null) {
Writer wri = null;
try {
wri = new BufferedWriter(new OutputStreamWriter(out, "UTF8"));
wri.write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
- (new DOMElementWriter()).write(rootElement, wri, 0, " ");
+ new DOMElementWriter().write(rootElement, wri, 0, " ");
} catch (final IOException exc) {
throw new BuildException("Unable to write log file", exc);
} finally {
@@ -218,12 +216,14 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
* <p>A new Test is started.
* @param t the test.
*/
+ @Override
public void startTest(final Test t) {
testStarts.put(createDescription(t), System.currentTimeMillis());
}
private static String createDescription(final Test test) throws BuildException {
- return JUnitVersionHelper.getTestCaseName(test) + "(" + JUnitVersionHelper.getTestCaseClassName(test) + ")";
+ return JUnitVersionHelper.getTestCaseName(test) + "("
+ + JUnitVersionHelper.getTestCaseClassName(test) + ")";
}
/**
@@ -232,6 +232,7 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
* <p>A Test is finished.
* @param test the test.
*/
+ @Override
public void endTest(final Test test) {
final String testDescription = createDescription(test);
@@ -242,7 +243,9 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
startTest(test);
}
Element currentTest;
- if (!failedTests.containsKey(test) && !skippedTests.containsKey(testDescription) && !ignoredTests.containsKey(testDescription)) {
+ if (!failedTests.containsKey(test)
+ && !skippedTests.containsKey(testDescription)
+ && !ignoredTests.containsKey(testDescription)) {
currentTest = doc.createElement(TESTCASE);
final String n = JUnitVersionHelper.getTestCaseName(test);
currentTest.setAttribute(ATTR_NAME,
@@ -259,7 +262,7 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
final Long l = testStarts.get(createDescription(test));
currentTest.setAttribute(ATTR_TIME,
- "" + ((System.currentTimeMillis() - l) / ONE_SECOND));
+ Double.toString((System.currentTimeMillis() - l) / ONE_SECOND));
}
/**
@@ -280,6 +283,7 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
* @param test the test.
* @param t the assertion.
*/
+ @Override
public void addFailure(final Test test, final AssertionFailedError t) {
addFailure(test, (Throwable) t);
}
@@ -291,6 +295,7 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
* @param test the test.
* @param t the error.
*/
+ @Override
public void addError(final Test test, final Throwable t) {
formatError(ERROR, test, t);
}
@@ -302,12 +307,8 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
}
final Element nested = doc.createElement(type);
- Element currentTest;
- if (test != null) {
- currentTest = testElements.get(createDescription(test));
- } else {
- currentTest = rootElement;
- }
+ Element currentTest = test == null ? rootElement
+ : testElements.get(createDescription(test));
currentTest.appendChild(nested);
@@ -328,6 +329,7 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
nested.appendChild(doc.createCDATASection(output));
}
+ @Override
public void testIgnored(final Test test) {
formatSkip(test, JUnitVersionHelper.getIgnoreMessage(test));
if (test != null) {
@@ -335,7 +337,6 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
}
}
-
public void formatSkip(final Test test, final String message) {
if (test != null) {
endTest(test);
@@ -347,17 +348,14 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan
nested.setAttribute("message", message);
}
- Element currentTest;
- if (test != null) {
- currentTest = testElements.get(createDescription(test));
- } else {
- currentTest = rootElement;
- }
+ Element currentTest = test == null ? rootElement
+ : testElements.get(createDescription(test));
currentTest.appendChild(nested);
}
+ @Override
public void testAssumptionFailure(final Test test, final Throwable failure) {
formatSkip(test, failure.getMessage());
skippedTests.put(createDescription(test), test);
http://git-wip-us.apache.org/repos/asf/ant/blob/b7d1e9bd/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java
index 92e3553..b877c0b 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java
@@ -24,8 +24,8 @@ import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.nio.file.Files;
-import java.util.Enumeration;
import java.util.Vector;
+import java.util.stream.Stream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -61,7 +61,7 @@ public class XMLResultAggregator extends Task implements XMLConstants {
// CheckStyle:VisibilityModifier OFF - bc
/** the list of all filesets, that should contains the xml to aggregate */
- protected Vector filesets = new Vector();
+ protected Vector<FileSet> filesets = new Vector<>();
/** the name of the result file */
protected String toFile;
@@ -69,7 +69,7 @@ public class XMLResultAggregator extends Task implements XMLConstants {
/** the directory to write the file to */
protected File toDir;
- protected Vector transformers = new Vector();
+ protected Vector<AggregateTransformer> transformers = new Vector<>();
/** The default directory: <tt>.</tt>. It is resolved from the project directory */
public static final String DEFAULT_DIR = ".";
@@ -103,7 +103,7 @@ public class XMLResultAggregator extends Task implements XMLConstants {
*/
public AggregateTransformer createReport() {
AggregateTransformer transformer = new AggregateTransformer(this);
- transformers.addElement(transformer);
+ transformers.add(transformer);
return transformer;
}
@@ -133,7 +133,7 @@ public class XMLResultAggregator extends Task implements XMLConstants {
* @param fs the new fileset of xml results.
*/
public void addFileSet(FileSet fs) {
- filesets.addElement(fs);
+ filesets.add(fs);
}
/**
@@ -142,6 +142,7 @@ public class XMLResultAggregator extends Task implements XMLConstants {
* @throws BuildException thrown if there is a serious error while writing
* the document.
*/
+ @Override
public void execute() throws BuildException {
Element rootElement = createDocument();
File destFile = getDestinationFile();
@@ -152,10 +153,7 @@ public class XMLResultAggregator extends Task implements XMLConstants {
throw new BuildException("Unable to write test aggregate to '" + destFile + "'", e);
}
// apply transformation
- Enumeration e = transformers.elements();
- while (e.hasMoreElements()) {
- AggregateTransformer transformer =
- (AggregateTransformer) e.nextElement();
+ for (AggregateTransformer transformer : transformers) {
transformer.setXmlDocument(rootElement.getOwnerDocument());
transformer.transform();
}
@@ -182,26 +180,16 @@ public class XMLResultAggregator extends Task implements XMLConstants {
* @return all files in the fileset that end with a '.xml'.
*/
protected File[] getFiles() {
- Vector v = new Vector();
- final int size = filesets.size();
- for (int i = 0; i < size; i++) {
- FileSet fs = (FileSet) filesets.elementAt(i);
- DirectoryScanner ds = fs.getDirectoryScanner(getProject());
+ Project p = getProject();
+ return filesets.stream().flatMap(fs -> {
+ DirectoryScanner ds = fs.getDirectoryScanner(p);
ds.scan();
- String[] f = ds.getIncludedFiles();
- for (int j = 0; j < f.length; j++) {
- String pathname = f[j];
- if (pathname.endsWith(".xml")) {
- File file = new File(ds.getBasedir(), pathname);
- file = getProject().resolveFile(file.getPath());
- v.addElement(file);
- }
- }
- }
-
- File[] files = new File[v.size()];
- v.copyInto(files);
- return files;
+ return Stream.of(ds.getIncludedFiles())
+ .filter(pathname -> pathname.endsWith(".xml")).map(pathname -> {
+ return p.resolveFile(
+ new File(ds.getBasedir(), pathname).getPath());
+ });
+ }).toArray(File[]::new);
}
//----- from now, the methods are all related to DOM tree manipulation
@@ -216,7 +204,8 @@ public class XMLResultAggregator extends Task implements XMLConstants {
try (OutputStream os = Files.newOutputStream(file.toPath());
PrintWriter wri = new PrintWriter(new OutputStreamWriter(new BufferedOutputStream(os), "UTF8"))) {
wri.write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
- (new DOMElementWriter()).write(doc.getDocumentElement(), wri, 0, " ");
+ new DOMElementWriter().write(doc.getDocumentElement(), wri, 0,
+ " ");
wri.flush();
// writers do not throw exceptions, so check for them.
if (wri.checkError()) {
@@ -247,9 +236,8 @@ public class XMLResultAggregator extends Task implements XMLConstants {
try {
log("Parsing file: '" + file + "'", Project.MSG_VERBOSE);
if (file.length() > 0) {
- Document testsuiteDoc
- = builder.parse(
- FileUtils.getFileUtils().toURI(files[i].getAbsolutePath()));
+ Document testsuiteDoc = builder.parse(FileUtils
+ .getFileUtils().toURI(files[i].getAbsolutePath()));
Element elem = testsuiteDoc.getDocumentElement();
// make sure that this is REALLY a testsuite.
if (TESTSUITE.equals(elem.getNodeName())) {
http://git-wip-us.apache.org/repos/asf/ant/blob/b7d1e9bd/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/BuiltinNative2Ascii.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/BuiltinNative2Ascii.java b/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/BuiltinNative2Ascii.java
index 244b8c1..f8059fe 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/BuiltinNative2Ascii.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/BuiltinNative2Ascii.java
@@ -25,13 +25,14 @@ import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
import java.io.Writer;
+import java.util.function.UnaryOperator;
import java.nio.file.Files;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.taskdefs.optional.Native2Ascii;
import org.apache.tools.ant.util.Native2AsciiUtils;
-import org.apache.tools.ant.util.StringUtils;
/**
* Encapsulates the built-in Native2Ascii implementation.
@@ -48,8 +49,10 @@ public class BuiltinNative2Ascii implements Native2AsciiAdapter {
boolean reverse = args.getReverse();
String encoding = args.getEncoding();
try (BufferedReader input = getReader(srcFile, encoding, reverse);
- Writer output = getWriter(destFile, encoding, reverse)) {
- translate(input, output, reverse);
+ Writer output = getWriter(destFile, encoding, reverse)) {
+
+ translate(input, output, reverse ? Native2AsciiUtils::ascii2native
+ : Native2AsciiUtils::native2ascii);
return true;
} catch (IOException ex) {
throw new BuildException("Exception trying to translate data", ex);
@@ -79,15 +82,12 @@ public class BuiltinNative2Ascii implements Native2AsciiAdapter {
}
private void translate(BufferedReader input, Writer output,
- boolean reverse) throws IOException {
- String line = null;
- while ((line = input.readLine()) != null) {
- if (!reverse) {
- output.write(Native2AsciiUtils.native2ascii(line));
- } else {
- output.write(Native2AsciiUtils.ascii2native(line));
- }
- output.write(StringUtils.LINE_SEP);
+ UnaryOperator<String> translation) throws IOException {
+ PrintWriter pw = new PrintWriter(output);
+
+ for (String line : (Iterable<String>) () -> input.lines()
+ .map(translation).iterator()) {
+ pw.println(line);
}
}
}
http://git-wip-us.apache.org/repos/asf/ant/blob/b7d1e9bd/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/DefaultNative2Ascii.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/DefaultNative2Ascii.java b/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/DefaultNative2Ascii.java
index 3cd52af..438bfe9 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/DefaultNative2Ascii.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/DefaultNative2Ascii.java
@@ -47,6 +47,7 @@ public abstract class DefaultNative2Ascii implements Native2AsciiAdapter {
* (delegated to {@link #addFiles addFiles}) and running the tool
* (delegated to {@link #run run}).
*/
+ @Override
public final boolean convert(Native2Ascii args, File srcFile,
File destFile) throws BuildException {
Commandline cmd = new Commandline();
http://git-wip-us.apache.org/repos/asf/ant/blob/b7d1e9bd/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/KaffeNative2Ascii.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/KaffeNative2Ascii.java b/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/KaffeNative2Ascii.java
index da4836f..e29634a 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/KaffeNative2Ascii.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/KaffeNative2Ascii.java
@@ -43,6 +43,7 @@ public final class KaffeNative2Ascii extends DefaultNative2Ascii {
public static final String IMPLEMENTATION_NAME = "kaffe";
/** {@inheritDoc} */
+ @Override
protected void setup(Commandline cmd, Native2Ascii args)
throws BuildException {
if (args.getReverse()) {
@@ -52,13 +53,14 @@ public final class KaffeNative2Ascii extends DefaultNative2Ascii {
}
/** {@inheritDoc} */
+ @Override
protected boolean run(Commandline cmd, ProjectComponent log)
throws BuildException {
ExecuteJava ej = new ExecuteJava();
- Class c = getN2aClass();
+ Class<?> c = getN2aClass();
if (c == null) {
- throw new BuildException("Couldn't load Kaffe's Native2Ascii"
- + " class");
+ throw new BuildException(
+ "Couldn't load Kaffe's Native2Ascii class");
}
cmd.setExecutable(c.getName());
@@ -74,7 +76,7 @@ public final class KaffeNative2Ascii extends DefaultNative2Ascii {
*
* @return null if neither class can get loaded.
*/
- private static Class getN2aClass() {
+ private static Class<?> getN2aClass() {
for (int i = 0; i < N2A_CLASSNAMES.length; i++) {
try {
return Class.forName(N2A_CLASSNAMES[i]);
http://git-wip-us.apache.org/repos/asf/ant/blob/b7d1e9bd/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/SunNative2Ascii.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/SunNative2Ascii.java b/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/SunNative2Ascii.java
index fac94b1..fdcce7d 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/SunNative2Ascii.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/SunNative2Ascii.java
@@ -36,7 +36,10 @@ public final class SunNative2Ascii extends DefaultNative2Ascii {
*/
public static final String IMPLEMENTATION_NAME = "sun";
+ private static final String SUN_TOOLS_NATIVE2ASCII_MAIN = "sun.tools.native2ascii.Main";
+
/** {@inheritDoc} */
+ @Override
protected void setup(Commandline cmd, Native2Ascii args)
throws BuildException {
if (args.getReverse()) {
@@ -46,23 +49,20 @@ public final class SunNative2Ascii extends DefaultNative2Ascii {
}
/** {@inheritDoc} */
+ @Override
protected boolean run(Commandline cmd, ProjectComponent log)
throws BuildException {
try {
- Class n2aMain = Class.forName("sun.tools.native2ascii.Main");
- Class[] param = new Class[] {String[].class};
- Method convert = n2aMain.getMethod("convert", param);
- if (convert == null) {
- throw new BuildException("Could not find convert() method in "
- + "sun.tools.native2ascii.Main");
- }
- Object o = n2aMain.newInstance();
- return ((Boolean) convert.invoke(o,
- new Object[] {cmd.getArguments()})
- ).booleanValue();
+ Class<?> n2aMain = Class.forName(SUN_TOOLS_NATIVE2ASCII_MAIN);
+ Method convert = n2aMain.getMethod("convert", String[].class);
+ return Boolean.TRUE.equals(convert.invoke(n2aMain.newInstance(),
+ (Object) cmd.getArguments()));
} catch (BuildException ex) {
//rethrow
throw ex;
+ } catch (NoSuchMethodException ex) {
+ throw new BuildException("Could not find convert() method in %s",
+ SUN_TOOLS_NATIVE2ASCII_MAIN);
} catch (Exception ex) {
//wrap
throw new BuildException("Error starting Sun's native2ascii: ", ex);