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( "city", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "main_url='c' and exists(select * from content_x_topic where content_id=${content.id} and topic_id=id)", "",
23 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
24 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
25 new CompositeProducerNode( new ProducerNode[] {
26 new GeneratingProducerNode(
27 "/producer/bolivia.indymedia.org/${city.filename}/article.template",
28 "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
30 new ContentMarkingProducerNode( "content" )
35 new ContentMarkingProducerNode( "content")
40 logger.printError("BoliviaProducerLocalizer.setupContentFactory: Exception "+t.getMessage());
43 contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" );
44 contentNode.addVerb( "all", "is_published='1'", "" );
46 aProducerNode.addSubNode( contentNode );
49 protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
50 aProducerNode.clear();
52 aProducerNode.addSubNode(
53 new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
54 "is_published='1' and to_article_type = ${articletype.newswire}", "date desc, webdb_create desc", 40, 0,
55 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
57 new EntityListProducerNode("startspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
58 "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 1, 0,
59 new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
60 "is_published='1' and to_article_type = ${articletype.feature} and id in (select max(content_id) from content_x_topic, topic t where topic_id=t.id and t.archiv_url='c' group by t.id)", "date desc, webdb_create desc", 10, 0,
61 new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
62 "", "webdb_create desc", 5, 0,
63 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
64 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
65 new GeneratingProducerNode(
66 "/producer/bolivia.indymedia.org/startpage.template",
67 "${config.storageRoot}/${language.code}/index.shtml"
78 aProducerNode.addSubNode(
79 new EntityEnumeratingProducerNode( "city", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "main_url='c'", "",
80 new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
81 "is_published='1' and to_article_type = ${articletype.newswire} and exists(select * from content_x_topic where content_id=id and topic_id=${city.id})", "date desc, webdb_create desc", 40, 0,
82 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
84 new EntityListProducerNode("startspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
85 "is_published='1' and to_article_type = ${articletype.startspecial} and "+
86 "exists(select * from content_x_topic where content_id=id and topic_id=${city.id})", "date desc, webdb_create desc", 1, 0,
87 new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
88 "is_published='1' and to_article_type = ${articletype.feature} and exists(select * from content_x_topic where content_id=id and topic_id=${city.id})", "date desc, webdb_create desc", 10, 0,
89 new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
90 "", "webdb_create desc", 5, 0,
91 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
92 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
93 new GeneratingProducerNode(
94 "/producer/bolivia.indymedia.org/${city.filename}/startpage.template",
95 "${config.storageRoot}/${city.filename}/${language.code}/index.shtml"
107 catch (Throwable t) {
108 logger.printError("BoliviaProducerLocalizer.setupStartPageFactory: Exception "+t.getMessage());
112 protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
113 aProducerNode.clear();
116 aProducerNode.addSubNode(
117 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
119 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
120 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
121 new GeneratingProducerNode(
122 "/producer/bolivia.indymedia.org/navigation.template",
123 "${config.storageRoot}/${language.code}/navigation.inc"
129 aProducerNode.addSubNode(
130 new EntityEnumeratingProducerNode( "city", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "main_url='c'", "",
131 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
133 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
134 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
135 new GeneratingProducerNode(
136 "/producer/bolivia.indymedia.org/${city.filename}/navigation.template",
137 "${config.storageRoot}/${city.filename}/${language.code}/navigation.inc"
145 catch (Throwable t) {
146 logger.printError("BoliviaProducerLocalizer.setupStaticFactory: Exception "+t.getMessage());
150 protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
151 aProducerNode.clear();
153 EntityBatchingProducerNode topicPageNode = null;
158 new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
159 "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,
160 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
162 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
163 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
164 new GeneratingProducerNode(
165 "/producer/bolivia.indymedia.org/topic.template",
166 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml"
171 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
173 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
174 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
175 new GeneratingProducerNode(
176 "/producer/bolivia.indymedia.org/topicnavigation.template",
177 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
183 topicPageNode.addVerb("new", 3);
184 topicPageNode.addVerb("all", -1);
186 aProducerNode.addSubNode(
187 new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "((main_url is null) or main_url<>'c')", "",
188 new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
189 "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,
195 // topic pages per city:
197 new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
198 "is_published='1' and to_article_type = ${articletype.newswire} and " +
199 "id in (select content_id from content_x_topic where topic_id = ${topic.id}) and " +
200 "id in (select content_id from content_x_topic where topic_id = ${city.id})", "date asc, webdb_create asc", 6, 5, 0,
201 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
203 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
204 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
205 new GeneratingProducerNode(
206 "/producer/bolivia.indymedia.org/${city.filename}/topic.template",
207 "${config.storageRoot}/${city.filename}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml"
212 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
214 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
215 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
216 new GeneratingProducerNode(
217 "/producer/bolivia.indymedia.org/${city.filename}/topicnavigation.template",
218 "${config.storageRoot}/${city.filename}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
224 topicPageNode.addVerb("new", 3);
225 topicPageNode.addVerb("all", -1);
227 aProducerNode.addSubNode(
228 new EntityEnumeratingProducerNode( "city", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "main_url='c'", "",
229 new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "((main_url is null) or main_url<>'c')", "",
230 new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
231 "is_published='1' and to_article_type = ${articletype.topicspecial} and "+
232 "id in (select content_id from content_x_topic where topic_id = ${topic.id}) and "+
233 "id in (select content_id from content_x_topic where topic_id = ${city.id})", "date, webdb_create", 1, 0,
240 catch (Throwable t) {
241 logger.printError("BoliviaProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage());