Author: cziegeler
Date: Tue Mar 22 01:27:29 2005
New Revision: 158584
URL: http://svn.apache.org/viewcvs?view=rev&rev=158584
Log:
Set application context as request attribute
Modified:
cocoon/blocks/spring-app/trunk/java/org/apache/cocoon/spring/SpringComponentLocator.java
Modified:
cocoon/blocks/spring-app/trunk/java/org/apache/cocoon/spring/SpringComponentLocator.java
URL:
http://svn.apache.org/viewcvs/cocoon/blocks/spring-app/trunk/java/org/apache/cocoon/spring/SpringComponentLocator.java?view=diff&r1=158583&r2=158584
==============================================================================
---
cocoon/blocks/spring-app/trunk/java/org/apache/cocoon/spring/SpringComponentLocator.java
(original)
+++
cocoon/blocks/spring-app/trunk/java/org/apache/cocoon/spring/SpringComponentLocator.java
Tue Mar 22 01:27:29 2005
@@ -32,9 +32,15 @@
import org.apache.avalon.framework.service.Serviceable;
import org.apache.cocoon.Constants;
import org.apache.cocoon.core.Core;
+import org.apache.cocoon.environment.ObjectModelHelper;
+import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.internal.EnvironmentHelper;
import org.apache.cocoon.servlet.CocoonServlet;
import org.apache.cocoon.sitemap.ComponentLocator;
+import org.apache.cocoon.sitemap.EnterSitemapEvent;
+import org.apache.cocoon.sitemap.EnterSitemapEventListener;
+import org.apache.cocoon.sitemap.LeaveSitemapEvent;
+import org.apache.cocoon.sitemap.LeaveSitemapEventListener;
import org.apache.excalibur.source.SourceResolver;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeansException;
@@ -65,7 +71,9 @@
Serviceable,
Configurable,
Initializable,
- Disposable {
+ Disposable,
+ EnterSitemapEventListener,
+ LeaveSitemapEventListener {
protected Context context;
protected ServletContext servletContext;
@@ -291,4 +299,20 @@
return parentContext;
}
+ /**
+ * @see
org.apache.cocoon.sitemap.EnterSitemapEventListener#enteredSitemap(org.apache.cocoon.sitemap.EnterSitemapEvent)
+ */
+ public void enteredSitemap(EnterSitemapEvent event) {
+ final Request request =
ObjectModelHelper.getRequest(event.getEnvironment().getObjectModel());
+ request.setAttribute("application-context", this.wac);
+ }
+
+ /**
+ * @see
org.apache.cocoon.sitemap.LeaveSitemapEventListener#leftSitemap(org.apache.cocoon.sitemap.LeaveSitemapEvent)
+ */
+ public void leftSitemap(LeaveSitemapEvent event) {
+ // TODO We have to restore the old value!
+ final Request request =
ObjectModelHelper.getRequest(event.getEnvironment().getObjectModel());
+ request.removeAttribute("application-context");
+ }
}