fixed a bug with content.to_media_icon.tiny_icon
[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 mir.entity.adapter.*;
7 import mircoders.global.*;
8 import mircoders.global.*;
9 import mircoders.localizer.*;
10 import mircoders.producer.*;
11
12 public class MirBasicProducerLocalizer implements MirProducerLocalizer {
13   private Map producerFactories;
14   protected EntityAdapterModel model;
15   protected static Logfile logger = Logfile.getInstance( MirGlobal.getConfigProperty("Home") + "/" + MirGlobal.getConfigProperty("Mir.Localizer.Logfile"));
16
17   public MirBasicProducerLocalizer() {
18     producerFactories = new HashMap();
19
20     try {
21       model = MirGlobal.localizer().dataModel().adapterModel();
22     }
23     catch (Throwable t) {
24       logger.printError("MirBasicProducerLocalizer(): Exception "+t.getMessage());
25       model = new EntityAdapterModel();
26     }
27
28     setupFactories(producerFactories);
29   }
30
31   public Map factories() {
32     return producerFactories;
33   };
34
35   protected void setupContentFactory(CompositeProducerNode aProducerNode) {
36   }
37
38   protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
39   }
40
41   protected void setupSynchronizationFactory(CompositeProducerNode aProducerNode) {
42     if(MirGlobal.getConfigBooleanProperty("Rsync")){
43       aProducerNode.addSubNode(
44         new ScriptCallingProducerNode(MirGlobal.getConfigProperty("Rsync.Script.Path"))
45       );
46     }
47   }
48
49   protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
50   }
51
52   protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
53   }
54
55   protected void setupFactories(Map aFactoriesMap ) {
56     CompositeProducerNode node;
57
58     node = new CompositeProducerNode();
59     setupContentFactory( node );
60     aFactoriesMap.put("content", new NodedProducerFactory(node));
61
62     node = new CompositeProducerNode();
63     setupStartPageFactory( node );
64     aFactoriesMap.put("startpage", new NodedProducerFactory(node));
65
66     node = new CompositeProducerNode();
67     setupSynchronizationFactory( node );
68     aFactoriesMap.put("synchronization", new NodedProducerFactory(node));
69
70     node = new CompositeProducerNode();
71     setupStaticFactory( node );
72     aFactoriesMap.put("static", new NodedProducerFactory(node));
73
74     node = new CompositeProducerNode();
75     setupTopicsFactory( node );
76     aFactoriesMap.put("topics", new NodedProducerFactory(node));
77
78     aFactoriesMap.put("media",
79       new CompositeProducerFactory( new ProducerFactory[] {
80         new OldProducerAdapterFactory(new ProducerImages()),
81         new OldProducerAdapterFactory(new ProducerAudio()),
82         new OldProducerAdapterFactory(new ProducerVideo()),
83         new OldProducerAdapterFactory(new ProducerOther())
84       } )
85     );
86   };
87 }