support for custom encodings added to producers
[mir.git] / source / mircoders / localizer / basic / MirBasicProducerToolLocalizer.java
index 1780124..c8cbc53 100755 (executable)
@@ -1,6 +1,7 @@
 package mircoders.localizer.basic;
 
 import java.util.*;
+import java.io.*;
 import freemarker.template.utility.*;
 import mir.misc.*;
 import mircoders.localizer.*;
@@ -25,7 +26,34 @@ public class MirBasicProducerToolLocalizer implements MirProducerToolLocalizer {
                configMap.put("imagePath", MirGlobal.getConfigProperty("Producer.Image.Path"));
                configMap.put("mirVersion", MirGlobal.getConfigProperty("Mir.Version"));
                configMap.put("compressWhitespace", new freemarker.template.utility.CompressWhitespace() );
+               configMap.put("defEncoding", MirGlobal.getConfigProperty("Mir.DefaultEncoding"));
 
     aValueSet.put("config", configMap);
   };
+
+  public PrintWriter openWriter(String anIdentifier) throws MirLocalizerException {
+    File file;
+    File dir;
+
+    try {
+      file = new File( anIdentifier );
+      dir = new File(file.getParent());
+        if (dir!=null && !dir.exists()){
+          dir.mkdirs();
+      }
+
+      return new PrintWriter(
+        new OutputStreamWriter(
+          new FileOutputStream(file), MirGlobal.getConfigProperty("Mir.DefaultEncoding")
+        )
+      );
+    }
+    catch (Throwable t) {
+      throw new MirLocalizerException(t);
+    }
+  };
+
+  public void closeWriter(PrintWriter aWriter) {
+    aWriter.close();
+  };
 }