From ae433209a7b169f849c80f17bb9e38a81a47b656 Mon Sep 17 00:00:00 2001 From: zapata Date: Thu, 13 Jun 2002 00:19:22 +0000 Subject: [PATCH] newswire archive / topic startpages for bolivia --- .../BoliviaProducerLocalizer.java | 81 +++++++++++++++++++--- 1 file changed, 71 insertions(+), 10 deletions(-) diff --git a/source/mirlocal/bolivia.indymedia.org/BoliviaProducerLocalizer.java b/source/mirlocal/bolivia.indymedia.org/BoliviaProducerLocalizer.java index eceec0da..02cf672d 100755 --- a/source/mirlocal/bolivia.indymedia.org/BoliviaProducerLocalizer.java +++ b/source/mirlocal/bolivia.indymedia.org/BoliviaProducerLocalizer.java @@ -104,11 +104,12 @@ public class BoliviaProducerLocalizer extends MirBasicProducerLocalizer { protected void setupTopicsFactory(CompositeProducerNode aProducerNode) { aProducerNode.clear(); - EntityBatchingProducerNode newswireArchiveNode = null; + EntityBatchingProducerNode topicArchiveNode = null; + ProducerNode topicStartpageNode = null; try { // topic pages: - newswireArchiveNode = + topicArchiveNode = 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", 20, 10, 0, new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), @@ -134,17 +135,44 @@ public class BoliviaProducerLocalizer extends MirBasicProducerLocalizer { ) ) ); - newswireArchiveNode.addVerb("new", 3); - newswireArchiveNode.addVerb("all", -1); + topicArchiveNode.addVerb("new", 3); + topicArchiveNode.addVerb("all", -1); aProducerNode.addSubNode( new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "", "", new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(), "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, - newswireArchiveNode + topicArchiveNode ) ) ); + + aProducerNode.addSubNode( + new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "", "", + new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(), + "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("newswire", 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 desc, webdb_create desc", 40, 0, + new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(), + "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 desc, webdb_create desc", 10, 0, + new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), + "", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/bolivia.indymedia.org/topicstartpage.template", + "${config.storageRoot}/${language.code}/${topic.filename}/index.shtml" + ) + ) + ) + + ) + ) + ) + ) + ) + ); + } catch (Throwable t) { logger.printError("BoliviaProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage()); @@ -152,13 +180,13 @@ public class BoliviaProducerLocalizer extends MirBasicProducerLocalizer { } protected void setupFactories(Map aFactoriesMap ) { - EntityBatchingProducerNode newswireArchiveNode = null; + EntityBatchingProducerNode archiveNode = null; try { super.setupFactories(aFactoriesMap); // newswire archive: - newswireArchiveNode = + archiveNode = new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(), "is_published='1' and to_article_type = ${articletype.newswire}", "date asc, webdb_create asc", 20, 10, 0, new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), @@ -184,10 +212,43 @@ public class BoliviaProducerLocalizer extends MirBasicProducerLocalizer { ) ) ); - newswireArchiveNode.addVerb("new", 3); - newswireArchiveNode.addVerb("all", -1); + archiveNode.addVerb("new", 3); + archiveNode.addVerb("all", -1); + + aFactoriesMap.put( "newswirearchive", new NodedProducerFactory( archiveNode ) ); + +// feature archive: + archiveNode = + new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(), + "is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial})", "date asc, webdb_create asc", 20, 10, 0, + new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), + "", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/bolivia.indymedia.org/feature.template", + "${config.storageRoot}/${language.code}/feature/feature${batch.current.identifier}.shtml" + ) + ) + ) + ), + new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), + "", "code", 10, 0, + new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "", + new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}", + new GeneratingProducerNode( + "/producer/bolivia.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 ) ); - aFactoriesMap.put( "newswirearchive", new NodedProducerFactory( newswireArchiveNode ) ); } catch (Throwable t) { logger.printError("BoliviaProducerLocalizer.setupFactories: Exception "+t.getMessage()); -- 2.11.0