You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by vl...@apache.org on 2023/05/11 12:09:21 UTC
[jmeter] 01/02: fix(deps): update dependency com.google.errorprone:error_prone_core to v2.19.1
This is an automated email from the ASF dual-hosted git repository.
vladimirsitnikov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git
commit e8be4016d631cd176740eac939f216a574964bee
Author: Renovate Bot <bo...@renovateapp.com>
AuthorDate: Thu May 11 08:58:20 2023 +0000
fix(deps): update dependency com.google.errorprone:error_prone_core to v2.19.1
ErrorProne brings StringCaseLocaleUsage verification that forbids the use of default locale
See https://errorprone.info/bugpattern/StringCaseLocaleUsage
Closes https://github.com/apache/jmeter/pull/5914
---
.../main/kotlin/build-logic.errorprone.gradle.kts | 2 +-
checksum.xml | 4 ++++
.../67/91a4ba316974a467.fingerprints | 1 +
.../bf/5e975cb00c643dbf.fingerprints | 1 +
.../bf/d5f46bc0b86af5dc56df58f05e975cb00c643dbf.asc | 21 +++++++++++++++++++++
.../jmeter/visualizers/backend/ErrorMetric.java | 7 ++++++-
.../jmeter/visualizers/backend/WindowMode.java | 4 +++-
.../apache/jmeter/config/gui/SimpleConfigGui.java | 2 +-
.../org/apache/jmeter/control/IfController.java | 1 -
.../apache/jmeter/engine/StandardJMeterEngine.java | 2 +-
.../org/apache/jmeter/gui/JMeterFileFilter.java | 3 ++-
.../apache/jmeter/gui/action/RawTextSearcher.java | 15 ++++-----------
.../apache/jmeter/gui/action/RegexpSearcher.java | 6 +-----
.../apache/jmeter/gui/action/SSLManagerCommand.java | 3 ++-
.../jmeter/report/dashboard/ReportGenerator.java | 3 ++-
.../apache/jmeter/testbeans/gui/TextAreaEditor.java | 3 ++-
.../org/apache/jmeter/functions/ChangeCase.java | 3 ++-
.../jmeter/functions/DigestEncodeFunction.java | 3 ++-
.../org/apache/jmeter/functions/LogFunction.java | 3 ++-
.../org/apache/jmeter/functions/StringToFile.java | 3 ++-
.../apache/jmeter/functions/ThreadGroupName.java | 2 +-
.../apache/jorphan/gui/ObjectTableModelTest.java | 3 ++-
.../jmeter/protocol/http/curl/BasicCurlParser.java | 6 +++---
.../protocol/http/parser/JsoupBasedHtmlParser.java | 3 ++-
.../protocol/http/proxy/gui/ProxyControlGui.java | 4 ++--
.../jmeter/protocol/http/util/ConversionUtils.java | 5 +----
xdocs/changes.xml | 1 +
27 files changed, 72 insertions(+), 42 deletions(-)
diff --git a/build-logic/verification/src/main/kotlin/build-logic.errorprone.gradle.kts b/build-logic/verification/src/main/kotlin/build-logic.errorprone.gradle.kts
index 545e660b0f..f7f0061fb1 100644
--- a/build-logic/verification/src/main/kotlin/build-logic.errorprone.gradle.kts
+++ b/build-logic/verification/src/main/kotlin/build-logic.errorprone.gradle.kts
@@ -29,7 +29,7 @@ if (buildParameters.enableErrorprone) {
apply(plugin = "net.ltgt.errorprone")
dependencies {
- "errorprone"("com.google.errorprone:error_prone_core:2.18.0")
+ "errorprone"("com.google.errorprone:error_prone_core:2.19.1")
"annotationProcessor"("com.google.guava:guava-beta-checker:1.0")
}
diff --git a/checksum.xml b/checksum.xml
index 0f07b49cf5..825c6a90d3 100644
--- a/checksum.xml
+++ b/checksum.xml
@@ -44,6 +44,7 @@
<trusted-key id='e77417ac194160a3fabd04969a259c7ee636c5ed' group='com.google.googlejavaformat' />
<trusted-key id='694621a7227d8d5289699830abe9f3126bb741c1' group='com.google.guava' />
<trusted-key id='bdb5fa4fe719d787fb3d3197f6d4a1d411e9d1ae' group='com.google.guava' />
+ <trusted-key id='d5f46bc0b86af5dc56df58f05e975cb00c643dbf' group='com.google.inject' />
<trusted-key id='b801e2f8ef035068ec1139cc29579f18fa8fd93b' group='com.google.j2objc' />
<trusted-key id='d75e25b78ebb19e47c0a99bca7764f502a938c99' group='com.google.protobuf' />
<trusted-key id='f1a51e051f527e0c8e24d54d4b1e11d5a4b91e89' group='com.google.protobuf' />
@@ -206,6 +207,9 @@
<dependency group='antlr' module='antlr' version='2.7.7'>
<sha512>311C3115F9F6651D1711C52D1739E25A70F25456CACB9A2CDDE7627498C30B13D721133CC75B39462AD18812A82472EF1B3B9D64FAB5ABB0377C12BF82043A74</sha512>
</dependency>
+ <dependency group='aopalliance' module='aopalliance' version='1.0'>
+ <sha512>3F44A932D8C00CFEEE2EB057BCD7C301A2D029063E0A916E1E20B3AEC4877D19D67A2FD8AAF58FA2D5A00133D1602128A7F50912FFB6CABC7B0FDC7FBDA3F8A1</sha512>
+ </dependency>
<dependency group='bsf' module='bsf' version='2.4.0'>
<sha512>CF2FF6EA53CD13EA842CAD398F1BE24539BEC68A5CBBD088492ADAB50BC782CDE6D9F4C0B6A24DEAEEE537809C90631C43F9A680FF2826C28CCF1B39380954E3</sha512>
</dependency>
diff --git a/gradle/checksum-dependency-plugin/cached-pgp-keys/67/91a4ba316974a467.fingerprints b/gradle/checksum-dependency-plugin/cached-pgp-keys/67/91a4ba316974a467.fingerprints
new file mode 100644
index 0000000000..e9592d71f9
--- /dev/null
+++ b/gradle/checksum-dependency-plugin/cached-pgp-keys/67/91a4ba316974a467.fingerprints
@@ -0,0 +1 @@
+d5f46bc0b86af5dc56df58f05e975cb00c643dbf
diff --git a/gradle/checksum-dependency-plugin/cached-pgp-keys/bf/5e975cb00c643dbf.fingerprints b/gradle/checksum-dependency-plugin/cached-pgp-keys/bf/5e975cb00c643dbf.fingerprints
new file mode 100644
index 0000000000..e9592d71f9
--- /dev/null
+++ b/gradle/checksum-dependency-plugin/cached-pgp-keys/bf/5e975cb00c643dbf.fingerprints
@@ -0,0 +1 @@
+d5f46bc0b86af5dc56df58f05e975cb00c643dbf
diff --git a/gradle/checksum-dependency-plugin/cached-pgp-keys/bf/d5f46bc0b86af5dc56df58f05e975cb00c643dbf.asc b/gradle/checksum-dependency-plugin/cached-pgp-keys/bf/d5f46bc0b86af5dc56df58f05e975cb00c643dbf.asc
new file mode 100644
index 0000000000..726b8c16ac
--- /dev/null
+++ b/gradle/checksum-dependency-plugin/cached-pgp-keys/bf/d5f46bc0b86af5dc56df58f05e975cb00c643dbf.asc
@@ -0,0 +1,21 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGNBGHvIbQBDACpPdbz5UIVIWR4cfXyyZEMOG0ayCzJQPsT4eq8XR0o5Y9egfAq
+dRXC8paInsaF/iVL8BJY6CNq4B3dUfJwKDcJiCiPbiQgknqF1HDBqQtCb4akW8f4
+Am1Q6qWxTcJBUtVjjlTMoWcCRwFNP1229ICL6XdfM5djqxOuIcCMIHC55YTldrDK
+5WWgcXC2NZgUbRn7/8dpaCn8iFAyhYjYKAk1lS8kSxCDvQNU9DtdAWtaCosoWBZ7
+mWWIeWp21erk4jgC145GujHYeqynf7VmdIB80u5OeIV6CwJx2ap8AgrKcOCON3Kp
+kYa7fsDGxq6Lbzbc0rzaIfK1wyGo56dMySDK1eZuOY9Es/wzaYfpzx88gn3rrcaw
+HwTKBoug+9z09m/rWy1DThW1gruYMUrxjeyhcdXlEeVrv9EdNCbbfKcg6MbrZ1mu
+Wc9DIAfSQ40Lv2sKxTyubZXxvoyEhD5LTqSKC0tRt9xKjHWWWSG+cyhXu/2hYmp1
+Dq7XvS1p8NKjD6cAEQEAAbkBjQRh7yG0AQwAzUkcci2Ms35HcReeUZLQ5oEiqvbb
+JH0dUHK0IFr4venyXpC2C/2toZiZ231G6miC55MlJiH+8zjZQhb9dFPNaaxvcMX1
+1EzLmm6afnl1BXWwmTHO0fSRl8OYmkVo3vo4fxmngfMWN3D27Xx5F2e51pEGqu2/
+A7rSawKqN/Tbqa0Wmro31PT14/d7bpyRMaotsPvn409WkN+j2qZV0WdqlokcQJGi
+FBsY1YC7jmNRVmSY1l9lzMqTHrFEn1AlfSMJSgnPPueZuI327W5T0B5G3uc77Lcc
+Xx3WEJBp4KdazVixx0gk/k3+GOGkdifxN5qesEgVcYH4Lkt7vYdZmPXxH3tr0h1p
+FpmDZuIgwJrD5/Ck7nHG2ZQf3CiBUtwBE/GR8B6h7gm+E71MvH3m6eMqOWUZ4k1U
+En9mgP4s7sJikpqtG19IYxkQVXRkdo5Q9jQ+95ZCV1O/t7CMGNXmzVc75e+WO7JZ
+iTR7Io9uH5HmbXEpkUOwS+2aWd32IsotfzMbABEBAAE=
+=vpwg
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/components/src/main/java/org/apache/jmeter/visualizers/backend/ErrorMetric.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/ErrorMetric.java
index 675ce5203c..3ccf49f4c5 100644
--- a/src/components/src/main/java/org/apache/jmeter/visualizers/backend/ErrorMetric.java
+++ b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/ErrorMetric.java
@@ -17,6 +17,8 @@
package org.apache.jmeter.visualizers.backend;
+import java.util.Locale;
+
import org.apache.commons.lang3.StringUtils;
import org.apache.jmeter.report.utils.MetricUtils;
import org.apache.jmeter.samplers.SampleResult;
@@ -88,7 +90,10 @@ public class ErrorMetric {
@Override
public int hashCode() {
- return getResponseCode().toLowerCase().hashCode() + getResponseMessage().toLowerCase().hashCode();
+ int hash = 1;
+ hash = 31 * hash + getResponseCode().toLowerCase(Locale.ROOT).hashCode();
+ hash = 31 * hash + getResponseMessage().toLowerCase(Locale.ROOT).hashCode();
+ return hash;
}
}
diff --git a/src/components/src/main/java/org/apache/jmeter/visualizers/backend/WindowMode.java b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/WindowMode.java
index d02767dacc..4a9bd0da33 100644
--- a/src/components/src/main/java/org/apache/jmeter/visualizers/backend/WindowMode.java
+++ b/src/components/src/main/java/org/apache/jmeter/visualizers/backend/WindowMode.java
@@ -17,6 +17,8 @@
package org.apache.jmeter.visualizers.backend;
+import java.util.Locale;
+
import org.apache.jmeter.util.JMeterUtils;
/**
@@ -35,6 +37,6 @@ public enum WindowMode {
*/
public static WindowMode get() {
String name = JMeterUtils.getPropDefault("backend_metrics_window_mode", FIXED.name());
- return WindowMode.valueOf(name.toUpperCase());
+ return WindowMode.valueOf(name.toUpperCase(Locale.ROOT));
}
}
diff --git a/src/core/src/main/java/org/apache/jmeter/config/gui/SimpleConfigGui.java b/src/core/src/main/java/org/apache/jmeter/config/gui/SimpleConfigGui.java
index 500e8305d8..08e21c95f8 100644
--- a/src/core/src/main/java/org/apache/jmeter/config/gui/SimpleConfigGui.java
+++ b/src/core/src/main/java/org/apache/jmeter/config/gui/SimpleConfigGui.java
@@ -215,7 +215,7 @@ public class SimpleConfigGui extends AbstractConfigGui implements ActionListener
* @return a GUI panel containing the buttons
*/
private JPanel createButtonPanel() {
- /** A button for adding new parameters to the table. */
+ // A button for adding new parameters to the table.
JButton add = new JButton(JMeterUtils.getResString("add")); //$NON-NLS-1$
add.setActionCommand(ADD);
add.addActionListener(this);
diff --git a/src/core/src/main/java/org/apache/jmeter/control/IfController.java b/src/core/src/main/java/org/apache/jmeter/control/IfController.java
index 05e214a493..113fb075b3 100644
--- a/src/core/src/main/java/org/apache/jmeter/control/IfController.java
+++ b/src/core/src/main/java/org/apache/jmeter/control/IfController.java
@@ -96,7 +96,6 @@ public class IfController extends GenericController implements Serializable, Thr
try {
Scriptable scope = cx.initStandardObjects(null);
Object cxResultObject = cx.evaluateString(scope, condition
- /** * conditionString ** */
, "<cmd>", 1, null);
result = computeResultFromString(condition, Context.toString(cxResultObject));
} catch (Exception e) {
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 af8b226f68..7705e98537 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
@@ -399,7 +399,7 @@ public class StandardJMeterEngine implements JMeterEngine, Runnable {
JMeterUtils.reportErrorToUser("Error occurred compiling the tree: - see log file", e);
return; // no point continuing
}
- /**
+ /*
* Notification of test listeners needs to happen after function
* replacement, but before setting RunningVersion to true.
*/
diff --git a/src/core/src/main/java/org/apache/jmeter/gui/JMeterFileFilter.java b/src/core/src/main/java/org/apache/jmeter/gui/JMeterFileFilter.java
index 5d88e0b678..04ca637c0c 100644
--- a/src/core/src/main/java/org/apache/jmeter/gui/JMeterFileFilter.java
+++ b/src/core/src/main/java/org/apache/jmeter/gui/JMeterFileFilter.java
@@ -19,6 +19,7 @@ package org.apache.jmeter.gui;
import java.io.File;
import java.util.Arrays;
+import java.util.Locale;
/**
* A file filter which allows files to be filtered based on a list of allowed
@@ -71,7 +72,7 @@ public class JMeterFileFilter extends javax.swing.filechooser.FileFilter impleme
*/
@Override
public boolean accept(File f) {
- return (allowDirs && f.isDirectory()) || accept(f.getName().toLowerCase());
+ return (allowDirs && f.isDirectory()) || accept(f.getName().toLowerCase(Locale.ROOT));
// TODO - why lower case? OK to use the default Locale?
}
diff --git a/src/core/src/main/java/org/apache/jmeter/gui/action/RawTextSearcher.java b/src/core/src/main/java/org/apache/jmeter/gui/action/RawTextSearcher.java
index 26a9782e93..946e9c3163 100644
--- a/src/core/src/main/java/org/apache/jmeter/gui/action/RawTextSearcher.java
+++ b/src/core/src/main/java/org/apache/jmeter/gui/action/RawTextSearcher.java
@@ -28,20 +28,14 @@ public class RawTextSearcher implements Searcher {
private final boolean caseSensitive;
private final String textToSearch;
-
/**
* Constructor
- * @param caseSensitive is search case sensitive
+ * @param caseSensitive is search case-sensitive
* @param textToSearch Text to search
*/
public RawTextSearcher(boolean caseSensitive, String textToSearch) {
- super();
this.caseSensitive = caseSensitive;
- if (caseSensitive) {
- this.textToSearch = textToSearch;
- } else {
- this.textToSearch = textToSearch.toLowerCase();
- }
+ this.textToSearch = textToSearch;
}
/**
@@ -50,9 +44,8 @@ public class RawTextSearcher implements Searcher {
@Override
public boolean search(List<String> textTokens) {
return textTokens.stream()
- .filter(token -> !StringUtils.isEmpty(token))
- .map(token -> caseSensitive ? token : token.toLowerCase())
- .anyMatch(token -> token.contains(textToSearch));
+ .filter(StringUtils::isNotEmpty)
+ .anyMatch(token -> caseSensitive ? token.contains(textToSearch) : StringUtils.containsAnyIgnoreCase(token, textToSearch));
}
@Override
diff --git a/src/core/src/main/java/org/apache/jmeter/gui/action/RegexpSearcher.java b/src/core/src/main/java/org/apache/jmeter/gui/action/RegexpSearcher.java
index ef84d3dd5a..c672bb3280 100644
--- a/src/core/src/main/java/org/apache/jmeter/gui/action/RegexpSearcher.java
+++ b/src/core/src/main/java/org/apache/jmeter/gui/action/RegexpSearcher.java
@@ -18,7 +18,6 @@
package org.apache.jmeter.gui.action;
import java.util.List;
-import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
@@ -54,10 +53,7 @@ public class RegexpSearcher implements Searcher {
}
return textTokens.stream()
.filter(token -> !StringUtils.isEmpty(token))
- .map(token -> caseSensitive ?
- pattern.matcher(token) :
- pattern.matcher(token.toLowerCase()))
- .anyMatch(Matcher::find);
+ .anyMatch(token -> pattern.matcher(token).find());
}
@Override
diff --git a/src/core/src/main/java/org/apache/jmeter/gui/action/SSLManagerCommand.java b/src/core/src/main/java/org/apache/jmeter/gui/action/SSLManagerCommand.java
index 37d81208a0..e3a1e47d5a 100644
--- a/src/core/src/main/java/org/apache/jmeter/gui/action/SSLManagerCommand.java
+++ b/src/core/src/main/java/org/apache/jmeter/gui/action/SSLManagerCommand.java
@@ -22,6 +22,7 @@ import java.io.File;
import java.io.IOException;
import java.util.Collections;
import java.util.HashSet;
+import java.util.Locale;
import java.util.Set;
import javax.swing.JFileChooser;
@@ -127,7 +128,7 @@ public class SSLManagerCommand extends AbstractAction {
*/
@Override
public boolean accept(File testFile) {
- String lowerCaseName = testFile.getName().toLowerCase();
+ String lowerCaseName = testFile.getName().toLowerCase(Locale.ROOT);
return testFile.isDirectory()
|| lowerCaseName.endsWith(".p12") //$NON-NLS-1$
|| lowerCaseName.endsWith(".jks")
diff --git a/src/core/src/main/java/org/apache/jmeter/report/dashboard/ReportGenerator.java b/src/core/src/main/java/org/apache/jmeter/report/dashboard/ReportGenerator.java
index 510f3ccc16..ec50e47a8e 100644
--- a/src/core/src/main/java/org/apache/jmeter/report/dashboard/ReportGenerator.java
+++ b/src/core/src/main/java/org/apache/jmeter/report/dashboard/ReportGenerator.java
@@ -22,6 +22,7 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.util.Locale;
import java.util.Map;
import java.util.Properties;
import java.util.regex.Matcher;
@@ -181,7 +182,7 @@ public class ReportGenerator {
Matcher matcher = POTENTIAL_CAMEL_CASE_PATTERN.matcher(propertyKey);
StringBuffer buffer = new StringBuffer(); // NOSONAR Unfortunately Matcher does not support StringBuilder
while (matcher.find()) {
- matcher.appendReplacement(buffer, matcher.group(1).toUpperCase());
+ matcher.appendReplacement(buffer, matcher.group(1).toUpperCase(Locale.ROOT));
}
matcher.appendTail(buffer);
return buffer.toString();
diff --git a/src/core/src/main/java/org/apache/jmeter/testbeans/gui/TextAreaEditor.java b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
index 06e0a35003..76d2e9b2f4 100644
--- a/src/core/src/main/java/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
+++ b/src/core/src/main/java/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
@@ -24,6 +24,7 @@ import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyDescriptor;
import java.beans.PropertyEditorSupport;
+import java.util.Locale;
import org.apache.jmeter.gui.util.JSyntaxTextArea;
import org.apache.jmeter.gui.util.JTextScrollPane;
@@ -133,7 +134,7 @@ public class TextAreaEditor extends PropertyEditorSupport implements FocusListen
Object source = evt.getSource();
if (source instanceof ComboStringEditor) {
ComboStringEditor cse = (ComboStringEditor) source;
- String lang = cse.getAsText().toLowerCase();
+ String lang = cse.getAsText().toLowerCase(Locale.ROOT);
textUI.setLanguage(lang);
}
}
diff --git a/src/functions/src/main/java/org/apache/jmeter/functions/ChangeCase.java b/src/functions/src/main/java/org/apache/jmeter/functions/ChangeCase.java
index 2798ca48c5..deb5c88a05 100644
--- a/src/functions/src/main/java/org/apache/jmeter/functions/ChangeCase.java
+++ b/src/functions/src/main/java/org/apache/jmeter/functions/ChangeCase.java
@@ -21,6 +21,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumSet;
import java.util.List;
+import java.util.Locale;
import org.apache.commons.lang3.StringUtils;
import org.apache.jmeter.engine.util.CompoundVariable;
@@ -78,7 +79,7 @@ public class ChangeCase extends AbstractFunction {
protected String changeCase(String originalString, String mode) {
String targetString = originalString;
// mode is case insensitive, allow upper for example
- ChangeCaseMode changeCaseMode = ChangeCaseMode.typeOf(mode.toUpperCase());
+ ChangeCaseMode changeCaseMode = ChangeCaseMode.typeOf(mode.toUpperCase(Locale.ROOT));
if (changeCaseMode != null) {
switch (changeCaseMode) {
case UPPER:
diff --git a/src/functions/src/main/java/org/apache/jmeter/functions/DigestEncodeFunction.java b/src/functions/src/main/java/org/apache/jmeter/functions/DigestEncodeFunction.java
index 70401906a8..3bc2d990f5 100644
--- a/src/functions/src/main/java/org/apache/jmeter/functions/DigestEncodeFunction.java
+++ b/src/functions/src/main/java/org/apache/jmeter/functions/DigestEncodeFunction.java
@@ -23,6 +23,7 @@ import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
+import java.util.Locale;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.lang3.StringUtils;
@@ -100,7 +101,7 @@ public class DigestEncodeFunction extends AbstractFunction {
private static String uppercase(String encodedString, CompoundVariable[] values, int index) {
String shouldUpperCase = values.length > index ? values[index].execute() : null;
if (Boolean.parseBoolean(shouldUpperCase)) {
- return encodedString.toUpperCase();
+ return encodedString.toUpperCase(Locale.ROOT);
}
return encodedString;
}
diff --git a/src/functions/src/main/java/org/apache/jmeter/functions/LogFunction.java b/src/functions/src/main/java/org/apache/jmeter/functions/LogFunction.java
index cd729cb850..de5b0f9a57 100644
--- a/src/functions/src/main/java/org/apache/jmeter/functions/LogFunction.java
+++ b/src/functions/src/main/java/org/apache/jmeter/functions/LogFunction.java
@@ -20,6 +20,7 @@ package org.apache.jmeter.functions;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
+import java.util.Locale;
import org.apache.jmeter.engine.util.CompoundVariable;
import org.apache.jmeter.samplers.SampleResult;
@@ -141,7 +142,7 @@ public class LogFunction extends AbstractFunction {
*/
static synchronized void logDetails(Logger logger, String stringToLog, String priorityString, Throwable throwable,
String comment) {
- String prio = priorityString.trim().toUpperCase();
+ String prio = priorityString.trim().toUpperCase(Locale.ROOT);
if ("OUT".equals(prio)) {//$NON-NLS-1
printDetails(System.out, stringToLog, throwable, comment);
diff --git a/src/functions/src/main/java/org/apache/jmeter/functions/StringToFile.java b/src/functions/src/main/java/org/apache/jmeter/functions/StringToFile.java
index f93b753897..25d644e8ee 100644
--- a/src/functions/src/main/java/org/apache/jmeter/functions/StringToFile.java
+++ b/src/functions/src/main/java/org/apache/jmeter/functions/StringToFile.java
@@ -26,6 +26,7 @@ import java.nio.charset.UnsupportedCharsetException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
+import java.util.Locale;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
@@ -82,7 +83,7 @@ public class StringToFile extends AbstractFunction {
String content = ((CompoundVariable) values[1]).execute();
boolean append = true;
if (values.length >= 3) {
- String appendString = ((CompoundVariable) values[2]).execute().toLowerCase().trim();
+ String appendString = ((CompoundVariable) values[2]).execute().toLowerCase(Locale.ROOT).trim();
if (!appendString.isEmpty()) {
append = Boolean.parseBoolean(appendString);
}
diff --git a/src/functions/src/main/java/org/apache/jmeter/functions/ThreadGroupName.java b/src/functions/src/main/java/org/apache/jmeter/functions/ThreadGroupName.java
index e465f000ae..08a4386708 100644
--- a/src/functions/src/main/java/org/apache/jmeter/functions/ThreadGroupName.java
+++ b/src/functions/src/main/java/org/apache/jmeter/functions/ThreadGroupName.java
@@ -40,10 +40,10 @@ public class ThreadGroupName extends AbstractFunctionByKey {
super(KEY, 0); //$NON-NLS-1$
}
- @Override
/**
* Get current thread group using sampler's context
*/
+ @Override
public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException {
JMeterContext context;
if (currentSampler != null) {
diff --git a/src/jorphan/src/test/java/org/apache/jorphan/gui/ObjectTableModelTest.java b/src/jorphan/src/test/java/org/apache/jorphan/gui/ObjectTableModelTest.java
index c3555a4e89..441de63604 100644
--- a/src/jorphan/src/test/java/org/apache/jorphan/gui/ObjectTableModelTest.java
+++ b/src/jorphan/src/test/java/org/apache/jorphan/gui/ObjectTableModelTest.java
@@ -22,6 +22,7 @@ import static java.util.stream.IntStream.range;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.Arrays;
+import java.util.Locale;
import java.util.stream.IntStream;
import javax.swing.event.TableModelEvent;
@@ -62,7 +63,7 @@ public class ObjectTableModelTest {
@BeforeEach
public void init() {
String[] headers = { "a", "b", "c" };
- Functor[] readFunctors = Arrays.stream(headers).map(name -> "get" + name.toUpperCase()).map(Functor::new).toArray(n -> new Functor[n]);
+ Functor[] readFunctors = Arrays.stream(headers).map(name -> "get" + name.toUpperCase(Locale.ROOT)).map(Functor::new).toArray(Functor[]::new);
Functor[] writeFunctors = new Functor[headers.length];
Class<?>[] editorClasses = new Class<?>[headers.length];
Arrays.fill(editorClasses, String.class);
diff --git a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/curl/BasicCurlParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/curl/BasicCurlParser.java
index 0574ae2e38..224ea30794 100644
--- a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/curl/BasicCurlParser.java
+++ b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/curl/BasicCurlParser.java
@@ -285,8 +285,8 @@ public class BasicCurlParser {
* @param limitRate the maximum transfer rate
*/
public void setLimitRate(String limitRate) {
- String unit = limitRate.substring(limitRate.length() - 1, limitRate.length()).toLowerCase();
- int value = Integer.parseInt(limitRate.substring(0, limitRate.length() - 1).toLowerCase());
+ String unit = limitRate.substring(limitRate.length() - 1, limitRate.length()).toLowerCase(Locale.ROOT);
+ int value = Integer.parseInt(limitRate.substring(0, limitRate.length() - 1).toLowerCase(Locale.ROOT));
switch (unit) {
case "k":
this.limitRate = value * ONE_KILOBYTE_IN_CPS;
@@ -914,7 +914,7 @@ public class BasicCurlParser {
* @param authorization the object of authorization
*/
private static void setAuthMechanism(String mechanism, Authorization authorization) {
- switch (mechanism.toLowerCase()) {
+ switch (mechanism.toLowerCase(Locale.ROOT)) {
case "basic":
authorization.setMechanism(Mechanism.BASIC);
break;
diff --git a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/JsoupBasedHtmlParser.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/JsoupBasedHtmlParser.java
index 60f9c754de..10e519075a 100644
--- a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/JsoupBasedHtmlParser.java
+++ b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/parser/JsoupBasedHtmlParser.java
@@ -20,6 +20,7 @@ package org.apache.jmeter.protocol.http.parser;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
+import java.util.Locale;
import org.apache.commons.lang3.StringUtils;
import org.apache.jmeter.protocol.http.util.ConversionUtils;
@@ -75,7 +76,7 @@ public class JsoupBasedHtmlParser extends HTMLParser {
return;
}
Element tag = (Element) node;
- String tagName = tag.tagName().toLowerCase();
+ String tagName = tag.tagName().toLowerCase(Locale.ROOT);
if (tagName.equals(TAG_BODY)) {
extractAttribute(tag, ATT_BACKGROUND);
} else if (tagName.equals(TAG_SCRIPT)) {
diff --git a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
index e5e99f8b0b..7ac8c0ae97 100644
--- a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
+++ b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
@@ -1174,14 +1174,14 @@ public class ProxyControlGui extends LogicControllerGui implements JMeterGUIComp
deleteButton.addActionListener(this);
buttonPanel.add(deleteButton);
- /** A button for adding new excludes/includes to the table from the clipboard. */
+ // A button for adding new excludes/includes to the table from the clipboard.
JButton addFromClipboard = new JButton(JMeterUtils.getResString("add_from_clipboard")); // $NON-NLS-1$
addFromClipboard.setActionCommand(copyFromClipboard);
addFromClipboard.addActionListener(this);
buttonPanel.add(addFromClipboard);
if(addSuggestedExcludes != null) {
- /** A button for adding suggested excludes. */
+ // A button for adding suggested excludes.
JButton addFromSuggestedExcludes = new JButton(JMeterUtils.getResString("add_from_suggested_excludes")); // $NON-NLS-1$
addFromSuggestedExcludes.setActionCommand(addSuggestedExcludes);
addFromSuggestedExcludes.addActionListener(this);
diff --git a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/ConversionUtils.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/ConversionUtils.java
index 4355801ce6..f4f9866955 100644
--- a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/ConversionUtils.java
+++ b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/util/ConversionUtils.java
@@ -182,10 +182,7 @@ public class ConversionUtils {
return url;
}
- /**
- * http://auth@host:port/path1/path2/path3/?query#anchor
- */
-
+ // http://auth@host:port/path1/path2/path3/?query#anchor
// get to 'path' part of the URL, preserving schema, auth, host if
// present
diff --git a/xdocs/changes.xml b/xdocs/changes.xml
index 2c6ace3f66..5819e64aad 100644
--- a/xdocs/changes.xml
+++ b/xdocs/changes.xml
@@ -100,6 +100,7 @@ Summary
<ul>
<li><pr>5792</pr>Add KeyStroke for start_no_timers (Start no pauses: CRTL+SHIFT+n)</li>
<li><pr>5899</pr>Speed up CPU-bound tests by skipping <code>recoverRunningVersion</code> for elements that are shared between threads (the ones that implement <code>NoThreadClone</code>)</li>
+ <li><pr>5914</pr>Use <code>Locale.ROOT</code> instead of default locale for <code>toUpperCase</code>, and <code>toLowerCase</code> to avoid surprises with dotless I in <code>tr_TR</code> locale</li>
</ul>
<ch_section>Non-functional changes</ch_section>