1 package mirlocal.euskalherria.indymedia.org;
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 EHProducerLocalizer 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 EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
22 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
23 new CompositeProducerNode( new ProducerNode[] {
24 new GeneratingProducerNode(
25 "/producer/euskalherria.indymedia.org/article.template",
26 "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml"
28 new FileDateSettingProducerNode(
29 "${config.storageRoot}/${language.code}/${content.date.formatted.yyyy}/${content.date.formatted.MM}/${content.id}.shtml",
41 contentNode.addVerb( "all", "is_published='1'", "" );
42 contentNode.addVerb( "all", "is_published='1' and is_produced='f'", "" );
44 aContentFactory.addFactory( new NodedProducerFactory( contentNode ) );
48 protected void setupStartPageFactory(CompositeProducerFactory aStartPageFactory) {
49 ProducerNode startPageNode = null;
53 new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
54 "is_published='1' and to_article_type = 1", "date desc, webdb_create desc", 40,
55 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
57 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
58 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
59 new EntityListProducerNode("startspecial", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
60 "is_published='1' and to_article_type = 4", "date desc, webdb_create desc", 1,
61 new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
62 "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10,
63 new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
64 "", "webdb_create desc", 5,
65 new GeneratingProducerNode(
66 "/producer/euskalherria.indymedia.org/startpage.template",
67 "${config.storageRoot}/${language.code}/index.shtml"
80 aStartPageFactory.addFactory( new NodedProducerFactory( startPageNode ) );
83 protected void setupSynchronizationFactory(CompositeProducerFactory aSynchronizationFactory) {
84 if(MirGlobal.getConfigBooleanProperty("Rsync")){
85 aSynchronizationFactory.addFactory(
86 new ScriptCallProducerFactory(MirGlobal.getConfigProperty("Rsync.Script.Path")));
89 NullProducerFactory nullFactory = new NullProducerFactory();
90 nullFactory.addVerb("run");
91 aSynchronizationFactory.addFactory(nullFactory);
95 protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
96 ProducerNode staticNode = null;
100 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
102 new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
103 new ResourceBundleProducerNode("lang", "bundles.producer_${language.code}",
104 new GeneratingProducerNode(
105 "/producer/euskalherria.indymedia.org/navigation.template",
106 "${config.storageRoot}/${language.code}/navigation.inc"
112 catch (Throwable t) {
115 aStaticFactory.addFactory( new NodedProducerFactory( staticNode ) );
118 protected void setupFactories(Map aFactoriesMap ) {
119 super.setupFactories(aFactoriesMap);