From 1c13ca27f8a6d9ed76912d57e7b68c43cd76c50b Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Tue, 30 Oct 2012 09:35:12 +0100 Subject: [PATCH] JarFile/ZipFile does not implement closeable in java 6 --- .../sonia/scm/maven/AbstractBaseScmMojo.java | 7 +-- .../src/main/java/sonia/scm/maven/Util.java | 49 +++++++++++++++++++ 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/maven/scm-maven-plugin/src/main/java/sonia/scm/maven/AbstractBaseScmMojo.java b/maven/scm-maven-plugin/src/main/java/sonia/scm/maven/AbstractBaseScmMojo.java index df89a7423f..c4ca941131 100644 --- a/maven/scm-maven-plugin/src/main/java/sonia/scm/maven/AbstractBaseScmMojo.java +++ b/maven/scm-maven-plugin/src/main/java/sonia/scm/maven/AbstractBaseScmMojo.java @@ -127,10 +127,7 @@ public abstract class AbstractBaseScmMojo extends AbstractScmMojo } finally { - if (scanner != null) - { - scanner.close(); - } + Util.close(scanner); } } catch (IOException ex) @@ -140,7 +137,7 @@ public abstract class AbstractBaseScmMojo extends AbstractScmMojo finally { IOUtils.closeQuietly(input); - IOUtils.closeQuietly(file); + Util.close(getLog(), file); } return excludeList; diff --git a/maven/scm-maven-plugin/src/main/java/sonia/scm/maven/Util.java b/maven/scm-maven-plugin/src/main/java/sonia/scm/maven/Util.java index ec2fa27087..08f983c5cc 100644 --- a/maven/scm-maven-plugin/src/main/java/sonia/scm/maven/Util.java +++ b/maven/scm-maven-plugin/src/main/java/sonia/scm/maven/Util.java @@ -33,6 +33,17 @@ package sonia.scm.maven; +//~--- non-JDK imports -------------------------------------------------------- + +import org.apache.maven.plugin.logging.Log; + +//~--- JDK imports ------------------------------------------------------------ + +import java.io.IOException; + +import java.util.Scanner; +import java.util.zip.ZipFile; + /** * * @author Sebastian Sdorra @@ -40,6 +51,44 @@ package sonia.scm.maven; public class Util { + /** + * Method description + * + * + * @param log + * @param file + */ + public static void close(Log log, ZipFile file) + { + if (file != null) + { + try + { + file.close(); + } + catch (IOException ex) + { + log.warn("could not close zipfile", ex); + } + } + } + + /** + * Method description + * + * + * @param scanner + */ + public static void close(Scanner scanner) + { + if (scanner != null) + { + scanner.close(); + } + } + + //~--- get methods ---------------------------------------------------------- + /** * Method description *