public abstract class PortletApplicationContextUtils extends Object
WebApplicationContext
for
a given PortletContext
. This is useful for programmatically accessing
a Spring application context from within custom Portlet implementations.ContextLoader
,
WebApplicationContextUtils
,
FrameworkPortlet
,
DispatcherPortlet
Constructor and Description |
---|
PortletApplicationContextUtils() |
Modifier and Type | Method and Description |
---|---|
static ApplicationContext |
getRequiredWebApplicationContext(PortletContext pc)
Find the root
WebApplicationContext for this web app, typically
loaded via ContextLoaderListener . |
static ApplicationContext |
getWebApplicationContext(PortletContext pc)
Find the root
WebApplicationContext for this web app, typically
loaded via ContextLoaderListener . |
static void |
initPortletPropertySources(MutablePropertySources propertySources,
ServletContext servletContext,
PortletContext portletContext,
PortletConfig portletConfig)
Replace
Servlet - and Portlet -based stub property
sources with actual instances populated with the given servletContext ,
portletContext and portletConfig objects. |
public static ApplicationContext getWebApplicationContext(PortletContext pc)
WebApplicationContext
for this web app, typically
loaded via ContextLoaderListener
.
Will rethrow an exception that happened on root context startup, to differentiate between a failed context startup and no context at all.
pc
- PortletContext to find the web application context fornull
if none
(typed to ApplicationContext to avoid a Servlet API dependency; can usually
be casted to WebApplicationContext, but there shouldn't be a need to)WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE
public static ApplicationContext getRequiredWebApplicationContext(PortletContext pc) throws IllegalStateException
WebApplicationContext
for this web app, typically
loaded via ContextLoaderListener
.
Will rethrow an exception that happened on root context startup, to differentiate between a failed context startup and no context at all.
pc
- PortletContext to find the web application context forIllegalStateException
- if the root WebApplicationContext could not be foundWebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE
public static void initPortletPropertySources(MutablePropertySources propertySources, ServletContext servletContext, PortletContext portletContext, PortletConfig portletConfig)
Servlet
- and Portlet
-based stub property
sources
with actual instances populated with the given servletContext
,
portletContext
and portletConfig
objects.
This method is idempotent with respect to the fact it may be called any number of times but will perform replacement of stub property sources with their corresponding actual property sources once and only once.
propertySources
- the MutablePropertySources
to initialize (must not be null
)servletContext
- the current ServletContext
(ignored if null
or if the servlet context property source
has already been initialized)portletContext
- the current PortletContext
(ignored if null
or if the portlet context property source
has already been initialized)portletConfig
- the current PortletConfig
(ignored if null
or if the portlet config property source
has already been initialized)PropertySource.StubPropertySource
,
WebApplicationContextUtils.initServletPropertySources(MutablePropertySources, ServletContext)
,
ConfigurableEnvironment.getPropertySources()