From 722d760253d354df3971a523c8ae2c98198d9cf1 Mon Sep 17 00:00:00 2001 From: Oliver Gierke Date: Sun, 19 Jun 2016 09:31:04 +0200 Subject: [PATCH] #29 - Workspace.LineCallback now uses Optional as return type. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit That allows us to replace non-null checks with a simple ….ifPresent(…). --- .../org/springframework/data/release/io/Workspace.java | 10 +++------- .../data/release/misc/ReleaseOperations.java | 7 ++++--- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/release-tools/src/main/java/org/springframework/data/release/io/Workspace.java b/release-tools/src/main/java/org/springframework/data/release/io/Workspace.java index 80bc29c..9c44264 100644 --- a/release-tools/src/main/java/org/springframework/data/release/io/Workspace.java +++ b/release-tools/src/main/java/org/springframework/data/release/io/Workspace.java @@ -30,6 +30,7 @@ import java.nio.file.Path; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; import java.util.Arrays; +import java.util.Optional; import java.util.Scanner; import java.util.function.Predicate; import java.util.stream.Stream; @@ -190,12 +191,7 @@ public class Workspace { long number = 0; while (scanner.hasNextLine()) { - - String result = callback.doWith(scanner.nextLine(), number++); - - if (result != null) { - builder.append(result).append("\n"); - } + callback.doWith(scanner.nextLine(), number++).ifPresent(it -> builder.append(it).append("\n")); } writeContentToFile(filename, project, builder.toString()); @@ -229,6 +225,6 @@ public class Workspace { } public interface LineCallback { - String doWith(String line, long number); + Optional doWith(String line, long number); } } diff --git a/release-tools/src/main/java/org/springframework/data/release/misc/ReleaseOperations.java b/release-tools/src/main/java/org/springframework/data/release/misc/ReleaseOperations.java index d16f510..645003d 100644 --- a/release-tools/src/main/java/org/springframework/data/release/misc/ReleaseOperations.java +++ b/release-tools/src/main/java/org/springframework/data/release/misc/ReleaseOperations.java @@ -19,6 +19,7 @@ import lombok.RequiredArgsConstructor; import java.util.Collections; import java.util.HashSet; +import java.util.Optional; import java.util.Set; import org.springframework.data.release.git.GitOperations; @@ -83,9 +84,9 @@ public class ReleaseOperations { builder.append(line).append("\n\n"); builder.append(changelog.toString()); - return builder.toString(); + return Optional.of(builder.toString()); } else { - return line; + return Optional.of(line); } }); @@ -104,7 +105,7 @@ public class ReleaseOperations { iteration.stream().forEach(module -> { boolean processed = workspace.processFile("src/main/resources/notice.txt", module.getProject(), - (line, number) -> number != 0 ? line : module.toString()); + (line, number) -> Optional.of(number != 0 ? line : module.toString())); if (processed) { logger.log(module, "Updated notice.txt.");