You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2022/10/10 15:45:22 UTC
[ofbiz-framework] branch trunk updated: Improved: Use replace() instead of replaceAll() when a regex is not used (OFBIZ-10934)
This is an automated email from the ASF dual-hosted git repository.
jleroux pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push:
new 83c2637d2e Improved: Use replace() instead of replaceAll() when a regex is not used (OFBIZ-10934)
83c2637d2e is described below
commit 83c2637d2e8ef22575ddd63aeb9af19ecbe7eb13
Author: Jacques Le Roux <ja...@les7arts.com>
AuthorDate: Mon Oct 10 17:42:06 2022 +0200
Improved: Use replace() instead of replaceAll() when a regex is not used (OFBIZ-10934)
Increases performance and clarify usage of replaceAll()
Thanks: bd2019us, whoever he is, for the suggestion (patches were outdated)
---
.../category/ftl/CatalogAltUrlSeoTransform.java | 2 +-
.../category/ftl/CatalogUrlSeoTransform.java | 22 +++++++++++-----------
.../java/org/apache/ofbiz/base/util/FileUtil.java | 2 +-
.../org/apache/ofbiz/base/util/HttpClient.java | 2 +-
.../org/apache/ofbiz/base/util/KeyStoreUtil.java | 4 ++--
.../org/apache/ofbiz/base/util/UtilFormatOut.java | 2 +-
.../java/org/apache/ofbiz/base/util/UtilHttp.java | 4 ++--
.../java/org/apache/ofbiz/common/CommonEvents.java | 2 +-
.../ofbiz/entity/condition/EntityOperator.java | 4 ++--
.../org/apache/ofbiz/entity/jdbc/SqlJdbcUtil.java | 2 +-
.../java/org/apache/ofbiz/security/CsrfUtil.java | 2 +-
.../org/apache/ofbiz/security/SecuredUpload.java | 2 +-
.../apache/ofbiz/webapp/control/LoginWorker.java | 2 +-
.../java/org/apache/ofbiz/widget/WidgetWorker.java | 2 +-
.../apache/ofbiz/widget/model/ModelActionUtil.java | 2 +-
.../apache/ofbiz/widget/model/ModelFormField.java | 2 +-
.../widget/renderer/html/HtmlWidgetRenderer.java | 2 +-
.../widget/renderer/macro/MacroFormRenderer.java | 5 ++---
.../widget/renderer/macro/MacroTreeRenderer.java | 2 +-
19 files changed, 33 insertions(+), 34 deletions(-)
diff --git a/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogAltUrlSeoTransform.java b/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogAltUrlSeoTransform.java
index c6d36eabf4..e393b3bc88 100644
--- a/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogAltUrlSeoTransform.java
+++ b/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogAltUrlSeoTransform.java
@@ -168,7 +168,7 @@ public class CatalogAltUrlSeoTransform implements TemplateTransformModel {
LocalDispatcher dispatcher = FreeMarkerWorker.getWrappedObject("dispatcher", env);
Locale locale = (Locale) args.get("locale");
String prefixString = ((StringModel) prefix).getAsString();
- prefixString = prefixString.replaceAll("/", "/");
+ prefixString = prefixString.replace("/", "/");
String contextPath = prefixString;
int lastSlashIndex = prefixString.lastIndexOf('/');
if (lastSlashIndex > -1 && lastSlashIndex < prefixString.length()) {
diff --git a/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogUrlSeoTransform.java b/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogUrlSeoTransform.java
index 4d9411942b..fad56d1263 100644
--- a/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogUrlSeoTransform.java
+++ b/applications/product/src/main/java/org/apache/ofbiz/product/category/ftl/CatalogUrlSeoTransform.java
@@ -204,11 +204,11 @@ public class CatalogUrlSeoTransform implements TemplateTransformModel {
if (UtilValidate.isNotEmpty(categoryName)) {
categoryName = SeoUrlUtil.replaceSpecialCharsUrl(categoryName.trim());
if (matcher.matches(categoryName, asciiPattern)) {
- categoryIdName = categoryName.replaceAll(" ", URL_HYPHEN);
+ categoryIdName = categoryName.replace(" ", URL_HYPHEN);
categoryNameId = categoryIdName + URL_HYPHEN
- + categoryId.trim().replaceAll(" ", URL_HYPHEN);
+ + categoryId.trim().replace(" ", URL_HYPHEN);
} else {
- categoryIdName = categoryId.trim().replaceAll(" ", URL_HYPHEN);
+ categoryIdName = categoryId.trim().replace(" ", URL_HYPHEN);
categoryNameId = categoryIdName;
}
} else {
@@ -220,14 +220,14 @@ public class CatalogUrlSeoTransform implements TemplateTransformModel {
&& UtilValidate.isNotEmpty(alternativeUrl.toString())) {
categoryIdName = SeoUrlUtil.replaceSpecialCharsUrl(alternativeUrl.toString());
categoryNameId = categoryIdName + URL_HYPHEN
- + categoryId.trim().replaceAll(" ", URL_HYPHEN);
+ + categoryId.trim().replace(" ", URL_HYPHEN);
} else {
- categoryNameId = categoryId.trim().replaceAll(" ", URL_HYPHEN);
+ categoryNameId = categoryId.trim().replace(" ", URL_HYPHEN);
categoryIdName = categoryNameId;
}
}
if (categoryNameIdMap.containsKey(categoryNameId)) {
- categoryNameId = categoryId.trim().replaceAll(" ", URL_HYPHEN);
+ categoryNameId = categoryId.trim().replace(" ", URL_HYPHEN);
categoryIdName = categoryNameId;
}
if (!matcher.matches(categoryNameId, asciiPattern)
@@ -362,9 +362,9 @@ public class CatalogUrlSeoTransform implements TemplateTransformModel {
if (UtilValidate.isNotEmpty(categoryName)) {
urlBuilder.append(categoryName);
urlBuilder.append(URL_HYPHEN);
- urlBuilder.append(lastCategoryId.trim().replaceAll(" ", URL_HYPHEN));
+ urlBuilder.append(lastCategoryId.trim().replace(" ", URL_HYPHEN));
} else {
- urlBuilder.append(lastCategoryId.trim().replaceAll(" ", URL_HYPHEN));
+ urlBuilder.append(lastCategoryId.trim().replace(" ", URL_HYPHEN));
}
}
}
@@ -480,7 +480,7 @@ public class CatalogUrlSeoTransform implements TemplateTransformModel {
Perl5Matcher matcher = new Perl5Matcher();
String niceName = null;
if (UtilValidate.isNotEmpty(name)) {
- name = name.trim().replaceAll(" ", URL_HYPHEN);
+ name = name.trim().replace(" ", URL_HYPHEN);
if (UtilValidate.isNotEmpty(name) && matcher.matches(name, asciiPattern)) {
niceName = name;
}
@@ -816,9 +816,9 @@ public class CatalogUrlSeoTransform implements TemplateTransformModel {
if (UtilValidate.isNotEmpty(categoryName)) {
urlBuilder.append(categoryName);
urlBuilder.append(URL_HYPHEN);
- urlBuilder.append(lastCategoryId.trim().replaceAll(" ", URL_HYPHEN));
+ urlBuilder.append(lastCategoryId.trim().replace(" ", URL_HYPHEN));
} else {
- urlBuilder.append(lastCategoryId.trim().replaceAll(" ", URL_HYPHEN));
+ urlBuilder.append(lastCategoryId.trim().replace(" ", URL_HYPHEN));
}
}
}
diff --git a/framework/base/src/main/java/org/apache/ofbiz/base/util/FileUtil.java b/framework/base/src/main/java/org/apache/ofbiz/base/util/FileUtil.java
index d838b9948e..0a76169b5c 100644
--- a/framework/base/src/main/java/org/apache/ofbiz/base/util/FileUtil.java
+++ b/framework/base/src/main/java/org/apache/ofbiz/base/util/FileUtil.java
@@ -151,7 +151,7 @@ public final class FileUtil {
private static String getPatchedFileName(String path, String fileName) throws IOException {
// make sure the export directory exists
if (UtilValidate.isNotEmpty(path)) {
- path = path.replaceAll("\\\\", "/");
+ path = path.replace("\\\\", "/");
File parentDir = new File(path);
if (!parentDir.exists()) {
if (!parentDir.mkdir()) {
diff --git a/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java b/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java
index 2e316f9612..7682a3f595 100644
--- a/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java
+++ b/framework/base/src/main/java/org/apache/ofbiz/base/util/HttpClient.java
@@ -402,7 +402,7 @@ public class HttpClient {
}
if (charset != null) {
- charset = charset.trim().replaceAll("\"", "");
+ charset = charset.trim().replace("\"", "");
}
if (Debug.verboseOn() || debug) {
Debug.logVerbose("Getting text from HttpClient with charset: " + charset, MODULE);
diff --git a/framework/base/src/main/java/org/apache/ofbiz/base/util/KeyStoreUtil.java b/framework/base/src/main/java/org/apache/ofbiz/base/util/KeyStoreUtil.java
index 2a1f7f5c93..6075240bf0 100755
--- a/framework/base/src/main/java/org/apache/ofbiz/base/util/KeyStoreUtil.java
+++ b/framework/base/src/main/java/org/apache/ofbiz/base/util/KeyStoreUtil.java
@@ -136,12 +136,12 @@ public final class KeyStoreUtil {
static Map<String, String> getX500Map(Principal x500) {
Map<String, String> x500Map = new HashMap<>();
- String name = x500.getName().replaceAll("\\\\,", "&com;");
+ String name = x500.getName().replace("\\\\,", "&com;");
String[] x500Opts = name.split("\\,");
for (String opt: x500Opts) {
if (opt.indexOf("=") > -1) {
String[] nv = opt.split("\\=", 2);
- x500Map.put(nv[0].replaceAll("&com;", ","), nv[1].replaceAll("&com;", ","));
+ x500Map.put(nv[0].replace("&com;", ","), nv[1].replace("&com;", ","));
}
}
diff --git a/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilFormatOut.java b/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilFormatOut.java
index 9114fd62bc..4dcd946453 100644
--- a/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilFormatOut.java
+++ b/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilFormatOut.java
@@ -568,7 +568,7 @@ public final class UtilFormatOut {
return newString.toString();
}
public static String makeSqlSafe(String unsafeString) {
- return unsafeString.replaceAll("'", "''");
+ return unsafeString.replace("'", "''");
}
public static String formatPrintableCreditCard(String original) {
diff --git a/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java b/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java
index 4ae10c04ca..55358a970d 100644
--- a/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java
+++ b/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilHttp.java
@@ -764,7 +764,7 @@ public final class UtilHttp {
}
// When you set a mountpoint which contains a slash inside its name (ie not only a slash as a trailer, which is possible),
// as it's needed with OFBIZ-10765, OFBiz tries to create a cookie with a slash in its name and that's impossible.
- return appName.replaceAll("/", "_");
+ return appName.replace("/", "_");
}
public static void setInitialRequestInfo(HttpServletRequest request) {
@@ -1205,7 +1205,7 @@ public final class UtilHttp {
}
public static String encodeBlanks(String htmlString) {
- return htmlString.replaceAll(" ", "%20");
+ return htmlString.replace(" ", "%20");
}
public static String setResponseBrowserProxyNoCache(HttpServletRequest request, HttpServletResponse response) {
diff --git a/framework/common/src/main/java/org/apache/ofbiz/common/CommonEvents.java b/framework/common/src/main/java/org/apache/ofbiz/common/CommonEvents.java
index 0940e37969..68ef797e97 100644
--- a/framework/common/src/main/java/org/apache/ofbiz/common/CommonEvents.java
+++ b/framework/common/src/main/java/org/apache/ofbiz/common/CommonEvents.java
@@ -477,7 +477,7 @@ public class CommonEvents {
String platformSpecificPath = sourceFileUrl.getFile();
// ensure file separator in location is correct
if (!platformSpecificPath.contains(File.separator) && "\\".equals(File.separator)) {
- platformSpecificPath = platformSpecificPath.replaceAll("/", "\\\\");
+ platformSpecificPath = platformSpecificPath.replace("/", "\\\\");
}
// get line number
int lineNumber = 1;
diff --git a/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityOperator.java b/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityOperator.java
index b43951deef..d261671260 100644
--- a/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityOperator.java
+++ b/framework/entity/src/main/java/org/apache/ofbiz/entity/condition/EntityOperator.java
@@ -68,8 +68,8 @@ public abstract class EntityOperator<L, R> implements Serializable {
public static <L, R> void register(String name, EntityOperator<L, R> operator) {
registerCase(name, operator);
- registerCase(name.replaceAll("-", "_"), operator);
- registerCase(name.replaceAll("_", "-"), operator);
+ registerCase(name.replace("-", "_"), operator);
+ registerCase(name.replace("_", "-"), operator);
}
public static <L, R> EntityOperator<L, R> lookup(String name) {
diff --git a/framework/entity/src/main/java/org/apache/ofbiz/entity/jdbc/SqlJdbcUtil.java b/framework/entity/src/main/java/org/apache/ofbiz/entity/jdbc/SqlJdbcUtil.java
index 4166ddaced..316cd33c07 100644
--- a/framework/entity/src/main/java/org/apache/ofbiz/entity/jdbc/SqlJdbcUtil.java
+++ b/framework/entity/src/main/java/org/apache/ofbiz/entity/jdbc/SqlJdbcUtil.java
@@ -950,7 +950,7 @@ public final class SqlJdbcUtil {
} else {
buffer.append('\'');
if (value instanceof String) {
- buffer.append(((String) value).replaceAll("'", "''"));
+ buffer.append(((String) value).replace("'", "''"));
} else {
buffer.append(value);
}
diff --git a/framework/security/src/main/java/org/apache/ofbiz/security/CsrfUtil.java b/framework/security/src/main/java/org/apache/ofbiz/security/CsrfUtil.java
index c834fb4901..438f8f2411 100644
--- a/framework/security/src/main/java/org/apache/ofbiz/security/CsrfUtil.java
+++ b/framework/security/src/main/java/org/apache/ofbiz/security/CsrfUtil.java
@@ -181,7 +181,7 @@ public final class CsrfUtil {
}
if (pathOrRequestUri.contains("/")) {
- pathOrRequestUri = pathOrRequestUri.replaceAll("/", "/");
+ pathOrRequestUri = pathOrRequestUri.replace("/", "/");
}
String requestUri = getRequestUriWithSubFolderLimit(getRequestUriFromPath(pathOrRequestUri));
diff --git a/framework/security/src/main/java/org/apache/ofbiz/security/SecuredUpload.java b/framework/security/src/main/java/org/apache/ofbiz/security/SecuredUpload.java
index f0c9875641..6e6b0c8463 100644
--- a/framework/security/src/main/java/org/apache/ofbiz/security/SecuredUpload.java
+++ b/framework/security/src/main/java/org/apache/ofbiz/security/SecuredUpload.java
@@ -146,7 +146,7 @@ public class SecuredUpload {
// More about that: https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation
if (fileToCheck.length() > 259) {
Debug.logError("Uploaded file name too long", MODULE);
- } else if (p.toString().contains(imageServerUrl.replaceAll("/", "\\\\"))) {
+ } else if (p.toString().contains(imageServerUrl.replace("/", "\\\\"))) {
// TODO check this is still useful in at least 1 case
if (fileName.matches("[a-zA-Z0-9-_ ()]{1,249}.[a-zA-Z0-9-_ ]{1,10}")) { // "(" and ")" for duplicates files
wrongFile = false;
diff --git a/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java b/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java
index 5af41248a2..d20d68e93c 100644
--- a/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java
+++ b/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/LoginWorker.java
@@ -1243,7 +1243,7 @@ public final class LoginWorker {
Map<String, String> x500Map = KeyStoreUtil.getCertX500Map(clientCerts[i]);
if (i == 0) {
String cn = x500Map.get("CN");
- cn = cn.replaceAll("\\\\", "");
+ cn = cn.replace("\\\\", "");
Matcher m = pattern.matcher(cn);
if (m.matches()) {
userLoginId = m.group(1);
diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/WidgetWorker.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/WidgetWorker.java
index 858c3a6b76..71bd8278e5 100644
--- a/framework/widget/src/main/java/org/apache/ofbiz/widget/WidgetWorker.java
+++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/WidgetWorker.java
@@ -336,7 +336,7 @@ public final class WidgetWorker {
public static Map<String, Object> resolveParametersMapFromQueryString(Map<String, Object> context) {
String qbeString = (String) context.get("_QBESTRING_");
return qbeString != null
- ? UtilHttp.getQueryStringOnlyParameterMap(qbeString.replaceAll("&", "&"))
+ ? UtilHttp.getQueryStringOnlyParameterMap(qbeString.replace("&", "&"))
: null;
}
}
diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelActionUtil.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelActionUtil.java
index 15d3d4a923..211d63bb46 100644
--- a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelActionUtil.java
+++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelActionUtil.java
@@ -38,7 +38,7 @@ public class ModelActionUtil {
context.put("queryString", queryString);
context.put("queryStringMap", result.get("queryStringMap"));
if (UtilValidate.isNotEmpty(queryString)) {
- String queryStringEncoded = queryString.replaceAll("&", "%26");
+ String queryStringEncoded = queryString.replace("&", "%26");
context.put("queryStringEncoded", queryStringEncoded);
}
} else {
diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormField.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormField.java
index 0b14bc0cb7..7e4143582a 100644
--- a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormField.java
+++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/ModelFormField.java
@@ -1771,7 +1771,7 @@ public final class ModelFormField {
if (UtilValidate.isEmpty(retVal)) {
retVal = this.getDefaultValue(context);
} else if ("currency".equals(type)) {
- retVal = retVal.replaceAll(" ", " ");
+ retVal = retVal.replace(" ", " ");
// FIXME : encoding currency is a problem for some locale, we should not have any in retVal other case may arise in future...
Locale locale = (Locale) context.get("locale");
if (locale == null) {
diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/html/HtmlWidgetRenderer.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/html/HtmlWidgetRenderer.java
index a112ed020b..0c707bb99f 100644
--- a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/html/HtmlWidgetRenderer.java
+++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/html/HtmlWidgetRenderer.java
@@ -95,7 +95,7 @@ public class HtmlWidgetRenderer {
switch (NAMED_BORDER_TYPE) {
case SOURCE:
return "<div class='info-container'><span class='info-overlay-item info-cursor-none info-"
- + widgetType.toLowerCase().replaceAll(" ", "-") + "' data-source='"
+ + widgetType.toLowerCase().replace(" ", "-") + "' data-source='"
+ location + "' data-target='" + contextPath
+ (SeoConfigUtil.isCategoryUrlEnabled(contextPath) ? "" : "/control")
+ "/openSourceFile'>"
diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java
index dabc2d32d3..3e4e88dddf 100644
--- a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java
+++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroFormRenderer.java
@@ -135,7 +135,7 @@ public final class MacroFormRenderer implements FormStringRenderer {
}
private static String encodeDoubleQuotes(String htmlString) {
- return htmlString.replaceAll("\"", "\\\\\"");
+ return htmlString.replace("\"", "\\\\\"");
}
public boolean getRenderPagination() {
@@ -715,8 +715,7 @@ public final class MacroFormRenderer implements FormStringRenderer {
if (textSize > 0 && description.length() > textSize) {
description = description.substring(0, textSize - 8) + "..." + description.substring(description.length() - 5);
}
- options.append(encode(description.replaceAll("'", "\\\\\'"), modelFormField, context));
- // replaceAll("'", "\\\\\'") related to OFBIZ-6504
+ options.append(encode(description.replaceAll("'", "\\\\\'"), modelFormField, context)); // related to OFBIZ-6504
if (UtilValidate.isNotEmpty(currentValueList)) {
options.append("'");
diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroTreeRenderer.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroTreeRenderer.java
index 8871e25624..53a0ab39bc 100644
--- a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroTreeRenderer.java
+++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/macro/MacroTreeRenderer.java
@@ -292,7 +292,7 @@ public class MacroTreeRenderer implements TreeStringRenderer {
sr.append("\" linkText=\"");
sr.append(linkText);
sr.append("\" imgStr=\"");
- sr.append(imgStr.replaceAll("\"", "\\\\\""));
+ sr.append(imgStr.replace("\"", "\\\\\""));
sr.append("\" />");
executeMacro(sr.toString().replace("|", "%7C")); // Fix for OFBIZ-9191
}