1 package mirlocal.bolivia.indymedia.org;
5 import mircoders.global.*;
6 import mircoders.localizer.*;
7 import mircoders.localizer.basic.*;
8 import mircoders.producer.*;
9 import mircoders.storage.*;
10 import mircoders.entity.adapter.*;
12 public class BoliviaProducerLocalizer extends MirBasicProducerLocalizer {
14 protected void setupContentFactory(CompositeProducerNode aProducerNode) {
15 EntityEnumeratingProducerNode contentNode = null;
16 aProducerNode.clear();
20 new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
21 new CompositeProducerNode( new ProducerNode[] {
22 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
23 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
24 new CompositeProducerNode( new ProducerNode[] {
25 new GeneratingProducerNode(
26 "/producer/bolivia.indymedia.org/article.template",
27 "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
29 new ContentMarkingProducerNode( "content" )
33 new ContentMarkingProducerNode( "content")
38 logger.printError("BoliviaProducerLocalizer.setupContentFactory: Exception "+t.getMessage());
41 contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" );
42 contentNode.addVerb( "all", "is_published='1'", "" );
44 aProducerNode.addSubNode( contentNode );
47 protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
48 aProducerNode.clear();
50 aProducerNode.addSubNode(
51 new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
52 "is_published='1' and to_article_type = ${articletype.newswire}", "date desc, webdb_create desc", 40, 0,
53 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
55 new EntityListProducerNode("startspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
56 "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 1, 0,
57 new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
58 "is_published='1' and to_article_type = ${articletype.feature}", "date desc, webdb_create desc", 10, 0,
59 new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
60 "", "webdb_create desc", 5, 0,
61 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
62 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
63 new GeneratingProducerNode(
64 "/producer/bolivia.indymedia.org/startpage.template",
65 "${config.storageRoot}/${language.code}/index.shtml"
77 logger.printError("BoliviaProducerLocalizer.setupStartPageFactory: Exception "+t.getMessage());
81 protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
82 aProducerNode.clear();
85 aProducerNode.addSubNode(
86 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
88 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
89 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
90 new GeneratingProducerNode(
91 "/producer/bolivia.indymedia.org/navigation.template",
92 "${config.storageRoot}/${language.code}/navigation.inc"
100 logger.printError("BoliviaProducerLocalizer.setupStaticFactory: Exception "+t.getMessage());
104 protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
105 aProducerNode.clear();
107 EntityBatchingProducerNode newswireArchiveNode = null;
111 newswireArchiveNode =
112 new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
113 "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,
114 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
116 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
117 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
118 new GeneratingProducerNode(
119 "/producer/bolivia.indymedia.org/topic.template",
120 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml"
125 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
127 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
128 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
129 new GeneratingProducerNode(
130 "/producer/bolivia.indymedia.org/topicnavigation.template",
131 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
137 newswireArchiveNode.addVerb("new", 3);
138 newswireArchiveNode.addVerb("all", -1);
140 aProducerNode.addSubNode(
141 new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "", "",
142 new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
143 "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,
149 catch (Throwable t) {
150 logger.printError("BoliviaProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage());
154 protected void setupFactories(Map aFactoriesMap ) {
155 EntityBatchingProducerNode newswireArchiveNode = null;
158 super.setupFactories(aFactoriesMap);
161 newswireArchiveNode =
162 new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
163 "is_published='1' and to_article_type = ${articletype.newswire}", "date asc, webdb_create asc", 20, 10, 0,
164 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
166 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
167 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
168 new GeneratingProducerNode(
169 "/producer/bolivia.indymedia.org/newswire.template",
170 "${config.storageRoot}/${language.code}/newswire/newswire${batch.current.identifier}.shtml"
175 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
177 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
178 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
179 new GeneratingProducerNode(
180 "/producer/bolivia.indymedia.org/newswirenavigation.template",
181 "${config.storageRoot}/${language.code}/newswire/newswirenavigation.inc"
187 newswireArchiveNode.addVerb("new", 3);
188 newswireArchiveNode.addVerb("all", -1);
190 aFactoriesMap.put( "newswirearchive", new NodedProducerFactory( newswireArchiveNode ) );
192 catch (Throwable t) {
193 logger.printError("BoliviaProducerLocalizer.setupFactories: Exception "+t.getMessage());