ServletModule exception cleanup + different error templates for admin + open postings...
[mir.git] / source / mircoders / servlet / ServletModuleProducer.java
index 0edf50d..0fe5755 100755 (executable)
 
 package mircoders.servlet;
 
-import java.io.*;
-import java.sql.*;
-import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import java.io.PrintWriter;
+import java.util.HashMap;
+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.ServletModuleExc;
+import mir.servlet.ServletModuleFailure;
+import mir.util.NullWriter;
+import mir.util.ResourceBundleGeneratorFunction;
+import mircoders.global.MirGlobal;
 
 import org.apache.struts.util.MessageResources;
 
-import freemarker.template.*;
-
-import mir.servlet.*;
-import mir.misc.*;
-import mir.producer.*;
-import mir.generator.*;
-import mir.producer.*;
-import mir.entity.adapter.*;
-import mir.util.*;
-import mir.log.*;
-
-import mircoders.global.*;
-
 public class ServletModuleProducer extends ServletModule
 {
   private static ServletModuleProducer instance = new ServletModuleProducer();
@@ -63,7 +65,7 @@ public class ServletModuleProducer extends ServletModule
   int totalNrComments;
   List producersData;
 
-  void generateResponse(String aGeneratorIdentifier, PrintWriter aWriter, Map aResponseData, Locale aLocale) throws ServletModuleException {
+  void generateResponse(String aGeneratorIdentifier, PrintWriter aWriter, Map aResponseData, Locale aLocale) {
     try {
       generator = MirGlobal.localizer().generators().makeAdminGeneratorLibrary().makeGenerator(aGeneratorIdentifier);
       MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(aResponseData);
@@ -71,16 +73,17 @@ public class ServletModuleProducer extends ServletModule
       generator.generate(aWriter, aResponseData, new PrintWriter(new NullWriter()));
     }
     catch (Throwable t) {
-      throw new ServletModuleException(t.getMessage());
+      throw new ServletModuleFailure(t);
     }
   }
 
   private ServletModuleProducer() {
+    super();
     logger = new LoggerWrapper("ServletModule.Producer");
     defaultAction="showProducerQueueStatus";
   }
 
-  public void showMessage(PrintWriter aWriter, Locale aLocale, String aMessage, String anArgument1, String anArgument2) throws ServletModuleException {
+  public void showMessage(PrintWriter aWriter, Locale aLocale, String aMessage, String anArgument1, String anArgument2) {
     Map responseData;
     try {
       responseData = new HashMap();
@@ -90,12 +93,12 @@ public class ServletModuleProducer extends ServletModule
       generateResponse("infomessage.template", aWriter, responseData, aLocale);
     }
     catch (Throwable t) {
-      throw new ServletModuleException(t.getMessage());
+      throw new ServletModuleFailure(t);
     }
   }
 
 
-  public void showProducerQueueStatus(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleException {
+  public void showProducerQueueStatus(HttpServletRequest aRequest, HttpServletResponse aResponse) {
     Object comments;
     Map generationData;
     Generator generator;
@@ -105,10 +108,7 @@ public class ServletModuleProducer extends ServletModule
     try {
       generator = MirGlobal.localizer().generators().makeAdminGeneratorLibrary().makeGenerator("producerqueue.template");
 
-      generationData = new HashMap();
-      MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(generationData);
-
-      generationData.put( "lang", new ResourceBundleGeneratorFunction( getLocale(aRequest), MessageResources.getMessageResources("bundles.admin")));
+      generationData = ServletHelper.makeGenerationData(getLocale(aRequest));
       generationData.put( "thisurl", "module=Producer&do=showProducerQueueStatus");
 
       producersData = new Vector();
@@ -139,12 +139,11 @@ public class ServletModuleProducer extends ServletModule
       generator.generate(aResponse.getWriter(), generationData, new PrintWriter(new NullWriter()));
     }
     catch (Throwable t) {
-      t.printStackTrace(System.out);
-      throw new ServletModuleException(t.getMessage());
+      throw new ServletModuleFailure(t);
     }
   }
 
-  public void produce(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException {
+  public void produce(HttpServletRequest req, HttpServletResponse res) {
     /*
      * This method will only be called by external scripts (e.g. from cron jobs).
      * The output therefore is very simple.
@@ -162,22 +161,22 @@ public class ServletModuleProducer extends ServletModule
         out.println("job added");
       }
     }
-    catch (Exception e) {
-      throw new ServletModuleException(e.getMessage());
+    catch (Throwable t) {
+      throw new ServletModuleFailure(t);
     }
   }
 
-  public void produceAllNew(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleException {
+  public void produceAllNew(HttpServletRequest aRequest, HttpServletResponse aResponse) {
     try {
       MirGlobal.localizer().producers().produceAllNew();
       showMessage(aResponse.getWriter(), getLocale(aRequest), "produceAllNewAddedToQueue", "", "");
     }
-    catch (Exception e) {
-      throw new ServletModuleException(e.getMessage());
+    catch (Throwable t) {
+      throw new ServletModuleFailure(t);
     }
   }
 
-  public void enqueue(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleException {
+  public void enqueue(HttpServletRequest aRequest, HttpServletResponse aResponse) {
     try {
       if (aRequest.getParameter("producer")!=null) {
         String producerParam = aRequest.getParameter("producer");
@@ -188,12 +187,12 @@ public class ServletModuleProducer extends ServletModule
         showProducerQueueStatus(aRequest, aResponse);
       }
     }
-    catch (Exception e) {
-      throw new ServletModuleException(e.getMessage());
+    catch (Throwable t) {
+      throw new ServletModuleFailure(t);
     }
   }
 
-  public void cancelAbortJob(HttpServletRequest aRequest, HttpServletResponse aResponse) throws ServletModuleException {
+  public void cancelAbortJob(HttpServletRequest aRequest, HttpServletResponse aResponse)  {
     // ML: to be coded
   }
 }