* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* In addition, as a special exception, The Mir-coders gives permission to link
- * the code of this program with any library licensed under the Apache Software License,
- * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
- * (or with modified versions of the above that use the same license as the above),
- * and distribute linked combinations including the two. You must obey the
- * GNU General Public License in all respects for all of the code used other than
- * the above mentioned libraries. If you modify this file, you may extend this
- * exception to your version of the file, but you are not obligated to do so.
+ * the code of this program with any library licensed under the Apache Software License,
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
+ * (or with modified versions of the above that use the same license as the above),
+ * and distribute linked combinations including the two. You must obey the
+ * GNU General Public License in all respects for all of the code used other than
+ * the above mentioned libraries. If you modify this file, you may extend this
+ * exception to your version of the file, but you are not obligated to do so.
* If you do not wish to do so, delete this exception statement from your version.
*/
package mircoders.servlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import mir.entity.EntityList;
+import mir.entity.adapter.EntityAdapterEngine;
import mir.log.LoggerWrapper;
-import mir.misc.HTMLTemplateProcessor;
import mir.servlet.ServletModule;
import mir.servlet.ServletModuleExc;
import mir.servlet.ServletModuleFailure;
-import mir.storage.StorageObjectFailure;
+import mir.storage.DatabaseFailure;
+import mir.util.HTTPRequestParser;
+import mir.util.JDBCStringRoutines;
import mircoders.module.ModuleContent;
-import mircoders.storage.DatabaseContent;
-import freemarker.template.SimpleHash;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
/*
* ServletModuleHidden - output of so called "censored" articles
* @author mh
* @version $Id
- *
*/
-public class ServletModuleHidden extends ServletModule
-{
-
-// Singelton / Kontruktor
+public class ServletModuleHidden extends ServletModule {
private static ServletModuleHidden instance = new ServletModuleHidden();
public static ServletModule getInstance() { return instance; }
private ServletModuleHidden() {
super();
+
logger = new LoggerWrapper("ServletModule.Hidden");
- templateListString = configuration.getString("ServletModule.Hidden.ListTemplate");
+
try {
- mainModule = new ModuleContent(DatabaseContent.getInstance());
+ mainModule = new ModuleContent();
}
- catch (StorageObjectFailure e) {
+ catch (DatabaseFailure e) {
logger.error("initialization of servletmoduleHidden failed: " + e.getMessage());
}
}
- public void list(HttpServletRequest req, HttpServletResponse res) throws ServletModuleExc
- {
-// determine parameter
- SimpleHash mergeData = new SimpleHash();
- String query_year = req.getParameter("year");
- String query_month = req.getParameter("month");
- String order = "webdb_create";
-
-// form sql statement
- String whereClause = "is_published=false AND webdb_create LIKE '"+
- query_year+"-"+query_month+"%'";
+ public void list(HttpServletRequest req, HttpServletResponse res) throws ServletModuleExc {
+ HTTPRequestParser requestParser = new HTTPRequestParser(req);
+ Map responseData = ServletHelper.makeGenerationData(req, res, new Locale[] { getLocale(req), getFallbackLocale(req)});
- logger.debug("ServletModuleHidden.list: whereclause: " + whereClause);
+ String query_year = requestParser.getParameter("year");
+ String query_month = requestParser.getParameter("month");
-// fetch and deliver
try {
+ if ((query_year!=null && !query_year.equals("")) && (query_month!=null && !query_month.equals(""))) {
+ String whereClause = "is_published=false AND webdb_create LIKE "+
+ "'"+JDBCStringRoutines.escapeStringLiteral(query_year)+"-"+JDBCStringRoutines.escapeStringLiteral(query_month)+"%'";
- if ((query_year!=null && !query_year.equals(""))
- && (query_month!=null && !query_month.equals(""))) {
- EntityList theList = mainModule.getByWhereClause(whereClause, order, -1);
- if (theList!=null && theList.size()>0) {
-//make articleHash for comment
- StringBuffer buf= new StringBuffer("id in (");boolean first=true;
- for(int i=0;i<theList.size();i++) {
- if (first==false) buf.append(",");
- first=false;
- buf.append(theList.elementAt(i).getValue("to_media"));
- }
- buf.append(")");
- SimpleHash articleHash =
- HTMLTemplateProcessor.makeSimpleHash(
- mainModule.getByWhereClause(buf.toString(),-1));
- mergeData.put("articleHash", articleHash);
+ List articleList = EntityAdapterEngine.retrieveAdapterList(model, definition, whereClause, "webdb_create", -1, 0);
-// send the year and month for use in the list template
- mergeData.put("year", query_year);
- mergeData.put("month", query_month);
-// get comment
- mergeData.put("contentlist",theList);
- }
+ responseData.put("year", query_year);
+ responseData.put("month", query_month);
+ responseData.put("articles", articleList);
}
-// raus damit
- HTMLTemplateProcessor.process(res, templateListString, mergeData, res.getWriter(), getLocale(req), getFallbackLocale(req));
+
+ ServletHelper.generateResponse(res.getWriter(), responseData, listGenerator);
}
catch (Throwable e) {
throw new ServletModuleFailure(e);