From 3d623b4c7ed7332e6e5ee4dbdf40381b5c5551cf Mon Sep 17 00:00:00 2001 From: artsiom Date: Wed, 8 Aug 2018 18:40:30 +0300 Subject: [PATCH 1/3] fixing nullPointerException in FlywayEndpoint with schema baseline --- .../springframework/boot/actuate/flyway/FlywayEndpoint.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway/FlywayEndpoint.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway/FlywayEndpoint.java index f8a1c4f4977f..db76b0c37426 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway/FlywayEndpoint.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway/FlywayEndpoint.java @@ -17,9 +17,11 @@ package org.springframework.boot.actuate.flyway; import java.time.Instant; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -38,6 +40,7 @@ * @author EddĂș MelĂ©ndez * @author Phillip Webb * @author Andy Wilkinson + * @author Artsiom Yudovin * @since 2.0.0 */ @Endpoint(id = "flyway") @@ -164,9 +167,10 @@ private FlywayMigration(MigrationInfo info) { this.script = info.getScript(); this.state = info.getState(); this.installedBy = info.getInstalledBy(); - this.installedOn = Instant.ofEpochMilli(info.getInstalledOn().getTime()); this.installedRank = info.getInstalledRank(); this.executionTime = info.getExecutionTime(); + this.installedOn = Optional.ofNullable(info.getInstalledOn()) + .map(Date::getTime).map(Instant::ofEpochMilli).orElse(null); } private String nullSafeToString(Object obj) { From c21ba5cf495d15a8d518193872fe6bdb4b5375e3 Mon Sep 17 00:00:00 2001 From: artsiom Date: Wed, 8 Aug 2018 19:52:34 +0300 Subject: [PATCH 2/3] replace Optional to conditional operator --- .../boot/actuate/flyway/FlywayEndpoint.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway/FlywayEndpoint.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway/FlywayEndpoint.java index db76b0c37426..0b5ec605e62b 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway/FlywayEndpoint.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway/FlywayEndpoint.java @@ -169,8 +169,12 @@ private FlywayMigration(MigrationInfo info) { this.installedBy = info.getInstalledBy(); this.installedRank = info.getInstalledRank(); this.executionTime = info.getExecutionTime(); - this.installedOn = Optional.ofNullable(info.getInstalledOn()) - .map(Date::getTime).map(Instant::ofEpochMilli).orElse(null); + this.installedOn = toEpochMilli(info.getInstalledOn()); + } + + private Instant toEpochMilli(Date installedOn) { + return (installedOn != null) ? + Instant.ofEpochMilli(installedOn.getTime()) : null; } private String nullSafeToString(Object obj) { From 95dc6afea80a86fc15646011e9fae6cd852dcc71 Mon Sep 17 00:00:00 2001 From: artsiom Date: Wed, 8 Aug 2018 19:55:43 +0300 Subject: [PATCH 3/3] check style --- .../springframework/boot/actuate/flyway/FlywayEndpoint.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway/FlywayEndpoint.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway/FlywayEndpoint.java index 0b5ec605e62b..cad08560e7f0 100644 --- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway/FlywayEndpoint.java +++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/flyway/FlywayEndpoint.java @@ -21,7 +21,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -173,8 +172,8 @@ private FlywayMigration(MigrationInfo info) { } private Instant toEpochMilli(Date installedOn) { - return (installedOn != null) ? - Instant.ofEpochMilli(installedOn.getTime()) : null; + return (installedOn != null) ? Instant.ofEpochMilli(installedOn.getTime()) + : null; } private String nullSafeToString(Object obj) {