import mircoders.localizer.*;
import mircoders.global.*;
import mircoders.entity.*;
+import mircoders.entity.adapter.*;
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;
outputFileExpression = anOutputFileExpression;
}
- public void produce( PrintWriter aLogger ) throws ProducerException {
+ public void produce( PrintWriter aLogger ) throws ProducerFailure {
EntityContent content;
Map generationValues = new HashMap();
while (browser.hasNext()) {
content = (EntityContent) browser.next();
- dataMap.put("content", content);
+ dataMap.put("content", ContentAdapterDefinition.getInstance().makeEntityAdapter(content));
String date = content.getValue("date");
aLogger.println("fileName = " + fileName);
try {
- File file = new File(fileName);
+ aLogger.println("generating: " + fileName);
- File dir = new File(file.getParent());
- if (!dir.exists()){
- dir.mkdirs();
- }
+ PrintWriter printWriter = MirGlobal.localizer().producerTool().openWriter(fileName);
- FileWriter fileWriter = new FileWriter(file);
- PrintWriter printWriter = new PrintWriter(fileWriter);
+ generator.generate(printWriter, generationValues, aLogger);
- aLogger.println("generating: " + fileName);
+ MirGlobal.localizer().producerTool().closeWriter(printWriter);
- generator.generate(printWriter, generationValues, aLogger);
- printWriter.close();
- fileWriter.close();
content.setProduced(true);
aLogger.println("done generating: " + fileName);