You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by fs...@apache.org on 2022/04/13 10:36:51 UTC

[jmeter] branch master updated (9362e18340 -> de43727474)

This is an automated email from the ASF dual-hosted git repository.

fschumacher pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git


    from 9362e18340 Replace java.util.Date with java.time based objects
     new aa13ae939f Further silence error prone warnings
     new de43727474 Suppress InlineMe warnings from error prone

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 build.gradle.kts                                   |  1 +
 .../apache/jmeter/engine/DistributedRunner.java    | 20 ++++++++++++----
 .../apache/jmeter/engine/StandardJMeterEngine.java | 28 ++++++++++++++++------
 .../org/apache/jmeter/gui/util/JDateField.java     |  4 ++--
 .../java/org/apache/jmeter/visualizers/Sample.java |  2 +-
 .../org/apache/jmeter/visualizers/TableSample.java |  2 +-
 6 files changed, 42 insertions(+), 15 deletions(-)


[jmeter] 01/02: Further silence error prone warnings

Posted by fs...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

fschumacher pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git

commit aa13ae939f681590d4d2a8b99b3163b53cefdc0f
Author: Felix Schumacher <fe...@internetallee.de>
AuthorDate: Wed Apr 13 12:35:10 2022 +0200

    Further silence error prone warnings
    
    Replace JdkObsolete with JavaUtilDate where we can't replace usage of new Date()
    Use Instant and other newer APIs from java.time, where we can replace Date() without
    changing our API.
    
    Part of #708
---
 .../apache/jmeter/engine/DistributedRunner.java    | 20 ++++++++++++----
 .../apache/jmeter/engine/StandardJMeterEngine.java | 28 ++++++++++++++++------
 .../org/apache/jmeter/gui/util/JDateField.java     |  4 ++--
 .../java/org/apache/jmeter/visualizers/Sample.java |  2 +-
 .../org/apache/jmeter/visualizers/TableSample.java |  2 +-
 5 files changed, 41 insertions(+), 15 deletions(-)

diff --git a/src/core/src/main/java/org/apache/jmeter/engine/DistributedRunner.java b/src/core/src/main/java/org/apache/jmeter/engine/DistributedRunner.java
index 5ed86cbfc9..1ea5bca7bb 100644
--- a/src/core/src/main/java/org/apache/jmeter/engine/DistributedRunner.java
+++ b/src/core/src/main/java/org/apache/jmeter/engine/DistributedRunner.java
@@ -22,11 +22,15 @@ import java.io.OutputStream;
 import java.io.PrintStream;
 import java.rmi.NotBoundException;
 import java.rmi.RemoteException;
+import java.time.Instant;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.time.format.FormatStyle;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Properties;
 
@@ -116,15 +120,23 @@ public class DistributedRunner {
         }
     }
 
+    private static String formatLikeDate(Instant instant) {
+        return DateTimeFormatter
+                .ofLocalizedDateTime(FormatStyle.LONG)
+                .withLocale(Locale.ROOT)
+                .withZone(ZoneId.systemDefault())
+                .format(instant);
+    }
+
     /**
      * Starts a remote testing engines
      *
      * @param addresses list of the DNS names or IP addresses of the remote testing engines
      */
-    @SuppressWarnings("JdkObsolete")
     public void start(List<String> addresses) {
-        long now = System.currentTimeMillis();
-        println("Starting distributed test with remote engines: " + addresses + " @ " + new Date(now) + " (" + now + ")");
+        Instant now = Instant.now();
+        println("Starting distributed test with remote engines: "
+                + addresses + " @ " + formatLikeDate(now) + " (" + now.toEpochMilli() + ')');
         List<String> startedEngines = new ArrayList<>(addresses.size());
         List<String> failedEngines = new ArrayList<>(addresses.size());
         for (String address : addresses) {
diff --git a/src/core/src/main/java/org/apache/jmeter/engine/StandardJMeterEngine.java b/src/core/src/main/java/org/apache/jmeter/engine/StandardJMeterEngine.java
index aa1aae664b..a2a878341b 100644
--- a/src/core/src/main/java/org/apache/jmeter/engine/StandardJMeterEngine.java
+++ b/src/core/src/main/java/org/apache/jmeter/engine/StandardJMeterEngine.java
@@ -17,10 +17,14 @@
 
 package org.apache.jmeter.engine;
 
+import java.time.Instant;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
+import java.time.format.FormatStyle;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Locale;
 import java.util.Properties;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.TimeUnit;
@@ -171,11 +175,12 @@ public class StandardJMeterEngine implements JMeterEngine, Runnable {
     }
 
     @Override
-    @SuppressWarnings("JdkObsolete")
     public void runTest() throws JMeterEngineException {
         if (host != null){
-            long now=System.currentTimeMillis();
-            System.out.println("Starting the test on host " + host + " @ "+new Date(now)+" ("+now+")"); // NOSONAR Intentional
+            Instant now = Instant.now();
+            String nowAsString = formatLikeDate(now);
+            System.out.println("Starting the test on host "  // NOSONAR Intentional
+                    + host + " @ " + nowAsString + " (" + now.toEpochMilli() + ')');
         }
         try {
             Thread runningThread = new Thread(this, "StandardJMeterEngine");
@@ -186,6 +191,14 @@ public class StandardJMeterEngine implements JMeterEngine, Runnable {
         }
     }
 
+    private String formatLikeDate(Instant instant) {
+        return DateTimeFormatter
+                .ofLocalizedDateTime(FormatStyle.LONG)
+                .withLocale(Locale.ROOT)
+                .withZone(ZoneId.systemDefault())
+                .format(instant);
+    }
+
     private void removeThreadGroups(List<?> elements) {
         Iterator<?> iter = elements.iterator();
         while (iter.hasNext()) { // Can't use for loop here because we remove elements
@@ -209,7 +222,6 @@ public class StandardJMeterEngine implements JMeterEngine, Runnable {
         }
     }
 
-    @SuppressWarnings("JdkObsolete")
     private void notifyTestListenersOfEnd(SearchByClass<TestStateListener> testListeners) {
         log.info("Notifying test listeners of end of test");
         for (TestStateListener tl : testListeners.getSearchResults()) {
@@ -225,8 +237,10 @@ public class StandardJMeterEngine implements JMeterEngine, Runnable {
         }
         if (host != null) {
             log.info("Test has ended on host {} ", host);
-            long now=System.currentTimeMillis();
-            System.out.println("Finished the test on host " + host + " @ "+new Date(now)+" ("+now+")" // NOSONAR Intentional
+            Instant now = Instant.now();
+            String nowAsString = formatLikeDate(now);
+            System.out.println("Finished the test on host "  // NOSONAR Intentional
+                    + host + " @ " + nowAsString + " (" + now.toEpochMilli() + ')'
                     +(EXIT_AFTER_TEST ? " - exit requested." : ""));
             if (EXIT_AFTER_TEST){
                 exit();
diff --git a/src/core/src/main/java/org/apache/jmeter/gui/util/JDateField.java b/src/core/src/main/java/org/apache/jmeter/gui/util/JDateField.java
index 813310b1a9..27b15538ea 100644
--- a/src/core/src/main/java/org/apache/jmeter/gui/util/JDateField.java
+++ b/src/core/src/main/java/org/apache/jmeter/gui/util/JDateField.java
@@ -93,7 +93,7 @@ public class JDateField extends JTextField {
     }
 
     // Dummy constructor to allow JUnit tests to work
-    @SuppressWarnings("JdkObsolete")
+    @SuppressWarnings("JavaUtilDate")
     public JDateField() {
         this(new Date());
     }
@@ -113,7 +113,7 @@ public class JDateField extends JTextField {
      *
      * @return The currently set date
      */
-    @SuppressWarnings("JdkObsolete")
+    @SuppressWarnings("JavaUtilDate")
     public Date getDate() {
         try {
             return dateFormat.parse(getText());
diff --git a/src/core/src/main/java/org/apache/jmeter/visualizers/Sample.java b/src/core/src/main/java/org/apache/jmeter/visualizers/Sample.java
index bb0fec2845..c3ce2d3ed2 100644
--- a/src/core/src/main/java/org/apache/jmeter/visualizers/Sample.java
+++ b/src/core/src/main/java/org/apache/jmeter/visualizers/Sample.java
@@ -208,7 +208,7 @@ public class Sample implements Serializable, Comparable<Sample> {
      * @return the start time using the specified format
      * Intended for use from Functors
      */
-    @SuppressWarnings("JdkObsolete")
+    @SuppressWarnings("JavaUtilDate")
     public String getStartTimeFormatted(Format format) {
         return format.format(new Date(getStartTime()));
     }
diff --git a/src/core/src/main/java/org/apache/jmeter/visualizers/TableSample.java b/src/core/src/main/java/org/apache/jmeter/visualizers/TableSample.java
index 9c7f62efc4..c862315746 100644
--- a/src/core/src/main/java/org/apache/jmeter/visualizers/TableSample.java
+++ b/src/core/src/main/java/org/apache/jmeter/visualizers/TableSample.java
@@ -107,7 +107,7 @@ public class TableSample implements Serializable, Comparable<TableSample> {
      * @return the start time using the specified format
      * Intended for use from Functors
      */
-    @SuppressWarnings("JdkObsolete")
+    @SuppressWarnings("JavaUtilDate")
     public String getStartTimeFormatted(Format format) {
         return format.format(new Date(getStartTime()));
     }


[jmeter] 02/02: Suppress InlineMe warnings from error prone

Posted by fs...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

fschumacher pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git

commit de43727474fe9c345e7cd57d0d9b2e01adc05a4d
Author: Felix Schumacher <fe...@internetallee.de>
AuthorDate: Wed Apr 13 12:35:51 2022 +0200

    Suppress InlineMe warnings from error prone
    
    Part of #708
---
 build.gradle.kts | 1 +
 1 file changed, 1 insertion(+)

diff --git a/build.gradle.kts b/build.gradle.kts
index 8349f3c4d3..60b7e3b8aa 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -403,6 +403,7 @@ allprojects {
                     disable(
                         "ComplexBooleanConstant",
                         "EqualsGetClass",
+                        "InlineMeSuggester",
                         "OperatorPrecedence",
                         "MutableConstantField",
                         // "ReferenceEquality",