diff --git a/spring-cloud-bindings-tests/pom.xml b/spring-cloud-bindings-tests/pom.xml index a392dac..ee1ee5d 100644 --- a/spring-cloud-bindings-tests/pom.xml +++ b/spring-cloud-bindings-tests/pom.xml @@ -32,7 +32,7 @@ org.springframework.cloud spring-cloud-bindings - ${version} + ${project.version} test diff --git a/spring-cloud-bindings/pom.xml b/spring-cloud-bindings/pom.xml index f333f61..bf5121d 100644 --- a/spring-cloud-bindings/pom.xml +++ b/spring-cloud-bindings/pom.xml @@ -136,7 +136,7 @@ ${maven-javadoc-plugin.version} true - 1.8 + 17 NonNullApi diff --git a/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/Binding.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/Binding.java index ebd707b..63c040e 100644 --- a/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/Binding.java +++ b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/Binding.java @@ -18,11 +18,11 @@ package org.springframework.cloud.bindings; import org.springframework.lang.Nullable; import java.io.IOException; -import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * A representation of a binding as defined by the @@ -79,15 +79,10 @@ public final class Binding { String provider = null; for (Map.Entry entry : secret.entrySet()) { switch (entry.getKey()) { - case TYPE: - case KIND: // TODO: Remove as CNB_BINDINGS ages out - type = entry.getValue(); - break; - case PROVIDER: - provider = entry.getValue(); - break; - default: - this.secret.put(entry.getKey(), entry.getValue()); + case TYPE, KIND -> // TODO: Remove as CNB_BINDINGS ages out + type = entry.getValue(); + case PROVIDER -> provider = entry.getValue(); + default -> this.secret.put(entry.getKey(), entry.getValue()); } } @@ -114,13 +109,12 @@ public final class Binding { return Collections.emptyMap(); } - try { - return Files.list(path) - .filter(p -> { + try (Stream paths = Files.list(path)) { + return paths.filter(p -> { try { return !Files.isHidden(p); } catch (IOException e) { - throw new IllegalStateException(String.format("unable to determine id file '%s' is hidden", p), e); + throw new IllegalStateException(String.format("unable to determine if file '%s' is hidden", p), e); } }) .filter(p -> !Files.isDirectory(p)) @@ -128,7 +122,7 @@ public final class Binding { p -> p.getFileName().toString(), p -> { try { - return new String(Files.readAllBytes(p), StandardCharsets.UTF_8).trim(); + return Files.readString(p).trim(); } catch (IOException e) { throw new IllegalStateException(String.format("unable to read file '%s'", p), e); } diff --git a/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/Bindings.java b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/Bindings.java index 4f59dd8..6e1a541 100644 --- a/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/Bindings.java +++ b/spring-cloud-bindings/src/main/java/org/springframework/cloud/bindings/Bindings.java @@ -26,6 +26,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import java.util.stream.Stream; /** @@ -81,8 +82,8 @@ public final class Bindings { throw new IllegalArgumentException(String.format("%s is not a directory", p)); } - try { - this.bindings = Files.list(p) + try (Stream paths = Files.list(p)) { + this.bindings = paths .map(Binding::new) .collect(Collectors.toList()); } catch (IOException e) {