132c98a0e43a9b872c29f5affe6b7f4526b13f6f
[mir.git] / source / mirlocal / bolivia.indymedia.org / BoliviaProducerLocalizer.java
1 package mirlocal.bolivia.indymedia.org;
2
3 import java.util.*;
4 import mir.producer.*;
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.*;
11
12 public class BoliviaProducerLocalizer extends MirBasicProducerLocalizer {
13
14   protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
15
16     EntityEnumeratingProducerNode contentNode = null;
17
18     try {
19       contentNode =
20           new EntityEnumeratingProducerNode( "content", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
21             new CompositeProducerNode( new ProducerNode[] {
22               new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
23                 new ResourceBundleProducerNode("lang", "producer_${language.code}",
24                   new GeneratingProducerNode(
25                       "/producer/bolivia.indymedia.org/article.template",
26                       "${config.storageRoot}/${language.code}/articles/${content.date.year}/${content.date.month}/${content.id}.shtml"
27                   )
28                 )
29               )
30             } )
31           );
32     }
33     catch (Throwable t) {
34     }
35
36     contentNode.addVerb( "all", "is_published='1'", "" );
37     contentNode.addVerb( "all", "is_published='1' and is_produced='f'", "" );
38
39     aContentFactory.addFactory( new NodedProducerFactory( contentNode ) );
40
41
42 //  public EntityEnumeratingProducerNode(String aKey, StorageObject aStorage, EntityAdapterDefinition aDefinition, ProducerNode aSubNode) {
43
44 //    aContentFactory.addFactory(
45 //      new ContentProducerFactory(
46 //      "producer/content.template",
47 //      "bundles.admin",
48 //      MirGlobal.getConfigProperty("Producer.StorageRoot") + "/content/${contentyear}/${contentmonth}/${contentid}.inc",
49 //      Integer.parseInt(MirGlobal.getConfigProperty("Producer.Content.Batchsize"))));
50
51 //    aContentFactory.addFactory(
52 //      new ContentProducerFactory(
53 //      "producer/article.template",
54 //      "bundles.admin",
55 //      MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/${contentyear}/${contentmonth}/${contentid}.shtml",
56 //      Integer.parseInt(MirGlobal.getConfigProperty("Producer.Content.Batchsize"))));
57   }
58
59   protected void setupStartPageFactory(CompositeProducerFactory aStartPageFactory) {
60     ProducerNode startPageNode = null;
61
62     try {
63       startPageNode =
64           new EntityListProducerNode("features", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
65                   "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 10,
66             new EntityListProducerNode("newswire", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance(),
67                     "is_published='1' and to_article_type = 1", "date desc, webdb_create desc", 10,
68               new EntityListProducerNode("breaking", DatabaseBreaking.getInstance(), BreakingAdapterDefinition.getInstance(),
69                       "", "webdb_create desc", 5,
70                 new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
71                         "", "code", 10,
72                   new CompositeProducerNode( new ProducerNode[] {
73                     new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
74                       new ResourceBundleProducerNode("lang", "producer_${language.code}",
75                         new GeneratingProducerNode(
76                             "/producer/bolivia.indymedia.org/startpage.template",
77                             "${config.storageRoot}/${language.code}/index.shtml"
78                         )
79                       )
80                     )
81                   } )
82                 )
83               )
84             )
85           );
86     }
87     catch (Throwable t) {
88     }
89
90     aStartPageFactory.addFactory( new NodedProducerFactory( startPageNode ) );
91
92
93 /*
94     aStartPageFactory.addFactory(
95       new TopicStartPageProducerFactory(
96           "producer/citystart.template",
97           "bundles.admin",
98           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/start${filename}.shtml",
99           MirGlobal.getConfigIntegerProperty("Producer.StartPage.Items"),
100           0));
101
102     aStartPageFactory.addFactory(
103       new TopicStartPageProducerFactory(
104           "producer/newswire.template",
105           "bundles.admin",
106           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/newswire${filename}.inc",
107           0,
108           MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
109
110     aStartPageFactory.addFactory(
111       new StartPageProducerFactory(
112           "producer/start.template",
113           "bundles.admin",
114           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/start.shtml",
115           MirGlobal.getConfigIntegerProperty("Producer.StartPage.Items"),
116           0));
117
118     aStartPageFactory.addFactory(
119       new StartPageProducerFactory(
120           "producer/newswire.template",
121           "bundles.admin",
122           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/newswire.inc",
123           0,
124           MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
125
126 */
127   }
128
129   protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
130     aStaticFactory.addFactory(
131       new StaticProducerFactory(
132           "producer/nav.template",
133           "bundles.admin",
134           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/nav.inc"));
135
136     aStaticFactory.addFactory(
137       new StaticProducerFactory(
138           "producer/top.template",
139           "bundles.admin",
140           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/top.inc"));
141
142     aStaticFactory.addFactory(
143       new StaticProducerFactory(
144           "producer/bottom.template",
145           "bundles.admin",
146           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/bottom.inc"));
147
148     aStaticFactory.addFactory(
149       new StaticProducerFactory(
150           "producer/style.template",
151           "bundles.admin",
152           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/style.css"));
153
154     aStaticFactory.addFactory(
155       new StaticProducerFactory(
156           "producer/articlepre.template",
157           "bundles.admin",
158           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/articlepre.shtml"));
159
160     aStaticFactory.addFactory(
161       new StaticProducerFactory(
162           "producer/articlepost.template",
163           "bundles.admin",
164           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/articlepost.shtml"));
165   }
166
167 }