1 package mircoders.producer;
9 import mir.generator.*;
11 import mircoders.localizer.*;
12 import mircoders.global.*;
13 //import mircoders.entity.*;
15 //import mircoders.module.*;
17 import org.apache.struts.util.MessageResources;
19 public class StaticProducer implements mir.producer.Producer {
21 private String generatorIdentifier;
22 private String resourceBundle;
23 private String outputFile;
25 public StaticProducer(
26 String aGeneratorIdentifier,
27 String aResourceBundle,
28 String anOutputFile) {
30 generatorIdentifier=aGeneratorIdentifier;
31 resourceBundle=aResourceBundle;
32 outputFile=anOutputFile;
35 public void produce( PrintWriter aLogger ) throws ProducerFailure {
36 Map generationValues = new HashMap();
37 Map dataMap = new HashMap();
40 MirGlobal.localizer().producerTool().initializeGenerationValueSet(generationValues);
42 MessageResources messages = MessageResources.getMessageResources(resourceBundle);
43 generationValues.put("lang", new MessageMethodModel(null, messages) );
45 generationValues.put("data", dataMap);
47 dataMap.put("dc_now", StringUtil.date2w3DateTime(new GregorianCalendar()));
49 aLogger.println("StaticProducer.produce:");
50 aLogger.println(" generating: " + outputFile + " from " + generatorIdentifier);
52 Generator generator = MirGlobal.localizer().generators().makeGenerator(generatorIdentifier);
53 PrintWriter printWriter = MirGlobal.localizer().producerTool().openWriter(outputFile);
54 generator.generate(printWriter, generationValues, aLogger);
55 MirGlobal.localizer().producerTool().closeWriter(printWriter);
57 aLogger.println("done");
60 aLogger.println("exception while generating " + outputFile + ":");
61 aLogger.println(e.getMessage());
62 e.printStackTrace(aLogger);