On 15/09/2020 10:21, mgrigo...@apache.org wrote: > This is an automated email from the ASF dual-hosted git repository. > > mgrigorov pushed a commit to branch master > in repository https://gitbox.apache.org/repos/asf/tomcat.git > > > The following commit(s) were added to refs/heads/master by this push: > new f550254 Replace "".equals(a) with a.isEmpty() > new 6053839 Merge pull request #356 from > martin-g/improvement/use-string-isempty > f550254 is described below > > commit f550254bb15e1b0cc50225aee1c3fb1ed034f552 > Author: Martin Tzvetanov Grigorov <mgrigo...@apache.org> > AuthorDate: Thu Sep 10 12:52:11 2020 +0300 > > Replace "".equals(a) with a.isEmpty()
How sure are you that none of these will introduce the possibility of a NullPointerException? Mark > > > https://medium.com/javarevisited/micro-optimizations-in-java-string-equals-22be19fd8416 > Proposal for JDK: https://github.com/openjdk/jdk/pull/29 > --- > .../apache/catalina/ant/jmx/JMXAccessorCondition.java | 2 +- > .../apache/catalina/ant/jmx/JMXAccessorCreateTask.java | 2 +- > java/org/apache/catalina/ant/jmx/JMXAccessorTask.java | 2 +- > java/org/apache/catalina/core/ApplicationContext.java | 2 +- > java/org/apache/catalina/core/StandardContext.java | 2 +- > java/org/apache/catalina/core/StandardEngine.java | 2 +- > java/org/apache/catalina/filters/WebdavFixFilter.java | 2 +- > java/org/apache/catalina/ha/backend/TcpSender.java | 2 +- > .../catalina/ha/session/JvmRouteBinderValve.java | 2 +- > .../apache/catalina/manager/HTMLManagerServlet.java | 9 +++++---- > java/org/apache/catalina/manager/ManagerServlet.java | 2 +- > .../catalina/manager/host/HostManagerServlet.java | 2 +- > java/org/apache/catalina/realm/RealmBase.java | 2 +- > java/org/apache/catalina/servlets/CGIServlet.java | 8 ++++---- > java/org/apache/catalina/session/JDBCStore.java | 2 +- > .../org/apache/catalina/storeconfig/StoreRegistry.java | 2 +- > java/org/apache/catalina/util/ContextName.java | 18 > +++++++++--------- > java/org/apache/el/MethodExpressionImpl.java | 2 +- > java/org/apache/el/MethodExpressionLiteral.java | 2 +- > java/org/apache/el/ValueExpressionImpl.java | 2 +- > java/org/apache/el/ValueExpressionLiteral.java | 2 +- > java/org/apache/el/lang/ELSupport.java | 7 ++++--- > java/org/apache/el/lang/FunctionMapperImpl.java | 2 +- > java/org/apache/el/util/ReflectionUtil.java | 2 +- > java/org/apache/jasper/JspC.java | 2 +- > java/org/apache/jasper/compiler/Generator.java | 2 +- > java/org/apache/jasper/compiler/Validator.java | 2 +- > .../apache/tomcat/util/digester/SetPropertiesRule.java | 2 +- > java/org/apache/tomcat/util/net/SSLUtilBase.java | 2 +- > .../apache/tomcat/websocket/WsWebSocketContainer.java | 3 ++- > 30 files changed, 49 insertions(+), 46 deletions(-) > > diff --git a/java/org/apache/catalina/ant/jmx/JMXAccessorCondition.java > b/java/org/apache/catalina/ant/jmx/JMXAccessorCondition.java > index b009684..4ac07c3 100644 > --- a/java/org/apache/catalina/ant/jmx/JMXAccessorCondition.java > +++ b/java/org/apache/catalina/ant/jmx/JMXAccessorCondition.java > @@ -149,7 +149,7 @@ public class JMXAccessorCondition extends > JMXAccessorConditionBase { > * @return true if there is no if condition, or the named property exists > */ > protected boolean testIfCondition() { > - if (ifCondition == null || "".equals(ifCondition)) { > + if (ifCondition == null || ifCondition.isEmpty()) { > return true; > } > return getProject().getProperty(ifCondition) != null; > diff --git a/java/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java > b/java/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java > index 28aab6c..558a258 100644 > --- a/java/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java > +++ b/java/org/apache/catalina/ant/jmx/JMXAccessorCreateTask.java > @@ -154,7 +154,7 @@ public class JMXAccessorCreateTask extends > JMXAccessorTask { > } > } > } > - if (classLoader != null && !"".equals(classLoader)) { > + if (classLoader != null && !classLoader.isEmpty()) { > if (isEcho()) { > handleOutput("create MBean " + name + " from class " > + className + " with classLoader " + classLoader); > diff --git a/java/org/apache/catalina/ant/jmx/JMXAccessorTask.java > b/java/org/apache/catalina/ant/jmx/JMXAccessorTask.java > index 8d5d268..d79e471 100644 > --- a/java/org/apache/catalina/ant/jmx/JMXAccessorTask.java > +++ b/java/org/apache/catalina/ant/jmx/JMXAccessorTask.java > @@ -254,7 +254,7 @@ public class JMXAccessorTask extends > BaseRedirectorHelperTask { > * @return Returns the useRef. > */ > public boolean isUseRef() { > - return ref != null && !"".equals(ref); > + return ref != null && !ref.isEmpty(); > } > > /** > diff --git a/java/org/apache/catalina/core/ApplicationContext.java > b/java/org/apache/catalina/core/ApplicationContext.java > index 61981e5..06bdaa3 100644 > --- a/java/org/apache/catalina/core/ApplicationContext.java > +++ b/java/org/apache/catalina/core/ApplicationContext.java > @@ -1196,7 +1196,7 @@ public class ApplicationContext implements > ServletContext { > } > > for (String role : roleNames) { > - if (role == null || "".equals(role)) { > + if (role == null || role.isEmpty()) { > throw new IllegalArgumentException( > sm.getString("applicationContext.role.iae", > getContextPath())); > diff --git a/java/org/apache/catalina/core/StandardContext.java > b/java/org/apache/catalina/core/StandardContext.java > index e84f2b5..ce51d6c 100644 > --- a/java/org/apache/catalina/core/StandardContext.java > +++ b/java/org/apache/catalina/core/StandardContext.java > @@ -2136,7 +2136,7 @@ public class StandardContext extends ContainerBase > if (path == null || path.equals("/")) { > invalid = true; > this.path = ""; > - } else if ("".equals(path) || path.startsWith("/")) { > + } else if (path.isEmpty() || path.startsWith("/")) { > this.path = path; > } else { > invalid = true; > diff --git a/java/org/apache/catalina/core/StandardEngine.java > b/java/org/apache/catalina/core/StandardEngine.java > index 9385369..f60c2e8 100644 > --- a/java/org/apache/catalina/core/StandardEngine.java > +++ b/java/org/apache/catalina/core/StandardEngine.java > @@ -485,7 +485,7 @@ public class StandardEngine extends ContainerBase > implements Engine { > if (disabled) return; > if (Container.ADD_CHILD_EVENT.equals(event.getType())) { > Context context = (Context) event.getData(); > - if ("".equals(context.getPath())) { > + if (context.getPath().isEmpty()) { > // Force re-calculation and disable listener since it > won't > // be re-used > engine.defaultAccessLog.set(null); > diff --git a/java/org/apache/catalina/filters/WebdavFixFilter.java > b/java/org/apache/catalina/filters/WebdavFixFilter.java > index 9a1f86d..72a6843 100644 > --- a/java/org/apache/catalina/filters/WebdavFixFilter.java > +++ b/java/org/apache/catalina/filters/WebdavFixFilter.java > @@ -100,7 +100,7 @@ public class WebdavFixFilter extends GenericFilter { > httpResponse.sendRedirect(buildRedirect(httpRequest)); > } else if (ua.startsWith(UA_MINIDIR_5_2_3790)) { > // XP 64-bit SP2 > - if (!"".equals(httpRequest.getContextPath())) { > + if (!httpRequest.getContextPath().isEmpty()) { > > getServletContext().log(sm.getString("webDavFilter.xpRootContext")); > } > // Namespace issue maybe > diff --git a/java/org/apache/catalina/ha/backend/TcpSender.java > b/java/org/apache/catalina/ha/backend/TcpSender.java > index 760e1a0..5676c88 100644 > --- a/java/org/apache/catalina/ha/backend/TcpSender.java > +++ b/java/org/apache/catalina/ha/backend/TcpSender.java > @@ -151,7 +151,7 @@ public class TcpSender > // read all the headers. > String header = connectionReaders[i].readLine(); > int contentLength = 0; > - while (!"".equals(header)) { > + while (!header.isEmpty()) { > int colon = header.indexOf(':'); > String headerName = header.substring(0, colon).trim(); > String headerValue = header.substring(colon + 1).trim(); > diff --git a/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java > b/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java > index 58733fb..6817c7a 100644 > --- a/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java > +++ b/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java > @@ -348,7 +348,7 @@ public class JvmRouteBinderValve extends ValveBase > implements ClusterValve { > > // set original sessionid at request, to allow application detect the > // change > - if (sessionIdAttribute != null && !"".equals(sessionIdAttribute)) { > + if (sessionIdAttribute != null && !sessionIdAttribute.isEmpty()) { > if (log.isDebugEnabled()) { > > log.debug(sm.getString("jvmRoute.set.orignalsessionid",sessionIdAttribute,sessionId)); > } > diff --git a/java/org/apache/catalina/manager/HTMLManagerServlet.java > b/java/org/apache/catalina/manager/HTMLManagerServlet.java > index 685353b..53e1ebc 100644 > --- a/java/org/apache/catalina/manager/HTMLManagerServlet.java > +++ b/java/org/apache/catalina/manager/HTMLManagerServlet.java > @@ -443,10 +443,11 @@ public final class HTMLManagerServlet extends > ManagerServlet { > StringBuilder tmp = new StringBuilder(); > tmp.append("path="); > tmp.append(URLEncoder.DEFAULT.encode(displayPath, > StandardCharsets.UTF_8)); > - if (ctxt.getWebappVersion().length() > 0) { > + final String webappVersion = ctxt.getWebappVersion(); > + if (webappVersion != null && webappVersion.length() > 0) { > tmp.append("&version="); > tmp.append(URLEncoder.DEFAULT.encode( > - ctxt.getWebappVersion(), > StandardCharsets.UTF_8)); > + webappVersion, StandardCharsets.UTF_8)); > } > String pathVersion = tmp.toString(); > > @@ -463,10 +464,10 @@ public final class HTMLManagerServlet extends > ManagerServlet { > + URLEncoder.DEFAULT.encode(contextPath + "/", > StandardCharsets.UTF_8) > + "\" " + Constants.REL_EXTERNAL + ">" > + Escape.htmlElementContent(displayPath) + "</a>"; > - if ("".equals(ctxt.getWebappVersion())) { > + if (webappVersion == null || webappVersion.isEmpty()) { > args[1] = noVersion; > } else { > - args[1] = > Escape.htmlElementContent(ctxt.getWebappVersion()); > + args[1] = Escape.htmlElementContent(webappVersion); > } > if (ctxt.getDisplayName() == null) { > args[2] = " "; > diff --git a/java/org/apache/catalina/manager/ManagerServlet.java > b/java/org/apache/catalina/manager/ManagerServlet.java > index feb7ee8..392fadc 100644 > --- a/java/org/apache/catalina/manager/ManagerServlet.java > +++ b/java/org/apache/catalina/manager/ManagerServlet.java > @@ -555,7 +555,7 @@ public class ManagerServlet extends HttpServlet > implements ContainerServlet { > smClient.getString("managerServlet.findleaksList")); > } > for (String result : results) { > - if ("".equals(result)) { > + if (result.isEmpty()) { > result = "/"; > } > writer.println(result); > diff --git a/java/org/apache/catalina/manager/host/HostManagerServlet.java > b/java/org/apache/catalina/manager/host/HostManagerServlet.java > index 4d548c6..7ed209f 100644 > --- a/java/org/apache/catalina/manager/host/HostManagerServlet.java > +++ b/java/org/apache/catalina/manager/host/HostManagerServlet.java > @@ -411,7 +411,7 @@ public class HostManagerServlet > host.addLifecycleListener(new HostConfig()); > > // Add host aliases > - if ((aliases != null) && !("".equals(aliases))) { > + if ((aliases != null) && !aliases.isEmpty()) { > StringTokenizer tok = new StringTokenizer(aliases, ", "); > while (tok.hasMoreTokens()) { > host.addAlias(tok.nextToken()); > diff --git a/java/org/apache/catalina/realm/RealmBase.java > b/java/org/apache/catalina/realm/RealmBase.java > index f429447..948ec3e 100644 > --- a/java/org/apache/catalina/realm/RealmBase.java > +++ b/java/org/apache/catalina/realm/RealmBase.java > @@ -1522,7 +1522,7 @@ public abstract class RealmBase extends > LifecycleMBeanBase implements Realm { > > private static X509UsernameRetriever createUsernameRetriever(String > className) > throws LifecycleException { > - if(null == className || "".equals(className.trim())) > + if(null == className || className.trim().isEmpty()) > return new X509SubjectDnRetriever(); > > try { > diff --git a/java/org/apache/catalina/servlets/CGIServlet.java > b/java/org/apache/catalina/servlets/CGIServlet.java > index e5df2d9..0dd5412 100644 > --- a/java/org/apache/catalina/servlets/CGIServlet.java > +++ b/java/org/apache/catalina/servlets/CGIServlet.java > @@ -1077,7 +1077,7 @@ public final class CGIServlet extends HttpServlet { > * SHOULD NOT be defined. > * > */ > - if (!("".equals(sPathInfoCGI))) { > + if (!sPathInfoCGI.isEmpty()) { > sPathTranslatedCGI = context.getRealPath(sPathInfoCGI); > } > if (sPathTranslatedCGI == null || "".equals(sPathTranslatedCGI)) > { > @@ -1386,9 +1386,9 @@ public final class CGIServlet extends HttpServlet { > */ > protected String blanksToString(String couldBeBlank, > String subForBlanks) { > - return (("".equals(couldBeBlank) || couldBeBlank == null) > + return (couldBeBlank == null || couldBeBlank.isEmpty()) > ? subForBlanks > - : couldBeBlank); > + : couldBeBlank; > } > > > @@ -1689,7 +1689,7 @@ public final class CGIServlet extends HttpServlet { > try { > //set headers > String line = null; > - while (((line = cgiHeaderReader.readLine()) != null) > && !("".equals(line))) { > + while (((line = cgiHeaderReader.readLine()) != null) > && !line.isEmpty()) { > if (log.isTraceEnabled()) { > log.trace("addHeader(\"" + line + "\")"); > } > diff --git a/java/org/apache/catalina/session/JDBCStore.java > b/java/org/apache/catalina/session/JDBCStore.java > index f566190..bb57db0 100644 > --- a/java/org/apache/catalina/session/JDBCStore.java > +++ b/java/org/apache/catalina/session/JDBCStore.java > @@ -445,7 +445,7 @@ public class JDBCStore extends StoreBase { > * @param dataSourceName The JNDI name of the DataSource-factory > */ > public void setDataSourceName(String dataSourceName) { > - if (dataSourceName == null || "".equals(dataSourceName.trim())) { > + if (dataSourceName == null || dataSourceName.trim().isEmpty()) { > manager.getContext().getLogger().warn( > sm.getString(getStoreName() + ".missingDataSourceName")); > return; > diff --git a/java/org/apache/catalina/storeconfig/StoreRegistry.java > b/java/org/apache/catalina/storeconfig/StoreRegistry.java > index ccdc5e3..4ac91db 100644 > --- a/java/org/apache/catalina/storeconfig/StoreRegistry.java > +++ b/java/org/apache/catalina/storeconfig/StoreRegistry.java > @@ -182,7 +182,7 @@ public class StoreRegistry { > */ > public void registerDescription(StoreDescription desc) { > String key = desc.getId(); > - if (key == null || "".equals(key)) { > + if (key == null || key.isEmpty()) { > key = desc.getTagClass(); > } > descriptors.put(key, desc); > diff --git a/java/org/apache/catalina/util/ContextName.java > b/java/org/apache/catalina/util/ContextName.java > index 877197d..ce41224 100644 > --- a/java/org/apache/catalina/util/ContextName.java > +++ b/java/org/apache/catalina/util/ContextName.java > @@ -25,7 +25,7 @@ import java.util.Locale; > public final class ContextName { > public static final String ROOT_NAME = "ROOT"; > private static final String VERSION_MARKER = "##"; > - private static final String FWD_SLASH_REPLACEMENT = "#"; > + private static final char FWD_SLASH_REPLACEMENT = '#'; > > private final String baseName; > private final String path; > @@ -54,10 +54,10 @@ public final class ContextName { > } > > // Replace any remaining / > - tmp1 = tmp1.replaceAll("/", FWD_SLASH_REPLACEMENT); > + tmp1 = tmp1.replace('/', FWD_SLASH_REPLACEMENT); > > // Insert the ROOT name if required > - if (tmp1.startsWith(VERSION_MARKER) || "".equals(tmp1)) { > + if (tmp1.startsWith(VERSION_MARKER) || tmp1.isEmpty()) { > tmp1 = ROOT_NAME + tmp1; > } > > @@ -84,7 +84,7 @@ public final class ContextName { > if (ROOT_NAME.equals(tmp2)) { > path = ""; > } else { > - path = "/" + tmp2.replaceAll(FWD_SLASH_REPLACEMENT, "/"); > + path = "/" + tmp2.replace(FWD_SLASH_REPLACEMENT, '/'); > } > > if (versionIndex > -1) { > @@ -116,7 +116,7 @@ public final class ContextName { > } > > // Name is path + version > - if ("".equals(this.version)) { > + if (this.version.isEmpty()) { > name = this.path; > } else { > name = this.path + VERSION_MARKER + this.version; > @@ -124,13 +124,13 @@ public final class ContextName { > > // Base name is converted path + version > StringBuilder tmp = new StringBuilder(); > - if ("".equals(this.path)) { > + if (this.path.isEmpty()) { > tmp.append(ROOT_NAME); > } else { > - tmp.append(this.path.substring(1).replaceAll("/", > + tmp.append(this.path.substring(1).replace('/', > FWD_SLASH_REPLACEMENT)); > } > - if (this.version.length() > 0) { > + if (!this.version.isEmpty()) { > tmp.append(VERSION_MARKER); > tmp.append(this.version); > } > @@ -161,7 +161,7 @@ public final class ContextName { > tmp.append(path); > } > > - if (!"".equals(version)) { > + if (!version.isEmpty()) { > tmp.append(VERSION_MARKER); > tmp.append(version); > } > diff --git a/java/org/apache/el/MethodExpressionImpl.java > b/java/org/apache/el/MethodExpressionImpl.java > index ff5f1d9..eb9b764 100644 > --- a/java/org/apache/el/MethodExpressionImpl.java > +++ b/java/org/apache/el/MethodExpressionImpl.java > @@ -279,7 +279,7 @@ public final class MethodExpressionImpl extends > MethodExpression implements > ClassNotFoundException { > this.expr = in.readUTF(); > String type = in.readUTF(); > - if (!"".equals(type)) { > + if (!type.isEmpty()) { > this.expectedType = ReflectionUtil.forName(type); > } > this.paramTypes = ReflectionUtil.toTypeArray(((String[]) in > diff --git a/java/org/apache/el/MethodExpressionLiteral.java > b/java/org/apache/el/MethodExpressionLiteral.java > index ada7ea4..367d3d7 100644 > --- a/java/org/apache/el/MethodExpressionLiteral.java > +++ b/java/org/apache/el/MethodExpressionLiteral.java > @@ -95,7 +95,7 @@ public class MethodExpressionLiteral extends > MethodExpression implements Externa > public void readExternal(ObjectInput in) throws IOException, > ClassNotFoundException { > this.expr = in.readUTF(); > String type = in.readUTF(); > - if (!"".equals(type)) { > + if (!type.isEmpty()) { > this.expectedType = ReflectionUtil.forName(type); > } > this.paramTypes = ReflectionUtil.toTypeArray(((String[]) in > diff --git a/java/org/apache/el/ValueExpressionImpl.java > b/java/org/apache/el/ValueExpressionImpl.java > index f1a7a6a..91b3e1d 100644 > --- a/java/org/apache/el/ValueExpressionImpl.java > +++ b/java/org/apache/el/ValueExpressionImpl.java > @@ -240,7 +240,7 @@ public final class ValueExpressionImpl extends > ValueExpression implements > ClassNotFoundException { > this.expr = in.readUTF(); > String type = in.readUTF(); > - if (!"".equals(type)) { > + if (!type.isEmpty()) { > this.expectedType = ReflectionUtil.forName(type); > } > this.fnMapper = (FunctionMapper) in.readObject(); > diff --git a/java/org/apache/el/ValueExpressionLiteral.java > b/java/org/apache/el/ValueExpressionLiteral.java > index 8ff72d0..ca87e15 100644 > --- a/java/org/apache/el/ValueExpressionLiteral.java > +++ b/java/org/apache/el/ValueExpressionLiteral.java > @@ -129,7 +129,7 @@ public final class ValueExpressionLiteral extends > ValueExpression implements > ClassNotFoundException { > this.value = in.readObject(); > String type = in.readUTF(); > - if (!"".equals(type)) { > + if (!type.isEmpty()) { > this.expectedType = ReflectionUtil.forName(type); > } > } > diff --git a/java/org/apache/el/lang/ELSupport.java > b/java/org/apache/el/lang/ELSupport.java > index 6031d1d..f251db8 100644 > --- a/java/org/apache/el/lang/ELSupport.java > +++ b/java/org/apache/el/lang/ELSupport.java > @@ -540,19 +540,20 @@ public class ELSupport { > if (obj == null) > return null; > if (obj instanceof String) { > + String str = (String) obj; > PropertyEditor editor = PropertyEditorManager.findEditor(type); > if (editor == null) { > - if ("".equals(obj)) { > + if (str.isEmpty()) { > return null; > } > throw new ELException(MessageFactory.get("error.convert", > obj, > obj.getClass(), type)); > } else { > try { > - editor.setAsText((String) obj); > + editor.setAsText(str); > return editor.getValue(); > } catch (RuntimeException e) { > - if ("".equals(obj)) { > + if (str.isEmpty()) { > return null; > } > throw new ELException(MessageFactory.get("error.convert", > diff --git a/java/org/apache/el/lang/FunctionMapperImpl.java > b/java/org/apache/el/lang/FunctionMapperImpl.java > index 81f296e..2887e11 100644 > --- a/java/org/apache/el/lang/FunctionMapperImpl.java > +++ b/java/org/apache/el/lang/FunctionMapperImpl.java > @@ -146,7 +146,7 @@ public class FunctionMapperImpl extends FunctionMapper > implements > ClassNotFoundException { > > this.prefix = in.readUTF(); > - if ("".equals(this.prefix)) this.prefix = null; > + if (this.prefix.isEmpty()) this.prefix = null; > this.localName = in.readUTF(); > this.owner = in.readUTF(); > this.name = in.readUTF(); > diff --git a/java/org/apache/el/util/ReflectionUtil.java > b/java/org/apache/el/util/ReflectionUtil.java > index 401adb4..2bc4efd 100644 > --- a/java/org/apache/el/util/ReflectionUtil.java > +++ b/java/org/apache/el/util/ReflectionUtil.java > @@ -52,7 +52,7 @@ public class ReflectionUtil { > } > > public static Class<?> forName(String name) throws > ClassNotFoundException { > - if (null == name || "".equals(name)) { > + if (null == name || name.isEmpty()) { > return null; > } > Class<?> c = forNamePrimitive(name); > diff --git a/java/org/apache/jasper/JspC.java > b/java/org/apache/jasper/JspC.java > index f5fce3f..ff28ed1 100644 > --- a/java/org/apache/jasper/JspC.java > +++ b/java/org/apache/jasper/JspC.java > @@ -1147,7 +1147,7 @@ public class JspC extends Task implements Options { > String packageName = clctxt.getServletPackageName(); > > String thisServletName; > - if ("".equals(packageName)) { > + if (packageName.isEmpty()) { > thisServletName = className; > } else { > thisServletName = packageName + '.' + className; > diff --git a/java/org/apache/jasper/compiler/Generator.java > b/java/org/apache/jasper/compiler/Generator.java > index 3feb48d..ad8b29e 100644 > --- a/java/org/apache/jasper/compiler/Generator.java > +++ b/java/org/apache/jasper/compiler/Generator.java > @@ -546,7 +546,7 @@ class Generator { > * preamble generation) > */ > private void genPreamblePackage(String packageName) { > - if (!"".equals(packageName) && packageName != null) { > + if (packageName != null && !packageName.isEmpty()) { > out.printil("package " + packageName + ";"); > out.println(); > } > diff --git a/java/org/apache/jasper/compiler/Validator.java > b/java/org/apache/jasper/compiler/Validator.java > index 289dc94..c5fbd15 100644 > --- a/java/org/apache/jasper/compiler/Validator.java > +++ b/java/org/apache/jasper/compiler/Validator.java > @@ -1681,7 +1681,7 @@ class Validator { > lastArg = true; > } > String arg = signature.substring(start, p).trim(); > - if (!"".equals(arg)) { > + if (!arg.isEmpty()) { > params.add(arg); > } > if (lastArg) { > diff --git a/java/org/apache/tomcat/util/digester/SetPropertiesRule.java > b/java/org/apache/tomcat/util/digester/SetPropertiesRule.java > index 66d82f9..4779891 100644 > --- a/java/org/apache/tomcat/util/digester/SetPropertiesRule.java > +++ b/java/org/apache/tomcat/util/digester/SetPropertiesRule.java > @@ -85,7 +85,7 @@ public class SetPropertiesRule extends Rule { > > for (int i = 0; i < attributes.getLength(); i++) { > String name = attributes.getLocalName(i); > - if ("".equals(name)) { > + if (name.isEmpty()) { > name = attributes.getQName(i); > } > String value = attributes.getValue(i); > diff --git a/java/org/apache/tomcat/util/net/SSLUtilBase.java > b/java/org/apache/tomcat/util/net/SSLUtilBase.java > index 09e3aa7..56453f3 100644 > --- a/java/org/apache/tomcat/util/net/SSLUtilBase.java > +++ b/java/org/apache/tomcat/util/net/SSLUtilBase.java > @@ -192,7 +192,7 @@ public abstract class SSLUtilBase implements SSLUtil { > // Some key store types (e.g. hardware) expect the > InputStream > // to be null > if(!("PKCS11".equalsIgnoreCase(type) || > - "".equalsIgnoreCase(path)) || > + path.isEmpty()) || > "NONE".equalsIgnoreCase(path)) { > istream = > ConfigFileLoader.getSource().getResource(path).getInputStream(); > } > diff --git a/java/org/apache/tomcat/websocket/WsWebSocketContainer.java > b/java/org/apache/tomcat/websocket/WsWebSocketContainer.java > index c2c5308..28d0543 100644 > --- a/java/org/apache/tomcat/websocket/WsWebSocketContainer.java > +++ b/java/org/apache/tomcat/websocket/WsWebSocketContainer.java > @@ -734,7 +734,8 @@ public class WsWebSocketContainer implements > WebSocketContainer, BackgroundProce > > // Request line > result.put(GET_BYTES); > - if (null == uri.getPath() || "".equals(uri.getPath())) { > + final String path = uri.getPath(); > + if (null == path || path.isEmpty()) { > result.put(ROOT_URI_BYTES); > } else { > > result.put(uri.getRawPath().getBytes(StandardCharsets.ISO_8859_1)); > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org