--- /dev/null
+package mirlocal.ecuador.indymedia.org;
+
+import java.util.*;
+import mir.producer.*;
+import mircoders.global.*;
+import mircoders.localizer.*;
+import mircoders.localizer.basic.*;
+import mircoders.producer.*;
+import mircoders.storage.*;
+
+public class EcuadorProducerLocalizer extends MirBasicProducerLocalizer {
+
+ protected void setupContentFactory(CompositeProducerNode aProducerNode) {
+ EntityEnumeratingProducerNode contentNode = null;
+ aProducerNode.clear();
+
+ try {
+ contentNode =
+ new EntityEnumeratingProducerNode( "content", model, "content",
+ new CompositeProducerNode( new ProducerNode[] {
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new CompositeProducerNode( new ProducerNode[] {
+ new GeneratingProducerNode(
+ "/producer/ecuador.indymedia.org/article.template",
+ "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
+ ),
+ new ContentMarkingProducerNode( "content" )
+ } )
+ )
+ ),
+ new ContentMarkingProducerNode( "content")
+ } )
+ );
+ }
+ catch (Throwable t) {
+ logger.printError("EcuadorProducerLocalizer.setupContentFactory: Exception "+t.getMessage());
+ }
+
+ contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" );
+ contentNode.addVerb( "all", "is_published='1'", "" );
+
+ aProducerNode.addSubNode( contentNode );
+ }
+
+ protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
+ aProducerNode.clear();
+ try {
+ 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", model, "language",
+ "", "code", 10, 0,
+ new EntityListProducerNode("startspecial", model, "content",
+ "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 1, 0,
+ new EntityListProducerNode("features", model, "content",
+ "is_published='1' and to_article_type = ${articletype.feature}", "date desc, webdb_create desc", 10, 0,
+ new EntityListProducerNode("breaking", model, "breakingNews",
+ "", "webdb_create desc", 5, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/ecuador.indymedia.org/startpage.template",
+ "${config.storageRoot}/${language.code}/index.shtml"
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ )
+ );
+ }
+ catch (Throwable t) {
+ logger.printError("EcuadorProducerLocalizer.setupStartPageFactory: Exception "+t.getMessage());
+ }
+ }
+
+ protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
+ aProducerNode.clear();
+
+ try {
+ aProducerNode.addSubNode(
+ new EntityListProducerNode("languages", model, "language",
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/ecuador.indymedia.org/navigation.template",
+ "${config.storageRoot}/${language.code}/navigation.inc"
+ )
+ )
+ )
+ )
+ );
+ }
+ catch (Throwable t) {
+ logger.printError("EcuadorProducerLocalizer.setupStaticFactory: Exception "+t.getMessage());
+ }
+ }
+
+ protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
+ aProducerNode.clear();
+
+ EntityBatchingProducerNode topicArchiveNode = null;
+
+ try {
+// topic pages:
+ topicArchiveNode =
+ 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, 10, 0,
+ new EntityListProducerNode("languages", model, "language",
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/ecuador.indymedia.org/topic.template",
+ "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml"
+ )
+ )
+ )
+ ),
+ new EntityListProducerNode("languages", model, "language",
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/ecuador.indymedia.org/topicnavigation.template",
+ "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
+ )
+ )
+ )
+ )
+ );
+ topicArchiveNode.addVerb("new", 3);
+ topicArchiveNode.addVerb("all", -1);
+
+ 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,
+ topicArchiveNode
+ )
+ )
+ );
+
+ }
+ catch (Throwable t) {
+ logger.printError("EcuadorProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage());
+ }
+ }
+
+ protected void setupFactories(Map aFactoriesMap ) {
+ EntityBatchingProducerNode archiveNode = null;
+
+ try {
+ super.setupFactories(aFactoriesMap);
+
+// newswire archive:
+ archiveNode =
+ new EntityBatchingProducerNode( "articles", "batch", model, "content",
+ "is_published='1' and to_article_type = ${articletype.newswire}", "date asc, webdb_create asc", 20, 10, 0,
+ new EntityListProducerNode("languages", model, "language",
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/ecuador.indymedia.org/newswire.template",
+ "${config.storageRoot}/${language.code}/newswire/newswire${batch.current.identifier}.shtml"
+ )
+ )
+ )
+ ),
+ new EntityListProducerNode("languages", model, "language",
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/ecuador.indymedia.org/newswirenavigation.template",
+ "${config.storageRoot}/${language.code}/newswire/newswirenavigation.inc"
+ )
+ )
+ )
+ )
+ );
+ archiveNode.addVerb("new", 3);
+ archiveNode.addVerb("all", -1);
+
+ aFactoriesMap.put( "newswirearchive", new NodedProducerFactory( archiveNode ) );
+
+// feature archive:
+ archiveNode =
+ new EntityBatchingProducerNode( "articles", "batch", model, "content",
+ "is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial})", "date asc, webdb_create asc", 20, 10, 0,
+ new EntityListProducerNode("languages", model, "language",
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/ecuador.indymedia.org/feature.template",
+ "${config.storageRoot}/${language.code}/feature/feature${batch.current.identifier}.shtml"
+ )
+ )
+ )
+ ),
+ new EntityListProducerNode("languages", model, "language",
+ "", "code", 10, 0,
+ new EntityEnumeratingProducerNode( "language", model, "language", "", "",
+ new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
+ new GeneratingProducerNode(
+ "/producer/ecuador.indymedia.org/featurenavigation.template",
+ "${config.storageRoot}/${language.code}/feature/featurenavigation.inc"
+ )
+ )
+ )
+ )
+ );
+ archiveNode.addVerb("new", 3);
+ archiveNode.addVerb("all", -1);
+
+ aFactoriesMap.put( "featurearchive", new NodedProducerFactory( archiveNode ) );
+
+ }
+ catch (Throwable t) {
+ logger.printError("EcuadorProducerLocalizer.setupFactories: Exception "+t.getMessage());
+ }
+ }
+}