logging is now done more appropriately... still waiting for idefix' introduction...
[mir.git] / source / mircoders / localizer / basic / MirBasicProducerLocalizer.java
index 97e80b2..621b026 100755 (executable)
@@ -2,12 +2,14 @@ package mircoders.localizer.basic;
 
 import java.util.*;
 import mir.producer.*;
+import mir.misc.*;
 import mircoders.global.*;
 import mircoders.localizer.*;
 import mircoders.producer.*;
 
 public class MirBasicProducerLocalizer implements MirProducerLocalizer {
   private Map producerFactories;
+  protected static Logfile logger = Logfile.getInstance( MirGlobal.getConfigProperty("Home") + "/" + MirGlobal.getConfigProperty("Mir.Localizer.Logfile"));
 
   public MirBasicProducerLocalizer() {
     producerFactories = new HashMap();
@@ -19,69 +21,49 @@ public class MirBasicProducerLocalizer implements MirProducerLocalizer {
     return producerFactories;
   };
 
-  protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
-    aContentFactory.addFactory(
-      new ContentProducerFactory(
-      MirGlobal.getConfigProperty("Producer.Content.Template"),
-      "bundles.admin",
-      MirGlobal.getConfigProperty("Producer.StorageRoot") + "/${contentyear}/${contentmonth}/${contentid}.shtml",
-      Integer.parseInt(MirGlobal.getConfigProperty("Producer.Content.Batchsize"))));
+  protected void setupContentFactory(CompositeProducerNode aProducerNode) {
   }
 
-  protected void setupStartPageFactory(CompositeProducerFactory aStartPageFactory) {
-    aStartPageFactory.addFactory(
-      new StartPageProducerFactory(
-          MirGlobal.getConfigProperty("Producer.StartPage.Template"),
-          "bundles.admin",
-          MirGlobal.getConfigProperty("Producer.StorageRoot") + "/index.shtml",
-          MirGlobal.getConfigIntegerProperty("Producer.StartPage.Items"),
-          MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
+  protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
   }
 
-  protected void setupSynchronizationFactory(CompositeProducerFactory aSynchronizationFactory) {
+  protected void setupSynchronizationFactory(CompositeProducerNode aProducerNode) {
     if(MirGlobal.getConfigBooleanProperty("Rsync")){
-      aSynchronizationFactory.addFactory(
-        new ScriptCallProducerFactory(MirGlobal.getConfigProperty("Rsync.Script.Path")));
-    }
-    else {
-      NullProducerFactory nullFactory = new NullProducerFactory();
-      nullFactory.addVerb("run");
-      aSynchronizationFactory.addFactory(nullFactory);
+      aProducerNode.addSubNode(
+        new ScriptCallingProducerNode(MirGlobal.getConfigProperty("Rsync.Script.Path"))
+      );
     }
   }
 
-  protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
-    aStaticFactory.addFactory(
-      new StaticProducerFactory(
-          MirGlobal.getConfigProperty("Producer.Navigation.Template"),
-          "bundles.admin",
-          MirGlobal.getConfigProperty("Producer.StorageRoot") + "/navigation.inc"));
+  protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
+  }
+
+  protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
   }
 
   protected void setupFactories(Map aFactoriesMap ) {
+    CompositeProducerNode node;
 
-    CompositeProducerFactory factory;
+    node = new CompositeProducerNode();
+    setupContentFactory( node );
+    aFactoriesMap.put("content", new NodedProducerFactory(node));
 
-    factory=new CompositeProducerFactory();
-    setupContentFactory(factory);
-    aFactoriesMap.put("content", factory);
+    node = new CompositeProducerNode();
+    setupStartPageFactory( node );
+    aFactoriesMap.put("startpage", new NodedProducerFactory(node));
 
-    factory=new CompositeProducerFactory();
-    setupStartPageFactory(factory);
-    aFactoriesMap.put("startpage", factory);
+    node = new CompositeProducerNode();
+    setupSynchronizationFactory( node );
+    aFactoriesMap.put("synchronization", new NodedProducerFactory(node));
 
-    factory=new CompositeProducerFactory();
-    setupSynchronizationFactory(factory);
-    aFactoriesMap.put("synchronization", factory);
+    node = new CompositeProducerNode();
+    setupStaticFactory( node );
+    aFactoriesMap.put("static", new NodedProducerFactory(node));
 
-    factory=new CompositeProducerFactory();
-    setupStaticFactory(factory);
-    aFactoriesMap.put("static", factory);
+    node = new CompositeProducerNode();
+    setupTopicsFactory( node );
+    aFactoriesMap.put("topics", new NodedProducerFactory(node));
 
     aFactoriesMap.put("images", new OldProducerAdapterFactory(new ProducerImages()));
-/*    aFactoriesMap.put("navigationold", new OldProducerAdapterFactory(new ProducerNavigation()));
-    aFactoriesMap.put("openposting", new OldProducerAdapterFactory(new ProducerOpenPosting()));
-    aFactoriesMap.put("topics", new OldProducerAdapterFactory(new ProducerTopics()));
-*/
   };
 }