1 package mircoders.producer;
6 import freemarker.template.*;
12 import mircoders.module.*;
13 import mircoders.storage.*;
14 import mircoders.entity.*;
17 public class ProducerStartPage extends Producer {
19 private static String startPageTemplate = MirConfig.getProp("Producer.StartPage.Template");
20 private static int itemsPerPage = Integer.parseInt(MirConfig.getProp("Producer.StartPage.Items"));
21 private static int newsPerPage = Integer.parseInt(MirConfig.getProp("Producer.StartPage.Newswire"));
23 public static void main(String argv[]){
25 // Why are we reloading the configuration here?
26 // is there something I'm missing?
27 // mh. <heckmann@hbe.ca>
28 // Configuration.initConfig(argv[0]);
29 new ProducerStartPage().handle(new PrintWriter(System.out), null);
30 } catch(Exception e) {
31 System.err.println(e.toString());
35 public void handle(PrintWriter htmlout, EntityUsers user, boolean force,boolean sync)
36 throws StorageObjectException, ModuleException
38 printHTML(htmlout, "Producer.StartPage: started");
39 long sessionConnectTime = 0;
40 long startTime = (new java.util.Date()).getTime();
41 String nowWebdbDate = StringUtil.date2webdbDate(new GregorianCalendar());
42 EntityList entityList;
45 entityList = contentModule.getNewsWire(0,newsPerPage);
46 SimpleList newsWireList = HTMLTemplateProcessor.makeSimpleList(entityList);
47 // get the startarticle
48 entityList = contentModule.getStartArticle();
49 SimpleList startItemList = HTMLTemplateProcessor.makeSimpleList(entityList);
51 entityList = contentModule.getFeatures(0,itemsPerPage);
52 SimpleList featureList = HTMLTemplateProcessor.makeSimpleList(entityList);
54 SimpleHash startPageModel = new SimpleHash();
57 ModuleBreaking breakingModule = new ModuleBreaking(DatabaseBreaking.getInstance());
58 startPageModel.put("breakingnews", breakingModule.getBreakingNews());
60 startPageModel.put("topics", topicsModule.getTopicsList());
61 startPageModel.put("newswire", newsWireList);
62 startPageModel.put("startspecial", startItemList);
63 startPageModel.put("features", featureList);
65 produce(startPageTemplate, producerDocRoot + "/index.shtml", startPageModel, htmlout);
68 sessionConnectTime = new java.util.Date().getTime() - startTime;
69 logHTML(htmlout, "Producer.Startpage finished: " + sessionConnectTime + " ms.");
72 logHTML(htmlout, "Producer.Startpage: rsync done");