import java.lang.*;
import java.util.*;
-
import freemarker.template.*;
-import com.icl.saxon.trax.Transformer;
-
import mir.misc.*;
import mir.storage.*;
import mir.module.*;
public class ProducerContent extends Producer {
+ public static void main(String argv[]){
+ Configuration.initConfig("config");
+ System.out.println(Configuration.getProperty("Producer.DocRoot"));
+ try {
+ new ProducerContent().handle(new PrintWriter(System.out), null, false,false);
+ } catch(Exception e) {
+ System.err.println(e.toString());
+ }
+ }
- public static void main(String argv[]){
-
- Configuration.initConfig("config");
-
- System.out.println(Configuration.getProperty("Producer.DocRoot"));
-
- try {
-
- new ProducerContent().handle(new PrintWriter(System.out), null, false,false);
-
- } catch(Exception e) { System.err.println(e.toString()); }
-
- }
-
-
-
- public void handle(PrintWriter htmlout, EntityUsers user, boolean force, boolean sync)
-
- throws StorageObjectException, ModuleException {
-
- handle(htmlout,user,force,sync,null);
-
- }
-
-
-
-
-
- public void handle(PrintWriter htmlout, EntityUsers user, boolean force, boolean sync, String id)
-
- throws StorageObjectException, ModuleException
-
- {
-
-
-
- String contentTemplate = Configuration.getProperty("Producer.Content.Template");
-
- int contentBatchsize = Integer.parseInt(Configuration.getProperty("Producer.Content.Batchsize"));
-
- String extLinkName = Configuration.getProperty("Producer.ExtLinkName");
-
- String intLinkName = Configuration.getProperty("Producer.IntLinkName");
-
- String mailLinkName = Configuration.getProperty("Producer.MailLinkName");
-
- String imageRoot = Configuration.getProperty("Producer.ImageRoot");
-
- long sessionConnectTime = 0;
- long startTime = (new java.util.Date()).getTime();
- String whereClause = " ";
- String orderBy = " ";
- String htmlFileName = null;
- String currentMediaId;
- EntityContent currentContent;
- EntityList batchEntityList;
-
- HashMap currentContentValues;
-
- SimpleHash imageHash = new SimpleHash();
-
- EntityGruppen userEntity=null;
-
-
-
- // production of the content-pages
-
- orderBy="date desc, webdb_lastchange desc";
-
- if(force==true){
-
- whereClause="is_published='1'";
-
-
-
- // if true: produces a single content item
-
- if(id !=null){
-
- whereClause += " AND id="+id;
-
- }
-
- batchEntityList = contentModule.getContent(whereClause, orderBy, 0, contentBatchsize, userEntity);
-
- } else {
-
- whereClause="is_produced='0' AND is_published='1'";
-
-
-
- //if true produces a single contentitem
-
- if(id !=null){
-
- whereClause += " AND id="+id;
-
- }
-
- batchEntityList = contentModule.getContent(whereClause, orderBy, 0, contentBatchsize, userEntity);
-
- }
-
-
-
- while (batchEntityList != null) {
-
- for(int i=0;i<batchEntityList.size();i++) {
-
- currentContent = (EntityContent)batchEntityList.elementAt(i);
- currentContentValues = currentContent.getValues();
- //currentContentValues.put("content_data",currentContent.getContentData());
+ public void handle(PrintWriter htmlout, EntityUsers user, boolean force, boolean sync)
+ throws StorageObjectException, ModuleException {
+ handle(htmlout,user,force,sync,null);
+ }
- String date = (String)currentContentValues.get("date");
- String year = date.substring(0,4);
+ public void handle(PrintWriter htmlout, EntityUsers user, boolean force, boolean sync, String id)
+ throws StorageObjectException, ModuleException {
- String month = date.substring(4,6);
+ String contentTemplate = Configuration.getProperty("Producer.Content.Template");
+ int contentBatchsize = Integer.parseInt(Configuration.getProperty("Producer.Content.Batchsize"));
+ String extLinkName = Configuration.getProperty("Producer.ExtLinkName");
+ String intLinkName = Configuration.getProperty("Producer.IntLinkName");
+ String mailLinkName = Configuration.getProperty("Producer.MailLinkName");
+ String imageRoot = Configuration.getProperty("Producer.ImageRoot");
+ long sessionConnectTime = 0;
+ long startTime = (new java.util.Date()).getTime();
+ String whereClause = " ";
+ String orderBy = " ";
+ String htmlFileName = null;
+ String currentMediaId;
+ EntityContent currentContent;
+ EntityList batchEntityList;
+ HashMap currentContentValues;
+ SimpleHash imageHash = new SimpleHash();
+ EntityGruppen userEntity=null;
- htmlFileName = producerDocRoot
- + "/" + year + "/" + month + "/" + currentContentValues.get("id") + ".shtml";
+ // production of the content-pages
+ orderBy="date desc, webdb_lastchange desc";
+ if(force==true){
+ whereClause="is_published='1'";
+ // if true: produces a single content item
+ if(id !=null){
+ whereClause += " AND id="+id;
+ }
+ batchEntityList = contentModule.getContent(whereClause, orderBy, 0, contentBatchsize, userEntity);
+ } else {
+ whereClause="is_produced='0' AND is_published='1'";
+ //if true produces a single contentitem
+ if(id !=null){
+ whereClause += " AND id="+id;
+ }
+ batchEntityList = contentModule.getContent(whereClause, orderBy, 0, contentBatchsize, userEntity);
+ }
+ while (batchEntityList != null) {
+ for(int i=0;i<batchEntityList.size();i++) {
+ currentContent = (EntityContent)batchEntityList.elementAt(i);
+ currentContentValues = currentContent.getValues();
+ //because of postgres 7.1.* not needed anymore
+ //currentContentValues.put("content_data",currentContent.getContentData());
+ String date = (String)currentContentValues.get("date");
+ String year = date.substring(0,4);
+ String month = date.substring(4,6);
- currentContentValues.put("content_data",StringUtil.deleteForbiddenTags((String)currentContentValues.get("content_data")));
-
- currentContentValues.put("description",StringUtil.deleteForbiddenTags((String)currentContentValues.get("description")));
+ htmlFileName = producerDocRoot
+ + "/" + year + "/" + month + "/" + currentContentValues.get("id") + ".shtml";
+ currentContentValues.put("content_data",StringUtil.deleteForbiddenTags((String)currentContentValues.get("content_data")));
+ currentContentValues.put("description",StringUtil.deleteForbiddenTags((String)currentContentValues.get("description")));
+ //create http-links and email-links
if (currentContentValues.get("is_html").equals("0")) {
-
String temp = (String)currentContentValues.get("content_data");
-
- theLog.printDebugInfo("länge:"+temp.length());
-
if(temp!=null && temp.length()>0){
-
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.");
+ }
+
+}