1 package mircoders.servlet;
6 import javax.servlet.*;
7 import javax.servlet.http.*;
9 import freemarker.template.*;
13 import mir.producer.*;
15 import mircoders.producer.*;
16 import mircoders.entity.*;
17 import mircoders.global.*;
19 /* Verteilerservlet, dass je nach Parameter task die Klasse Producer"TASK"
20 * ueber die Methode handle(); aufruft
25 public class ServletModuleProducer extends ServletModule
28 private static ServletModuleProducer instance = new ServletModuleProducer();
29 public static ServletModule getInstance() { return instance; }
31 private ServletModuleProducer() {
32 theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("ServletModule.Producer.Logfile"));
33 defaultAction="produce";
37 public void produce(HttpServletRequest req, HttpServletResponse res)
38 throws ServletModuleException
41 PrintWriter out = res.getWriter();
44 if (req.getParameter("producer")!=null) {
45 // ML: new producer system:
47 String producerParam = req.getParameter("producer");
48 String verbParam = req.getParameter("verb");
50 MirGlobal.producerEngine().addJob(producerParam, verbParam);
52 // ProducerFactory factory = (ProducerFactory) MirGlobal.localizer().producers().factories().get(producerParam);
53 // mir.producer.Producer producer = factory.makeProducer(verbParam);
55 // producer.produce(out);
60 // ML: old producer system:
62 String taskParam = req.getParameter("task");
63 String forcedParam = req.getParameter("forced");
64 String syncParam = req.getParameter("sync");
65 theLog.printInfo("Starting Task: " + taskParam);
66 if (taskParam == null) {
67 throw new ServletModuleException("Kein Task angegeben!");
69 Class producerModule = Class.forName("mircoders.producer.Producer" + taskParam);
70 mircoders.producer.Producer producer = (mircoders.producer.Producer) producerModule.newInstance();
71 HttpSession session=req.getSession(false);
72 EntityUsers user = (EntityUsers)session.getAttribute("login.uid");
74 if (forcedParam!=null && !forcedParam.equals("")) {
75 if (syncParam!=null && !syncParam.equals("")) {
76 producer.handle(out, user, true, true);
78 producer.handle(out, user, true,false);
81 producer.handle(out, user, false,false);
88 throw new ServletModuleException(e.toString());