This is an automated email from the ASF dual-hosted git repository. michaelo pushed a commit to branch backport in repository https://gitbox.apache.org/repos/asf/maven-surefire.git
commit 133e60e1c5d24fa6711489f8cbb4e10bb8445694 Author: Michael Osipov <micha...@apache.org> AuthorDate: Fri May 19 21:25:19 2023 +0200 Use simple Float#toFloat() to convert a string to a float --- .../surefire/report/TestSuiteXmlParser.java | 33 ++++++++-------------- 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java index 3cc15a670..eabe10046 100644 --- a/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java +++ b/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report/TestSuiteXmlParser.java @@ -26,8 +26,6 @@ import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; -import java.text.NumberFormat; -import java.text.ParseException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -40,15 +38,12 @@ import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; import static java.nio.charset.StandardCharsets.UTF_8; -import static java.util.Locale.ENGLISH; import static org.apache.maven.shared.utils.StringUtils.isBlank; /** * */ public final class TestSuiteXmlParser extends DefaultHandler { - private final NumberFormat numberFormat = NumberFormat.getInstance(ENGLISH); - private final ConsoleLogger consoleLogger; private ReportTestSuite defaultSuite; @@ -111,13 +106,11 @@ public final class TestSuiteXmlParser extends DefaultHandler { case "testsuite": defaultSuite = new ReportTestSuite(); currentSuite = defaultSuite; - - try { - Number time = numberFormat.parse(attributes.getValue("time")); - - defaultSuite.setTimeElapsed(time.floatValue()); - } catch (NullPointerException e) { - consoleLogger.error("WARNING: no time attribute found on testsuite element"); + String timeStr = attributes.getValue("time"); + if (timeStr != null) { + defaultSuite.setTimeElapsed(Float.parseFloat(timeStr)); + } else { + consoleLogger.warning("No time attribute found on testsuite element"); } final String name = attributes.getValue("name"); @@ -151,13 +144,12 @@ public final class TestSuiteXmlParser extends DefaultHandler { } } - String timeAsString = attributes.getValue("time"); - Number time = isBlank(timeAsString) ? 0 : numberFormat.parse(timeAsString); + timeStr = attributes.getValue("time"); testCase.setFullClassName(currentSuite.getFullClassName()) .setClassName(currentSuite.getName()) .setFullName(currentSuite.getFullClassName() + "." + testCase.getName()) - .setTime(time.floatValue()); + .setTime(timeStr != null ? Float.parseFloat(timeStr) : 0.0f); if (currentSuite != defaultSuite) { currentSuite.setTimeElapsed(testCase.getTime() + currentSuite.getTimeElapsed()); @@ -193,8 +185,8 @@ public final class TestSuiteXmlParser extends DefaultHandler { default: break; } - } catch (ParseException e) { - throw new SAXException(e.getMessage(), e); + } catch (NumberFormatException e) { + throw new SAXException("Failed to parse time value", e); } } } @@ -215,10 +207,9 @@ public final class TestSuiteXmlParser extends DefaultHandler { break; case "time": try { - defaultSuite.setTimeElapsed( - numberFormat.parse(currentElement.toString()).floatValue()); - } catch (ParseException e) { - throw new SAXException(e.getMessage(), e); + defaultSuite.setTimeElapsed(Float.parseFloat(currentElement.toString())); + } catch (NumberFormatException e) { + throw new SAXException("Failed to parse time value", e); } break; default: