--- /dev/null
+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());
+ }
+ }
+
+
+}