Browse Source

Refine use of substring operations

Closes gh-25445
pull/25477/head
XenoAmess 5 years ago committed by Sam Brannen
parent
commit
ab859fcc96
  1. 2
      spring-aop/src/main/java/org/springframework/aop/aspectj/AspectJAdviceParameterNameDiscoverer.java
  2. 2
      spring-beans/src/main/java/org/springframework/beans/PropertyEditorRegistrySupport.java
  3. 2
      spring-context/src/main/java/org/springframework/scheduling/config/TaskExecutorFactoryBean.java
  4. 2
      spring-jms/src/main/java/org/springframework/jms/listener/DefaultMessageListenerContainer.java
  5. 2
      spring-jms/src/main/java/org/springframework/jms/listener/SimpleMessageListenerContainer.java
  6. 2
      spring-jms/src/main/java/org/springframework/jms/listener/endpoint/JmsActivationSpecConfig.java
  7. 2
      spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompDecoder.java
  8. 2
      spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompEncoder.java
  9. 2
      spring-test/src/main/java/org/springframework/test/web/servlet/setup/PatternMappingFilterProxy.java
  10. 2
      spring-web/src/main/java/org/springframework/web/util/UriTemplate.java
  11. 4
      spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java
  12. 2
      spring-webmvc/src/main/java/org/springframework/web/servlet/tags/UrlTag.java
  13. 2
      spring-webmvc/src/main/java/org/springframework/web/servlet/view/RedirectView.java
  14. 2
      spring-websocket/src/main/java/org/springframework/web/socket/WebSocketExtension.java

2
spring-aop/src/main/java/org/springframework/aop/aspectj/AspectJAdviceParameterNameDiscoverer.java

@ -648,7 +648,7 @@ public class AspectJAdviceParameterNameDiscoverer implements ParameterNameDiscov
} }
if (tokens[currentIndex].endsWith(")")) { if (tokens[currentIndex].endsWith(")")) {
sb.append(tokens[currentIndex].substring(0, tokens[currentIndex].length() - 1)); sb.append(tokens[currentIndex], 0, tokens[currentIndex].length() - 1);
return new PointcutBody(numTokensConsumed, sb.toString().trim()); return new PointcutBody(numTokensConsumed, sb.toString().trim());
} }

2
spring-beans/src/main/java/org/springframework/beans/PropertyEditorRegistrySupport.java

@ -501,7 +501,7 @@ public class PropertyEditorRegistrySupport implements PropertyEditorRegistry {
if (endIndex != -1) { if (endIndex != -1) {
String prefix = propertyPath.substring(0, startIndex); String prefix = propertyPath.substring(0, startIndex);
String key = propertyPath.substring(startIndex, endIndex + 1); String key = propertyPath.substring(startIndex, endIndex + 1);
String suffix = propertyPath.substring(endIndex + 1, propertyPath.length()); String suffix = propertyPath.substring(endIndex + 1);
// Strip the first key. // Strip the first key.
strippedPaths.add(nestedPath + prefix + suffix); strippedPaths.add(nestedPath + prefix + suffix);
// Search for further keys to strip, with the first key stripped. // Search for further keys to strip, with the first key stripped.

2
spring-context/src/main/java/org/springframework/scheduling/config/TaskExecutorFactoryBean.java

@ -107,7 +107,7 @@ public class TaskExecutorFactoryBean implements
int separatorIndex = this.poolSize.indexOf('-'); int separatorIndex = this.poolSize.indexOf('-');
if (separatorIndex != -1) { if (separatorIndex != -1) {
corePoolSize = Integer.parseInt(this.poolSize.substring(0, separatorIndex)); corePoolSize = Integer.parseInt(this.poolSize.substring(0, separatorIndex));
maxPoolSize = Integer.parseInt(this.poolSize.substring(separatorIndex + 1, this.poolSize.length())); maxPoolSize = Integer.parseInt(this.poolSize.substring(separatorIndex + 1));
if (corePoolSize > maxPoolSize) { if (corePoolSize > maxPoolSize) {
throw new IllegalArgumentException( throw new IllegalArgumentException(
"Lower bound of pool-size range must not exceed the upper bound"); "Lower bound of pool-size range must not exceed the upper bound");

2
spring-jms/src/main/java/org/springframework/jms/listener/DefaultMessageListenerContainer.java

@ -310,7 +310,7 @@ public class DefaultMessageListenerContainer extends AbstractPollingMessageListe
int separatorIndex = concurrency.indexOf('-'); int separatorIndex = concurrency.indexOf('-');
if (separatorIndex != -1) { if (separatorIndex != -1) {
setConcurrentConsumers(Integer.parseInt(concurrency.substring(0, separatorIndex))); setConcurrentConsumers(Integer.parseInt(concurrency.substring(0, separatorIndex)));
setMaxConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1, concurrency.length()))); setMaxConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1)));
} }
else { else {
setConcurrentConsumers(1); setConcurrentConsumers(1);

2
spring-jms/src/main/java/org/springframework/jms/listener/SimpleMessageListenerContainer.java

@ -126,7 +126,7 @@ public class SimpleMessageListenerContainer extends AbstractMessageListenerConta
try { try {
int separatorIndex = concurrency.indexOf('-'); int separatorIndex = concurrency.indexOf('-');
if (separatorIndex != -1) { if (separatorIndex != -1) {
setConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1, concurrency.length()))); setConcurrentConsumers(Integer.parseInt(concurrency.substring(separatorIndex + 1)));
} }
else { else {
setConcurrentConsumers(Integer.parseInt(concurrency)); setConcurrentConsumers(Integer.parseInt(concurrency));

2
spring-jms/src/main/java/org/springframework/jms/listener/endpoint/JmsActivationSpecConfig.java

@ -226,7 +226,7 @@ public class JmsActivationSpecConfig {
try { try {
int separatorIndex = concurrency.indexOf('-'); int separatorIndex = concurrency.indexOf('-');
if (separatorIndex != -1) { if (separatorIndex != -1) {
setMaxConcurrency(Integer.parseInt(concurrency.substring(separatorIndex + 1, concurrency.length()))); setMaxConcurrency(Integer.parseInt(concurrency.substring(separatorIndex + 1)));
} }
else { else {
setMaxConcurrency(Integer.parseInt(concurrency)); setMaxConcurrency(Integer.parseInt(concurrency));

2
spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompDecoder.java

@ -269,7 +269,7 @@ public class StompDecoder {
int index = inString.indexOf('\\'); int index = inString.indexOf('\\');
while (index >= 0) { while (index >= 0) {
sb.append(inString.substring(pos, index)); sb.append(inString, pos, index);
if (index + 1 >= inString.length()) { if (index + 1 >= inString.length()) {
throw new StompConversionException("Illegal escape sequence at index " + index + ": " + inString); throw new StompConversionException("Illegal escape sequence at index " + index + ": " + inString);
} }

2
spring-messaging/src/main/java/org/springframework/messaging/simp/stomp/StompEncoder.java

@ -212,7 +212,7 @@ public class StompEncoder {
private StringBuilder getStringBuilder(@Nullable StringBuilder sb, String inString, int i) { private StringBuilder getStringBuilder(@Nullable StringBuilder sb, String inString, int i) {
if (sb == null) { if (sb == null) {
sb = new StringBuilder(inString.length()); sb = new StringBuilder(inString.length());
sb.append(inString.substring(0, i)); sb.append(inString, 0, i);
} }
return sb; return sb;
} }

2
spring-test/src/main/java/org/springframework/test/web/servlet/setup/PatternMappingFilterProxy.java

@ -73,7 +73,7 @@ final class PatternMappingFilterProxy implements Filter {
private void addUrlPattern(String urlPattern) { private void addUrlPattern(String urlPattern) {
Assert.notNull(urlPattern, "Found null URL Pattern"); Assert.notNull(urlPattern, "Found null URL Pattern");
if (urlPattern.startsWith(EXTENSION_MAPPING_PATTERN)) { if (urlPattern.startsWith(EXTENSION_MAPPING_PATTERN)) {
this.endsWithMatches.add(urlPattern.substring(1, urlPattern.length())); this.endsWithMatches.add(urlPattern.substring(1));
} }
else if (urlPattern.equals(PATH_MAPPING_PATTERN)) { else if (urlPattern.equals(PATH_MAPPING_PATTERN)) {
this.startsWithMatches.add(""); this.startsWithMatches.add("");

2
spring-web/src/main/java/org/springframework/web/util/UriTemplate.java

@ -225,7 +225,7 @@ public class UriTemplate implements Serializable {
throw new IllegalArgumentException( throw new IllegalArgumentException(
"No custom regular expression specified after ':' in \"" + variable + "\""); "No custom regular expression specified after ':' in \"" + variable + "\"");
} }
String regex = variable.substring(idx + 1, variable.length()); String regex = variable.substring(idx + 1);
pattern.append('('); pattern.append('(');
pattern.append(regex); pattern.append(regex);
pattern.append(')'); pattern.append(')');

4
spring-webflux/src/main/java/org/springframework/web/reactive/result/view/RedirectView.java

@ -245,12 +245,12 @@ public class RedirectView extends AbstractUrlBasedView {
String name = matcher.group(1); String name = matcher.group(1);
Object value = (model.containsKey(name) ? model.get(name) : uriVariables.get(name)); Object value = (model.containsKey(name) ? model.get(name) : uriVariables.get(name));
Assert.notNull(value, () -> "No value for URI variable '" + name + "'"); Assert.notNull(value, () -> "No value for URI variable '" + name + "'");
result.append(targetUrl.substring(endLastMatch, matcher.start())); result.append(targetUrl, endLastMatch, matcher.start());
result.append(encodeUriVariable(value.toString())); result.append(encodeUriVariable(value.toString()));
endLastMatch = matcher.end(); endLastMatch = matcher.end();
found = matcher.find(); found = matcher.find();
} }
result.append(targetUrl.substring(endLastMatch, targetUrl.length())); result.append(targetUrl.substring(endLastMatch));
return result; return result;
} }

2
spring-webmvc/src/main/java/org/springframework/web/servlet/tags/UrlTag.java

@ -278,7 +278,7 @@ public class UrlTag extends HtmlEscapingAwareTag implements ParamAware {
} }
else { else {
if (this.context.endsWith("/")) { if (this.context.endsWith("/")) {
url.append(this.context.substring(0, this.context.length() - 1)); url.append(this.context, 0, this.context.length() - 1);
} }
else { else {
url.append(this.context); url.append(this.context);

2
spring-webmvc/src/main/java/org/springframework/web/servlet/view/RedirectView.java

@ -386,7 +386,7 @@ public class RedirectView extends AbstractUrlBasedView implements SmartView {
if (value == null) { if (value == null) {
throw new IllegalArgumentException("Model has no value for key '" + name + "'"); throw new IllegalArgumentException("Model has no value for key '" + name + "'");
} }
result.append(targetUrl.substring(endLastMatch, matcher.start())); result.append(targetUrl, endLastMatch, matcher.start());
result.append(UriUtils.encodePathSegment(value.toString(), encodingScheme)); result.append(UriUtils.encodePathSegment(value.toString(), encodingScheme));
endLastMatch = matcher.end(); endLastMatch = matcher.end();
} }

2
spring-websocket/src/main/java/org/springframework/web/socket/WebSocketExtension.java

@ -160,7 +160,7 @@ public class WebSocketExtension {
int eqIndex = parameter.indexOf('='); int eqIndex = parameter.indexOf('=');
if (eqIndex != -1) { if (eqIndex != -1) {
String attribute = parameter.substring(0, eqIndex); String attribute = parameter.substring(0, eqIndex);
String value = parameter.substring(eqIndex + 1, parameter.length()); String value = parameter.substring(eqIndex + 1);
parameters.put(attribute, value); parameters.put(attribute, value);
} }
} }

Loading…
Cancel
Save