From ac5eb9bfd38703ee9dae82fe2488c3b9bb5c5b8d Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Sat, 5 Nov 2022 14:51:36 +0100 Subject: [PATCH] Avoid String allocations with Assert.isTrue() --- .../aot/generate/FileSystemGeneratedFiles.java | 2 +- .../org/springframework/aot/generate/GeneratedFiles.java | 3 +-- .../messaging/rsocket/service/RSocketRequestValues.java | 4 ++-- .../orm/jpa/support/InjectionCodeGenerator.java | 6 +++--- .../java/org/springframework/http/ContentDisposition.java | 2 +- .../service/invoker/AbstractNamedValueArgumentResolver.java | 2 +- 6 files changed, 9 insertions(+), 10 deletions(-) diff --git a/spring-core/src/main/java/org/springframework/aot/generate/FileSystemGeneratedFiles.java b/spring-core/src/main/java/org/springframework/aot/generate/FileSystemGeneratedFiles.java index 33f62c5dbbb..7a6322d3001 100644 --- a/spring-core/src/main/java/org/springframework/aot/generate/FileSystemGeneratedFiles.java +++ b/spring-core/src/main/java/org/springframework/aot/generate/FileSystemGeneratedFiles.java @@ -86,7 +86,7 @@ public class FileSystemGeneratedFiles implements GeneratedFiles { Assert.notNull(content, "'content' must not be null"); Path root = this.roots.apply(kind).toAbsolutePath().normalize(); Path relativePath = root.resolve(path).toAbsolutePath().normalize(); - Assert.isTrue(relativePath.startsWith(root), () -> "'path' must be relative"); + Assert.isTrue(relativePath.startsWith(root), "'path' must be relative"); try { try (InputStream inputStream = content.getInputStream()) { Files.createDirectories(relativePath.getParent()); diff --git a/spring-core/src/main/java/org/springframework/aot/generate/GeneratedFiles.java b/spring-core/src/main/java/org/springframework/aot/generate/GeneratedFiles.java index c80171e035a..411ec8b46ba 100644 --- a/spring-core/src/main/java/org/springframework/aot/generate/GeneratedFiles.java +++ b/spring-core/src/main/java/org/springframework/aot/generate/GeneratedFiles.java @@ -161,8 +161,7 @@ public interface GeneratedFiles { private static String getClassNamePath(String className) { Assert.hasLength(className, "'className' must not be empty"); - Assert.isTrue(isJavaIdentifier(className), - "'className' must be a valid identifier"); + Assert.isTrue(isJavaIdentifier(className), "'className' must be a valid identifier"); return ClassUtils.convertClassNameToResourcePath(className) + ".java"; } diff --git a/spring-messaging/src/main/java/org/springframework/messaging/rsocket/service/RSocketRequestValues.java b/spring-messaging/src/main/java/org/springframework/messaging/rsocket/service/RSocketRequestValues.java index 4ea1e38d9e9..6675189c407 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/rsocket/service/RSocketRequestValues.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/rsocket/service/RSocketRequestValues.java @@ -241,12 +241,12 @@ public final class RSocketRequestValues { private final List mimeTypes = new ArrayList<>(); public void addMetadata(Object metadata) { - Assert.isTrue(this.metadata.size() == this.mimeTypes.size(), "Invalid state: " + this); + Assert.isTrue(this.metadata.size() == this.mimeTypes.size(), () -> "Invalid state: " + this); this.metadata.add(metadata); } public void addMimeType(MimeType mimeType) { - Assert.isTrue(this.metadata.size() == (this.mimeTypes.size() + 1), "Invalid state: " + this); + Assert.isTrue(this.metadata.size() == (this.mimeTypes.size() + 1), () -> "Invalid state: " + this); this.mimeTypes.add(mimeType); } diff --git a/spring-orm/src/main/java/org/springframework/orm/jpa/support/InjectionCodeGenerator.java b/spring-orm/src/main/java/org/springframework/orm/jpa/support/InjectionCodeGenerator.java index bd16b52b5cc..f1fb64cb0f4 100644 --- a/spring-orm/src/main/java/org/springframework/orm/jpa/support/InjectionCodeGenerator.java +++ b/spring-orm/src/main/java/org/springframework/orm/jpa/support/InjectionCodeGenerator.java @@ -52,8 +52,8 @@ class InjectionCodeGenerator { InjectionCodeGenerator(ClassName targetClassName, RuntimeHints hints) { - Assert.notNull(hints, "TargetClassName must not be null"); - Assert.notNull(hints, "Hints must not be null"); + Assert.notNull(hints, "ClassName must not be null"); + Assert.notNull(hints, "RuntimeHints must not be null"); this.targetClassName = targetClassName; this.hints = hints; } @@ -97,7 +97,7 @@ class InjectionCodeGenerator { CodeBlock resourceToInject) { Assert.isTrue(method.getParameterCount() == 1, - "Method '" + method.getName() + "' must declare a single parameter"); + () -> "Method '" + method.getName() + "' must declare a single parameter"); CodeBlock.Builder code = CodeBlock.builder(); AccessControl accessControl = AccessControl.forMember(method); if (!accessControl.isAccessibleFrom(this.targetClassName)) { diff --git a/spring-web/src/main/java/org/springframework/http/ContentDisposition.java b/spring-web/src/main/java/org/springframework/http/ContentDisposition.java index 0da712c16cc..ea97e92e6c2 100644 --- a/spring-web/src/main/java/org/springframework/http/ContentDisposition.java +++ b/spring-web/src/main/java/org/springframework/http/ContentDisposition.java @@ -534,7 +534,7 @@ public final class ContentDisposition { * @see RFC 2047 */ private static String decodeQuotedPrintableFilename(String filename, Charset charset) { - Assert.notNull(filename, "'input' String` should not be null"); + Assert.notNull(filename, "'input' String should not be null"); Assert.notNull(charset, "'charset' should not be null"); byte[] value = filename.getBytes(US_ASCII); diff --git a/spring-web/src/main/java/org/springframework/web/service/invoker/AbstractNamedValueArgumentResolver.java b/spring-web/src/main/java/org/springframework/web/service/invoker/AbstractNamedValueArgumentResolver.java index 709d73adcbd..c51edffe91b 100644 --- a/spring-web/src/main/java/org/springframework/web/service/invoker/AbstractNamedValueArgumentResolver.java +++ b/spring-web/src/main/java/org/springframework/web/service/invoker/AbstractNamedValueArgumentResolver.java @@ -186,7 +186,7 @@ public abstract class AbstractNamedValueArgumentResolver implements HttpServiceA } if (value == null) { - Assert.isTrue(!required, "Missing " + valueLabel + " value '" + name + "'"); + Assert.isTrue(!required, () -> "Missing " + valueLabel + " value '" + name + "'"); return; }