From 3c5036bd6fbeec611a84ba37096477e540fe7576 Mon Sep 17 00:00:00 2001 From: Tim te Beek Date: Sat, 14 Jun 2025 20:20:51 +0000 Subject: [PATCH] refactor: Adopt Java 17 language features Use this link to re-run the recipe: https://app.moderne.io/builder/vxk6TUk8P?organizationId=NDAwOWYzMTAtY2NmMS00Mzk2LWJlZjctYzg2OWY0Zjk1ZDhi Co-authored-by: Moderne Signed-off-by: Tim te Beek --- .../data/release/CustomShellComponent.java | 12 +++++----- .../data/release/build/BuildCommands.java | 2 +- .../data/release/build/MavenBuildSystem.java | 4 ++-- .../data/release/build/MavenRuntime.java | 4 ++-- .../release/deployment/ArtifactoryClient.java | 22 +++++++++++++++---- .../documentation/DocumentationCommands.java | 2 +- .../data/release/git/GitOperations.java | 10 ++++----- .../data/release/git/VersionTags.java | 4 ++-- .../release/infra/DependencyCommands.java | 8 +++---- .../release/infra/DependencyOperations.java | 4 ++-- .../release/infra/InfrastructureCommands.java | 4 ++-- .../infra/InfrastructureOperations.java | 4 ++-- .../data/release/issues/github/GitHub.java | 2 +- 13 files changed, 48 insertions(+), 34 deletions(-) diff --git a/src/main/java/org/springframework/data/release/CustomShellComponent.java b/src/main/java/org/springframework/data/release/CustomShellComponent.java index bbd4efad..ce6e55e8 100644 --- a/src/main/java/org/springframework/data/release/CustomShellComponent.java +++ b/src/main/java/org/springframework/data/release/CustomShellComponent.java @@ -65,8 +65,8 @@ public Object execute(ParseResult parseResult) throws RuntimeException { synchronized (mutex) { Assert.isTrue(isReadyForCommands(), "SimpleExecutionStrategy not yet ready for commands"); Object target = parseResult.getInstance(); - if (target instanceof ExecutionProcessor) { - ExecutionProcessor processor = ((ExecutionProcessor) target); + if (target instanceof ExecutionProcessor executionProcessor) { + ExecutionProcessor processor = executionProcessor; parseResult = processor.beforeInvocation(parseResult); try { Object result = invoke(parseResult); @@ -94,11 +94,11 @@ private Object invoke(ParseResult parseResult) { } private Object handleThrowable(Throwable th) { - if (th instanceof Error) { - throw ((Error) th); + if (th instanceof Error error) { + throw error; } - if (th instanceof RuntimeException) { - throw ((RuntimeException) th); + if (th instanceof RuntimeException exception) { + throw exception; } throw new RuntimeException(th); } diff --git a/src/main/java/org/springframework/data/release/build/BuildCommands.java b/src/main/java/org/springframework/data/release/build/BuildCommands.java index 406a1be4..c8d6568d 100644 --- a/src/main/java/org/springframework/data/release/build/BuildCommands.java +++ b/src/main/java/org/springframework/data/release/build/BuildCommands.java @@ -80,7 +80,7 @@ public void build(@CliOption(key = "", mandatory = true) TrainIteration iteratio project.ifPresent(it -> build.triggerBuild(iteration.getModule(it))); - if (!project.isPresent()) { + if (project.isEmpty()) { build.build(iteration); } } diff --git a/src/main/java/org/springframework/data/release/build/MavenBuildSystem.java b/src/main/java/org/springframework/data/release/build/MavenBuildSystem.java index a2065dda..a2dbdb0d 100644 --- a/src/main/java/org/springframework/data/release/build/MavenBuildSystem.java +++ b/src/main/java/org/springframework/data/release/build/MavenBuildSystem.java @@ -496,8 +496,8 @@ public M triggerDistributionBuild(M module) { return module; } - DefaultDeploymentInformation deploymentInformation = module instanceof ModuleIteration - ? new DefaultDeploymentInformation((ModuleIteration) module, properties) + DefaultDeploymentInformation deploymentInformation = module instanceof ModuleIteration mi + ? new DefaultDeploymentInformation(mi, properties) : null; logger.log(project, "Triggering distribution build…"); diff --git a/src/main/java/org/springframework/data/release/build/MavenRuntime.java b/src/main/java/org/springframework/data/release/build/MavenRuntime.java index 153a8b9c..294abb99 100644 --- a/src/main/java/org/springframework/data/release/build/MavenRuntime.java +++ b/src/main/java/org/springframework/data/release/build/MavenRuntime.java @@ -106,8 +106,8 @@ public MavenInvocationResult execute(SupportedProject project, CommandLine argum return invocationResult; } catch (Exception e) { - if (e instanceof RuntimeException) { - throw (RuntimeException) e; + if (e instanceof RuntimeException exception) { + throw exception; } throw new RuntimeException(e); } diff --git a/src/main/java/org/springframework/data/release/deployment/ArtifactoryClient.java b/src/main/java/org/springframework/data/release/deployment/ArtifactoryClient.java index aaa901fc..0a13dfe6 100644 --- a/src/main/java/org/springframework/data/release/deployment/ArtifactoryClient.java +++ b/src/main/java/org/springframework/data/release/deployment/ArtifactoryClient.java @@ -151,10 +151,24 @@ public void distributeRelease(TrainIteration train, String releaseName, String v HttpHeaders headers = new HttpHeaders(); headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE); - String body = "{\n" + "\t\"auto_create_missing_repositories\": \"false\",\n" + "\t\"distribution_rules\": [\n" - + "\t\t{\n" + "\t\t\t\"site_name\": \"JP-SaaS\"\n" + "\t\t}\n" + "\t],\n" + "\t\"modifications\": {\n" - + "\t\t\"mappings\": [\n" + "\t\t\t{\n" + "\t\t\t\t\"input\": \"spring-enterprise-maven-prod-local/(.*)\",\n" - + "\t\t\t\t\"output\": \"spring-enterprise/$1\"\n" + "\t\t\t}\n" + "\t\t]\n" + "\t}\n" + "}"; + String body = """ + { + "auto_create_missing_repositories": "false", + "distribution_rules": [ + { + "site_name": "JP-SaaS" + } + ], + "modifications": { + "mappings": [ + { + "input": "spring-enterprise-maven-prod-local/(.*)", + "output": "spring-enterprise/$1" + } + ] + } + }\ + """; HttpEntity entity = new HttpEntity<>(body, headers); Map parameters = new LinkedHashMap<>(); diff --git a/src/main/java/org/springframework/data/release/documentation/DocumentationCommands.java b/src/main/java/org/springframework/data/release/documentation/DocumentationCommands.java index 3e15b091..df1fc3fb 100644 --- a/src/main/java/org/springframework/data/release/documentation/DocumentationCommands.java +++ b/src/main/java/org/springframework/data/release/documentation/DocumentationCommands.java @@ -81,7 +81,7 @@ public Table checkLinks(@CliOption(key = "", mandatory = true) TrainIteration it return path.map(it -> operations.checkDocumentation(module.getProject(), it)); }); - return render(optionals.stream().filter(Optional::isPresent).map(Optional::get).collect(Collectors.toList()), + return render(optionals.stream().flatMap(Optional::stream).collect(Collectors.toList()), options); } diff --git a/src/main/java/org/springframework/data/release/git/GitOperations.java b/src/main/java/org/springframework/data/release/git/GitOperations.java index 6b4ee1d5..a4776d09 100644 --- a/src/main/java/org/springframework/data/release/git/GitOperations.java +++ b/src/main/java/org/springframework/data/release/git/GitOperations.java @@ -175,7 +175,7 @@ private Branch getBranch(Train train, org.springframework.data.release.model.Mod ModuleIteration gaIteration = train.getModuleIteration(project.getProject(), Iteration.GA); Optional gaTag = findTagFor(project, ArtifactVersion.of(gaIteration)); - if (!gaTag.isPresent()) { + if (gaTag.isEmpty()) { logger.log(project, "Checking out main branch as no GA release tag could be found!"); } @@ -611,7 +611,7 @@ protected ObjectId resolveLowerBoundary(SupportStatus supportStatus, Project pro Optional fromTag = tags.filter(iteration.getTrain()).findTag(it); - if (!fromTag.isPresent()) { + if (fromTag.isEmpty()) { // commercial releases might not have a previous tag as commercial releases are seeded without OSS tags. if (supportStatus == SupportStatus.COMMERCIAL && (it.isServiceIteration() || it.isGAIteration())) { @@ -1020,7 +1020,7 @@ public void removeTags(TrainIteration iteration) { Optional tag = findTagFor(project, artifactVersion); - if (!tag.isPresent()) { + if (tag.isEmpty()) { logger.log(module, "No tag %s found project %s, skipping.", artifactVersion, project); return; } @@ -1335,8 +1335,8 @@ public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCreden } for (CredentialItem item : items) { - if (item instanceof CharArrayType) { - ((CharArrayType) item).setValueNoCopy(gpg.getPassphrase().toString().toCharArray()); + if (item instanceof CharArrayType type) { + type.setValueNoCopy(gpg.getPassphrase().toString().toCharArray()); return true; } diff --git a/src/main/java/org/springframework/data/release/git/VersionTags.java b/src/main/java/org/springframework/data/release/git/VersionTags.java index 04c4e90e..3b363bbd 100644 --- a/src/main/java/org/springframework/data/release/git/VersionTags.java +++ b/src/main/java/org/springframework/data/release/git/VersionTags.java @@ -160,14 +160,14 @@ Map withIterations() { for (Tag tag : tags) { Optional artifactVersion = tag.getArtifactVersion(); - if (!artifactVersion.isPresent()) { + if (artifactVersion.isEmpty()) { continue; } ArtifactVersion version = artifactVersion.get(); Optional iteration = toIteration(version); - if (!iteration.isPresent()) { + if (iteration.isEmpty()) { continue; } diff --git a/src/main/java/org/springframework/data/release/infra/DependencyCommands.java b/src/main/java/org/springframework/data/release/infra/DependencyCommands.java index 47b4cbdf..18d742f0 100644 --- a/src/main/java/org/springframework/data/release/infra/DependencyCommands.java +++ b/src/main/java/org/springframework/data/release/infra/DependencyCommands.java @@ -22,7 +22,7 @@ import java.io.FileInputStream; import java.io.IOException; import java.nio.file.Files; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.List; import java.util.Map; import java.util.Properties; @@ -139,7 +139,7 @@ public void upgrade(@CliOption(key = "", mandatory = true) TrainIteration iterat private DependencyVersions loadDependencyUpgrades(ModuleIteration iteration) throws IOException { - if (!Files.exists(Paths.get(BUILD_PROPERTIES))) { + if (!Files.exists(Path.of(BUILD_PROPERTIES))) { logger.log(iteration, "Cannot upgrade dependencies: " + BUILD_PROPERTIES + " does not exist."); } @@ -168,7 +168,7 @@ private void checkModuleDependencies(TrainIteration iteration, boolean reportAll proposals = proposals.mergeWith(operations.getDependencyUpgradeProposals(project, iteration.getIteration())); } - Files.write(Paths.get(propertiesFile), proposals.asProperties(iteration).getBytes()); + Files.write(Path.of(propertiesFile), proposals.asProperties(iteration).getBytes()); Table summary = proposals.toTable(reportAll); @@ -188,7 +188,7 @@ private void checkBuildDependencies(TrainIteration iteration, boolean reportAll, SupportedProject project = iteration.getSupportedProject(Projects.BUILD); DependencyUpgradeProposals proposals = operations.getDependencyUpgradeProposals(project, iteration.getIteration()); - Files.write(Paths.get(propertiesFile), proposals.asProperties(iteration).getBytes()); + Files.write(Path.of(propertiesFile), proposals.asProperties(iteration).getBytes()); Table summary = proposals.toTable(reportAll); diff --git a/src/main/java/org/springframework/data/release/infra/DependencyOperations.java b/src/main/java/org/springframework/data/release/infra/DependencyOperations.java index 8b390cc6..4a56702b 100644 --- a/src/main/java/org/springframework/data/release/infra/DependencyOperations.java +++ b/src/main/java/org/springframework/data/release/infra/DependencyOperations.java @@ -541,8 +541,8 @@ List getAvailableVersions(Dependency dependency) { } catch (Exception o_O) { - if (o_O instanceof HttpClientErrorException) { - if (((HttpClientErrorException) o_O).getStatusCode() == HttpStatus.NOT_FOUND) { + if (o_O instanceof HttpClientErrorException exception) { + if (exception.getStatusCode() == HttpStatus.NOT_FOUND) { return Collections.emptyList(); } } diff --git a/src/main/java/org/springframework/data/release/infra/InfrastructureCommands.java b/src/main/java/org/springframework/data/release/infra/InfrastructureCommands.java index 84b5f0b5..fa2c8535 100644 --- a/src/main/java/org/springframework/data/release/infra/InfrastructureCommands.java +++ b/src/main/java/org/springframework/data/release/infra/InfrastructureCommands.java @@ -21,7 +21,7 @@ import java.io.IOException; import java.nio.file.Files; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.List; import org.apache.commons.io.IOUtils; @@ -79,7 +79,7 @@ public void check(@CliOption(key = "", mandatory = true) TrainIteration iteratio DependencyUpgradeProposals proposals = operations.getMavenWrapperDependencyUpgradeProposals(iteration); - Files.write(Paths.get(InfrastructureOperations.MAVEN_PROPERTIES), proposals.asProperties(iteration).getBytes()); + Files.write(Path.of(InfrastructureOperations.MAVEN_PROPERTIES), proposals.asProperties(iteration).getBytes()); Table summary = proposals.toTable(reportAll == null ? false : reportAll); diff --git a/src/main/java/org/springframework/data/release/infra/InfrastructureOperations.java b/src/main/java/org/springframework/data/release/infra/InfrastructureOperations.java index 951e7773..dfd74ddc 100644 --- a/src/main/java/org/springframework/data/release/infra/InfrastructureOperations.java +++ b/src/main/java/org/springframework/data/release/infra/InfrastructureOperations.java @@ -23,7 +23,7 @@ import java.io.File; import java.io.FileInputStream; import java.nio.file.Files; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -160,7 +160,7 @@ public void upgradeMavenVersion(TrainIteration iteration) { @SneakyThrows private DependencyVersions loadDependencyUpgrades(TrainIteration iteration) { - if (!Files.exists(Paths.get(MAVEN_PROPERTIES))) { + if (!Files.exists(Path.of(MAVEN_PROPERTIES))) { logger.log(iteration, "Cannot upgrade dependencies: " + MAVEN_PROPERTIES + " does not exist."); } diff --git a/src/main/java/org/springframework/data/release/issues/github/GitHub.java b/src/main/java/org/springframework/data/release/issues/github/GitHub.java index 72137c2c..ce5b6ab1 100644 --- a/src/main/java/org/springframework/data/release/issues/github/GitHub.java +++ b/src/main/java/org/springframework/data/release/issues/github/GitHub.java @@ -777,7 +777,7 @@ private Stream getIssuesFor(ModuleIteration moduleIteration, bo Optional optionalMilestone = findMilestone(moduleIteration); - if (ignoreMissingMilestone && !optionalMilestone.isPresent()) { + if (ignoreMissingMilestone && optionalMilestone.isEmpty()) { return Stream.empty(); }