introduced AdapterEntityModel
[mir.git] / source / mirlocal / euskalherria.indymedia.org / EHProducerLocalizer.java
index 3424e87..f4e53e8 100755 (executable)
@@ -1,5 +1,6 @@
 package mirlocal.euskalherria.indymedia.org;
 
+import java.io.*;
 import java.util.*;
 import mir.producer.*;
 import mircoders.global.*;
@@ -7,18 +8,18 @@ import mircoders.localizer.*;
 import mircoders.localizer.basic.*;
 import mircoders.producer.*;
 import mircoders.storage.*;
-import mircoders.entity.adapter.*;
 
 public class EHProducerLocalizer extends MirBasicProducerLocalizer {
 
-  protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
+  protected void setupContentFactory(CompositeProducerNode aProducerNode) {
     EntityEnumeratingProducerNode contentNode = null;
+    aProducerNode.clear();
 
     try {
       contentNode =
-          new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+          new EntityEnumeratingProducerNode( "content", model, "content",
             new CompositeProducerNode( new ProducerNode[] {
-              new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+              new EntityEnumeratingProducerNode( "language", model, "language", "", "",
                 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
                     new CompositeProducerNode( new ProducerNode[] {
                       new GeneratingProducerNode(
@@ -37,31 +38,31 @@ public class EHProducerLocalizer extends MirBasicProducerLocalizer {
           );
     }
     catch (Throwable t) {
+      logger.printError("EHProducerLocalizer.setupContentFactory: Exception "+t.getMessage());
     }
 
     contentNode.addVerb( "all", "is_published='1'", "" );
     contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" );
 
-    aContentFactory.addFactory( new NodedProducerFactory( contentNode ) );
+    aProducerNode.addSubNode( contentNode );
 
   }
 
-  protected void setupStartPageFactory(CompositeProducerFactory aStartPageFactory) {
-    ProducerNode startPageNode = null;
-
+  protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
+    aProducerNode.clear();
     try {
-      startPageNode =
-            new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+      aProducerNode.addSubNode(
+            new EntityListProducerNode("newswire", model, "content",
                     "is_published='1' and to_article_type = ${articletype.newswire}", "date desc, webdb_create desc", 40, 0,
-              new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+              new EntityListProducerNode("languages", model, "language",
                             "", "code", 10, 0,
-                new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+                new EntityEnumeratingProducerNode( "language", model, "language", "", "",
                   new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
-                    new EntityListProducerNode("startspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+                    new EntityListProducerNode("startspecial", model, "content",
                               "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 1, 0,
-                      new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+                      new EntityListProducerNode("features", model, "content",
                               "is_published='1' and to_article_type = ${articletype.feature}", "date desc, webdb_create desc", 10, 0,
-                        new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
+                        new EntityListProducerNode("breaking", model, "breakingNews",
                                   "", "webdb_create desc", 5, 0,
                           new GeneratingProducerNode(
                               "/producer/euskalherria.indymedia.org/startpage.template",
@@ -73,34 +74,22 @@ public class EHProducerLocalizer extends MirBasicProducerLocalizer {
                   )
                 )
               )
-            );
+            )
+      );
     }
     catch (Throwable t) {
+      logger.printError("EHProducerLocalizer.setupStartPageFactory: Exception "+t.getMessage());
     }
-
-    aStartPageFactory.addFactory( new NodedProducerFactory( startPageNode ) );
   }
 
-  protected void setupSynchronizationFactory(CompositeProducerFactory aSynchronizationFactory) {
-/*    if(MirGlobal.getConfigBooleanProperty("Rsync")){
-      aSynchronizationFactory.addFactory(
-        new ScriptCallProducerFactory(MirGlobal.getConfigProperty("Rsync.Script.Path")));
-    }
-    else {
-*/      NullProducerFactory nullFactory = new NullProducerFactory();
-      nullFactory.addVerb("run");
-      aSynchronizationFactory.addFactory(nullFactory);
-/*    }*/
-  }
-
-  protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
-    ProducerNode staticNode = null;
+  protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
+    aProducerNode.clear();
 
     try {
-      staticNode =
-          new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+      aProducerNode.addSubNode(
+          new EntityListProducerNode("languages", model, "language",
                   "", "code", 10, 0,
-            new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+            new EntityEnumeratingProducerNode( "language", model, "language", "", "",
               new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
                 new GeneratingProducerNode(
                     "/producer/euskalherria.indymedia.org/navigation.template",
@@ -108,27 +97,27 @@ public class EHProducerLocalizer extends MirBasicProducerLocalizer {
                 )
               )
             )
-          );
+          )
+      );
     }
     catch (Throwable t) {
+      logger.printError("EHProducerLocalizer.setupStaticFactory: Exception "+t.getMessage());
     }
-
-    aStaticFactory.addFactory( new NodedProducerFactory( staticNode ) );
   }
 
-  protected void setupFactories(Map aFactoriesMap ) {
-    EntityBatchingProducerNode topicPageNode = null;
+  protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
+    aProducerNode.clear();
 
-    super.setupFactories(aFactoriesMap);
+    EntityBatchingProducerNode topicPageNode = null;
 
     try {
       topicPageNode =
-        new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
-              "is_published='1' and to_article_type = ${articletype.newswire} and id in (select content_id from content_x_topic where topic_id = ${topic.id})", "date asc, webdb_create asc", 6, 5, 0,
-          new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+        new EntityBatchingProducerNode( "articles", "batch", model, "content",
+              "is_published='1' and to_article_type = ${articletype.newswire} and id in (select content_id from content_x_topic where topic_id = ${topic.id})", "date asc, webdb_create asc", 20, 5, 0,
+          new EntityListProducerNode("languages", model, "language",
                   "", "code", 10, 0,
-            new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
-              new ResourceBundleProducerNode("lang", "producer_${language.code}",
+            new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+              new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
                 new GeneratingProducerNode(
                     "/producer/euskalherria.indymedia.org/topic.template",
                     "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml"
@@ -136,10 +125,10 @@ public class EHProducerLocalizer extends MirBasicProducerLocalizer {
               )
             )
           ),
-          new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+          new EntityListProducerNode("languages", model, "language",
                   "", "code", 10, 0,
-            new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
-              new ResourceBundleProducerNode("lang", "producer_${language.code}",
+            new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+              new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
                 new GeneratingProducerNode(
                     "/producer/euskalherria.indymedia.org/topicnavigation.template",
                     "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
@@ -151,22 +140,25 @@ public class EHProducerLocalizer extends MirBasicProducerLocalizer {
       topicPageNode.addVerb("all", -1);
       topicPageNode.addVerb("new", 3);
 
-      aFactoriesMap.put("topics",
-        new NodedProducerFactory(
-          new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "", "",
-            new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+      aProducerNode.addSubNode(
+          new EntityEnumeratingProducerNode( "topic", model, "topic","", "",
+            new EntityListProducerNode("topicspecial", model, "content",
                   "is_published='1' and to_article_type = ${articletype.topicspecial} and id in (select content_id from content_x_topic where topic_id = ${topic.id})", "date, webdb_create", 1, 0,
-              new EntityListProducerNode("topicfeatures", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+              new EntityListProducerNode("topicfeatures", model, "content",
                     "is_published='1' and to_article_type = ${articletype.feature} and id in (select content_id from content_x_topic where topic_id = ${topic.id})", "date, webdb_create", 10, 0,
                 topicPageNode
               )
             )
           )
-        )
       );
     }
     catch (Throwable t) {
+      logger.printError("EHProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage());
     }
 
   }
+
+  protected void setupFactories(Map aFactoriesMap ) {
+    super.setupFactories(aFactoriesMap);
+  }
 }