You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by un...@apache.org on 2004/09/22 18:37:31 UTC

svn commit: rev 47062 - cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron

Author: unico
Date: Wed Sep 22 09:37:29 2004
New Revision: 47062

Modified:
   cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzDriverDelegate.java
   cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobExecutor.java
   cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobScheduler.java
   cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobStoreCMT.java
   cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobStoreTX.java
   cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/TestCronJob.java
Log:
pass the application context instead of the environment context 
and remove and add transient context object to the data map

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzDriverDelegate.java
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzDriverDelegate.java	(original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzDriverDelegate.java	Wed Sep 22 09:37:29 2004
@@ -15,10 +15,10 @@
  */
 package org.apache.cocoon.components.cron;
 
+import org.apache.avalon.framework.context.Context;
 import org.apache.avalon.framework.logger.Logger;
 import org.apache.avalon.framework.service.ServiceManager;
-
-import org.apache.cocoon.environment.Context;
+import org.apache.cocoon.Constants;
 
 import org.quartz.Calendar;
 import org.quartz.CronTrigger;
@@ -89,8 +89,8 @@
         if (map != null) {
             this.logger.debug("QuartzDriverDelegate: Removing transient data");
             map.remove(QuartzJobScheduler.DATA_MAP_LOGGER);
+            map.remove(QuartzJobScheduler.DATA_MAP_CONTEXT);
             map.remove(QuartzJobScheduler.DATA_MAP_MANAGER);
-            map.remove(QuartzJobScheduler.DATA_MAP_ENV_CONTEXT);
         }
     }
 
@@ -104,8 +104,8 @@
             if (map != null) {
                 this.logger.debug("QuartzDriverDelegate: Adding transient data");
                 map.put(QuartzJobScheduler.DATA_MAP_LOGGER, this.logger);
+                map.put(QuartzJobScheduler.DATA_MAP_CONTEXT, this.context);
                 map.put(QuartzJobScheduler.DATA_MAP_MANAGER, this.manager);
-                map.put(QuartzJobScheduler.DATA_MAP_ENV_CONTEXT, this.context);
             }
         }
         return job;

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobExecutor.java
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobExecutor.java	(original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobExecutor.java	Wed Sep 22 09:37:29 2004
@@ -18,11 +18,13 @@
 import org.apache.avalon.framework.component.WrapperComponentManager;
 import org.apache.avalon.framework.container.ContainerUtil;
 import org.apache.avalon.framework.context.Context;
+import org.apache.avalon.framework.context.ContextException;
 import org.apache.avalon.framework.logger.Logger;
 import org.apache.avalon.framework.parameters.Parameters;
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 
+import org.apache.cocoon.Constants;
 import org.apache.cocoon.Processor;
 import org.apache.cocoon.components.CocoonComponentManager;
 import org.apache.cocoon.environment.background.BackgroundEnvironment;
@@ -74,8 +76,14 @@
 
         Context appContext = (Context) data.get(QuartzJobScheduler.DATA_MAP_CONTEXT);
         ServiceManager manager = (ServiceManager)data.get(QuartzJobScheduler.DATA_MAP_MANAGER);
-        org.apache.cocoon.environment.Context envContext =
-                (org.apache.cocoon.environment.Context)data.get(QuartzJobScheduler.DATA_MAP_ENV_CONTEXT);
+        org.apache.cocoon.environment.Context envContext;
+        try {
+            envContext =
+                (org.apache.cocoon.environment.Context) appContext.get(Constants.CONTEXT_ENVIRONMENT_CONTEXT);
+        }
+        catch (ContextException e) {
+        	throw new JobExecutionException(e);
+        }
 
         BackgroundEnvironment env;
         try {

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobScheduler.java
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobScheduler.java	(original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobScheduler.java	Wed Sep 22 09:37:29 2004
@@ -15,6 +15,12 @@
  */
 package org.apache.cocoon.components.cron;
 
+import java.text.ParseException;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.Map;
+import java.util.NoSuchElementException;
+
 import org.apache.avalon.framework.CascadingException;
 import org.apache.avalon.framework.activity.Disposable;
 import org.apache.avalon.framework.activity.Initializable;
@@ -32,12 +38,6 @@
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.Serviceable;
 import org.apache.avalon.framework.thread.ThreadSafe;
-
-import org.apache.cocoon.Constants;
-
-import EDU.oswego.cs.dl.util.concurrent.BoundedBuffer;
-import EDU.oswego.cs.dl.util.concurrent.LinkedQueue;
-import EDU.oswego.cs.dl.util.concurrent.PooledExecutor;
 import org.quartz.CronTrigger;
 import org.quartz.Job;
 import org.quartz.JobDataMap;
@@ -55,11 +55,9 @@
 import org.quartz.utils.DBConnectionManager;
 import org.quartz.utils.JNDIConnectionProvider;
 
-import java.text.ParseException;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.Map;
-import java.util.NoSuchElementException;
+import EDU.oswego.cs.dl.util.concurrent.BoundedBuffer;
+import EDU.oswego.cs.dl.util.concurrent.LinkedQueue;
+import EDU.oswego.cs.dl.util.concurrent.PooledExecutor;
 
 /**
  * This component can either schedule jobs or directly execute one.
@@ -105,9 +103,6 @@
     /** Map key for the service manager */
     static final String DATA_MAP_MANAGER = "QuartzJobScheduler.ServiceManager";
 
-    /** Map key for the environment context (needed by BackgroundEnvironment) */
-    static final String DATA_MAP_ENV_CONTEXT = "QuartzJobScheduler.EnvironmentContext";
-
     /** Map key for the logger */
     static final String DATA_MAP_LOGGER = "QuartzJobScheduler.Logger";
 
@@ -134,10 +129,7 @@
     static final String DEFAULT_QUARTZ_SCHEDULER_NAME = "Cocoon";
 
     /** The Avalon Context instance */
-    private Context applicationContext;
-
-    /** The Cocoon environment Context instance */
-    private org.apache.cocoon.environment.Context environmentContext;
+    private Context context;
 
     /** The PooledExecutor instance */
     private PooledExecutor executor;
@@ -314,8 +306,7 @@
      * @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
      */
     public void contextualize(Context context) throws ContextException {
-    	this.applicationContext = context;
-        this.environmentContext = (org.apache.cocoon.environment.Context)context.get(Constants.CONTEXT_ENVIRONMENT_CONTEXT);
+    	this.context = context;
     }
 
     public void initialize() throws Exception {
@@ -555,9 +546,8 @@
 
         jobDataMap.put(DATA_MAP_NAME, name);
         jobDataMap.put(DATA_MAP_LOGGER, getLogger());
-        jobDataMap.put(DATA_MAP_CONTEXT, this.applicationContext);
+        jobDataMap.put(DATA_MAP_CONTEXT, this.context);
         jobDataMap.put(DATA_MAP_MANAGER, this.manager);
-        jobDataMap.put(DATA_MAP_ENV_CONTEXT, this.environmentContext);
         jobDataMap.put(DATA_MAP_RUN_CONCURRENT, new Boolean(canRunConcurrently));
 
         if (null != params) {
@@ -715,9 +705,9 @@
 
         JobStoreSupport store = null;
         if (type.equals("tx")) {
-            store = new QuartzJobStoreTX(getLogger(), this.manager, this.environmentContext);
+            store = new QuartzJobStoreTX(getLogger(), this.manager, this.context);
         } else if (type.equals("cmt")) {
-            store = new QuartzJobStoreCMT(getLogger(), this.manager, this.environmentContext);
+            store = new QuartzJobStoreCMT(getLogger(), this.manager, this.context);
         } else {
             throw new ConfigurationException("Unknown store type: " + type);
         }

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobStoreCMT.java
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobStoreCMT.java	(original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobStoreCMT.java	Wed Sep 22 09:37:29 2004
@@ -15,11 +15,10 @@
  */
 package org.apache.cocoon.components.cron;
 
+import org.apache.avalon.framework.context.Context;
 import org.apache.avalon.framework.logger.Logger;
 import org.apache.avalon.framework.service.ServiceManager;
 
-import org.apache.cocoon.environment.Context;
-
 import org.quartz.impl.jdbcjobstore.DriverDelegate;
 import org.quartz.impl.jdbcjobstore.JobStoreCMT;
 import org.quartz.impl.jdbcjobstore.NoSuchDelegateException;
@@ -31,9 +30,10 @@
  * @since 2.1.6
  */
 public class QuartzJobStoreCMT extends JobStoreCMT {
-    private Logger logger;
-    private ServiceManager manager;
-    private Context context;
+	
+    private final Logger logger;
+    private final ServiceManager manager;
+    private final Context context;
     private DriverDelegate delegate;
 
     public QuartzJobStoreCMT(Logger logger, ServiceManager manager, Context context) {

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobStoreTX.java
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobStoreTX.java	(original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/QuartzJobStoreTX.java	Wed Sep 22 09:37:29 2004
@@ -15,11 +15,10 @@
  */
 package org.apache.cocoon.components.cron;
 
+import org.apache.avalon.framework.context.Context;
 import org.apache.avalon.framework.logger.Logger;
 import org.apache.avalon.framework.service.ServiceManager;
 
-import org.apache.cocoon.environment.Context;
-
 import org.quartz.impl.jdbcjobstore.JobStoreTX;
 import org.quartz.impl.jdbcjobstore.DriverDelegate;
 import org.quartz.impl.jdbcjobstore.NoSuchDelegateException;
@@ -31,9 +30,10 @@
  * @since 2.1.6
  */
 public class QuartzJobStoreTX extends JobStoreTX {
-    private Logger logger;
-    private ServiceManager manager;
-    private Context context;
+
+	private final Logger logger;
+    private final ServiceManager manager;
+    private final Context context;
     private DriverDelegate delegate;
 
     public QuartzJobStoreTX(Logger logger, ServiceManager manager, Context context) {

Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/TestCronJob.java
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/TestCronJob.java	(original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/cron/java/org/apache/cocoon/components/cron/TestCronJob.java	Wed Sep 22 09:37:29 2004
@@ -15,7 +15,6 @@
  */
 package org.apache.cocoon.components.cron;
 
-import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.util.Date;
 import java.util.Map;