Fixing EnvironmentEndpoints to work with new constructors. Fixes #1137

This commit is contained in:
Ryan Baxter
2022-08-29 19:33:48 -04:00
parent 17311ebfd7
commit 9eb3a08c14
3 changed files with 17 additions and 13 deletions

View File

@@ -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<SanitizingFunction> 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());
}
}

View File

@@ -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<SanitizingFunction> sanitizingFunctions,
Show showValues) {
super(environment, sanitizingFunctions, showValues);
}
}

View File

@@ -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<String> roles) {
super(endpoint, showValues, roles);
this.environment = environment;
}