producer topic debug
[mir.git] / source / mircoders / producer / Producer.java
index d480796..ad27fee 100755 (executable)
@@ -4,38 +4,50 @@ import java.io.*;
 
 import freemarker.template.*;
 
-import webdb.misc.*;
-import webdb.storage.*;
-import webdb.module.*;
-
-import mir.module.*;
-import mir.entity.*;
+import mir.misc.*;
 import mir.storage.*;
+import mir.module.*;
+
+import mircoders.module.*;
+import mircoders.entity.*;
+import mircoders.storage.*;
 
 abstract public class Producer {
 
-       protected static String producerDocRoot = Configuration.getProperty("Producer.DocRoot");
-  protected static String producerStorageRoot = Configuration.getProperty("Producer.StorageRoot");
-       protected static String producerProductionHost = Configuration.getProperty("Producer.ProductionHost");
-       protected static String producerOpenAction = Configuration.getProperty("Producer.OpenAction");;
-       protected static Logfile theLog = Logfile.getInstance(Configuration.getProperty("Home") + Configuration.getProperty("Producer.Logfile"));
-       protected static ModuleTopics         topicsModule;
-       protected static ModuleSchwerpunkt    schwerpunktModule;
-       protected static ModuleFeature        featureModule;
-       protected static ModuleGruppen        gruppenModule;
-       protected static ModuleContent        contentModule;
-       protected static ModuleImages         imageModule;
+  protected static String   producerDocRoot = MirConfig.getProp("Producer.DocRoot");
+  protected static String   producerStorageRoot = MirConfig.getProp("Producer.StorageRoot");
+  protected static String   producerProductionHost = MirConfig.getProp("Producer.ProductionHost");
+  protected static String   producerOpenAction = MirConfig.getProp("Producer.OpenAction");;
+
+  /** @todo same as in HTMLTemplateProcessor, this should be dynamically set */
+  protected static String   actionRoot = MirConfig.getProp("RootUri") + "/servlet/Mir";
+
+  protected static Logfile theLog = Logfile.getInstance(MirConfig.getProp("Home") + "/" + MirConfig.getProp("Producer.Logfile"));
+  protected static ModuleTopics         topicsModule;
+  protected static ModuleLinksImcs      linksImcsModule;
+  protected static ModuleSchwerpunkt    schwerpunktModule;
+  protected static ModuleFeature        featureModule;
+  protected static ModuleContent        contentModule;
+  protected static ModuleImages         imageModule;
+  protected static ModuleUploadedMedia  uploadedMediaModule;
 
   static {
                // init
     try {
-                       contentModule = new ModuleContent(DatabaseContent.getInstance());
-                       gruppenModule = new ModuleGruppen(DatabaseGroups.getInstance());
-                       topicsModule = new ModuleTopics(DatabaseTopics.getInstance());
-                       schwerpunktModule = new ModuleSchwerpunkt(DatabaseFeature.getInstance());
-                       featureModule = new ModuleFeature(DatabaseFeature.getInstance());
-                       imageModule = new ModuleImages(DatabaseImages.getInstance());
-               } catch(StorageObjectException e) {;}
+
+      contentModule = new ModuleContent(DatabaseContent.getInstance());
+      topicsModule = new ModuleTopics(DatabaseTopics.getInstance());
+      linksImcsModule = new ModuleLinksImcs(DatabaseLinksImcs.getInstance());
+      schwerpunktModule = new ModuleSchwerpunkt(DatabaseFeature.getInstance());
+      featureModule = new ModuleFeature(DatabaseFeature.getInstance());
+      imageModule = new ModuleImages(DatabaseImages.getInstance());
+      uploadedMediaModule = new ModuleUploadedMedia(DatabaseImages.getInstance());
+
+    }
+    catch(StorageObjectException e)
+    {
+      System.err.println("*** failed to initialize Producer " + e.toString());
+    }
   }
 
        public void handle(PrintWriter htmlout, EntityUsers user)
@@ -47,7 +59,7 @@ abstract public class Producer {
                throws StorageObjectException, ModuleException;
 
 //
-// Produktionsroutine
+// Methods for producing files
 
        public boolean produce(String template, String filename, TemplateModelRoot model, PrintWriter htmlout) {
                return _produce(template, filename, model, htmlout, false);
@@ -70,21 +82,21 @@ abstract public class Producer {
                                outStream = new PrintWriter(outputFile);
                        }
 
-                       HTMLTemplateProcessor.process(template, model, outStream);
+                       HTMLTemplateProcessor.process(null,template, model, outStream);
                        outputFile.close();
                        outStream.close();
 
                        printHTML(htmlout, "Produced <a href=\"" + producerProductionHost+  filename + "\">" + filename + "</a>");
                        //theLog.printInfo("Produced: " + producerStorageRoot + filename);
-      //theLog.printDebugInfo("free mem:" + java.lang.Runtime.getRuntime().freeMemory());
+                       //theLog.printDebugInfo("free mem:" + java.lang.Runtime.getRuntime().freeMemory());
       //theLog.printDebugInfo("total mem:" + java.lang.Runtime.getRuntime().totalMemory());
                        return true;
 
                } catch(IOException exception){
-                       logHTML(htmlout, "Producer: File konnte nicht zum schreiben geoeffnet werden: " + filename);
+                       logHTML(htmlout, "Producer: File could not be written " + filename);
                        return false;
                } catch(HTMLParseException exception){
-                       logHTML(htmlout,"Producer: File konnte nicht hatemelisiert  werden: " + filename);
+                       logHTML(htmlout,"Producer: Error in HTML-parsing: " + filename);
                        return false;
                }
        }
@@ -121,7 +133,7 @@ abstract public class Producer {
 
 
        //
-       // filename routinen
+       // filename methods
 
        public String indexFileNameForPageCount(int pc) {
                return fileNameForPageCount("/index", pc);