Update of 
/var/cvs/applications/crontab/src/org/mmbase/applications/crontab/modules
In directory 
james.mmbase.org:/tmp/cvs-serv23584/src/org/mmbase/applications/crontab/modules

Modified Files:
        CrontabModule.java 
Log Message:
some tricks and compromises to make it compile against 1.8


See also: 
http://cvs.mmbase.org/viewcvs/applications/crontab/src/org/mmbase/applications/crontab/modules


Index: CrontabModule.java
===================================================================
RCS file: 
/var/cvs/applications/crontab/src/org/mmbase/applications/crontab/modules/CrontabModule.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- CrontabModule.java  4 Aug 2008 13:36:28 -0000       1.18
+++ CrontabModule.java  4 Aug 2008 14:12:38 -0000       1.19
@@ -20,10 +20,35 @@
  * Starts a crontab for MMBase as a Module.
  *
  * @author Michiel Meeuwissen
- * @version $Id: CrontabModule.java,v 1.18 2008/08/04 13:36:28 michiel Exp $
+ * @version $Id: CrontabModule.java,v 1.19 2008/08/04 14:12:38 michiel Exp $
  */
 public class CrontabModule extends WatchedReloadableModule {
 
+    //some hackery to make it 1.8 compatible. Can be dropped if not necessary 
any more.
+    private static interface Function<C> extends 
org.mmbase.util.functions.Function {
+    }
+
+    private static abstract class AbstractFunction<C> extends 
org.mmbase.util.functions.AbstractFunction implements Function<C> {
+        public AbstractFunction(String name, Parameter[] def, ReturnType 
returnType) {
+            super(name, def, returnType);
+        }
+        public AbstractFunction(String name, Parameter<?>... def) {
+            this(name, def, null);
+        }
+    }
+    private static class Parameter<C> extends 
org.mmbase.util.functions.Parameter {
+        public Parameter(String name, Class type, boolean required) {
+            super(name, type, required);
+        }
+        public Parameter(String name, Class type, Object o) {
+            super(name, type, o);
+        }
+        public Parameter(String name, Class type) {
+            super(name, type, null);
+        }
+
+    }
+
     private static final Logger log = 
Logging.getLoggerInstance(CrontabModule.class);
     protected CronDaemon cronDaemon = null;
 
@@ -49,7 +74,7 @@
       </pre>
      */
     public void init() {
-        for (Map.Entry<String, String> entry : getInitParameters().entrySet()) 
{
+        for (Map.Entry<String, String> entry : ((Map<String, String>) 
getInitParameters()).entrySet()) {
             addJob(entry);
         }
         readMoreJobs();
@@ -150,7 +175,7 @@
 
         };
     {
-        Function f = addFunction(listFunction);
+         addFunction(listFunction);
     }
 
     protected final static Parameter<String> ENTRY = new 
Parameter<String>("entry", String.class, true);
@@ -161,7 +186,7 @@
      */
     protected Function<Boolean> kickFunction = new 
AbstractFunction<Boolean>("kick", ENTRY) {
             public Boolean getFunctionValue(Parameters arguments) {
-                String id = arguments.get(ENTRY);
+                String id = (String) arguments.get(ENTRY);
                 return 
cronDaemon.getCronEntry(id).kick(DynamicDate.eval("tominute"));
             }
 
@@ -175,9 +200,9 @@
      */
     protected Function<Boolean> interruptFunction = new 
AbstractFunction<Boolean>("interrupt", ENTRY, THREAD, MACHINE) {
             public Boolean getFunctionValue(Parameters arguments) {
-                String id = arguments.get(ENTRY);
-                Integer thread = arguments.get(THREAD);
-                String machine = arguments.get(MACHINE);
+                String id = (String) arguments.get(ENTRY);
+                Integer thread = (Integer) arguments.get(THREAD);
+                String machine = (String) arguments.get(MACHINE);
                 return cronDaemon.interrupt(machine, id, thread);
             }
 
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to