}
}
+ protected void setupStaticFactory(CompositeProducerFactory aStaticFactory) {
+ aStaticFactory.addFactory(
+ new StaticProducerFactory(
+ MirGlobal.getConfigProperty("Producer.Navigation.Template"),
+ "bundles.admin",
+ MirGlobal.getConfigProperty("Producer.StorageRoot") + "/navigation.inc"));
+ }
+
protected void setupFactories(Map aFactoriesMap ) {
CompositeProducerFactory factory;
setupSynchronizationFactory(factory);
aFactoriesMap.put("synchronization", factory);
-
+ factory=new CompositeProducerFactory();
+ setupStaticFactory(factory);
+ aFactoriesMap.put("static", factory);
aFactoriesMap.put("images", new OldProducerAdapterFactory(new ProducerImages()));
- aFactoriesMap.put("navigation", new OldProducerAdapterFactory(new ProducerNavigation()));
+ aFactoriesMap.put("navigationold", new OldProducerAdapterFactory(new ProducerNavigation()));
aFactoriesMap.put("openposting", new OldProducerAdapterFactory(new ProducerOpenPosting()));
aFactoriesMap.put("topics", new OldProducerAdapterFactory(new ProducerTopics()));
};
import java.io.*;
import freemarker.template.utility.*;
import mir.misc.*;
+import mir.entity.*;
+import mircoders.module.*;
+import mircoders.storage.*;
import mircoders.localizer.*;
import mircoders.global.*;
configMap.put("defEncoding", MirGlobal.getConfigProperty("Mir.DefaultEncoding"));
aValueSet.put("config", configMap);
+
+ EntityList topicList=null;
+ EntityList entityList=null;
+ EntityList parentList=null;
+
+ try {
+ ModuleLinksImcs linksImcsModule = new ModuleLinksImcs(DatabaseLinksImcs.getInstance());
+ ModuleTopics topicsModule = new ModuleTopics(DatabaseTopics.getInstance());
+
+ topicList = topicsModule.getTopicsList();
+ entityList = linksImcsModule.getByWhereClause("", "sortpriority, title", -1);
+ parentList = linksImcsModule.getByWhereClause("to_parent_id=NULL", "sortpriority, title", -1);
+
+ }
+ catch (Throwable t) {
+ System.out.println("initializeGenerationValueSet: Exception "+t.getMessage());
+ t.printStackTrace(System.out);
+ }
+
+ aValueSet.put("topics", topicList);
+ aValueSet.put("imclist", entityList);
+ aValueSet.put("parentlist", parentList);
};
public PrintWriter openWriter(String anIdentifier) throws MirLocalizerException {
--- /dev/null
+package mircoders.producer;
+
+import java.io.*;
+import java.util.*;
+
+import mir.misc.*;
+//import mir.entity.*;
+import mir.producer.*;
+import mir.generator.*;
+
+import mircoders.localizer.*;
+import mircoders.global.*;
+//import mircoders.entity.*;
+
+//import mircoders.module.*;
+
+import org.apache.struts.util.MessageResources;
+
+public class StaticProducer implements mir.producer.Producer {
+
+ private String generatorIdentifier;
+ private String resourceBundle;
+ private String outputFile;
+
+ public StaticProducer(
+ String aGeneratorIdentifier,
+ String aResourceBundle,
+ String anOutputFile) {
+
+ generatorIdentifier=aGeneratorIdentifier;
+ resourceBundle=aResourceBundle;
+ outputFile=anOutputFile;
+ }
+
+ public void produce( PrintWriter aLogger ) throws ProducerException {
+ Map generationValues = new HashMap();
+ Map dataMap = new HashMap();
+
+ try {
+ MirGlobal.localizer().producerTool().initializeGenerationValueSet(generationValues);
+
+ MessageResources messages = MessageResources.getMessageResources(resourceBundle);
+ generationValues.put("lang", new MessageMethodModel(null, messages) );
+
+ generationValues.put("data", dataMap);
+
+ dataMap.put("dc_now", StringUtil.date2w3DateTime(new GregorianCalendar()));
+
+ aLogger.println("StaticProducer.produce:");
+ aLogger.println(" generating: " + outputFile + " from " + generatorIdentifier);
+
+ Generator generator = MirGlobal.localizer().generators().makeGenerator(generatorIdentifier);
+ PrintWriter printWriter = MirGlobal.localizer().producerTool().openWriter(outputFile);
+ generator.generate(printWriter, generationValues, aLogger);
+ MirGlobal.localizer().producerTool().closeWriter(printWriter);
+
+ aLogger.println("done");
+ }
+ catch (Exception e) {
+ aLogger.println("exception while generating " + outputFile + ":");
+ aLogger.println(e.getMessage());
+ e.printStackTrace(aLogger);
+ aLogger.flush();
+ }
+ }
+}
--- /dev/null
+package mircoders.producer;
+
+import java.util.*;
+import mir.producer.*;
+
+public class StaticProducerFactory implements ProducerFactory {
+ private String generatorIdentifier;
+ private String resourceBundle;
+ private String outputFile;
+
+ public StaticProducerFactory(
+ String aGeneratorIdentifier,
+ String aResourceBundle,
+ String anOutputFile) {
+
+ generatorIdentifier = aGeneratorIdentifier;
+ resourceBundle = aResourceBundle;
+ outputFile = anOutputFile;
+ }
+
+
+ public mir.producer.Producer makeProducer(String aVerb) throws ProducerException {
+ try {
+ return new StaticProducer( generatorIdentifier, resourceBundle, outputFile );
+ }
+ catch (Throwable e) {
+ throw new ProducerException(e);
+ }
+ };
+
+ public Iterator verbs() {
+ Vector verbList = new Vector();
+
+ verbList.add("all");
+
+ return verbList.iterator();
+ };
+}
+