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();
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);
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();
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;
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();
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.
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");
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
}
}