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 ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
73 new AssignmentProducerNode( "staticinclude", "1",
74 new EvaluatedAssignmentProducerNode( "topinclude", "/producer/indymedia.nl/top.template",
75 new EvaluatedAssignmentProducerNode( "bottominclude", "/producer/indymedia.nl/bottom.template",
76 new EvaluatedAssignmentProducerNode( "navinclude", "/producer/indymedia.nl/nav.template",
77 new EvaluatedAssignmentProducerNode( "newswireinclude", "/producer/indymedia.nl/newswire.template",
78 new EvaluatedAssignmentProducerNode( "featuresinclude", "/producer/indymedia.nl/features.template",
79 new GeneratingProducerNode(
80 "/producer/indymedia.nl/start.template",
81 "${config.storageRoot}/index.shtml"
98 protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
99 EntityBatchingProducerNode topicPageNode = null;
103 new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
104 "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,
105 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
107 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
108 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
109 new GeneratingProducerNode(
110 "/producer/indymedia.nl/topic.template",
111 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}${batch.current.identifier}.shtml"
116 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
118 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
119 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
120 new GeneratingProducerNode(
121 "/producer/indymedia.nl/topicnavigation.template",
122 "${config.storageRoot}/${language.code}/${topic.filename}/${topic.filename}navigation.inc"
128 topicPageNode.addVerb("all", -1);
129 topicPageNode.addVerb("new", 3);
131 aProducerNode.addSubNode(
132 new EntityEnumeratingProducerNode( "topic", DatabaseTopics.getInstance(), TopicsAdapterDefinition.getInstance(), "", "",
133 new EntityListProducerNode("topicspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
134 "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,
140 catch (Throwable t) {
145 protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
147 aProducerNode.addSubNode(
148 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
150 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
151 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
152 new CompositeProducerNode( new ProducerNode[] {
153 new GeneratingProducerNode(
154 "/producer/indymedia.nl/nav.template",
155 "${config.storageRoot}/${language.code}/nav.inc"
157 new GeneratingProducerNode(
158 "/producer/indymedia.nl/top.template",
159 "${config.storageRoot}/${language.code}/top.inc"
161 new GeneratingProducerNode(
162 "/producer/indymedia.nl/bottom.template",
163 "${config.storageRoot}/${language.code}/bottom.inc"
165 new GeneratingProducerNode(
166 "/producer/indymedia.nl/style.template",
167 "${config.storageRoot}/${language.code}/style.css"
169 new GeneratingProducerNode(
170 "/producer/indymedia.nl/top.template",
171 "${config.storageRoot}/${language.code}/top.inc"
173 new GeneratingProducerNode(
174 "/producer/indymedia.nl/articlepre.template",
175 "${config.storageRoot}/${language.code}/articlepre.shtml"
177 new GeneratingProducerNode(
178 "/producer/indymedia.nl/articlepost.template",
179 "${config.storageRoot}/${language.code}/articlepost.shtml"
181 new AssignmentProducerNode( "staticinclude", "0",
182 new EvaluatedAssignmentProducerNode( "topinclude", "/${language.code}/top.inc",
183 new EvaluatedAssignmentProducerNode( "bottominclude", "/${language.code}/bottom.inc",
184 new EvaluatedAssignmentProducerNode( "navinclude", "/${language.code}/nav.inc",
185 new EvaluatedAssignmentProducerNode( "newswireinclude", "/${language.code}/newswire.inc",
186 new EvaluatedAssignmentProducerNode( "featuresinclude", "/${language.code}/features.inc",
187 new GeneratingProducerNode(
188 "/producer/indymedia.nl/start.template",
189 "${config.storageRoot}/${language.code}/start.shtml"
193 new AssignmentProducerNode( "staticinclude", "0",
194 new EvaluatedAssignmentProducerNode( "topinclude", "/${language.code}/top.inc",
195 new EvaluatedAssignmentProducerNode( "bottominclude", "/${language.code}/bottom.inc",
196 new EvaluatedAssignmentProducerNode( "navinclude", "/${language.code}/nav.inc",
197 new EvaluatedAssignmentProducerNode( "newswireinclude", "/${language.code}/newswire.inc",
198 new EvaluatedAssignmentProducerNode( "featuresinclude", "/try/${language.code}/features.inc",
199 new GeneratingProducerNode(
200 "/producer/indymedia.nl/start.template",
201 "${config.storageRoot}/try/${language.code}/start.shtml"
211 catch (Throwable t) {
215 protected void setupFactories(Map aFactoriesMap ) {
216 super.setupFactories(aFactoriesMap);
218 ProducerNode node = null;
222 new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
223 "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10, 0,
224 new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
225 "", "webdb_create desc", 5, 0,
226 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
228 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
229 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
230 new GeneratingProducerNode(
231 "/producer/indymedia.nl/features.template",
232 "${config.storageRoot}/${language.code}/features.inc"
240 catch (Throwable t) {
243 aFactoriesMap.put("features", new NodedProducerFactory( node ) );
247 new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
248 "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10, 0,
249 new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
250 "", "webdb_create desc", 5, 0,
251 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
253 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
254 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
255 new GeneratingProducerNode(
256 "/producer/indymedia.nl/features.template",
257 "${config.storageRoot}/try/${language.code}/features.inc"
265 catch (Throwable t) {
267 aFactoriesMap.put("featurestest", new NodedProducerFactory( node ) );