Skip to content

Commit 61ff3c9

Browse files
committed
Polish 'Don't detect CloudPlatform when property is set'
See gh-25455
1 parent 70f44d3 commit 61ff3c9

File tree

2 files changed

+8
-17
lines changed

2 files changed

+8
-17
lines changed

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/cloud/CloudPlatform.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,8 @@ private boolean isAutoDetected(EnumerablePropertySource<?> environmentPropertySo
140140
* @return if the platform is active.
141141
*/
142142
public boolean isActive(Environment environment) {
143-
return isEnforced(environment) || (isAutoDetectionEnabled(environment) && isDetected(environment));
143+
String platformProperty = environment.getProperty(PROPERTY_NAME);
144+
return isEnforced(platformProperty) || (platformProperty == null && isDetected(environment));
144145
}
145146

146147
/**
@@ -151,7 +152,10 @@ public boolean isActive(Environment environment) {
151152
* @since 2.3.0
152153
*/
153154
public boolean isEnforced(Environment environment) {
154-
String platform = environment.getProperty(PROPERTY_NAME);
155+
return isEnforced(environment.getProperty(PROPERTY_NAME));
156+
}
157+
158+
private boolean isEnforced(String platform) {
155159
return name().equalsIgnoreCase(platform);
156160
}
157161

@@ -164,16 +168,6 @@ public boolean isEnforced(Environment environment) {
164168
*/
165169
public abstract boolean isDetected(Environment environment);
166170

167-
/**
168-
* Determines if it is enabled that the platform is detected by looking for
169-
* platform-specific environment variables.
170-
* @param environment the environment
171-
* @return if the platform auto-detection is enabled.
172-
*/
173-
private boolean isAutoDetectionEnabled(Environment environment) {
174-
return environment.getProperty(PROPERTY_NAME) == null;
175-
}
176-
177171
/**
178172
* Returns if the platform is behind a load balancer and uses
179173
* {@literal X-Forwarded-For} headers.

spring-boot-project/spring-boot/src/test/java/org/springframework/boot/cloud/CloudPlatformTests.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@
1818

1919
import java.util.Collections;
2020
import java.util.HashMap;
21-
import java.util.List;
2221
import java.util.Map;
23-
import java.util.stream.Collectors;
2422
import java.util.stream.Stream;
2523

2624
import org.junit.jupiter.api.Test;
@@ -148,9 +146,8 @@ void isActiveWhenNoCloudPlatformIsEnforcedAndHasKubernetesServiceHostAndKubernet
148146
envVars.put("EXAMPLE_SERVICE_PORT", "8080");
149147
Environment environment = getEnvironmentWithEnvVariables(envVars);
150148
((MockEnvironment) environment).setProperty("spring.main.cloud-platform", "none");
151-
List<CloudPlatform> activeCloudPlatforms = Stream.of(CloudPlatform.values())
152-
.filter((cloudPlatform) -> cloudPlatform.isActive(environment)).collect(Collectors.toList());
153-
assertThat(activeCloudPlatforms).containsExactly(CloudPlatform.NONE);
149+
assertThat(Stream.of(CloudPlatform.values()).filter((platform) -> platform.isActive(environment)))
150+
.containsExactly(CloudPlatform.NONE);
154151
}
155152

156153
private Environment getEnvironmentWithEnvVariables(Map<String, Object> environmentVariables) {

0 commit comments

Comments
 (0)