1 package mirlocal.indymedia.nl;
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 IndyNLProducerLocalizer extends MirBasicProducerLocalizer {
14 protected void setupContentFactory(CompositeProducerNode aProducerNode) {
15 EntityEnumeratingProducerNode contentNode = null;
19 new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
20 new CompositeProducerNode( new ProducerNode[] {
21 new GeneratingProducerNode(
22 "/producer/indymedia.nl/content.template",
23 "${config.storageRoot}/content/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.inc"
25 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
26 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
27 new CompositeProducerNode( new ProducerNode[] {
28 new GeneratingProducerNode(
29 "/producer/indymedia.nl/article.template",
30 "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
32 new FileDateSettingProducerNode(
33 "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml",
45 contentNode.addVerb( "all", "is_published='1'", "" );
46 contentNode.addVerb( "new", "is_published='1' and is_produced='f'", "" );
48 aProducerNode.addSubNode( contentNode );
51 protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
53 aProducerNode.addSubNode(
54 new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
55 "is_published='1' and to_article_type = 1", "date desc, webdb_create desc", 40, 0,
56 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
58 new CompositeProducerNode( new ProducerNode[] {
59 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
60 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
61 new GeneratingProducerNode(
62 "/producer/indymedia.nl/newswire.template",
63 "${config.storageRoot}/${language.code}/newswire.inc"
67 new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
68 "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10, 0,
69 new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
70 "", "webdb_create desc", 5, 0,
71 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "code='nl'", "",
72 new AssignmentProducerNode( "staticinclude", "1",
73 new EvaluatedAssignmentProducerNode( "topinclude", "/producer/indymedia.nl/top.template",
74 new EvaluatedAssignmentProducerNode( "bottominclude", "/producer/indymedia.nl/bottom.template",
75 new EvaluatedAssignmentProducerNode( "navinclude", "/producer/indymedia.nl/nav.template",
76 new EvaluatedAssignmentProducerNode( "newswireinclude", "/producer/indymedia.nl/newswire.template",
77 new EvaluatedAssignmentProducerNode( "featuresinclude", "/producer/indymedia.nl/features.template",
78 new GeneratingProducerNode(
79 "/producer/indymedia.nl/start.template",
80 "${config.storageRoot}/index.shtml"
96 protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
97 EntityBatchingProducerNode topicPageNode = null;
101 new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
102 "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,
103 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
105 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
106 new ResourceBundleProducerNode("lang", "producer_${language.code}",
107 new GeneratingProducerNode(
108 "/producer/indymedia.nl/topic.template",
109 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml"
114 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
116 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
117 new ResourceBundleProducerNode("lang", "producer_${language.code}",
118 new GeneratingProducerNode(
119 "/producer/indymedia.nl/topicnavigation.template",
120 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
126 topicPageNode.addVerb("all", -1);
127 topicPageNode.addVerb("new", 3);
129 aProducerNode.addSubNode(
130 new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "", "",
131 new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
132 "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,
138 catch (Throwable t) {
143 protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
145 aProducerNode.addSubNode(
146 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
148 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
149 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
150 new CompositeProducerNode( new ProducerNode[] {
151 new GeneratingProducerNode(
152 "/producer/indymedia.nl/nav.template",
153 "${config.storageRoot}/${language.code}/nav.inc"
155 new GeneratingProducerNode(
156 "/producer/indymedia.nl/top.template",
157 "${config.storageRoot}/${language.code}/top.inc"
159 new GeneratingProducerNode(
160 "/producer/indymedia.nl/bottom.template",
161 "${config.storageRoot}/${language.code}/bottom.inc"
163 new GeneratingProducerNode(
164 "/producer/indymedia.nl/style.template",
165 "${config.storageRoot}/${language.code}/style.css"
167 new GeneratingProducerNode(
168 "/producer/indymedia.nl/top.template",
169 "${config.storageRoot}/${language.code}/top.inc"
171 new GeneratingProducerNode(
172 "/producer/indymedia.nl/articlepre.template",
173 "${config.storageRoot}/${language.code}/articlepre.shtml"
175 new GeneratingProducerNode(
176 "/producer/indymedia.nl/articlepost.template",
177 "${config.storageRoot}/${language.code}/articlepost.shtml"
179 new AssignmentProducerNode( "staticinclude", "0",
180 new EvaluatedAssignmentProducerNode( "topinclude", "/${language.code}/top.inc",
181 new EvaluatedAssignmentProducerNode( "bottominclude", "/${language.code}/bottom.inc",
182 new EvaluatedAssignmentProducerNode( "navinclude", "/${language.code}/nav.inc",
183 new EvaluatedAssignmentProducerNode( "newswireinclude", "/${language.code}/newswire.inc",
184 new EvaluatedAssignmentProducerNode( "featuresinclude", "/${language.code}/features.inc",
185 new GeneratingProducerNode(
186 "/producer/indymedia.nl/start.template",
187 "${config.storageRoot}/${language.code}/start.shtml"
191 new AssignmentProducerNode( "staticinclude", "0",
192 new EvaluatedAssignmentProducerNode( "topinclude", "/${language.code}/top.inc",
193 new EvaluatedAssignmentProducerNode( "bottominclude", "/${language.code}/bottom.inc",
194 new EvaluatedAssignmentProducerNode( "navinclude", "/${language.code}/nav.inc",
195 new EvaluatedAssignmentProducerNode( "newswireinclude", "/${language.code}/newswire.inc",
196 new EvaluatedAssignmentProducerNode( "featuresinclude", "/try/${language.code}/features.inc",
197 new GeneratingProducerNode(
198 "/producer/indymedia.nl/start.template",
199 "${config.storageRoot}/try/${language.code}/start.shtml"
209 catch (Throwable t) {
213 protected void setupFactories(Map aFactoriesMap ) {
214 super.setupFactories(aFactoriesMap);
216 ProducerNode node = null;
220 new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
221 "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10, 0,
222 new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
223 "", "webdb_create desc", 5, 0,
224 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
226 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
227 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
228 new GeneratingProducerNode(
229 "/producer/indymedia.nl/features.template",
230 "${config.storageRoot}/${language.code}/features.inc"
238 catch (Throwable t) {
241 aFactoriesMap.put("features", new NodedProducerFactory( node ) );
245 new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
246 "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10, 0,
247 new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
248 "", "webdb_create desc", 5, 0,
249 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
251 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
252 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
253 new GeneratingProducerNode(
254 "/producer/indymedia.nl/features.template",
255 "${config.storageRoot}/try/${language.code}/features.inc"
263 catch (Throwable t) {
265 aFactoriesMap.put("featurestest", new NodedProducerFactory( node ) );