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