You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2005/03/14 10:02:33 UTC

svn commit: r157410 - lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseCronJob.java

Author: andreas
Date: Mon Mar 14 01:02:31 2005
New Revision: 157410

URL: http://svn.apache.org/viewcvs?view=rev&rev=157410
Log:
usecase cron job initializes request in object model with original URL

Modified:
    lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseCronJob.java

Modified: lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseCronJob.java
URL: http://svn.apache.org/viewcvs/lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseCronJob.java?view=diff&r1=157409&r2=157410
==============================================================================
--- lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseCronJob.java (original)
+++ lenya/trunk/src/java/org/apache/lenya/cms/usecase/UsecaseCronJob.java Mon Mar 14 01:02:31 2005
@@ -17,6 +17,7 @@
 package org.apache.lenya.cms.usecase;
 
 import java.util.Collections;
+import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -28,11 +29,16 @@
 import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceSelector;
+import org.apache.cocoon.Cocoon;
+import org.apache.cocoon.components.CocoonComponentManager;
 import org.apache.cocoon.components.ContextHelper;
 import org.apache.cocoon.components.cron.ConfigurableCronJob;
 import org.apache.cocoon.components.cron.ServiceableCronJob;
+import org.apache.cocoon.environment.Environment;
+import org.apache.cocoon.environment.ObjectModelHelper;
 import org.apache.cocoon.environment.Request;
 import org.apache.cocoon.environment.Session;
+import org.apache.cocoon.environment.commandline.CommandLineRequest;
 import org.apache.lenya.ac.AccessControlException;
 import org.apache.lenya.ac.AccessController;
 import org.apache.lenya.ac.AccessControllerResolver;
@@ -95,6 +101,26 @@
         Usecase usecase = null;
         try {
 
+            Environment env = CocoonComponentManager.getCurrentEnvironment();
+
+            Request request = ContextHelper.getRequest(this.context);
+            Map attributes = new HashMap();
+            for (Enumeration e = request.getAttributeNames(); e.hasMoreElements();) {
+                String key = (String) e.nextElement();
+                attributes.put(key, request.getAttribute(key));
+            }
+
+            Map requestParameters = new HashMap();
+            for (Enumeration e = request.getParameterNames(); e.hasMoreElements();) {
+                String key = (String) e.nextElement();
+                requestParameters.put(key, request.getParameter(key));
+            }
+
+            Map objectModel = ContextHelper.getObjectModel(this.context);
+            objectModel.put(ObjectModelHelper.REQUEST_OBJECT, new CommandLineRequest(env, request
+                    .getContextPath(), request.getServletPath(), getSourceURL(), attributes,
+                    requestParameters));
+
             authorizeRequest();
 
             resolver = (UsecaseResolver) this.manager.lookup(UsecaseResolver.ROLE);
@@ -173,11 +199,11 @@
                     .getAccreditableManager().getUserManager();
             if (this.userId != null) {
                 User user = userManager.getUser(this.userId);
-                
+
                 if (user == null) {
                     throw new RuntimeException("User [" + this.userId + "] does not exist!");
                 }
-                
+
                 identity.addIdentifiable(user);
             }
             if (this.machineIp != null) {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org