Introduce and integrate JndiPropertySource
DefaultWebEnvironment automatically adds a JndiPropertySource if a "jndiPropertySourceEnabled" property is detected in any of the other other default property sources.
This commit is contained in:
@@ -25,6 +25,7 @@ import org.springframework.core.env.ConfigurableEnvironment;
|
||||
import org.springframework.core.env.DefaultEnvironment;
|
||||
import org.springframework.core.env.MutablePropertySources;
|
||||
import org.springframework.core.env.PropertySource;
|
||||
import org.springframework.jndi.JndiPropertySource;
|
||||
|
||||
public class DefaultWebEnvironmentTests {
|
||||
|
||||
@@ -38,4 +39,36 @@ public class DefaultWebEnvironmentTests {
|
||||
assertThat(sources.precedenceOf(PropertySource.named(DefaultEnvironment.SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME)), equalTo(3));
|
||||
assertThat(sources.size(), is(4));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void propertySourceOrder_jndiPropertySourceEnabled() {
|
||||
System.setProperty(JndiPropertySource.JNDI_PROPERTY_SOURCE_ENABLED_FLAG, "true");
|
||||
ConfigurableEnvironment env = new DefaultWebEnvironment();
|
||||
MutablePropertySources sources = env.getPropertySources();
|
||||
|
||||
assertThat(sources.precedenceOf(PropertySource.named(DefaultWebEnvironment.SERVLET_CONFIG_PROPERTY_SOURCE_NAME)), equalTo(0));
|
||||
assertThat(sources.precedenceOf(PropertySource.named(DefaultWebEnvironment.SERVLET_CONTEXT_PROPERTY_SOURCE_NAME)), equalTo(1));
|
||||
assertThat(sources.precedenceOf(PropertySource.named(JndiPropertySource.JNDI_PROPERTY_SOURCE_NAME)), equalTo(2));
|
||||
assertThat(sources.precedenceOf(PropertySource.named(DefaultEnvironment.SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME)), equalTo(3));
|
||||
assertThat(sources.precedenceOf(PropertySource.named(DefaultEnvironment.SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME)), equalTo(4));
|
||||
assertThat(sources.size(), is(5));
|
||||
|
||||
System.clearProperty(JndiPropertySource.JNDI_PROPERTY_SOURCE_ENABLED_FLAG);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void propertySourceOrder_jndiPropertySourceEnabledIsFalse() {
|
||||
System.setProperty(JndiPropertySource.JNDI_PROPERTY_SOURCE_ENABLED_FLAG, "false");
|
||||
ConfigurableEnvironment env = new DefaultWebEnvironment();
|
||||
MutablePropertySources sources = env.getPropertySources();
|
||||
|
||||
assertThat(sources.precedenceOf(PropertySource.named(DefaultWebEnvironment.SERVLET_CONFIG_PROPERTY_SOURCE_NAME)), equalTo(0));
|
||||
assertThat(sources.precedenceOf(PropertySource.named(DefaultWebEnvironment.SERVLET_CONTEXT_PROPERTY_SOURCE_NAME)), equalTo(1));
|
||||
//assertThat(sources.precedenceOf(PropertySource.named(JndiPropertySource.JNDI_PROPERTY_SOURCE_NAME)), equalTo(2));
|
||||
assertThat(sources.precedenceOf(PropertySource.named(DefaultEnvironment.SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME)), equalTo(2));
|
||||
assertThat(sources.precedenceOf(PropertySource.named(DefaultEnvironment.SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME)), equalTo(3));
|
||||
assertThat(sources.size(), is(4));
|
||||
|
||||
System.clearProperty(JndiPropertySource.JNDI_PROPERTY_SOURCE_ENABLED_FLAG);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user