merge of localization branch into HEAD. mh and zap
[mir.git] / source / mircoders / servlet / ServletModuleProducer.java
index 30957ed..cf03a62 100755 (executable)
@@ -8,11 +8,13 @@ import javax.servlet.http.*;
 
 import freemarker.template.*;
 
-import webdb.servlet.*;
-import webdb.misc.*;
-
+import mir.servlet.*;
+import mir.misc.*;
 import mir.producer.*;
-import mir.entity.*;
+
+import mircoders.producer.*;
+import mircoders.entity.*;
+import mircoders.global.*;
 
 /* Verteilerservlet, dass je nach Parameter task die Klasse Producer"TASK"
  * ueber die Methode handle(); aufruft
@@ -27,7 +29,7 @@ public class ServletModuleProducer extends ServletModule
        public static ServletModule getInstance() { return instance; }
 
        private ServletModuleProducer() {
-               theLog = Logfile.getInstance(Configuration.getProperty("Home") + Configuration.getProperty("ServletModule.Producer.Logfile"));
+               theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("ServletModule.Producer.Logfile"));
                defaultAction="produce";
        }
 
@@ -37,29 +39,51 @@ public class ServletModuleProducer extends ServletModule
        {
                try {
                        PrintWriter out = res.getWriter();
-                       String taskParam = req.getParameter("task");
-                       String forcedParam = req.getParameter("forced");
-      String syncParam = req.getParameter("sync");
-                       theLog.printInfo("Starting Task: " + taskParam);
-                       if (taskParam == null) {
-                               throw new ServletModuleException("Kein Task angegeben!");
-                       } else {
-        Class producerModule = Class.forName("mir.producer.Producer" + taskParam);
-        Producer producer = (Producer)producerModule.newInstance();
-        HttpSession session=req.getSession(false);
-                               EntityUsers user = (EntityUsers)session.getAttribute("login.uid");
-
-        if (forcedParam!=null && !forcedParam.equals("")) {
-          if (syncParam!=null && !syncParam.equals("")) {
-            producer.handle(out, user, true, true);
-          } else {
-            producer.handle(out, user, true,false);
+
+
+                       if (req.getParameter("producer")!=null) {
+      // ML: new producer system:
+
+                       String producerParam = req.getParameter("producer");
+                       String verbParam = req.getParameter("verb");
+
+                       MirGlobal.producerEngine().addJob(producerParam, verbParam);
+                       MirGlobal.producerEngine().printQueueStatus(out);
+
+//        ProducerFactory factory = (ProducerFactory) MirGlobal.localizer().producers().factories().get(producerParam);
+//        mir.producer.Producer producer = factory.makeProducer(verbParam);
+
+//        producer.produce(out);
+
+      }
+      else
+      {
+      // ML: old producer system:
+
+                       String taskParam = req.getParameter("task");
+                       String forcedParam = req.getParameter("forced");
+        String syncParam = req.getParameter("sync");
+                       theLog.printInfo("Starting Task: " + taskParam);
+                       if (taskParam == null) {
+                               throw new ServletModuleException("Kein Task angegeben!");
+                       } else {
+          Class producerModule = Class.forName("mircoders.producer.Producer" + taskParam);
+          mircoders.producer.Producer producer = (mircoders.producer.Producer) producerModule.newInstance();
+          HttpSession session=req.getSession(false);
+                               EntityUsers user = (EntityUsers)session.getAttribute("login.uid");
+
+          if (forcedParam!=null && !forcedParam.equals("")) {
+            if (syncParam!=null && !syncParam.equals("")) {
+              producer.handle(out, user, true, true);
+            } else {
+              producer.handle(out, user, true,false);
+            }
+                               } else {
+                                       producer.handle(out, user, false,false);
           }
-                               } else {
-                                       producer.handle(out, user, false,false);
-        }
 
-                       }
+                       }
+               }
                }
                catch (Exception e) {
       throw new ServletModuleException(e.toString());