Browse Source

Changes along with 3.1.3 backport

Aside from minor polishing, this change sets the "systemProperties" and "systemEnvironment" beans at each factory level as well.

Issue: SPR-9756
Issue: SPR-9764
pull/134/merge
Juergen Hoeller 14 years ago committed by unknown
parent
commit
014f7f0242
  1. 8
      spring-context/src/main/java/org/springframework/context/support/AbstractApplicationContext.java
  2. 8
      spring-context/src/test/java/org/springframework/context/support/EnvironmentIntegrationTests.java
  3. 2
      spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/FrameworkPortlet.java
  4. 2
      spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/GenericPortletBean.java
  5. 2
      spring-webmvc/src/main/java/org/springframework/web/servlet/FrameworkServlet.java
  6. 2
      spring-webmvc/src/main/java/org/springframework/web/servlet/HttpServletBean.java

8
spring-context/src/main/java/org/springframework/context/support/AbstractApplicationContext.java

@ -398,7 +398,7 @@ public abstract class AbstractApplicationContext extends DefaultResourceLoader @@ -398,7 +398,7 @@ public abstract class AbstractApplicationContext extends DefaultResourceLoader
if (parent != null) {
Environment parentEnvironment = parent.getEnvironment();
if (parentEnvironment instanceof ConfigurableEnvironment) {
getEnvironment().merge((ConfigurableEnvironment)parentEnvironment);
getEnvironment().merge((ConfigurableEnvironment) parentEnvironment);
}
}
}
@ -578,12 +578,10 @@ public abstract class AbstractApplicationContext extends DefaultResourceLoader @@ -578,12 +578,10 @@ public abstract class AbstractApplicationContext extends DefaultResourceLoader
if (!beanFactory.containsLocalBean(ENVIRONMENT_BEAN_NAME)) {
beanFactory.registerSingleton(ENVIRONMENT_BEAN_NAME, getEnvironment());
}
if (!beanFactory.containsBean(SYSTEM_PROPERTIES_BEAN_NAME)) {
if (!beanFactory.containsLocalBean(SYSTEM_PROPERTIES_BEAN_NAME)) {
beanFactory.registerSingleton(SYSTEM_PROPERTIES_BEAN_NAME, getEnvironment().getSystemProperties());
}
if (!beanFactory.containsBean(SYSTEM_ENVIRONMENT_BEAN_NAME)) {
if (!beanFactory.containsLocalBean(SYSTEM_ENVIRONMENT_BEAN_NAME)) {
beanFactory.registerSingleton(SYSTEM_ENVIRONMENT_BEAN_NAME, getEnvironment().getSystemEnvironment());
}
}

8
spring-context/src/test/java/org/springframework/context/support/EnvironmentIntegrationTests.java

@ -17,19 +17,18 @@ @@ -17,19 +17,18 @@
package org.springframework.context.support;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.Environment;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
/**
* Tests covering the integration of {@link Environment} into {@link ApplicationContext}
* hierarchies.
* Tests covering the integration of {@link Environment} into {@link ApplicationContext} hierarchies.
*
* @author Chris Beams
*/
@ -51,4 +50,5 @@ public class EnvironmentIntegrationTests { @@ -51,4 +50,5 @@ public class EnvironmentIntegrationTests {
sameInstance(child.getEnvironment())));
assertThat("expected child ctx env", env, sameInstance(child.getEnvironment()));
}
}

2
spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/FrameworkPortlet.java

@ -345,7 +345,7 @@ public abstract class FrameworkPortlet extends GenericPortletBean @@ -345,7 +345,7 @@ public abstract class FrameworkPortlet extends GenericPortletBean
pac.setId(ConfigurablePortletApplicationContext.APPLICATION_CONTEXT_ID_PREFIX + getPortletName());
}
pac.setEnvironment(this.getEnvironment());
pac.setEnvironment(getEnvironment());
pac.setParent(parent);
pac.setPortletContext(getPortletContext());
pac.setPortletConfig(getPortletConfig());

2
spring-webmvc-portlet/src/main/java/org/springframework/web/portlet/GenericPortletBean.java

@ -111,7 +111,7 @@ public abstract class GenericPortletBean extends GenericPortlet @@ -111,7 +111,7 @@ public abstract class GenericPortletBean extends GenericPortlet
PropertyValues pvs = new PortletConfigPropertyValues(getPortletConfig(), this.requiredProperties);
BeanWrapper bw = PropertyAccessorFactory.forBeanPropertyAccess(this);
ResourceLoader resourceLoader = new PortletContextResourceLoader(getPortletContext());
bw.registerCustomEditor(Resource.class, new ResourceEditor(resourceLoader, this.getEnvironment()));
bw.registerCustomEditor(Resource.class, new ResourceEditor(resourceLoader, getEnvironment()));
initBeanWrapper(bw);
bw.setPropertyValues(pvs, true);
}

2
spring-webmvc/src/main/java/org/springframework/web/servlet/FrameworkServlet.java

@ -590,7 +590,7 @@ public abstract class FrameworkServlet extends HttpServletBean { @@ -590,7 +590,7 @@ public abstract class FrameworkServlet extends HttpServletBean {
ConfigurableWebApplicationContext wac =
(ConfigurableWebApplicationContext) BeanUtils.instantiateClass(contextClass);
wac.setEnvironment(this.getEnvironment());
wac.setEnvironment(getEnvironment());
wac.setParent(parent);
wac.setConfigLocation(getContextConfigLocation());

2
spring-webmvc/src/main/java/org/springframework/web/servlet/HttpServletBean.java

@ -125,7 +125,7 @@ public abstract class HttpServletBean extends HttpServlet @@ -125,7 +125,7 @@ public abstract class HttpServletBean extends HttpServlet
PropertyValues pvs = new ServletConfigPropertyValues(getServletConfig(), this.requiredProperties);
BeanWrapper bw = PropertyAccessorFactory.forBeanPropertyAccess(this);
ResourceLoader resourceLoader = new ServletContextResourceLoader(getServletContext());
bw.registerCustomEditor(Resource.class, new ResourceEditor(resourceLoader, this.getEnvironment()));
bw.registerCustomEditor(Resource.class, new ResourceEditor(resourceLoader, getEnvironment()));
initBeanWrapper(bw);
bw.setPropertyValues(pvs, true);
}

Loading…
Cancel
Save