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) {