1 package mircoders.localizer.basic;
5 import mircoders.global.*;
6 import mircoders.localizer.*;
7 import mircoders.producer.*;
9 public class MirBasicProducerLocalizer implements MirProducerLocalizer {
10 private Map producerFactories;
12 public MirBasicProducerLocalizer() {
13 producerFactories = new HashMap();
15 setupFactories(producerFactories);
18 public Map factories() {
19 return producerFactories;
22 protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
23 aContentFactory.addFactory(
24 new ContentProducerFactory(
25 MirGlobal.getConfigProperty("Producer.Content.Template"),
27 MirGlobal.getConfigProperty("Producer.StorageRoot") + "/${contentyear}/${contentmonth}/${contentid}.shtml",
28 Integer.parseInt(MirGlobal.getConfigProperty("Producer.Content.Batchsize"))));
31 protected void setupStartPageFactory(CompositeProducerFactory aStartPageFactory) {
32 aStartPageFactory.addFactory(
33 new StartPageProducerFactory(
34 MirGlobal.getConfigProperty("Producer.StartPage.Template"),
36 MirGlobal.getConfigProperty("Producer.StorageRoot") + "/index.shtml",
37 MirGlobal.getConfigIntegerProperty("Producer.StartPage.Items"),
38 MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
41 aStartPageFactory.addFactory(
42 new TopicStartPageProducerFactory(
43 MirGlobal.getConfigProperty("Producer.StartPage.Template"),
45 MirGlobal.getConfigProperty("Producer.StorageRoot") + "/${filename}index.shtml",
46 MirGlobal.getConfigIntegerProperty("Producer.StartPage.Items"),
47 MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
50 protected void setupSynchronizationFactory(CompositeProducerFactory aSynchronizationFactory) {
51 if(MirGlobal.getConfigBooleanProperty("Rsync")){
52 aSynchronizationFactory.addFactory(
53 new ScriptCallProducerFactory(MirGlobal.getConfigProperty("Rsync.Script.Path")));
56 NullProducerFactory nullFactory = new NullProducerFactory();
57 nullFactory.addVerb("run");
58 aSynchronizationFactory.addFactory(nullFactory);
62 protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
63 aStaticFactory.addFactory(
64 new StaticProducerFactory(
65 MirGlobal.getConfigProperty("Producer.Navigation.Template"),
67 MirGlobal.getConfigProperty("Producer.StorageRoot") + "/navigation.inc"));
70 protected void setupFactories(Map aFactoriesMap ) {
72 CompositeProducerFactory factory;
74 factory=new CompositeProducerFactory();
75 setupContentFactory(factory);
76 aFactoriesMap.put("content", factory);
78 factory=new CompositeProducerFactory();
79 setupStartPageFactory(factory);
80 aFactoriesMap.put("startpage", factory);
82 factory=new CompositeProducerFactory();
83 setupSynchronizationFactory(factory);
84 aFactoriesMap.put("synchronization", factory);
86 factory=new CompositeProducerFactory();
87 setupStaticFactory(factory);
88 aFactoriesMap.put("static", factory);
90 aFactoriesMap.put("images", new OldProducerAdapterFactory(new ProducerImages()));
91 aFactoriesMap.put("navigationold", new OldProducerAdapterFactory(new ProducerNavigation()));
92 aFactoriesMap.put("openposting", new OldProducerAdapterFactory(new ProducerOpenPosting()));
93 aFactoriesMap.put("topics", new OldProducerAdapterFactory(new ProducerTopics()));