Add more warnings source to 1.6) and fix warnings
[nikiroo-utils.git] / src / be / nikiroo / fanfix / Cache.java
index 7f603c1ba15f1c7e9d812d76941ce616e9d419b3..40ce15efec98860c559177dc0734c3b68377f797 100644 (file)
@@ -14,7 +14,6 @@ import java.net.CookiePolicy;
 import java.net.CookieStore;
 import java.net.HttpCookie;
 import java.net.HttpURLConnection;
-import java.net.URISyntaxException;
 import java.net.URL;
 import java.net.URLConnection;
 import java.net.URLEncoder;
@@ -27,6 +26,7 @@ import javax.imageio.ImageIO;
 import be.nikiroo.fanfix.bundles.Config;
 import be.nikiroo.fanfix.supported.BasicSupport;
 import be.nikiroo.utils.IOUtils;
+import be.nikiroo.utils.ImageUtils;
 import be.nikiroo.utils.MarkableFileInputStream;
 
 /**
@@ -303,17 +303,13 @@ public class Cache {
        }
 
        /**
-        * Open a resource (will load it from the cache if possible, or save it into
-        * the cache after downloading if not) as an Image, then save it where
-        * requested.
-        * <p>
-        * This version will not always work properly if the original file was not
-        * downloaded before.
+        * Save the given resource as an image on disk using the default image
+        * format for content.
         * 
         * @param url
-        *            the resource to open
-        * 
-        * @return the opened resource image
+        *            the resource
+        * @param target
+        *            the target file
         * 
         * @throws IOException
         *             in case of I/O error
@@ -324,7 +320,7 @@ public class Cache {
 
                if (!cached.exists() || isOld(cached, true)) {
                        InputStream imageIn = open(url, null, true);
-                       ImageIO.write(IOUtils.toImage(imageIn), Instance.getConfig()
+                       ImageIO.write(ImageUtils.fromStream(imageIn), Instance.getConfig()
                                        .getString(Config.IMAGE_FORMAT_CONTENT).toLowerCase(),
                                        cached);
                }
@@ -357,7 +353,7 @@ public class Cache {
         * 
         * @param uniqueID
         *            the unique ID
-        *
+        * 
         * @return the content or NULL
         */
        public InputStream getFromCache(String uniqueID) {
@@ -400,16 +396,21 @@ public class Cache {
         * 
         * @param url
         *            the resource to open
+        * @param allowTooOld
+        *            allow files even if they are considered too old
+        * @param stable
+        *            a stable file (that dones't change too often) -- parameter
+        *            used to check if the file is too old to keep or not
         * 
         * @return the opened resource if found, NULL i not
         * 
         * @throws IOException
         *             in case of I/O error
         */
-       private InputStream load(URL url, boolean allowOld, boolean stable)
+       private InputStream load(URL url, boolean allowTooOld, boolean stable)
                        throws IOException {
                File cached = getCached(url);
-               if (cached.exists() && !isOld(cached, stable)) {
+               if (cached.exists() && (allowTooOld || !isOld(cached, stable))) {
                        return new MarkableFileInputStream(new FileInputStream(cached));
                }
 
@@ -428,7 +429,6 @@ public class Cache {
         * 
         * @throws IOException
         *             in case of I/O error
-        * @throws URISyntaxException
         */
        private void save(URL url, BasicSupport support, URL originalUrl)
                        throws IOException {
@@ -518,6 +518,7 @@ public class Cache {
         * 
         * @param url
         *            the url
+        * 
         * @return the cached version if present, NULL if not
         */
        private File getCached(URL url) {
@@ -535,8 +536,9 @@ public class Cache {
         * Get the cache resource from the cache if it is present for this unique
         * ID.
         * 
-        * @param url
-        *            the url
+        * @param uniqueID
+        *            the id
+        * 
         * @return the cached version if present, NULL if not
         */
        private File getCached(String uniqueID) {