merged 1.1 branch into head
[mir.git] / source / mircoders / servlet / ServletModuleProducer.java
index f6e3b67..c54319e 100755 (executable)
  */
 package mircoders.servlet;
 
+import mir.generator.Generator;
+import mir.producer.ProducerFactory;
+import mir.servlet.AdminServletModule;
+import mir.servlet.ServletModuleFailure;
+import mir.util.HTTPRequestParser;
+import mircoders.global.MirGlobal;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.ArrayList;
@@ -37,31 +46,10 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
-import java.util.Vector;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import mir.generator.Generator;
-import mir.log.LoggerWrapper;
-import mir.producer.ProducerFactory;
-import mir.servlet.ServletModule;
-import mir.servlet.ServletModuleFailure;
-import mir.util.HTTPRequestParser;
-import mircoders.global.MirGlobal;
-
-public class ServletModuleProducer extends ServletModule
-{
-  private static ServletModuleProducer instance = new ServletModuleProducer();
-  public static ServletModule getInstance() { return instance; }
-
-  Object comments;
-  int totalNrComments;
 
-
-  private ServletModuleProducer() {
-    super();
-    logger = new LoggerWrapper("ServletModule.Producer");
-    defaultAction="showProducerQueueStatus";
+public class ServletModuleProducer extends AdminServletModule {
+  public void defaultAction(HttpServletRequest aRequest, HttpServletResponse aResponse) {
+    showProducerQueueStatus(aRequest, aResponse);
   }
 
   /**
@@ -70,23 +58,20 @@ public class ServletModuleProducer extends ServletModule
    * @param aResponse
    */
   public void showProducerQueueStatus(HttpServletRequest aRequest, HttpServletResponse aResponse) {
-    Map generationData;
-    Generator generator;
-    List producersData;
-
     try {
       // TODO: use ServletHelper
-      generator = MirGlobal.localizer().generators().makeAdminGeneratorLibrary().makeGenerator("producerqueue.template");
+      Generator generator = MirGlobal.localizer().generators().
+          makeAdminGeneratorLibrary().makeGenerator("producerqueue.template", null);
 
-      generationData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] { getLocale(aRequest), getFallbackLocale(aRequest)});
+      Map generationData = ServletHelper.makeGenerationData(aRequest, aResponse, new Locale[] { getLocale(aRequest), getFallbackLocale(aRequest)});
       generationData.put( "thisurl", "module=Producer&do=showProducerQueueStatus");
 
-      producersData = new Vector();
+      List producersData = new ArrayList();
       Iterator i = MirGlobal.getProducerEngine().getFactories().iterator();
       while (i.hasNext()) {
         ProducerFactory factory = (ProducerFactory) i.next();
 
-        List producerVerbs = new Vector();
+        List producerVerbs = new ArrayList();
         Iterator j = factory.verbs().iterator();
         while (j.hasNext()) {
           Map verbData = new HashMap();
@@ -106,7 +91,7 @@ public class ServletModuleProducer extends ServletModule
       generationData.put("producers", producersData);
 
       generationData.put("queue", MirGlobal.getProducerEngine().getQueueStatus());
-      generator.generate(aResponse.getWriter(), generationData, logger);
+      generator.generate(aResponse.getWriter(), generationData, getLogger());
     }
     catch (Throwable t) {
       throw new ServletModuleFailure(t);
@@ -118,25 +103,28 @@ public class ServletModuleProducer extends ServletModule
    * The output therefore is very simple.
    */
   public void produce(HttpServletRequest aRequest, HttpServletResponse aResponse) {
+    PrintWriter out;
     try {
-      PrintWriter out = aResponse.getWriter();
-
-      if (aRequest.getParameter("producer")!=null) {
-        String producerParam = aRequest.getParameter("producer");
-        String verbParam = aRequest.getParameter("verb");
-
-        try {
-          MirGlobal.getProducerEngine().addJob(producerParam, verbParam);
-          out.println("job added");
-        }
-        catch (Throwable t) {
-          out.println("Can't add job: " + t.getMessage());
-        }
-      }
+      out = aResponse.getWriter();
     }
     catch (IOException e) {
       throw new ServletModuleFailure(e);
     }
+
+    if (aRequest.getParameter("producer")!=null) {
+      String producerParam = aRequest.getParameter("producer");
+      String verbParam = aRequest.getParameter("verb");
+
+      try {
+        MirGlobal.getProducerEngine().addJob(producerParam, verbParam);
+
+        out.println("job added");
+      }
+      catch (Throwable t) {
+
+        out.println("Can't add job: " + t.getMessage());
+      }
+    }
   }
 
   /**