Initial revision
[mir.git] / source / mircoders / servlet / ServletModuleProducer.java
diff --git a/source/mircoders/servlet/ServletModuleProducer.java b/source/mircoders/servlet/ServletModuleProducer.java
new file mode 100755 (executable)
index 0000000..30957ed
--- /dev/null
@@ -0,0 +1,70 @@
+package mircoders.servlet;
+
+import java.io.*;
+import java.sql.*;
+import java.util.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+
+import freemarker.template.*;
+
+import webdb.servlet.*;
+import webdb.misc.*;
+
+import mir.producer.*;
+import mir.entity.*;
+
+/* Verteilerservlet, dass je nach Parameter task die Klasse Producer"TASK"
+ * ueber die Methode handle(); aufruft
+ *
+ * @author RK
+ */
+
+public class ServletModuleProducer extends ServletModule
+{
+
+       private static ServletModuleProducer instance = new ServletModuleProducer();
+       public static ServletModule getInstance() { return instance; }
+
+       private ServletModuleProducer() {
+               theLog = Logfile.getInstance(Configuration.getProperty("Home") + Configuration.getProperty("ServletModule.Producer.Logfile"));
+               defaultAction="produce";
+       }
+
+
+       public void produce(HttpServletRequest req, HttpServletResponse res)
+               throws ServletModuleException
+       {
+               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);
+          }
+                               } else {
+                                       producer.handle(out, user, false,false);
+        }
+
+                       }
+               }
+               catch (Exception e) {
+      throw new ServletModuleException(e.toString());
+    }
+       }
+
+
+}