introduced AdapterEntityModel
[mir.git] / source / mirlocal / indymedia.nl / IndyNLProducerLocalizer.java
index 4ca7e03..cb99075 100755 (executable)
@@ -7,7 +7,6 @@ import mircoders.localizer.*;
 import mircoders.localizer.basic.*;
 import mircoders.producer.*;
 import mircoders.storage.*;
-import mircoders.entity.adapter.*;
 
 public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
 
@@ -16,13 +15,13 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
 
     try {
       contentNode =
-          new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+          new EntityEnumeratingProducerNode( "content", model, "content",
             new CompositeProducerNode( new ProducerNode[] {
               new GeneratingProducerNode(
                   "/producer/indymedia.nl/content.template",
                   "${config.storageRoot}/content/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.inc"
               ),
-              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(
@@ -46,8 +45,8 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
 
 
       contentNode =
-          new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
-            new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+          new EntityEnumeratingProducerNode( "content", model, "content",
+            new EntityEnumeratingProducerNode( "language", model, "language", "", "",
               new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
                   new CompositeProducerNode( new ProducerNode[] {
                     new GeneratingProducerNode(
@@ -76,12 +75,12 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
   protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
     try {
       aProducerNode.addSubNode(
-            new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+            new EntityListProducerNode("newswire", model, "content",
                     "is_published='1' and to_article_type in (${articletype.newswire}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 40, 0,
-              new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+              new EntityListProducerNode("languages", model, "language",
                             "", "code", 10, 0,
                     new CompositeProducerNode( new ProducerNode[] {
-                        new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+                        new EntityEnumeratingProducerNode( "language", model, "language", "", "",
                           new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
                               new GeneratingProducerNode(
                                   "/producer/indymedia.nl/newswire.template",
@@ -89,23 +88,26 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
                               )
                           )
                         ),
-                        new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
-                                "is_published='1' and to_article_type in ( ${articletype.feature}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 10, 0,
-                          new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
-                                    "", "webdb_create desc", 5, 0,
-                            new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "code='nl'", "",
-                              new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
-                                new AssignmentProducerNode( "staticinclude", "1",
-                                  new EvaluatedAssignmentProducerNode( "topinclude", "/producer/indymedia.nl/top.template",
-                                  new EvaluatedAssignmentProducerNode( "bottominclude", "/producer/indymedia.nl/bottom.template",
-                                  new EvaluatedAssignmentProducerNode( "navinclude", "/producer/indymedia.nl/nav.template",
-                                  new EvaluatedAssignmentProducerNode( "newswireinclude", "/producer/indymedia.nl/newswire.template",
-                                  new EvaluatedAssignmentProducerNode( "featuresinclude", "/producer/indymedia.nl/features.template",
-                                    new GeneratingProducerNode(
-                                        "/producer/indymedia.nl/start.template",
-                                        "${config.storageRoot}/index.shtml"
-                                    )
-                                  )))))
+                        new EntityListProducerNode("startspecials", model, "content",
+                                "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 10, 0,
+                          new EntityListProducerNode("features", model, "content",
+                                  "is_published='1' and to_article_type in ( ${articletype.feature}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 20, 0,
+                            new EntityListProducerNode("breaking", model, "breakingNews",
+                                      "", "webdb_create desc", 5, 0,
+                              new EntityEnumeratingProducerNode( "language", model, "language", "code='nl'", "",
+                                new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+                                  new AssignmentProducerNode( "staticinclude", "1",
+                                    new EvaluatedAssignmentProducerNode( "topinclude", "/producer/indymedia.nl/top.template",
+                                    new EvaluatedAssignmentProducerNode( "bottominclude", "/producer/indymedia.nl/bottom.template",
+                                    new EvaluatedAssignmentProducerNode( "navinclude", "/producer/indymedia.nl/nav.template",
+                                    new EvaluatedAssignmentProducerNode( "newswireinclude", "/producer/indymedia.nl/newswire.template",
+                                    new EvaluatedAssignmentProducerNode( "featuresinclude", "/producer/indymedia.nl/features.template",
+                                      new GeneratingProducerNode(
+                                          "/producer/indymedia.nl/start.template",
+                                          "${config.storageRoot}/index.shtml"
+                                      )
+                                    )))))
+                                  )
                                 )
                               )
                             )
@@ -126,11 +128,11 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
 
     try {
       topicPageNode =
-        new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+        new EntityBatchingProducerNode( "articles", "batch", model, "content",
               "is_published='1' and to_article_type in (${articletype.newswire}, ${articletype.promotednewswire}) 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 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/indymedia.nl/topic.template",
@@ -139,9 +141,9 @@ public class IndyNLProducerLocalizer 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 EntityEnumeratingProducerNode( "language", model, "language", "", "",
               new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
                 new GeneratingProducerNode(
                     "/producer/indymedia.nl/topicnavigation.template",
@@ -155,8 +157,8 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
       topicPageNode.addVerb("new", 3);
 
       aProducerNode.addSubNode(
-          new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "", "",
-            new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+          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,
               topicPageNode
             )
@@ -172,9 +174,9 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
   protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
     try {
       aProducerNode.addSubNode(
-          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 CompositeProducerNode( new ProducerNode[] {
                     new GeneratingProducerNode(
@@ -253,13 +255,15 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
 
     try {
       node =
-          new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
-                  "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10, 0,
-            new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
+        new EntityListProducerNode("startspecials", model, "content",
+                "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 10, 0,
+          new EntityListProducerNode("features", model, "content",
+                  "is_published='1' and to_article_type in ( ${articletype.feature}, ${articletype.promotednewswire})", "date desc, webdb_create desc", 20, 0,
+            new EntityListProducerNode("breaking", model, "breakingNews",
                       "", "webdb_create desc", 5, 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 GeneratingProducerNode(
                           "/producer/indymedia.nl/features.template",
@@ -269,7 +273,8 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
                 )
               )
             )
-          );
+          )
+        );
       aFactoriesMap.put("features", new NodedProducerFactory( node ) );
     }
     catch (Throwable t) {
@@ -279,13 +284,13 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
 
     try {
       node =
-          new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+          new EntityListProducerNode("features", model, "content",
                   "is_published='1' and to_article_type = 2", "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 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 GeneratingProducerNode(
                           "/producer/indymedia.nl/features.template",
@@ -304,11 +309,12 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
 
     try {
       batchingNode =
-          new EntityBatchingProducerNode( "comments", "batch", DatabaseComment.getInstance(), CommentAdapterDefinition.getInstance(),
+          new EntityBatchingProducerNode( "comments", "batch", model, "comments",
+
                 "", "id asc", 25, 15, 0,
-            new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+            new EntityListProducerNode("languages", model, "language",
                     "", "code", 10, 0,
-              new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "code='nl'", "",
+              new EntityEnumeratingProducerNode( "language", model, "language", "code='nl'", "",
                 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
                   new GeneratingProducerNode(
                       "/producer/indymedia.nl/commentsindex.template",
@@ -317,9 +323,9 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
                 )
               )
             ),
-            new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
+            new EntityListProducerNode("languages", model, "language",
                     "", "code", 10, 0,
-              new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "code='nl'", "",
+              new EntityEnumeratingProducerNode( "language", model, "language", "code='nl'", "",
                 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
                   new GeneratingProducerNode(
                       "/producer/indymedia.nl/commentsindexnavigation.template",
@@ -340,7 +346,7 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
 
     try {
       enumeratingNode =
-              new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
+              new EntityEnumeratingProducerNode( "content", model, "content",
                   new GeneratingProducerNode(
                       "/producer/indymedia.nl/static.template",
                       "${config.storageRoot}/${language.code}/static/${content.edittitle}.shtml"
@@ -351,7 +357,7 @@ public class IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
       enumeratingNode.addVerb( "new", "is_published='1' and is_produced='f' and to_article_type=${articletype.static} and to_language=${language.id} and edittitle<>'' and not edittitle is null", "" );
 
       aFactoriesMap.put("staticarticles", new NodedProducerFactory(
-          new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
+          new EntityEnumeratingProducerNode( "language", model, "language", "", "",
             new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
               enumeratingNode
             )