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(CompositeProducerFactory aContentFactory) {
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.year}/${content.date.month}/${content.id}.inc"
25 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
26 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
27 new GeneratingProducerNode(
28 "/producer/indymedia.nl/article.template",
29 "${config.storageRoot}/${language.code}/${content.date.year}/${content.date.month}/${content.id}.shtml"
39 contentNode.addVerb( "all", "is_published='1'", "" );
40 contentNode.addVerb( "all", "is_published='1' and is_produced='f'", "" );
42 aContentFactory.addFactory( new NodedProducerFactory( contentNode ) );
46 aContentFactory.addFactory(
47 new ContentProducerFactory(
48 "producer/content.template",
50 MirGlobal.getConfigProperty("Producer.StorageRoot") + "/content/${contentyear}/${contentmonth}/${contentid}.inc",
51 Integer.parseInt(MirGlobal.getConfigProperty("Producer.Content.Batchsize"))));
53 aContentFactory.addFactory(
54 new ContentProducerFactory(
55 "producer/article.template",
57 MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/${contentyear}/${contentmonth}/${contentid}.shtml",
58 Integer.parseInt(MirGlobal.getConfigProperty("Producer.Content.Batchsize"))));
62 protected void setupStartPageFactory(CompositeProducerFactory aStartPageFactory) {
63 ProducerNode startPageNode = null;
67 new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
68 "is_published='1' and to_article_type = 1", "date desc, webdb_create desc", 40,
69 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
71 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
72 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
73 new CompositeProducerNode( new ProducerNode[] {
74 new GeneratingProducerNode(
75 "/producer/indymedia.nl/start.template",
76 "${config.storageRoot}/${language.code}/start.shtml"
78 new GeneratingProducerNode(
79 "/producer/indymedia.nl/newswire.template",
80 "${config.storageRoot}/${language.code}/newswire.inc"
91 aStartPageFactory.addFactory( new NodedProducerFactory( startPageNode ) );
93 aStartPageFactory.addFactory(
94 new StartPageProducerFactory(
95 "producer/start.template",
97 MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/start.shtml",
98 MirGlobal.getConfigIntegerProperty("Producer.StartPage.Items"),
101 aStartPageFactory.addFactory(
102 new StartPageProducerFactory(
103 "producer/newswire.template",
105 MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/newswire.inc",
107 MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
111 protected void setupSynchronizationFactory(CompositeProducerFactory aSynchronizationFactory) {
112 if(MirGlobal.getConfigBooleanProperty("Rsync")){
113 aSynchronizationFactory.addFactory(
114 new ScriptCallProducerFactory(MirGlobal.getConfigProperty("Rsync.Script.Path")));
117 NullProducerFactory nullFactory = new NullProducerFactory();
118 nullFactory.addVerb("run");
119 aSynchronizationFactory.addFactory(nullFactory);
123 protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
124 ProducerNode staticNode = null;
128 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
130 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
131 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
132 new CompositeProducerNode( new ProducerNode[] {
133 new GeneratingProducerNode(
134 "/producer/indymedia.nl/nav.template",
135 "${config.storageRoot}/${language.code}/nav.inc"
137 new GeneratingProducerNode(
138 "/producer/indymedia.nl/top.template",
139 "${config.storageRoot}/${language.code}/top.inc"
141 new GeneratingProducerNode(
142 "/producer/indymedia.nl/bottom.template",
143 "${config.storageRoot}/${language.code}/bottom.inc"
145 new GeneratingProducerNode(
146 "/producer/indymedia.nl/style.template",
147 "${config.storageRoot}/${language.code}/style.css"
149 new GeneratingProducerNode(
150 "/producer/indymedia.nl/top.template",
151 "${config.storageRoot}/${language.code}/top.inc"
153 new GeneratingProducerNode(
154 "/producer/indymedia.nl/articlepre.template",
155 "${config.storageRoot}/${language.code}/articlepre.shtml"
157 new GeneratingProducerNode(
158 "/producer/indymedia.nl/articlepost.template",
159 "${config.storageRoot}/${language.code}/articlepost.shtml"
166 catch (Throwable t) {
169 aStaticFactory.addFactory( new NodedProducerFactory( staticNode ) );
172 protected void setupFactories(Map aFactoriesMap ) {
173 super.setupFactories(aFactoriesMap);
175 ProducerNode node = null;
179 new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
180 "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10,
181 new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
182 "", "webdb_create desc", 5,
183 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
185 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
186 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
187 new GeneratingProducerNode(
188 "/producer/indymedia.nl/features.template",
189 "${config.storageRoot}/${language.code}/features.inc"
197 catch (Throwable t) {
200 aFactoriesMap.put("features", new NodedProducerFactory( node ) );
204 new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
205 "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10,
206 new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
207 "", "webdb_create desc", 5,
208 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
210 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
211 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
212 new GeneratingProducerNode(
213 "/producer/indymedia.nl/features.template",
214 "${config.storageRoot}/try/${language.code}/features.inc"
222 catch (Throwable t) {
224 aFactoriesMap.put("featurestest", new NodedProducerFactory( node ) );
227 aStartPageFactory.addFactory(
228 new StartPageProducerFactory(
229 "producer/start.template",
231 MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/start.shtml",
232 MirGlobal.getConfigIntegerProperty("Producer.StartPage.Items"),
235 aStartPageFactory.addFactory(
236 new StartPageProducerFactory(
237 "producer/newswire.template",
239 MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/newswire.inc",
241 MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));