added encoding paramater to Producer.produce(). use it for featuresRSS so it can...
[mir.git] / source / mircoders / producer / Producer.java
index 28e42da..c415f4a 100755 (executable)
@@ -62,14 +62,20 @@ abstract public class Producer {
 // Methods for producing files
 
        public boolean produce(String template, String filename, TemplateModelRoot model, PrintWriter htmlout) {
-               return _produce(template, filename, model, htmlout, false);
+               return _produce(template, filename, model, htmlout, false,
+                    MirConfig.getProp("Mir.DefaultEncoding"));
+       }
+
+       public boolean produce(String template, String filename, TemplateModelRoot model, PrintWriter htmlout, String encoding) {
+               return _produce(template, filename, model, htmlout, false, encoding);
        }
 
        public boolean produce_compressed(String template, String filename, TemplateModelRoot model, PrintWriter htmlout) {
-               return _produce(template, filename, model, htmlout, true);
+               return _produce(template, filename, model, htmlout, true,
+                    MirConfig.getProp("Mir.DefaultEncoding"));
        }
 
-       private boolean _produce(String template, String filename, TemplateModelRoot model, PrintWriter htmlout, boolean compressed) {
+       private boolean _produce(String template, String filename, TemplateModelRoot model, PrintWriter htmlout, boolean compressed, String encoding) {
                try {
                        File f = new File(producerStorageRoot + filename);
                        File dir = new File(f.getParent());
@@ -77,8 +83,7 @@ abstract public class Producer {
                        // it's important that we set the desired encoding. It should be UTF8
       // not the platform default.
       OutputStreamWriter outputFileStream =
-        new OutputStreamWriter(new FileOutputStream(f),
-                               MirConfig.getProp("Mir.DefaultEncoding"));
+        new OutputStreamWriter(new FileOutputStream(f), encoding);
                        PrintWriter outStream;
                        if (compressed==true) {
                                outStream = new LineFilterWriter(outputFileStream);