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" )
32 new ContentMarkingProducerNode( "content")
37 logger.printError("EcuadorProducerLocalizer.setupContentFactory: Exception "+t.getMessage());
40 contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" );
41 contentNode.addVerb( "all", "is_published='1'", "" );
43 aProducerNode.addSubNode( contentNode );
46 protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
47 aProducerNode.clear();
49 aProducerNode.addSubNode(
50 new EntityListProducerNode("newswire", model, "content",
51 "is_published='1' and to_article_type = ${articletype.newswire}", "date desc, webdb_create desc", 40, 0,
52 new EntityListProducerNode("languages", model, "language",
54 new EntityListProducerNode("startspecial", model, "content",
55 "is_published='1' and to_article_type = ${articletype.startspecial}", "date desc, webdb_create desc", 1, 0,
56 new EntityListProducerNode("features", model, "content",
57 "is_published='1' and to_article_type = ${articletype.feature}", "date desc, webdb_create desc", 10, 0,
58 new EntityListProducerNode("breaking", model, "breakingNews",
59 "", "webdb_create desc", 5, 0,
60 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
61 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
62 new GeneratingProducerNode(
63 "/producer/ecuador.indymedia.org/startpage.template",
64 "${config.storageRoot}/${language.code}/index.shtml"
76 logger.printError("EcuadorProducerLocalizer.setupStartPageFactory: Exception "+t.getMessage());
80 protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
81 aProducerNode.clear();
84 aProducerNode.addSubNode(
85 new EntityListProducerNode("languages", model, "language",
87 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
88 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
89 new GeneratingProducerNode(
90 "/producer/ecuador.indymedia.org/navigation.template",
91 "${config.storageRoot}/${language.code}/navigation.inc"
99 logger.printError("EcuadorProducerLocalizer.setupStaticFactory: Exception "+t.getMessage());
103 protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
104 aProducerNode.clear();
106 EntityBatchingProducerNode topicArchiveNode = null;
111 new EntityBatchingProducerNode( "articles", "batch", model, "content",
112 "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,
113 new EntityListProducerNode("languages", model, "language",
115 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
116 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
117 new GeneratingProducerNode(
118 "/producer/ecuador.indymedia.org/topic.template",
119 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml"
124 new EntityListProducerNode("languages", model, "language",
126 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
127 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
128 new GeneratingProducerNode(
129 "/producer/ecuador.indymedia.org/topicnavigation.template",
130 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
136 topicArchiveNode.addVerb("new", 3);
137 topicArchiveNode.addVerb("all", -1);
139 aProducerNode.addSubNode(
140 new EntityEnumeratingProducerNode( "topic", model, "topic","", "",
141 new EntityListProducerNode("topicspecial", model, "content",
142 "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("EcuadorProducerLocalizer.setupTopicsFactory: Exception "+t.getMessage());
154 protected void setupFactories(Map aFactoriesMap ) {
155 EntityBatchingProducerNode archiveNode = null;
158 super.setupFactories(aFactoriesMap);
162 new EntityBatchingProducerNode( "articles", "batch", model, "content",
163 "is_published='1' and to_article_type = ${articletype.newswire}", "date asc, webdb_create asc", 20, 10, 0,
164 new EntityListProducerNode("languages", model, "language",
166 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
167 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
168 new GeneratingProducerNode(
169 "/producer/ecuador.indymedia.org/newswire.template",
170 "${config.storageRoot}/${language.code}/newswire/newswire${batch.current.identifier}.shtml"
175 new EntityListProducerNode("languages", model, "language",
177 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
178 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
179 new GeneratingProducerNode(
180 "/producer/ecuador.indymedia.org/newswirenavigation.template",
181 "${config.storageRoot}/${language.code}/newswire/newswirenavigation.inc"
187 archiveNode.addVerb("new", 3);
188 archiveNode.addVerb("all", -1);
190 aFactoriesMap.put( "newswirearchive", new NodedProducerFactory( archiveNode ) );
194 new EntityBatchingProducerNode( "articles", "batch", model, "content",
195 "is_published='1' and to_article_type in (${articletype.feature}, ${articletype.startspecial})", "date asc, webdb_create asc", 20, 10, 0,
196 new EntityListProducerNode("languages", model, "language",
198 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
199 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
200 new GeneratingProducerNode(
201 "/producer/ecuador.indymedia.org/feature.template",
202 "${config.storageRoot}/${language.code}/feature/feature${batch.current.identifier}.shtml"
207 new EntityListProducerNode("languages", model, "language",
209 new EntityEnumeratingProducerNode( "language", model, "language", "", "",
210 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
211 new GeneratingProducerNode(
212 "/producer/ecuador.indymedia.org/featurenavigation.template",
213 "${config.storageRoot}/${language.code}/feature/featurenavigation.inc"
219 archiveNode.addVerb("new", 3);
220 archiveNode.addVerb("all", -1);
222 aFactoriesMap.put( "featurearchive", new NodedProducerFactory( archiveNode ) );
225 catch (Throwable t) {
226 logger.printError("EcuadorProducerLocalizer.setupFactories: Exception "+t.getMessage());