From: idfx Date: Thu, 30 Aug 2001 22:25:06 +0000 (+0000) Subject: bugfixx: numberformatexception at deleting a topic X-Git-Tag: prexmlproducerconfig~590 X-Git-Url: http://erislabs.net/gitweb/?a=commitdiff_plain;ds=sidebyside;h=7e9ceb1e66d027eff96ffa671892207e5ccd7e87;hp=244da1e2e1a5ece4e5bd31ac9b68878a32716880;p=mir.git bugfixx: numberformatexception at deleting a topic --- diff --git a/source/mir/misc/StringUtil.java b/source/mir/misc/StringUtil.java index d5685fe2..76a323b4 100755 --- a/source/mir/misc/StringUtil.java +++ b/source/mir/misc/StringUtil.java @@ -574,6 +574,7 @@ public final class StringUtil { /** wandelt Quotes in Sonderzeichen um */ + /** public static String decodeHtml(String s) { StringBuffer buf = new StringBuffer(); for(int i=0;i < s.length(); i++ ) { @@ -613,7 +614,7 @@ public final class StringUtil { } return buf.toString(); } - + */ /** * schnellere Variante der String.toLowerCase()-Routine @@ -896,4 +897,4 @@ public final class StringUtil { return content; } -} \ No newline at end of file +} diff --git a/source/mir/servlet/ServletModule.java b/source/mir/servlet/ServletModule.java index a81d3040..f7495264 100755 --- a/source/mir/servlet/ServletModule.java +++ b/source/mir/servlet/ServletModule.java @@ -29,18 +29,18 @@ import mir.misc.*; public abstract class ServletModule { - public String defaultAction; - protected Logfile theLog; - protected AbstractModule mainModule; - protected String templateListString; - protected String templateObjektString; - protected String templateConfirmString; + public String defaultAction; + protected Logfile theLog; + protected AbstractModule mainModule; + protected String templateListString; + protected String templateObjektString; + protected String templateConfirmString; - /** - * Singelton - Methode muss in den abgeleiteten Klassen ueberschrieben werden. - * @return ServletModule - */ - public static ServletModule getInstance() { return null; } + /** + * Singelton - Methode muss in den abgeleiteten Klassen ueberschrieben werden. + * @return ServletModule + */ + public static ServletModule getInstance() { return null; } /** * get the session binded language @@ -48,169 +48,169 @@ public abstract class ServletModule { public String getLanguage(HttpServletRequest req){ HttpSession session = req.getSession(); String language = (String)session.getAttribute("Language"); - if(language==null){ - language=Configuration.getProperty("StandardLanguage"); - } + if(language==null){ + language=Configuration.getProperty("StandardLanguage"); + } return language; } - // ACHTUNG DEPRECATED:::: - public void process(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException {} + // ACHTUNG DEPRECATED:::: + public void process(HttpServletRequest req, HttpServletResponse res) throws ServletModuleException {} - /** - * list(req,res) - generische Listmethode. Wennn die Funktionalitaet - * nicht reicht, muss sie in der abgeleiteten ServletModule-Klasse - * ueberschreiben werden. - * - * @param req Http-Request, das vom Dispatcher durchgereicht wird - * @param res Http-Response, die vom Dispatcher durchgereicht wird - */ - public void list(HttpServletRequest req, HttpServletResponse res) - throws ServletModuleException { - try { - EntityList theList; - String offsetParam = req.getParameter("offset"); - int offset =0; - PrintWriter out = res.getWriter(); + /** + * list(req,res) - generische Listmethode. Wennn die Funktionalitaet + * nicht reicht, muss sie in der abgeleiteten ServletModule-Klasse + * ueberschreiben werden. + * + * @param req Http-Request, das vom Dispatcher durchgereicht wird + * @param res Http-Response, die vom Dispatcher durchgereicht wird + */ + public void list(HttpServletRequest req, HttpServletResponse res) + throws ServletModuleException { + try { + EntityList theList; + String offsetParam = req.getParameter("offset"); + int offset =0; + PrintWriter out = res.getWriter(); - // hier offsetcode bearbeiten - if (offsetParam != null) offset = Integer.parseInt(offsetParam); - if (req.getParameter("next") != null) - offset=Integer.parseInt(req.getParameter("nextoffset")); - else - if (req.getParameter("prev") != null) - offset = Integer.parseInt(req.getParameter("prevoffset")); - theList = mainModule.getByWhereClause(null, offset); - //theList = mainModule.getByWhereClause((String)null, offset); - if (theList == null || theList.getCount() == 0 || theList.getCount()>1) - HTMLTemplateProcessor.process(getLanguage(req)+"/"+templateListString, theList, out); - else - deliver(req, res, theList.elementAt(0), templateObjektString); - } catch (Exception e) { - throw new ServletModuleException(e.toString()); - } - } + // hier offsetcode bearbeiten + if (offsetParam != null || !offsetParam.equals("")) offset = Integer.parseInt(offsetParam); + if (req.getParameter("next") != null) + offset=Integer.parseInt(req.getParameter("nextoffset")); + else + if (req.getParameter("prev") != null) + offset = Integer.parseInt(req.getParameter("prevoffset")); + theList = mainModule.getByWhereClause(null, offset); + //theList = mainModule.getByWhereClause((String)null, offset); + if (theList == null || theList.getCount() == 0 || theList.getCount()>1) + HTMLTemplateProcessor.process(getLanguage(req)+"/"+templateListString, theList, out); + else + deliver(req, res, theList.elementAt(0), templateObjektString); + } catch (Exception e) { + throw new ServletModuleException(e.toString()); + } + } - /** - * add(req,res) - generische Addmethode. Wennn die Funktionalitaet - * nicht reicht, muss sie in der abgeleiteten ServletModule-Klasse - * ueberschreiben werden. - * @param req Http-Request, das vom Dispatcher durchgereicht wird - * @param res Http-Response, die vom Dispatcher durchgereicht wird - */ - public void add(HttpServletRequest req, HttpServletResponse res) - throws ServletModuleException { + /** + * add(req,res) - generische Addmethode. Wennn die Funktionalitaet + * nicht reicht, muss sie in der abgeleiteten ServletModule-Klasse + * ueberschreiben werden. + * @param req Http-Request, das vom Dispatcher durchgereicht wird + * @param res Http-Response, die vom Dispatcher durchgereicht wird + */ + public void add(HttpServletRequest req, HttpServletResponse res) + throws ServletModuleException { - try { + try { SimpleHash mergeData = new SimpleHash(); mergeData.put("new", "1"); deliver(req, res, mergeData, templateObjektString); - } catch (Exception e) { + } catch (Exception e) { throw new ServletModuleException(e.toString()); } - } + } - /** - * insert(req,res) - generische Insertmethode, folgt auf add. - * Wennn die Funktionalitaet - * nicht reicht, muss sie in der abgeleiteten ServletModule-Klasse - * ueberschreiben werden. - * - * @param req Http-Request, das vom Dispatcher durchgereicht wird - * @param res Http-Response, die vom Dispatcher durchgereicht wird - */ - public void insert(HttpServletRequest req, HttpServletResponse res) - throws ServletModuleException { - try { - HashMap withValues = getIntersectingValues(req, mainModule.getStorageObject()); - String id = mainModule.add(withValues); - // theLog.printDebugInfo("--trying to deliver..."+id); - deliver(req, res, mainModule.getById(id), templateObjektString); - } - catch (Exception e) { throw new ServletModuleException(e.toString());} - } + /** + * insert(req,res) - generische Insertmethode, folgt auf add. + * Wennn die Funktionalitaet + * nicht reicht, muss sie in der abgeleiteten ServletModule-Klasse + * ueberschreiben werden. + * + * @param req Http-Request, das vom Dispatcher durchgereicht wird + * @param res Http-Response, die vom Dispatcher durchgereicht wird + */ + public void insert(HttpServletRequest req, HttpServletResponse res) + throws ServletModuleException { + try { + HashMap withValues = getIntersectingValues(req, mainModule.getStorageObject()); + String id = mainModule.add(withValues); + // theLog.printDebugInfo("--trying to deliver..."+id); + deliver(req, res, mainModule.getById(id), templateObjektString); + } + catch (Exception e) { throw new ServletModuleException(e.toString());} + } /** - * delete(req,res) - generische Deletemethode. Wennn die Funktionalitaet - * nicht reicht, muss sie in der abgeleiteten ServletModule-Klasse - * ueberschreiben werden. - * - * @param req Http-Request, das vom Dispatcher durchgereicht wird - * @param res Http-Response, die vom Dispatcher durchgereicht wird - */ + * delete(req,res) - generische Deletemethode. Wennn die Funktionalitaet + * nicht reicht, muss sie in der abgeleiteten ServletModule-Klasse + * ueberschreiben werden. + * + * @param req Http-Request, das vom Dispatcher durchgereicht wird + * @param res Http-Response, die vom Dispatcher durchgereicht wird + */ - public void delete(HttpServletRequest req, HttpServletResponse res) - throws ServletModuleException - { - try { - String idParam = req.getParameter("id"); - if (idParam == null) throw new ServletModuleException("Falscher Aufruf: (id) nicht angegeben"); - // Hier code zum Loeschen - String confirmParam = req.getParameter("confirm"); - String cancelParam = req.getParameter("cancel"); - if (confirmParam == null && cancelParam == null) { - // HTML Ausgabe zum Confirmen! - SimpleHash mergeData = new SimpleHash(); - String moduleClassName = mainModule.getClass().getName(); - int i = moduleClassName.indexOf(".Module"); - String moduleName = moduleClassName.substring(i+7); - mergeData.put("module", moduleName); - mergeData.put("infoString", moduleName + ": " + idParam); - mergeData.put("id", idParam); - mergeData.put("where", req.getParameter("where")); - mergeData.put("order", req.getParameter("order")); - mergeData.put("offset", req.getParameter("offset")); - deliver(req, res, mergeData,templateConfirmString); - } else { - if (confirmParam!= null && !confirmParam.equals("")) { - //theLog.printInfo("delete confirmed!"); - mainModule.deleteById(idParam); - list(req,res); // back to list - } else { - if (req.getParameter("where") != null) - list(req,res); - else - edit(req,res); - } - } - } catch (Exception e) { + public void delete(HttpServletRequest req, HttpServletResponse res) + throws ServletModuleException + { + try { + String idParam = req.getParameter("id"); + if (idParam == null) throw new ServletModuleException("Falscher Aufruf: (id) nicht angegeben"); + // Hier code zum Loeschen + String confirmParam = req.getParameter("confirm"); + String cancelParam = req.getParameter("cancel"); + if (confirmParam == null && cancelParam == null) { + // HTML Ausgabe zum Confirmen! + SimpleHash mergeData = new SimpleHash(); + String moduleClassName = mainModule.getClass().getName(); + int i = moduleClassName.indexOf(".Module"); + String moduleName = moduleClassName.substring(i+7); + mergeData.put("module", moduleName); + mergeData.put("infoString", moduleName + ": " + idParam); + mergeData.put("id", idParam); + mergeData.put("where", req.getParameter("where")); + mergeData.put("order", req.getParameter("order")); + mergeData.put("offset", req.getParameter("offset")); + deliver(req, res, mergeData,templateConfirmString); + } else { + if (confirmParam!= null && !confirmParam.equals("")) { + //theLog.printInfo("delete confirmed!"); + mainModule.deleteById(idParam); + list(req,res); // back to list + } else { + if (req.getParameter("where") != null) + list(req,res); + else + edit(req,res); + } + } + } catch (Exception e) { throw new ServletModuleException(e.toString()); } - } + } - /** - * edit(req,res) - generische Editmethode. Wennn die Funktionalitaet - * nicht reicht, muss sie in der abgeleiteten ServletModule-Klasse - * ueberschreiben werden. - * - * @param req Http-Request, das vom Dispatcher durchgereicht wird - * @param res Http-Response, die vom Dispatcher durchgereicht wird - */ + /** + * edit(req,res) - generische Editmethode. Wennn die Funktionalitaet + * nicht reicht, muss sie in der abgeleiteten ServletModule-Klasse + * ueberschreiben werden. + * + * @param req Http-Request, das vom Dispatcher durchgereicht wird + * @param res Http-Response, die vom Dispatcher durchgereicht wird + */ public void edit(HttpServletRequest req, HttpServletResponse res) - throws ServletModuleException { + throws ServletModuleException { try { - String idParam = req.getParameter("id"); - deliver(req, res, mainModule.getById(idParam), templateObjektString); + String idParam = req.getParameter("id"); + deliver(req, res, mainModule.getById(idParam), templateObjektString); } catch(ModuleException e) { throw new ServletModuleException(e.toString()); } } /** - * update(req,res) - generische Updatemethode. Wennn die Funktionalitaet - * nicht reicht, muss sie in der abgeleiteten ServletModule-Klasse - * ueberschreiben werden. - * - * @param req Http-Request, das vom Dispatcher durchgereicht wird - * @param res Http-Response, die vom Dispatcher durchgereicht wird - */ + * update(req,res) - generische Updatemethode. Wennn die Funktionalitaet + * nicht reicht, muss sie in der abgeleiteten ServletModule-Klasse + * ueberschreiben werden. + * + * @param req Http-Request, das vom Dispatcher durchgereicht wird + * @param res Http-Response, die vom Dispatcher durchgereicht wird + */ - public void update(HttpServletRequest req, HttpServletResponse res) - throws ServletModuleException { - try { - String idParam = req.getParameter("id"); + public void update(HttpServletRequest req, HttpServletResponse res) + throws ServletModuleException { + try { + String idParam = req.getParameter("id"); HashMap withValues = getIntersectingValues(req, mainModule.getStorageObject()); String id = mainModule.set(withValues); //theLog.printInfo("Showing Entity with id: " + id); @@ -218,128 +218,128 @@ public abstract class ServletModule { String whereParam = req.getParameter("where"); String orderParam = req.getParameter("order"); if ((whereParam!=null && !whereParam.equals("")) || (orderParam!=null && !orderParam.equals(""))){ - //theLog.printDebugInfo("update to list"); - list(req,res); + //theLog.printDebugInfo("update to list"); + list(req,res); } else { - edit(req, res); + edit(req, res); } //list(req,res); - } catch (Exception e) { + } catch (Exception e) { throw new ServletModuleException(e.toString()); } - } + } - // Hilfsprozeduren + // Hilfsprozeduren /** - public void predeliver(HttpServletResponse res, TemplateModelRoot rtm, String tmpl) - throws ServletModuleException { + public void predeliver(HttpServletResponse res, TemplateModelRoot rtm, String tmpl) + throws ServletModuleException { try { PrintWriter out = new LineFilterWriter(res.getWriter()); StringWriter a = new StringWriter(); deliver(new PrintWriter(a),rtm,tmpl); out.write(a.toString()); out.flush(); - } catch (Exception e) { + } catch (Exception e) { e.printStackTrace();System.err.println(e.toString()); } - } + } */ - /** - * deliver liefert das Template mit dem Filenamen templateFilename - * an den HttpServletResponse res aus, nachdem es mit den Daten aus - * TemplateModelRoot rtm gemischt wurde - * - * @param res Http-Response, die vom Dispatcher durchgereicht wird - * @param rtm beinahalten das freemarker.template.TempalteModelRoot mit den - * Daten, die ins Template gemerged werden sollen. - * @param tmpl Name des Templates - * @exception ServletModuleException - */ - public void deliver(HttpServletRequest req, HttpServletResponse res, TemplateModelRoot rtm, String templateFilename) - throws ServletModuleException { - if (rtm == null) rtm = new SimpleHash(); - try { - //PrintWriter out = new LineFilterWriter(res.getWriter()); - PrintWriter out = res.getWriter(); - HTMLTemplateProcessor.process(getLanguage(req)+"/"+templateFilename, rtm , out); - out.close(); - } catch (HTMLParseException e) { - throw new ServletModuleException(e.toString()); - } catch (IOException e) { - throw new ServletModuleException(e.toString()); - } - } - /** - * deliver liefert das Template mit dem Filenamen templateFilename - * an den HttpServletResponse res aus, nachdem es mit den Daten aus - * TemplateModelRoot rtm gemischt wurde - * - * @param res Http-Response, die vom Dispatcher durchgereicht wird - * @param entity Entity, aus der die Daten, die ins Template gemerged werden sollen. - * @param tmpl Name des Templates - * @exception ServletModuleException - */ - public void deliver(HttpServletRequest req, HttpServletResponse res, Entity ent, String templateFilename) - throws ServletModuleException { - deliver(req, res,HTMLTemplateProcessor.makeSimpleHash(ent), templateFilename); - } - /** - * deliver liefert das Template mit dem Filenamen templateFilename - * an den HttpServletResponse res aus, nachdem es mit den Daten aus - * TemplateModelRoot rtm gemischt wurde - * - * @param out ist der OutputStream, in den die gergten Daten geschickt werden sollen. - * @param rtm beinahalten das freemarker.template.TempalteModelRoot mit den - * Daten, die ins Template gemerged werden sollen. - * @param tmpl Name des Templates - * @exception ServletModuleException - */ - private void deliver(HttpServletRequest req, PrintWriter out, TemplateModelRoot rtm, String templateFilename) + /** + * deliver liefert das Template mit dem Filenamen templateFilename + * an den HttpServletResponse res aus, nachdem es mit den Daten aus + * TemplateModelRoot rtm gemischt wurde + * + * @param res Http-Response, die vom Dispatcher durchgereicht wird + * @param rtm beinahalten das freemarker.template.TempalteModelRoot mit den + * Daten, die ins Template gemerged werden sollen. + * @param tmpl Name des Templates + * @exception ServletModuleException + */ + public void deliver(HttpServletRequest req, HttpServletResponse res, TemplateModelRoot rtm, String templateFilename) + throws ServletModuleException { + if (rtm == null) rtm = new SimpleHash(); + try { + //PrintWriter out = new LineFilterWriter(res.getWriter()); + PrintWriter out = res.getWriter(); + HTMLTemplateProcessor.process(getLanguage(req)+"/"+templateFilename, rtm , out); + out.close(); + } catch (HTMLParseException e) { + throw new ServletModuleException(e.toString()); + } catch (IOException e) { + throw new ServletModuleException(e.toString()); + } + } + /** + * deliver liefert das Template mit dem Filenamen templateFilename + * an den HttpServletResponse res aus, nachdem es mit den Daten aus + * TemplateModelRoot rtm gemischt wurde + * + * @param res Http-Response, die vom Dispatcher durchgereicht wird + * @param entity Entity, aus der die Daten, die ins Template gemerged werden sollen. + * @param tmpl Name des Templates + * @exception ServletModuleException + */ + public void deliver(HttpServletRequest req, HttpServletResponse res, Entity ent, String templateFilename) + throws ServletModuleException { + deliver(req, res,HTMLTemplateProcessor.makeSimpleHash(ent), templateFilename); + } + /** + * deliver liefert das Template mit dem Filenamen templateFilename + * an den HttpServletResponse res aus, nachdem es mit den Daten aus + * TemplateModelRoot rtm gemischt wurde + * + * @param out ist der OutputStream, in den die gergten Daten geschickt werden sollen. + * @param rtm beinahalten das freemarker.template.TempalteModelRoot mit den + * Daten, die ins Template gemerged werden sollen. + * @param tmpl Name des Templates + * @exception ServletModuleException + */ + private void deliver(HttpServletRequest req, PrintWriter out, TemplateModelRoot rtm, String templateFilename) throws HTMLParseException { - HTMLTemplateProcessor.process(getLanguage(req)+"/"+templateFilename, rtm , out); - } + HTMLTemplateProcessor.process(getLanguage(req)+"/"+templateFilename, rtm , out); + } - /** - * Wenn die abgeleitete Klasse diese Methode ueberschreibt und einen String mit einem - * Methodennamen zurueckliefert, dann wird diese Methode bei fehlender Angabe des - * doParameters ausgefuehrt. - * - * @return Name der Default-Action - */ - public String defaultAction() { return defaultAction; } + /** + * Wenn die abgeleitete Klasse diese Methode ueberschreibt und einen String mit einem + * Methodennamen zurueckliefert, dann wird diese Methode bei fehlender Angabe des + * doParameters ausgefuehrt. + * + * @return Name der Default-Action + */ + public String defaultAction() { return defaultAction; } - /** - * Hier kann vor der Datenaufbereitung schon mal ein response geschickt - * werden (um das subjektive Antwortverhalten bei langsamen Verbindungen - * zu verbessern). - */ - public void predeliver(HttpServletRequest req, HttpServletResponse res) { ; } + /** + * Hier kann vor der Datenaufbereitung schon mal ein response geschickt + * werden (um das subjektive Antwortverhalten bei langsamen Verbindungen + * zu verbessern). + */ + public void predeliver(HttpServletRequest req, HttpServletResponse res) { ; } - /** - * Holt die Felder aus der Metadatenfelderliste des StorageObjects, die - * im HttpRequest vorkommen und liefert sie als HashMap zurueck - * - * @return HashMap mit den Werten - */ - public HashMap getIntersectingValues(HttpServletRequest req, StorageObject theStorage) - throws ServletModuleException { - ArrayList theFieldList; - try { + /** + * Holt die Felder aus der Metadatenfelderliste des StorageObjects, die + * im HttpRequest vorkommen und liefert sie als HashMap zurueck + * + * @return HashMap mit den Werten + */ + public HashMap getIntersectingValues(HttpServletRequest req, StorageObject theStorage) + throws ServletModuleException { + ArrayList theFieldList; + try { theFieldList = theStorage.getFields(); } catch (StorageObjectException e) { - throw new ServletModuleException("ServletModule.getIntersectingValues: " + e.toString()); + throw new ServletModuleException("ServletModule.getIntersectingValues: " + e.toString()); } - HashMap withValues = new HashMap(); - String aField, aValue; + HashMap withValues = new HashMap(); + String aField, aValue; for(int i=0; i0){ - temp = StringUtil.createHTML(temp,imageRoot,mailLinkName,extLinkName,intLinkName); - temp = StringUtil.decodeHTMLinTags(temp); - currentContentValues.put("content_data",temp); - } - temp = (String)currentContentValues.get("description"); - if(temp!=null && temp.length()>0){ - temp = StringUtil.createHTML(temp,imageRoot,mailLinkName,extLinkName,intLinkName); - temp = StringUtil.decodeHTMLinTags(temp); - currentContentValues.put("description",temp); - } - - } else { - + } else { String temp = (String)currentContentValues.get("content_data"); - if(temp!=null && temp.length()>0){ - temp = StringUtil.decodeHTMLinTags(temp); - currentContentValues.put("content_data",temp); - } - temp = (String)currentContentValues.get("description"); - if(temp!=null && temp.length()>0){ - temp = StringUtil.decodeHTMLinTags(temp); - currentContentValues.put("description",temp); - } - } + //create the freemarker-model + SimpleHash mergeData = HTMLTemplateProcessor.makeSimpleHash(currentContentValues); - - SimpleHash mergeData = HTMLTemplateProcessor.makeSimpleHash(currentContentValues); - - - - // get the images - - currentMediaId = currentContent.getValue("to_media"); - - if (currentMediaId!=null && !currentMediaId.equals("")) { - - imageHash.put(currentMediaId, HTMLTemplateProcessor.makeSimpleHash(imageModule.getById(currentMediaId))); - - } - - mergeData.put("images", imageHash); - - - - // get the comments for the article - - mergeData.put("comments", currentContent.getComments()); - - - - // get the topics of this article - mergeData.put("topics",HTMLTemplateProcessor.makeSimpleList(DatabaseContentToTopics.getInstance().getTopics(currentContent))); - - boolean retVal = produce(contentTemplate, htmlFileName, mergeData, htmlout); - sessionConnectTime = new java.util.Date().getTime() - startTime; - if (retVal == true && !"1".equals(currentContent.getValue("is_produced"))) - currentContent.setProduced(true); - } - - if (batchEntityList.hasNextBatch()){ - - batchEntityList = contentModule.getContent(whereClause, orderBy, batchEntityList.getNextBatch(),contentBatchsize, userEntity); - - //theLog.printDebugInfo("producing next batch"); - - } else { - - batchEntityList=null; - - } - - } - - // Finish - - sessionConnectTime = new java.util.Date().getTime() - startTime; - - logHTML(htmlout, "Producer.Content finished: " + sessionConnectTime + " ms."); - - - - } - - - -} \ No newline at end of file + // get the images + currentMediaId = currentContent.getValue("to_media"); + if (currentMediaId!=null && !currentMediaId.equals("")) { + imageHash.put(currentMediaId, HTMLTemplateProcessor.makeSimpleHash(imageModule.getById(currentMediaId))); + } + mergeData.put("images", imageHash); + + // get the comments for the article + mergeData.put("comments", currentContent.getComments()); + + // get the topics of this article + mergeData.put("topics",HTMLTemplateProcessor.makeSimpleList(DatabaseContentToTopics.getInstance().getTopics(currentContent))); + + //produce html + boolean retVal = produce(contentTemplate, htmlFileName, mergeData, htmlout); + sessionConnectTime = new java.util.Date().getTime() - startTime; + if (retVal == true && !"1".equals(currentContent.getValue("is_produced"))) + currentContent.setProduced(true); + } + + if (batchEntityList.hasNextBatch()){ + batchEntityList = contentModule.getContent(whereClause, orderBy, batchEntityList.getNextBatch(),contentBatchsize, userEntity); + } else { + batchEntityList=null; + } + } + + // timing an message to browser + sessionConnectTime = new java.util.Date().getTime() - startTime; + logHTML(htmlout, "Producer.Content finished: " + sessionConnectTime + " ms."); + } + +}