From 451f90ce8bc48371269b59e0e9eac1d75925a599 Mon Sep 17 00:00:00 2001 From: Deepak Date: Fri, 25 Jul 2025 23:58:28 +0530 Subject: [PATCH] use isEmpty check Signed-off-by: Deepak --- .../beans/factory/xml/ComponentFactoryBean.java | 2 +- .../support/ReloadableResourceBundleMessageSource.java | 6 +++--- .../context/testfixture/jndi/SimpleNamingContext.java | 2 +- .../src/main/java/org/springframework/asm/TypePath.java | 2 +- .../org/springframework/cglib/proxy/CallbackHelper.java | 4 ++-- .../main/java/org/springframework/cglib/proxy/Enhancer.java | 2 +- .../core/io/support/LocalizedResourceHelper.java | 6 +++--- .../core/io/support/PropertySourceProcessor.java | 2 +- .../main/java/org/springframework/util/AntPathMatcher.java | 2 +- .../java/org/springframework/util/CommonsLogWriter.java | 2 +- .../main/java/org/springframework/util/MimeTypeUtils.java | 2 +- .../expression/spel/support/ReflectivePropertyAccessor.java | 2 +- .../springframework/jdbc/datasource/init/ScriptUtils.java | 6 +++--- .../springframework/messaging/simp/stomp/StompDecoder.java | 2 +- .../stomp/AbstractStompBrokerRelayIntegrationTests.java | 2 +- .../springframework/r2dbc/connection/init/ScriptUtils.java | 6 +++--- .../org/springframework/test/web/ModelAndViewAssert.java | 2 +- .../springframework/http/codec/FormHttpMessageWriter.java | 2 +- .../http/converter/FormHttpMessageConverter.java | 2 +- .../main/java/org/springframework/web/util/UriTemplate.java | 4 ++-- .../org/springframework/web/util/pattern/PathPattern.java | 2 +- .../support/DefaultMultipartHttpServletRequestTests.java | 2 +- .../web/servlet/handler/AbstractUrlHandlerMapping.java | 2 +- .../web/servlet/mvc/ParameterizableViewController.java | 2 +- .../org/springframework/web/servlet/tags/NestedPathTag.java | 2 +- .../web/socket/sockjs/support/SockJsHttpRequestHandler.java | 2 +- 26 files changed, 36 insertions(+), 36 deletions(-) diff --git a/integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentFactoryBean.java b/integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentFactoryBean.java index 7e5566ccc735..cb8ecf7ddb52 100644 --- a/integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentFactoryBean.java +++ b/integration-tests/src/test/java/org/springframework/beans/factory/xml/ComponentFactoryBean.java @@ -35,7 +35,7 @@ public void setChildren(List children) { @Override public Component getObject() { - if (this.children != null && this.children.size() > 0) { + if (this.children != null && !this.children.isEmpty()) { for (Component child : children) { this.parent.addComponent(child); } diff --git a/spring-context/src/main/java/org/springframework/context/support/ReloadableResourceBundleMessageSource.java b/spring-context/src/main/java/org/springframework/context/support/ReloadableResourceBundleMessageSource.java index fbc1b285a5ff..489ef42e5d5f 100644 --- a/spring-context/src/main/java/org/springframework/context/support/ReloadableResourceBundleMessageSource.java +++ b/spring-context/src/main/java/org/springframework/context/support/ReloadableResourceBundleMessageSource.java @@ -379,18 +379,18 @@ protected List calculateFilenamesForLocale(String basename, Locale local StringBuilder temp = new StringBuilder(basename); temp.append('_'); - if (language.length() > 0) { + if (!language.isEmpty()) { temp.append(language); result.add(0, temp.toString()); } temp.append('_'); - if (country.length() > 0) { + if (!country.isEmpty()) { temp.append(country); result.add(0, temp.toString()); } - if (variant.length() > 0 && (language.length() > 0 || country.length() > 0)) { + if (!variant.isEmpty() && (!language.isEmpty() || !country.isEmpty())) { temp.append('_').append(variant); result.add(0, temp.toString()); } diff --git a/spring-context/src/testFixtures/java/org/springframework/context/testfixture/jndi/SimpleNamingContext.java b/spring-context/src/testFixtures/java/org/springframework/context/testfixture/jndi/SimpleNamingContext.java index 8b3194a2758c..1219f47bda2b 100644 --- a/spring-context/src/testFixtures/java/org/springframework/context/testfixture/jndi/SimpleNamingContext.java +++ b/spring-context/src/testFixtures/java/org/springframework/context/testfixture/jndi/SimpleNamingContext.java @@ -326,7 +326,7 @@ private AbstractNamingEnumeration(SimpleNamingContext context, String proot) thr } } } - if (contents.size() == 0) { + if (contents.isEmpty()) { throw new NamingException("Invalid root: [" + context.root + proot + "]"); } this.iterator = contents.values().iterator(); diff --git a/spring-core/src/main/java/org/springframework/asm/TypePath.java b/spring-core/src/main/java/org/springframework/asm/TypePath.java index b7cf845e7a4d..07333452eb59 100644 --- a/spring-core/src/main/java/org/springframework/asm/TypePath.java +++ b/spring-core/src/main/java/org/springframework/asm/TypePath.java @@ -117,7 +117,7 @@ public int getStepArgument(final int index) { * @return the corresponding TypePath object, or {@literal null} if the path is empty. */ public static TypePath fromString(final String typePath) { - if (typePath == null || typePath.length() == 0) { + if (typePath == null || typePath.isEmpty()) { return null; } int typePathLength = typePath.length(); diff --git a/spring-core/src/main/java/org/springframework/cglib/proxy/CallbackHelper.java b/spring-core/src/main/java/org/springframework/cglib/proxy/CallbackHelper.java index 4f8b3726f07b..e1befdf45112 100644 --- a/spring-core/src/main/java/org/springframework/cglib/proxy/CallbackHelper.java +++ b/spring-core/src/main/java/org/springframework/cglib/proxy/CallbackHelper.java @@ -63,7 +63,7 @@ public CallbackHelper(Class superclass, Class[] interfaces) { abstract protected Object getCallback(Method method); public Callback[] getCallbacks() { - if (callbacks.size() == 0) { + if (callbacks.isEmpty()) { return new Callback[0]; } if (callbacks.get(0) instanceof Callback) { @@ -75,7 +75,7 @@ public Callback[] getCallbacks() { } public Class[] getCallbackTypes() { - if (callbacks.size() == 0) { + if (callbacks.isEmpty()) { return new Class[0]; } if (callbacks.get(0) instanceof Callback) { diff --git a/spring-core/src/main/java/org/springframework/cglib/proxy/Enhancer.java b/spring-core/src/main/java/org/springframework/cglib/proxy/Enhancer.java index 3acd2fd69fe9..3cc889ed671d 100644 --- a/spring-core/src/main/java/org/springframework/cglib/proxy/Enhancer.java +++ b/spring-core/src/main/java/org/springframework/cglib/proxy/Enhancer.java @@ -755,7 +755,7 @@ public void generateClass(ClassVisitor v) throws Exception { */ protected void filterConstructors(Class sc, List constructors) { CollectionUtils.filter(constructors, new VisibilityPredicate(sc, true)); - if (constructors.size() == 0) { + if (constructors.isEmpty()) { throw new IllegalArgumentException("No visible constructors in " + sc); } } diff --git a/spring-core/src/main/java/org/springframework/core/io/support/LocalizedResourceHelper.java b/spring-core/src/main/java/org/springframework/core/io/support/LocalizedResourceHelper.java index f2ee2398c1cc..fe343e51474a 100644 --- a/spring-core/src/main/java/org/springframework/core/io/support/LocalizedResourceHelper.java +++ b/spring-core/src/main/java/org/springframework/core/io/support/LocalizedResourceHelper.java @@ -100,20 +100,20 @@ public Resource findLocalizedResource(String name, String extension, @Nullable L String variant = locale.getVariant(); // Check for file with language, country and variant localization. - if (variant.length() > 0) { + if (!variant.isEmpty()) { String location = name + this.separator + lang + this.separator + country + this.separator + variant + extension; resource = this.resourceLoader.getResource(location); } // Check for file with language and country localization. - if ((resource == null || !resource.exists()) && country.length() > 0) { + if ((resource == null || !resource.exists()) && !country.isEmpty()) { String location = name + this.separator + lang + this.separator + country + extension; resource = this.resourceLoader.getResource(location); } // Check for document with language localization. - if ((resource == null || !resource.exists()) && lang.length() > 0) { + if ((resource == null || !resource.exists()) && !lang.isEmpty()) { String location = name + this.separator + lang + extension; resource = this.resourceLoader.getResource(location); } diff --git a/spring-core/src/main/java/org/springframework/core/io/support/PropertySourceProcessor.java b/spring-core/src/main/java/org/springframework/core/io/support/PropertySourceProcessor.java index 9b073381234c..70a3bc2f8920 100644 --- a/spring-core/src/main/java/org/springframework/core/io/support/PropertySourceProcessor.java +++ b/spring-core/src/main/java/org/springframework/core/io/support/PropertySourceProcessor.java @@ -80,7 +80,7 @@ public void processPropertySource(PropertySourceDescriptor descriptor) throws IO String name = descriptor.name(); String encoding = descriptor.encoding(); List locations = descriptor.locations(); - Assert.isTrue(locations.size() > 0, "At least one @PropertySource(value) location is required"); + Assert.isTrue(!locations.isEmpty(), "At least one @PropertySource(value) location is required"); boolean ignoreResourceNotFound = descriptor.ignoreResourceNotFound(); PropertySourceFactory factory = (descriptor.propertySourceFactory() != null ? instantiateClass(descriptor.propertySourceFactory()) : defaultPropertySourceFactory); diff --git a/spring-core/src/main/java/org/springframework/util/AntPathMatcher.java b/spring-core/src/main/java/org/springframework/util/AntPathMatcher.java index cd62997a4a1a..caac19d2bdcc 100644 --- a/spring-core/src/main/java/org/springframework/util/AntPathMatcher.java +++ b/spring-core/src/main/java/org/springframework/util/AntPathMatcher.java @@ -348,7 +348,7 @@ private boolean isPotentialMatch(String path, String[] pattDirs) { pos += skipped; skipped = skipSegment(path, pos, pattDir); if (skipped < pattDir.length()) { - return (skipped > 0 || (pattDir.length() > 0 && isWildcardChar(pattDir.charAt(0)))); + return (skipped > 0 || (!pattDir.isEmpty() && isWildcardChar(pattDir.charAt(0)))); } pos += skipped; } diff --git a/spring-core/src/main/java/org/springframework/util/CommonsLogWriter.java b/spring-core/src/main/java/org/springframework/util/CommonsLogWriter.java index 7d6f4f3e5ccc..de675556beef 100644 --- a/spring-core/src/main/java/org/springframework/util/CommonsLogWriter.java +++ b/spring-core/src/main/java/org/springframework/util/CommonsLogWriter.java @@ -44,7 +44,7 @@ public CommonsLogWriter(Log logger) { public void write(char ch) { - if (ch == '\n' && this.buffer.length() > 0) { + if (ch == '\n' && !this.buffer.isEmpty()) { logger.debug(this.buffer.toString()); this.buffer.setLength(0); } diff --git a/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java b/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java index 1b9b668ba0d3..78bed4698f3c 100644 --- a/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java +++ b/spring-core/src/main/java/org/springframework/util/MimeTypeUtils.java @@ -244,7 +244,7 @@ else if (ch == '"') { nextIndex++; } String parameter = mimeType.substring(index + 1, nextIndex).trim(); - if (parameter.length() > 0) { + if (!parameter.isEmpty()) { if (parameters == null) { parameters = new LinkedHashMap<>(4); } diff --git a/spring-expression/src/main/java/org/springframework/expression/spel/support/ReflectivePropertyAccessor.java b/spring-expression/src/main/java/org/springframework/expression/spel/support/ReflectivePropertyAccessor.java index b5f051359ce2..4582cb217dcc 100644 --- a/spring-expression/src/main/java/org/springframework/expression/spel/support/ReflectivePropertyAccessor.java +++ b/spring-expression/src/main/java/org/springframework/expression/spel/support/ReflectivePropertyAccessor.java @@ -443,7 +443,7 @@ protected boolean isCandidateForProperty(Method method, Class targetClass) { */ protected String[] getPropertyMethodSuffixes(String propertyName) { String suffix = getPropertyMethodSuffix(propertyName); - if (suffix.length() > 0 && Character.isUpperCase(suffix.charAt(0))) { + if (!suffix.isEmpty() && Character.isUpperCase(suffix.charAt(0))) { return new String[] {suffix}; } return new String[] {suffix, StringUtils.capitalize(suffix)}; diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ScriptUtils.java b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ScriptUtils.java index 1a082c6dd676..34ae2c117620 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ScriptUtils.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/datasource/init/ScriptUtils.java @@ -338,7 +338,7 @@ private static String readScript(LineNumberReader lineNumberReader, String @Null while (currentStatement != null) { if ((blockCommentEndDelimiter != null && currentStatement.contains(blockCommentEndDelimiter)) || (commentPrefixes != null && !startsWithAny(currentStatement, commentPrefixes, 0))) { - if (scriptBuilder.length() > 0) { + if (!scriptBuilder.isEmpty()) { scriptBuilder.append('\n'); } scriptBuilder.append(currentStatement); @@ -508,7 +508,7 @@ else if (!inSingleQuote && (c == '"')) { if (!inSingleQuote && !inDoubleQuote) { if (script.startsWith(separator, i)) { // We've reached the end of the current statement - if (sb.length() > 0) { + if (!sb.isEmpty()) { statements.add(sb.toString()); sb = new StringBuilder(); } @@ -541,7 +541,7 @@ else if (script.startsWith(blockCommentStartDelimiter, i)) { } else if (c == ' ' || c == '\r' || c == '\n' || c == '\t') { // Avoid multiple adjacent whitespace characters - if (sb.length() > 0 && sb.charAt(sb.length() - 1) != ' ') { + if (!sb.isEmpty() && sb.charAt(sb.length() - 1) != ' ') { c = ' '; } else { diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompDecoder.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompDecoder.java index d54ea520059e..10a6facc2354 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompDecoder.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompDecoder.java @@ -134,7 +134,7 @@ public List> decode(ByteBuffer byteBuffer, byteBuffer.mark(); String command = readCommand(byteBuffer); - if (command.length() > 0) { + if (!command.isEmpty()) { StompHeaderAccessor headerAccessor = null; byte[] payload = null; if (byteBuffer.remaining() > 0) { diff --git a/spring-messaging/src/test/java/org/springframework/messaging/simp/stomp/AbstractStompBrokerRelayIntegrationTests.java b/spring-messaging/src/test/java/org/springframework/messaging/simp/stomp/AbstractStompBrokerRelayIntegrationTests.java index 985ce165b5cb..c300e32b2766 100644 --- a/spring-messaging/src/test/java/org/springframework/messaging/simp/stomp/AbstractStompBrokerRelayIntegrationTests.java +++ b/spring-messaging/src/test/java/org/springframework/messaging/simp/stomp/AbstractStompBrokerRelayIntegrationTests.java @@ -293,7 +293,7 @@ public void handleMessage(Message message) throws MessagingException { public void expectMessages(MessageExchange... messageExchanges) throws InterruptedException { List expectedMessages = new ArrayList<>(Arrays.asList(messageExchanges)); - while (expectedMessages.size() > 0) { + while (!expectedMessages.isEmpty()) { Message message = this.queue.poll(10000, TimeUnit.MILLISECONDS); assertThat(message).as("Timed out waiting for messages, expected [" + expectedMessages + "]").isNotNull(); MessageExchange match = findMatch(expectedMessages, message); diff --git a/spring-r2dbc/src/main/java/org/springframework/r2dbc/connection/init/ScriptUtils.java b/spring-r2dbc/src/main/java/org/springframework/r2dbc/connection/init/ScriptUtils.java index c927ff0bee62..a07bd765ba28 100644 --- a/spring-r2dbc/src/main/java/org/springframework/r2dbc/connection/init/ScriptUtils.java +++ b/spring-r2dbc/src/main/java/org/springframework/r2dbc/connection/init/ScriptUtils.java @@ -318,7 +318,7 @@ private static String readScript(LineNumberReader lineNumberReader, @Nullable St StringBuilder scriptBuilder = new StringBuilder(); String currentLine = lineNumberReader.readLine(); while (currentLine != null) { - if (scriptBuilder.length() > 0) { + if (!scriptBuilder.isEmpty()) { scriptBuilder.append('\n'); } scriptBuilder.append(currentLine); @@ -487,7 +487,7 @@ else if (!inSingleQuote && (c == '"')) { if (!inSingleQuote && !inDoubleQuote) { if (script.startsWith(separator, i)) { // We've reached the end of the current statement - if (sb.length() > 0) { + if (!sb.isEmpty()) { statements.add(sb.toString()); sb = new StringBuilder(); } @@ -520,7 +520,7 @@ else if (script.startsWith(blockCommentStartDelimiter, i)) { } else if (c == ' ' || c == '\r' || c == '\n' || c == '\t') { // Avoid multiple adjacent whitespace characters - if (sb.length() > 0 && sb.charAt(sb.length() - 1) != ' ') { + if (!sb.isEmpty() && sb.charAt(sb.length() - 1) != ' ') { c = ' '; } else { diff --git a/spring-test/src/main/java/org/springframework/test/web/ModelAndViewAssert.java b/spring-test/src/main/java/org/springframework/test/web/ModelAndViewAssert.java index e8c3fbf1f35d..08f1c260acc4 100644 --- a/spring-test/src/main/java/org/springframework/test/web/ModelAndViewAssert.java +++ b/spring-test/src/main/java/org/springframework/test/web/ModelAndViewAssert.java @@ -128,7 +128,7 @@ public static void assertModelAttributeValues(ModelAndView mav, Map formData, Charset c StringBuilder builder = new StringBuilder(); formData.forEach((name, values) -> values.forEach(value -> { - if (builder.length() != 0) { + if (!builder.isEmpty()) { builder.append('&'); } builder.append(URLEncoder.encode(name, charset)); diff --git a/spring-web/src/main/java/org/springframework/http/converter/FormHttpMessageConverter.java b/spring-web/src/main/java/org/springframework/http/converter/FormHttpMessageConverter.java index 18839993f368..54dd40305c79 100644 --- a/spring-web/src/main/java/org/springframework/http/converter/FormHttpMessageConverter.java +++ b/spring-web/src/main/java/org/springframework/http/converter/FormHttpMessageConverter.java @@ -444,7 +444,7 @@ protected String serializeForm(MultiValueMap formData, Charset c return; } values.forEach(value -> { - if (builder.length() != 0) { + if (!builder.isEmpty()) { builder.append('&'); } builder.append(URLEncoder.encode(name, charset)); diff --git a/spring-web/src/main/java/org/springframework/web/util/UriTemplate.java b/spring-web/src/main/java/org/springframework/web/util/UriTemplate.java index cc3ae4dcf090..50a6b3a44fa9 100644 --- a/spring-web/src/main/java/org/springframework/web/util/UriTemplate.java +++ b/spring-web/src/main/java/org/springframework/web/util/UriTemplate.java @@ -238,14 +238,14 @@ else if (c == '}') { } builder.append(c); } - if (builder.length() > 0) { + if (!builder.isEmpty()) { pattern.append(quote(builder)); } return new TemplateInfo(variableNames, Pattern.compile(pattern.toString())); } private static String quote(StringBuilder builder) { - return (builder.length() > 0 ? Pattern.quote(builder.toString()) : ""); + return (!builder.isEmpty() ? Pattern.quote(builder.toString()) : ""); } } diff --git a/spring-web/src/main/java/org/springframework/web/util/pattern/PathPattern.java b/spring-web/src/main/java/org/springframework/web/util/pattern/PathPattern.java index e3aa9d28ee17..9ef82704073b 100644 --- a/spring-web/src/main/java/org/springframework/web/util/pattern/PathPattern.java +++ b/spring-web/src/main/java/org/springframework/web/util/pattern/PathPattern.java @@ -567,7 +567,7 @@ else if (path1EndsWithSeparator || path2StartsWithSeparator) { * @return {@code true} has more than zero elements */ private boolean hasLength(@Nullable PathContainer container) { - return container != null && container.elements().size() > 0; + return container != null && !container.elements().isEmpty(); } private static int scoreByNormalizedLength(PathPattern pattern) { diff --git a/spring-web/src/test/java/org/springframework/web/multipart/support/DefaultMultipartHttpServletRequestTests.java b/spring-web/src/test/java/org/springframework/web/multipart/support/DefaultMultipartHttpServletRequestTests.java index 17117c7d504c..ed0ad4ff7207 100644 --- a/spring-web/src/test/java/org/springframework/web/multipart/support/DefaultMultipartHttpServletRequestTests.java +++ b/spring-web/src/test/java/org/springframework/web/multipart/support/DefaultMultipartHttpServletRequestTests.java @@ -81,7 +81,7 @@ private void insertQueryParams() { for (String key : this.queryParams.keySet()) { for (String value : this.queryParams.get(key)) { this.servletRequest.addParameter(key, value); - query.append(query.length() > 0 ? "&" : "").append(key).append('=').append(value); + query.append(!query.isEmpty() ? "&" : "").append(key).append('=').append(value); } } this.servletRequest.setQueryString(query.toString()); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractUrlHandlerMapping.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractUrlHandlerMapping.java index 86b8bff446f5..15c25f4c09ad 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractUrlHandlerMapping.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/handler/AbstractUrlHandlerMapping.java @@ -383,7 +383,7 @@ private String getHandlerDescription(Object handler) { uriTemplateVariables.putAll(decodedVars); } } - if (logger.isTraceEnabled() && uriTemplateVariables.size() > 0) { + if (logger.isTraceEnabled() && !uriTemplateVariables.isEmpty()) { logger.trace("URI variables " + uriTemplateVariables); } return buildPathExposingHandler(handler, bestMatch, pathWithinMapping, uriTemplateVariables); diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/ParameterizableViewController.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/ParameterizableViewController.java index 1212e7eb1a40..1d1c970b147a 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/ParameterizableViewController.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/ParameterizableViewController.java @@ -187,7 +187,7 @@ private String formatStatusAndView() { sb.append("status=").append(this.statusCode); } if (this.view != null) { - sb.append(sb.length() != 0 ? ", " : ""); + sb.append(!sb.isEmpty() ? ", " : ""); String viewName = getViewName(); sb.append("view=").append(viewName != null ? "\"" + viewName + "\"" : this.view); } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/tags/NestedPathTag.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/tags/NestedPathTag.java index 10c50a093d50..b04be7fb7321 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/tags/NestedPathTag.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/tags/NestedPathTag.java @@ -84,7 +84,7 @@ public void setPath(@Nullable String path) { if (path == null) { path = ""; } - if (path.length() > 0 && !path.endsWith(PropertyAccessor.NESTED_PROPERTY_SEPARATOR)) { + if (!path.isEmpty() && !path.endsWith(PropertyAccessor.NESTED_PROPERTY_SEPARATOR)) { path += PropertyAccessor.NESTED_PROPERTY_SEPARATOR; } this.path = path; diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/SockJsHttpRequestHandler.java b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/SockJsHttpRequestHandler.java index ea0a1984cea8..07f237e9386c 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/SockJsHttpRequestHandler.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/sockjs/support/SockJsHttpRequestHandler.java @@ -141,7 +141,7 @@ public void handleRequest(HttpServletRequest servletRequest, HttpServletResponse private String getSockJsPath(HttpServletRequest servletRequest) { String attribute = HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE; String path = (String) servletRequest.getAttribute(attribute); - return (path.length() > 0 && path.charAt(0) != '/' ? "/" + path : path); + return (!path.isEmpty() && path.charAt(0) != '/' ? "/" + path : path); } @Override