- open posting localizer now in use for updating startpage / content after an
[mir.git] / source / mircoders / localizer / basic / MirBasicProducerLocalizer.java
index 7089b0e..00c1f0e 100755 (executable)
@@ -19,32 +19,59 @@ public class MirBasicProducerLocalizer implements MirProducerLocalizer {
     return producerFactories;
   };
 
-  protected void setupFactories(Map aFactoriesMap ) {
-
-    aFactoriesMap.put(
-      "content",
+  protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
+    aContentFactory.addFactory(
       new ContentProducerFactory(
       MirGlobal.getConfigProperty("Producer.Content.Template"),
       "bundles.admin",
       MirGlobal.getConfigProperty("Producer.StorageRoot"),
       ".shtml",
       Integer.parseInt(MirGlobal.getConfigProperty("Producer.Content.Batchsize"))));
+  }
 
-    aFactoriesMap.put("oldstartpage", new OldProducerAdapterFactory(new ProducerStartPage()));
-    aFactoriesMap.put("images", new OldProducerAdapterFactory(new ProducerImages()));
-    aFactoriesMap.put("navigation", new OldProducerAdapterFactory(new ProducerNavigation()));
-    aFactoriesMap.put("openposting", new OldProducerAdapterFactory(new ProducerOpenPosting()));
-    aFactoriesMap.put("topics", new OldProducerAdapterFactory(new ProducerTopics()));
-
-    aFactoriesMap.put("startpage", new StartPageProducerFactory(
+  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 setupSynchronizationFactory(CompositeProducerFactory aSynchronizationFactory) {
     if(MirGlobal.getConfigBooleanProperty("Rsync")){
-      aFactoriesMap.put("sync", new ScriptCallProducerFactory(MirGlobal.getConfigProperty("Rsync.Script.Path")));
+      aSynchronizationFactory.addFactory(
+        new ScriptCallProducerFactory(MirGlobal.getConfigProperty("Rsync.Script.Path")));
     }
+    else {
+      NullProducerFactory nullFactory = new NullProducerFactory();
+      nullFactory.addVerb("run");
+      aSynchronizationFactory.addFactory(nullFactory);
+    }
+  }
+
+  protected void setupFactories(Map aFactoriesMap ) {
+
+    CompositeProducerFactory factory;
+
+    factory=new CompositeProducerFactory();
+    setupContentFactory(factory);
+    aFactoriesMap.put("content", factory);
+
+    factory=new CompositeProducerFactory();
+    setupStartPageFactory(factory);
+    aFactoriesMap.put("startpage", factory);
+
+    factory=new CompositeProducerFactory();
+    setupSynchronizationFactory(factory);
+    aFactoriesMap.put("synchronization", factory);
+
+    aFactoriesMap.put("oldstartpage", new OldProducerAdapterFactory(new ProducerStartPage()));
+    aFactoriesMap.put("images", new OldProducerAdapterFactory(new ProducerImages()));
+    aFactoriesMap.put("navigation", new OldProducerAdapterFactory(new ProducerNavigation()));
+    aFactoriesMap.put("openposting", new OldProducerAdapterFactory(new ProducerOpenPosting()));
+    aFactoriesMap.put("topics", new OldProducerAdapterFactory(new ProducerTopics()));
+
   };
 }