import java.util.*;
import mir.producer.*;
+import mir.misc.*;
+import mir.entity.adapter.*;
+import mircoders.global.*;
import mircoders.global.*;
import mircoders.localizer.*;
import mircoders.producer.*;
public class MirBasicProducerLocalizer implements MirProducerLocalizer {
private Map producerFactories;
+ protected EntityAdapterModel model;
+ protected static Logfile logger = Logfile.getInstance( MirGlobal.getConfigProperty("Home") + "/" + MirGlobal.getConfigProperty("Mir.Localizer.Logfile"));
public MirBasicProducerLocalizer() {
producerFactories = new HashMap();
+ try {
+ model = MirGlobal.localizer().dataModel().adapterModel();
+ }
+ catch (Throwable t) {
+ logger.printError("MirBasicProducerLocalizer(): Exception "+t.getMessage());
+ model = new EntityAdapterModel();
+ }
+
setupFactories(producerFactories);
}
return producerFactories;
};
- protected void setupContentFactory(CompositeProducerFactory aContentFactory) {
- aContentFactory.addFactory(
- new ContentProducerFactory(
- MirGlobal.getConfigProperty("Producer.Content.Template"),
- "bundles.admin",
- MirGlobal.getConfigProperty("Producer.StorageRoot"),
- ".shtml",
- Integer.parseInt(MirGlobal.getConfigProperty("Producer.Content.Batchsize"))));
+ protected void setupContentFactory(CompositeProducerNode aProducerNode) {
}
- protected void setupStartPageFactory(CompositeProducerFactory aStartPageFactory) {
- aStartPageFactory.addFactory(
- new StartPageProducerFactory(
- MirGlobal.getConfigProperty("Producer.StartPage.Template"),
- "bundles.admin",
- MirGlobal.getConfigProperty("Producer.StorageRoot") + "/index.shtml",
- MirGlobal.getConfigIntegerProperty("Producer.StartPage.Items"),
- MirGlobal.getConfigIntegerProperty("Producer.StartPage.Newswire")));
+ protected void setupStartPageFactory(CompositeProducerNode aProducerNode) {
}
- protected void setupSynchronizationFactory(CompositeProducerFactory aSynchronizationFactory) {
+ protected void setupSynchronizationFactory(CompositeProducerNode aProducerNode) {
if(MirGlobal.getConfigBooleanProperty("Rsync")){
- aSynchronizationFactory.addFactory(
- new ScriptCallProducerFactory(MirGlobal.getConfigProperty("Rsync.Script.Path")));
- }
- else {
- NullProducerFactory nullFactory = new NullProducerFactory();
- nullFactory.addVerb("run");
- aSynchronizationFactory.addFactory(nullFactory);
+ aProducerNode.addSubNode(
+ new ScriptCallingProducerNode(MirGlobal.getConfigProperty("Rsync.Script.Path"))
+ );
}
}
+ protected void setupStaticFactory(CompositeProducerNode aProducerNode) {
+ }
+
+ protected void setupTopicsFactory(CompositeProducerNode aProducerNode) {
+ }
+
protected void setupFactories(Map aFactoriesMap ) {
+ CompositeProducerNode node;
- CompositeProducerFactory factory;
+ node = new CompositeProducerNode();
+ setupContentFactory( node );
+ aFactoriesMap.put("content", new NodedProducerFactory(node));
- factory=new CompositeProducerFactory();
- setupContentFactory(factory);
- aFactoriesMap.put("content", factory);
+ node = new CompositeProducerNode();
+ setupStartPageFactory( node );
+ aFactoriesMap.put("startpage", new NodedProducerFactory(node));
- factory=new CompositeProducerFactory();
- setupStartPageFactory(factory);
- aFactoriesMap.put("startpage", factory);
+ node = new CompositeProducerNode();
+ setupSynchronizationFactory( node );
+ aFactoriesMap.put("synchronization", new NodedProducerFactory(node));
- factory=new CompositeProducerFactory();
- setupSynchronizationFactory(factory);
- aFactoriesMap.put("synchronization", factory);
+ node = new CompositeProducerNode();
+ setupStaticFactory( node );
+ aFactoriesMap.put("static", new NodedProducerFactory(node));
- aFactoriesMap.put("oldstartpage", new OldProducerAdapterFactory(new ProducerStartPage()));
- aFactoriesMap.put("images", new OldProducerAdapterFactory(new ProducerImages()));
- aFactoriesMap.put("navigation", new OldProducerAdapterFactory(new ProducerNavigation()));
- aFactoriesMap.put("openposting", new OldProducerAdapterFactory(new ProducerOpenPosting()));
- aFactoriesMap.put("topics", new OldProducerAdapterFactory(new ProducerTopics()));
+ node = new CompositeProducerNode();
+ setupTopicsFactory( node );
+ aFactoriesMap.put("topics", new NodedProducerFactory(node));
+ aFactoriesMap.put("media",
+ new CompositeProducerFactory( new ProducerFactory[] {
+ new OldProducerAdapterFactory(new ProducerImages()),
+ new OldProducerAdapterFactory(new ProducerAudio()),
+ new OldProducerAdapterFactory(new ProducerVideo()),
+ new OldProducerAdapterFactory(new ProducerOther())
+ } )
+ );
};
}