i changed the exception-handling of the new producers and localizers to use the multe...
[mir.git] / source / mircoders / producer / ContentProducer.java
index 5790063..09fbfa6 100755 (executable)
@@ -39,7 +39,7 @@ public class ContentProducer implements mir.producer.Producer {
     outputFileExpression = anOutputFileExpression;
   }
 
-  public void produce( PrintWriter aLogger ) throws ProducerException {
+  public void produce( PrintWriter aLogger ) throws ProducerFailure {
     EntityContent content;
 
     Map generationValues = new HashMap();
@@ -76,21 +76,14 @@ public class ContentProducer implements mir.producer.Producer {
         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);