Instance: use getInstance()
[nikiroo-utils.git] / src / be / nikiroo / fanfix / output / InfoCover.java
index a1b37913bc9e44789eb3d29801b88bc94362a0ad..d8ca49a6876bcb1a759845d117b26cdd302bdfe6 100644 (file)
@@ -6,8 +6,6 @@ import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 
-import javax.imageio.ImageIO;
-
 import be.nikiroo.fanfix.Instance;
 import be.nikiroo.fanfix.bundles.Config;
 import be.nikiroo.fanfix.data.MetaData;
@@ -16,11 +14,13 @@ public class InfoCover {
        public static void writeInfo(File targetDir, String targetName,
                        MetaData meta) throws IOException {
                File info = new File(targetDir, targetName + ".info");
-               BufferedWriter infoWriter = new BufferedWriter(new OutputStreamWriter(
-                               new FileOutputStream(info), "UTF-8"));
 
-               if (meta != null) {
-                       try {
+               BufferedWriter infoWriter = null;
+               try {
+                       infoWriter = new BufferedWriter(new OutputStreamWriter(
+                                       new FileOutputStream(info), "UTF-8"));
+
+                       if (meta != null) {
                                String tags = "";
                                if (meta.getTags() != null) {
                                        for (String tag : meta.getTags()) {
@@ -46,8 +46,8 @@ public class InfoCover {
                                                meta.isImageDocument() ? "true" : "false");
                                writeMeta(infoWriter, "TYPE", meta.getType());
                                if (meta.getCover() != null) {
-                                       String format = Instance.getConfig()
-                                                       .getString(Config.IMAGE_FORMAT_COVER).toLowerCase();
+                                       String format = Instance.getInstance().getConfig()
+                                                       .getString(Config.FILE_FORMAT_IMAGE_FORMAT_COVER).toLowerCase();
                                        writeMeta(infoWriter, "COVER", targetName + "." + format);
                                } else {
                                        writeMeta(infoWriter, "COVER", "");
@@ -59,7 +59,9 @@ public class InfoCover {
                                writeMeta(infoWriter, "CREATION_DATE", meta.getCreationDate());
                                writeMeta(infoWriter, "FAKE_COVER",
                                                Boolean.toString(meta.isFakeCover()));
-                       } finally {
+                       }
+               } finally {
+                       if (infoWriter != null) {
                                infoWriter.close();
                        }
                }
@@ -69,14 +71,10 @@ public class InfoCover {
                        MetaData meta) {
                if (meta != null && meta.getCover() != null) {
                        try {
-                               String format = Instance.getConfig()
-                                               .getString(Config.IMAGE_FORMAT_COVER).toLowerCase();
-                               ImageIO.write(meta.getCover(), format, new File(targetDir,
-                                               targetName + "." + format));
+                               Instance.getInstance().getCache().saveAsImage(meta.getCover(), new File(targetDir, targetName), true);
                        } catch (IOException e) {
                                // Allow to continue without cover
-                               Instance.getTraceHandler().error(
-                                               new IOException("Failed to save the cover image", e));
+                               Instance.getInstance().getTraceHandler().error(new IOException("Failed to save the cover image", e));
                        }
                }
        }