-<<<<<<< ContentProducer.java
package mircoders.producer;\r
\r
import java.io.*;\r
}\r
\r
}\r
-\r
-=======
-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 org.apache.struts.util.MessageResources;
-
-// @todo ML: the file that gets generated should be better configurable
-
-public class ContentProducer implements mir.producer.Producer {
-
- private String generatorIdentifier;
- private String resourceBundle;
-
- private String outputFilePrefix;
- private String outputFilePostfix;
-
- EntityBrowser browser;
-
- public ContentProducer(
- EntityBrowser aBrowser,
- String aGeneratorIdentifier,
- String aResourceBundle,
- String anOutputFilePrefix,
- String anOutputFilePostfix) {
-
- browser = aBrowser;
- generatorIdentifier=aGeneratorIdentifier;
- resourceBundle=aResourceBundle;
- outputFilePrefix=anOutputFilePrefix;
- outputFilePostfix=anOutputFilePostfix;
- }
-
- public void produce( PrintWriter aLogger ) throws ProducerException {
- EntityContent content;
-
- Map configMap = new HashMap();
- Map generationValues = new HashMap();
- Map dataMap = new HashMap();
- String fileName;
-
-
-
- configMap.put("producerDocRoot", MirGlobal.getConfigProperty("Producer.DocRoot"));
- configMap.put("storageRoot", MirGlobal.getConfigProperty("Producer.StorageRoot"));
- configMap.put("productionHost", MirGlobal.getConfigProperty("Producer.ProductionHost"));
- configMap.put("openAction", MirGlobal.getConfigProperty("Producer.OpenAction"));
- configMap.put("docRoot", MirGlobal.getConfigProperty("RootUri"));
- configMap.put("now", StringUtil.date2readableDateTime(new GregorianCalendar()));
- configMap.put("videoHost", MirGlobal.getConfigProperty("Producer.Video.Host"));
- configMap.put("audioHost", MirGlobal.getConfigProperty("Producer.Audio.Host"));
- configMap.put("imageHost", MirGlobal.getConfigProperty("Producer.Image.Host"));
- configMap.put("imagePath", MirGlobal.getConfigProperty("Producer.Image.Path"));
- configMap.put("mirVersion", MirGlobal.getConfigProperty("Mir.Version"));
- configMap.put("compressWhitespace", new freemarker.template.utility.CompressWhitespace() );
- generationValues.put("config", configMap);
-
- MessageResources messages = MessageResources.getMessageResources(resourceBundle);
- generationValues.put("lang", new MessageMethodModel(null, messages) );
- generationValues.put("data", dataMap);
-
-
-
- try {
- Generator generator = MirGlobal.localizer().generators().makeGenerator(generatorIdentifier);
-
- aLogger.println("ContentProducer.produce:<br>");
- aLogger.println("generatorIdentifier = " + generatorIdentifier + "<br>");
-
- while (browser.hasNext()) {
- content = (EntityContent) browser.next();
- dataMap.put("content", content);
-
- String date = content.getValue("date");
-
-
- fileName = outputFilePrefix + "/" +
- date.substring(0,4) + "/" + date.substring(4,6) + "/" +
- content.getValue("id") + outputFilePostfix;
-
- aLogger.println("fileName = " + fileName + "<br>");
- aLogger.println("Yo1<br>");
-
- try {
- File file = new File(fileName);
- File dir = new File(file.getParent());
- if (!dir.exists()){
- dir.mkdirs();
- }
- FileWriter fileWriter = new FileWriter(file);
- PrintWriter printWriter = new PrintWriter(fileWriter);
-
- aLogger.println("generating: " + fileName + "<br/>");
-
- aLogger.println("Yo2<br>");
- generator.generate(printWriter, generationValues, aLogger);
-
- aLogger.println("Yo3<br>");
- printWriter.close();
- fileWriter.close();
- aLogger.println("Yo4<br>");
-
- aLogger.println("Yo5<br>");
-
- content.setProduced(true);
- aLogger.println("Yo6<br>");
-
- aLogger.println("done generating: " + fileName + "<br/>");
- }
- catch (Exception e) {
- aLogger.println("exception while generating " + fileName + ":<br/>");
- aLogger.println(e.getMessage() + "<br/>");
- e.printStackTrace(aLogger);
- aLogger.flush();
- }
- }
- }
- catch (Exception e) {
- aLogger.println("exception while generating:<br/>");
- aLogger.println(e.getMessage() + "<br/>");
- e.printStackTrace(aLogger);
- aLogger.flush();
- }
-
- aLogger.println("ContentProducer.produce: done<br>");
-
- }
-
-}
-
->>>>>>> 1.1.2.2