1 package mirlocal.ecuador.indymedia.org;
5 import mircoders.global.*;
6 import mircoders.localizer.*;
7 import mircoders.localizer.basic.*;
8 import mircoders.producer.*;
9 import mircoders.storage.*;
11 public class EcuadorProducerLocalizer extends MirBasicProducerLocalizer {
13 protected void setupContentFactory(CompositeProducerNode aProducerNode) {
14 EntityEnumeratingProducerNode contentNode = null;
15 aProducerNode.clear();
19 new EntityEnumeratingProducerNode( "content", model, "content",
20 new CompositeProducerNode( new ProducerNode[] {
21 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
22 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
23 new CompositeProducerNode( new ProducerNode[] {
24 new GeneratingProducerNode(
25 "/producer/ecuador.indymedia.org/article.template",
26 "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
28 new ContentMarkingProducerNode( "content" )
33 new ContentMarkingProducerNode( "content")
38 logger.printError("EcuadorProducerLocalizer.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", model, "content",
52 "is_published='1' and to_article_type = ${articletype.newswire}", "date desc, webdb_create desc", 40, 0,
53 new EntityListProducerNode("languages", model, "language",
55 new EntityListProducerNode("startspecial", model, "content",
56 "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 1, 0,
57 new EntityListProducerNode("features", model, "content",
58 "is_published='1' and to_article_type = ${articletype.feature}", "date desc, webdb_create desc", 10, 0,
59 new EntityListProducerNode("breaking", model, "breakingNews",
60 "", "webdb_create desc", 5, 0,
61 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
62 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
63 new GeneratingProducerNode(
64 "/producer/ecuador.indymedia.org/startpage.template",
65 "${config.storageRoot}/${language.code}/index.shtml"
77 logger.printError("EcuadorProducerLocalizer.setupStartPageFactory: Exception "+t.getMessage());
81 protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
82 aProducerNode.clear();
85 aProducerNode.addSubNode(
86 new EntityListProducerNode("languages", model, "language",
88 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
89 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
90 new GeneratingProducerNode(
91 "/producer/ecuador.indymedia.org/navigation.template",
92 "${config.storageRoot}/${language.code}/navigation.inc"
100 logger.printError("EcuadorProducerLocalizer.setupStaticFactory: Exception "+t.getMessage());
104 protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
105 aProducerNode.clear();
107 EntityBatchingProducerNode topicArchiveNode = null;
112 new EntityBatchingProducerNode( "articles", "batch", model, "content",
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", model, "language",
116 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
117 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
118 new GeneratingProducerNode(
119 "/producer/ecuador.indymedia.org/topic.template",
120 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml"
125 new EntityListProducerNode("languages", model, "language",
127 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
128 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
129 new GeneratingProducerNode(
130 "/producer/ecuador.indymedia.org/topicnavigation.template",
131 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
137 topicArchiveNode.addVerb("new", 3);
138 topicArchiveNode.addVerb("all", -1);
140 aProducerNode.addSubNode(
141 new EntityEnumeratingProducerNode( "topic", model, "topic","", "",
142 new EntityListProducerNode("topicspecial", model, "content",
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,
150 catch (Throwable t) {
151 logger.printError("EcuadorProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage());
155 protected void setupFactories(Map aFactoriesMap ) {
156 EntityBatchingProducerNode archiveNode = null;
157 EntityEnumeratingProducerNode enumeratingNode = null;
160 super.setupFactories(aFactoriesMap);
164 new EntityBatchingProducerNode( "articles", "batch", model, "content",
165 "is_published='1' and to_article_type = ${articletype.newswire}", "date asc, webdb_create asc", 20, 10, 0,
166 new EntityListProducerNode("languages", model, "language",
168 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
169 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
170 new GeneratingProducerNode(
171 "/producer/ecuador.indymedia.org/newswire.template",
172 "${config.storageRoot}/${language.code}/newswire/newswire${batch.current.identifier}.shtml"
177 new EntityListProducerNode("languages", model, "language",
179 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
180 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
181 new GeneratingProducerNode(
182 "/producer/ecuador.indymedia.org/newswirenavigation.template",
183 "${config.storageRoot}/${language.code}/newswire/newswirenavigation.inc"
189 archiveNode.addVerb("new", 3);
190 archiveNode.addVerb("all", -1);
192 aFactoriesMap.put( "newswirearchive", new NodedProducerFactory( archiveNode ) );
196 new EntityBatchingProducerNode( "articles", "batch", model, "content",
197 "is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial})", "date asc, webdb_create asc", 20, 10, 0,
198 new EntityListProducerNode("languages", model, "language",
200 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
201 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
202 new GeneratingProducerNode(
203 "/producer/ecuador.indymedia.org/feature.template",
204 "${config.storageRoot}/${language.code}/feature/feature${batch.current.identifier}.shtml"
209 new EntityListProducerNode("languages", model, "language",
211 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
212 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
213 new GeneratingProducerNode(
214 "/producer/ecuador.indymedia.org/featurenavigation.template",
215 "${config.storageRoot}/${language.code}/feature/featurenavigation.inc"
221 archiveNode.addVerb("new", 3);
222 archiveNode.addVerb("all", -1);
224 aFactoriesMap.put( "featurearchive", new NodedProducerFactory( archiveNode ) );
228 new EntityBatchingProducerNode( "articles", "batch", model, "content",
229 "is_published='1' and to_article_type = ${articletype.newswire} and "+
230 "exists (select * from content_x_media, images where content_id=content.id and media_id=images.id)"
232 , "date asc, webdb_create asc", 20, 10, 0,
233 new EntityListProducerNode("languages", model, "language",
235 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
236 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
237 new GeneratingProducerNode(
238 "/producer/ecuador.indymedia.org/media.template",
239 "${config.storageRoot}/${language.code}/media/images${batch.current.identifier}.shtml"
244 new EntityListProducerNode("languages", model, "language",
246 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
247 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
248 new GeneratingProducerNode(
249 "/producer/ecuador.indymedia.org/medianavigation.template",
250 "${config.storageRoot}/${language.code}/media/imagesnavigation.inc"
256 archiveNode.addVerb("new", 3);
257 archiveNode.addVerb("all", -1);
259 aFactoriesMap.put( "imagearchive", new NodedProducerFactory(
260 new EvaluatedAssignmentProducerNode( "mediatype", "images",
264 new EntityBatchingProducerNode( "articles", "batch", model, "content",
265 "is_published='1' and to_article_type = ${articletype.newswire} and "+
266 "exists (select * from content_x_media, audio where content_id=content.id and media_id=audio.id)"
268 , "date asc, webdb_create asc", 20, 10, 0,
269 new EntityListProducerNode("languages", model, "language",
271 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
272 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
273 new GeneratingProducerNode(
274 "/producer/ecuador.indymedia.org/media.template",
275 "${config.storageRoot}/${language.code}/media/audio${batch.current.identifier}.shtml"
280 new EntityListProducerNode("languages", model, "language",
282 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
283 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
284 new GeneratingProducerNode(
285 "/producer/ecuador.indymedia.org/medianavigation.template",
286 "${config.storageRoot}/${language.code}/media/audionavigation.inc"
292 archiveNode.addVerb("new", 3);
293 archiveNode.addVerb("all", -1);
295 aFactoriesMap.put( "audioarchive", new NodedProducerFactory(
296 new EvaluatedAssignmentProducerNode( "mediatype", "audio",
300 new EntityBatchingProducerNode( "articles", "batch", model, "content",
301 "is_published='1' and to_article_type = ${articletype.newswire} and "+
302 "exists (select * from content_x_media, video where content_id=content.id and media_id=video.id)"
304 , "date asc, webdb_create asc", 20, 10, 0,
305 new EntityListProducerNode("languages", model, "language",
307 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
308 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
309 new GeneratingProducerNode(
310 "/producer/ecuador.indymedia.org/media.template",
311 "${config.storageRoot}/${language.code}/media/video${batch.current.identifier}.shtml"
316 new EntityListProducerNode("languages", model, "language",
318 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
319 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
320 new GeneratingProducerNode(
321 "/producer/ecuador.indymedia.org/medianavigation.template",
322 "${config.storageRoot}/${language.code}/media/videonavigation.inc"
328 archiveNode.addVerb("new", 3);
329 archiveNode.addVerb("all", -1);
331 aFactoriesMap.put( "videoarchive", new NodedProducerFactory(
332 new EvaluatedAssignmentProducerNode( "mediatype", "video",
336 new EntityBatchingProducerNode( "articles", "batch", model, "content",
337 "is_published='1' and to_article_type = ${articletype.newswire} and "+
338 "exists (select * from content_x_media, other_media where content_id=content.id and media_id=other_media.id)"
340 , "date asc, webdb_create asc", 20, 10, 0,
341 new EntityListProducerNode("languages", model, "language",
343 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
344 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
345 new GeneratingProducerNode(
346 "/producer/ecuador.indymedia.org/media.template",
347 "${config.storageRoot}/${language.code}/media/other${batch.current.identifier}.shtml"
352 new EntityListProducerNode("languages", model, "language",
354 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
355 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
356 new GeneratingProducerNode(
357 "/producer/ecuador.indymedia.org/medianavigation.template",
358 "${config.storageRoot}/${language.code}/media/othernavigation.inc"
364 archiveNode.addVerb("new", 3);
365 archiveNode.addVerb("all", -1);
367 aFactoriesMap.put( "otherarchive", new NodedProducerFactory(
368 new EvaluatedAssignmentProducerNode( "mediatype", "other",
371 catch (Throwable t) {
372 logger.printError("EcuadorProducerLocalizer.setupFactories: Exception "+t.getMessage());