621b0260f9bebecc5bf37308237516bd1164e458
[mir.git] / source / mircoders / localizer / basic / MirBasicProducerLocalizer.java
1 package mircoders.localizer.basic;
2
3 import java.util.*;
4 import mir.producer.*;
5 import mir.misc.*;
6 import mircoders.global.*;
7 import mircoders.localizer.*;
8 import mircoders.producer.*;
9
10 public class MirBasicProducerLocalizer implements MirProducerLocalizer {
11   private Map producerFactories;
12   protected static Logfile logger = Logfile.getInstance( MirGlobal.getConfigProperty("Home") + "/" + MirGlobal.getConfigProperty("Mir.Localizer.Logfile"));
13
14   public MirBasicProducerLocalizer() {
15     producerFactories = new HashMap();
16
17     setupFactories(producerFactories);
18   }
19
20   public Map factories() {
21     return producerFactories;
22   };
23
24   protected void setupContentFactory(CompositeProducerNode aProducerNode) {
25   }
26
27   protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
28   }
29
30   protected void setupSynchronizationFactory(CompositeProducerNode aProducerNode) {
31     if(MirGlobal.getConfigBooleanProperty("Rsync")){
32       aProducerNode.addSubNode(
33         new ScriptCallingProducerNode(MirGlobal.getConfigProperty("Rsync.Script.Path"))
34       );
35     }
36   }
37
38   protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
39   }
40
41   protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
42   }
43
44   protected void setupFactories(Map aFactoriesMap ) {
45     CompositeProducerNode node;
46
47     node = new CompositeProducerNode();
48     setupContentFactory( node );
49     aFactoriesMap.put("content", new NodedProducerFactory(node));
50
51     node = new CompositeProducerNode();
52     setupStartPageFactory( node );
53     aFactoriesMap.put("startpage", new NodedProducerFactory(node));
54
55     node = new CompositeProducerNode();
56     setupSynchronizationFactory( node );
57     aFactoriesMap.put("synchronization", new NodedProducerFactory(node));
58
59     node = new CompositeProducerNode();
60     setupStaticFactory( node );
61     aFactoriesMap.put("static", new NodedProducerFactory(node));
62
63     node = new CompositeProducerNode();
64     setupTopicsFactory( node );
65     aFactoriesMap.put("topics", new NodedProducerFactory(node));
66
67     aFactoriesMap.put("images", new OldProducerAdapterFactory(new ProducerImages()));
68   };
69 }