From 9eb3a08c148762502fbb35aa458031d556d1bc62 Mon Sep 17 00:00:00 2001 From: Ryan Baxter Date: Mon, 29 Aug 2022 19:33:48 -0400 Subject: [PATCH] Fixing EnvironmentEndpoints to work with new constructors. Fixes #1137 --- ...tableEnvironmentEndpointAutoConfiguration.java | 15 +++++++-------- .../environment/WritableEnvironmentEndpoint.java | 7 +++++-- .../WritableEnvironmentEndpointWebExtension.java | 8 +++++--- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/WritableEnvironmentEndpointAutoConfiguration.java b/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/WritableEnvironmentEndpointAutoConfiguration.java index cf088038..3efcfa28 100644 --- a/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/WritableEnvironmentEndpointAutoConfiguration.java +++ b/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/WritableEnvironmentEndpointAutoConfiguration.java @@ -16,9 +16,11 @@ package org.springframework.cloud.autoconfigure; +import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint; import org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.env.EnvironmentEndpointProperties; +import org.springframework.boot.actuate.endpoint.SanitizingFunction; import org.springframework.boot.actuate.env.EnvironmentEndpoint; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.boot.autoconfigure.AutoConfigureBefore; @@ -60,20 +62,17 @@ public class WritableEnvironmentEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnAvailableEndpoint - public WritableEnvironmentEndpoint writableEnvironmentEndpoint(Environment environment) { - WritableEnvironmentEndpoint endpoint = new WritableEnvironmentEndpoint(environment); - String[] keysToSanitize = this.properties.getKeysToSanitize(); - if (keysToSanitize != null) { - endpoint.setKeysToSanitize(keysToSanitize); - } - return endpoint; + public WritableEnvironmentEndpoint writableEnvironmentEndpoint(Environment environment, + ObjectProvider sanitizingFunctions) { + return new WritableEnvironmentEndpoint(environment, sanitizingFunctions, this.properties.getShowValues()); } @Bean @ConditionalOnAvailableEndpoint public WritableEnvironmentEndpointWebExtension writableEnvironmentEndpointWebExtension( WritableEnvironmentEndpoint endpoint, EnvironmentManager environment) { - return new WritableEnvironmentEndpointWebExtension(endpoint, environment); + return new WritableEnvironmentEndpointWebExtension(endpoint, environment, this.properties.getShowValues(), + this.properties.getRoles()); } } diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/context/environment/WritableEnvironmentEndpoint.java b/spring-cloud-context/src/main/java/org/springframework/cloud/context/environment/WritableEnvironmentEndpoint.java index da44a58f..0347a408 100644 --- a/spring-cloud-context/src/main/java/org/springframework/cloud/context/environment/WritableEnvironmentEndpoint.java +++ b/spring-cloud-context/src/main/java/org/springframework/cloud/context/environment/WritableEnvironmentEndpoint.java @@ -16,6 +16,8 @@ package org.springframework.cloud.context.environment; +import org.springframework.boot.actuate.endpoint.SanitizingFunction; +import org.springframework.boot.actuate.endpoint.Show; import org.springframework.boot.actuate.env.EnvironmentEndpoint; import org.springframework.core.env.Environment; @@ -28,8 +30,9 @@ import org.springframework.core.env.Environment; */ public class WritableEnvironmentEndpoint extends EnvironmentEndpoint { - public WritableEnvironmentEndpoint(Environment environment) { - super(environment); + public WritableEnvironmentEndpoint(Environment environment, Iterable sanitizingFunctions, + Show showValues) { + super(environment, sanitizingFunctions, showValues); } } diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/context/environment/WritableEnvironmentEndpointWebExtension.java b/spring-cloud-context/src/main/java/org/springframework/cloud/context/environment/WritableEnvironmentEndpointWebExtension.java index 135038d5..3d2f0130 100644 --- a/spring-cloud-context/src/main/java/org/springframework/cloud/context/environment/WritableEnvironmentEndpointWebExtension.java +++ b/spring-cloud-context/src/main/java/org/springframework/cloud/context/environment/WritableEnvironmentEndpointWebExtension.java @@ -18,7 +18,9 @@ package org.springframework.cloud.context.environment; import java.util.Collections; import java.util.Map; +import java.util.Set; +import org.springframework.boot.actuate.endpoint.Show; import org.springframework.boot.actuate.endpoint.annotation.DeleteOperation; import org.springframework.boot.actuate.endpoint.annotation.WriteOperation; import org.springframework.boot.actuate.endpoint.web.annotation.EndpointWebExtension; @@ -36,9 +38,9 @@ public class WritableEnvironmentEndpointWebExtension extends EnvironmentEndpoint private EnvironmentManager environment; - public WritableEnvironmentEndpointWebExtension(WritableEnvironmentEndpoint endpoint, - EnvironmentManager environment) { - super(endpoint); + public WritableEnvironmentEndpointWebExtension(WritableEnvironmentEndpoint endpoint, EnvironmentManager environment, + Show showValues, Set roles) { + super(endpoint, showValues, roles); this.environment = environment; }