At last the EntityBatchingProducerNode is working. This will replace the old
[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( "new", "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 topicNode = null;
61
62     try {
63       topicNode =
64         new EntityBatchingProducerNode( "articles", "batch", DatabaseContent.getInstance(), ContentAdapterDefinition.getInstance()
65               "is_published='1' and to_article_type = 2", "date desc, webdb_create desc", 20, 10, 0,
66           new EntityListProducerNode("languages", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(),
67                   "", "code", 10, 0,
68             new EntityEnumeratingProducerNode( "language", DatabaseLanguage.getInstance(), LanguageAdapterDefinition.getInstance(), "", "",
69               new ResourceBundleProducerNode("lang", "producer_${language.code}",
70                 new GeneratingProducerNode(
71                     "/producer/bolivia.indymedia.org/startpage.template",
72                     "${config.storageRoot}/${language.code}/index.shtml"
73                 )
74               )
75             )
76           )
77         );
78       topicNode.addVerb("all", -1);
79       topicNode.addVerb("new", 3);
80     }
81     catch (Throwable t) {
82     }
83
84     aStartPageFactory.addFactory( new NodedProducerFactory( startPageNode ) );
85
86
87 /*
88     aStartPageFactory.addFactory(
89       new TopicStartPageProducerFactory(
90           "producer/citystart.template",
91           "bundles.admin",
92           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/start${filename}.shtml",
93           MirGlobal.getConfigIntegerProperty("Producer.StartPage.Items"),
94           0));
95
96     aStartPageFactory.addFactory(
97       new TopicStartPageProducerFactory(
98           "producer/newswire.template",
99           "bundles.admin",
100           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/newswire${filename}.inc",
101           0,
102           MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
103
104     aStartPageFactory.addFactory(
105       new StartPageProducerFactory(
106           "producer/start.template",
107           "bundles.admin",
108           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/start.shtml",
109           MirGlobal.getConfigIntegerProperty("Producer.StartPage.Items"),
110           0));
111
112     aStartPageFactory.addFactory(
113       new StartPageProducerFactory(
114           "producer/newswire.template",
115           "bundles.admin",
116           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/newswire.inc",
117           0,
118           MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
119
120 */
121   }
122
123   protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
124     aStaticFactory.addFactory(
125       new StaticProducerFactory(
126           "producer/nav.template",
127           "bundles.admin",
128           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/nav.inc"));
129
130     aStaticFactory.addFactory(
131       new StaticProducerFactory(
132           "producer/top.template",
133           "bundles.admin",
134           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/top.inc"));
135
136     aStaticFactory.addFactory(
137       new StaticProducerFactory(
138           "producer/bottom.template",
139           "bundles.admin",
140           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/bottom.inc"));
141
142     aStaticFactory.addFactory(
143       new StaticProducerFactory(
144           "producer/style.template",
145           "bundles.admin",
146           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/style.css"));
147
148     aStaticFactory.addFactory(
149       new StaticProducerFactory(
150           "producer/articlepre.template",
151           "bundles.admin",
152           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/articlepre.shtml"));
153
154     aStaticFactory.addFactory(
155       new StaticProducerFactory(
156           "producer/articlepost.template",
157           "bundles.admin",
158           MirGlobal.getConfigProperty("Producer.StorageRoot") + "/nl/articlepost.shtml"));
159   }
160
161 }