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 protected void setupSynchronizationFactory(CompositeProducerFactory aSynchronizationFactory) {
42 if(MirGlobal.getConfigBooleanProperty("Rsync")){
43 aSynchronizationFactory.addFactory(
44 new ScriptCallProducerFactory(MirGlobal.getConfigProperty("Rsync.Script.Path")));
47 NullProducerFactory nullFactory = new NullProducerFactory();
48 nullFactory.addVerb("run");
49 aSynchronizationFactory.addFactory(nullFactory);
53 protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
54 aStaticFactory.addFactory(
55 new StaticProducerFactory(
56 MirGlobal.getConfigProperty("Producer.Navigation.Template"),
58 MirGlobal.getConfigProperty("Producer.StorageRoot") + "/navigation.inc"));
61 protected void setupFactories(Map aFactoriesMap ) {
63 CompositeProducerFactory factory;
65 factory=new CompositeProducerFactory();
66 setupContentFactory(factory);
67 aFactoriesMap.put("content", factory);
69 factory=new CompositeProducerFactory();
70 setupStartPageFactory(factory);
71 aFactoriesMap.put("startpage", factory);
73 factory=new CompositeProducerFactory();
74 setupSynchronizationFactory(factory);
75 aFactoriesMap.put("synchronization", factory);
77 factory=new CompositeProducerFactory();
78 setupStaticFactory(factory);
79 aFactoriesMap.put("static", factory);
81 aFactoriesMap.put("images", new OldProducerAdapterFactory(new ProducerImages()));
82 /* aFactoriesMap.put("navigationold", new OldProducerAdapterFactory(new ProducerNavigation()));
83 aFactoriesMap.put("openposting", new OldProducerAdapterFactory(new ProducerOpenPosting()));
84 aFactoriesMap.put("topics", new OldProducerAdapterFactory(new ProducerTopics()));