diff --git a/pom.xml b/pom.xml
index 77384d5c76..324f025f69 100644
--- a/pom.xml
+++ b/pom.xml
@@ -177,6 +177,8 @@
maven-compiler-plugin
3.0
+ true
+ true
${project.build.javaLevel}
${project.build.javaLevel}
${project.build.sourceEncoding}
diff --git a/scm-core/src/main/java/sonia/scm/io/AbstractWriter.java b/scm-core/src/main/java/sonia/scm/io/AbstractWriter.java
index ad659ce3d3..095d98239c 100644
--- a/scm-core/src/main/java/sonia/scm/io/AbstractWriter.java
+++ b/scm-core/src/main/java/sonia/scm/io/AbstractWriter.java
@@ -35,7 +35,7 @@ package sonia.scm.io;
//~--- non-JDK imports --------------------------------------------------------
-import com.google.common.io.Closeables;
+import sonia.scm.util.IOUtil;
//~--- JDK imports ------------------------------------------------------------
@@ -84,7 +84,7 @@ public abstract class AbstractWriter
}
finally
{
- Closeables.closeQuietly(output);
+ IOUtil.close(output);
}
}
diff --git a/scm-core/src/main/java/sonia/scm/repository/api/CatCommandBuilder.java b/scm-core/src/main/java/sonia/scm/repository/api/CatCommandBuilder.java
index 546da6c167..f7b4d75fbd 100644
--- a/scm-core/src/main/java/sonia/scm/repository/api/CatCommandBuilder.java
+++ b/scm-core/src/main/java/sonia/scm/repository/api/CatCommandBuilder.java
@@ -37,7 +37,6 @@ package sonia.scm.repository.api;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
-import com.google.common.io.Closeables;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -46,6 +45,7 @@ import sonia.scm.repository.Repository;
import sonia.scm.repository.RepositoryException;
import sonia.scm.repository.spi.CatCommand;
import sonia.scm.repository.spi.CatCommandRequest;
+import sonia.scm.util.IOUtil;
//~--- JDK imports ------------------------------------------------------------
@@ -117,8 +117,8 @@ public final class CatCommandBuilder
* @throws RepositoryException
*/
public CatCommandBuilder retriveContent(OutputStream outputStream,
- String path)
- throws IOException, RepositoryException
+ String path)
+ throws IOException, RepositoryException
{
getCatResult(outputStream, path);
@@ -149,7 +149,7 @@ public final class CatCommandBuilder
}
finally
{
- Closeables.closeQuietly(baos);
+ IOUtil.close(baos);
}
return content;
@@ -185,11 +185,11 @@ public final class CatCommandBuilder
* @throws RepositoryException
*/
private void getCatResult(OutputStream outputStream, String path)
- throws IOException, RepositoryException
+ throws IOException, RepositoryException
{
Preconditions.checkNotNull(outputStream, "OutputStream is required");
Preconditions.checkArgument(!Strings.isNullOrEmpty(path),
- "path is required");
+ "path is required");
CatCommandRequest requestClone = request.clone();
@@ -206,8 +206,8 @@ public final class CatCommandBuilder
//~--- fields ---------------------------------------------------------------
/** implementation of the cat command */
- private CatCommand catCommand;
+ private final CatCommand catCommand;
/** request for the cat command */
- private CatCommandRequest request = new CatCommandRequest();
+ private final CatCommandRequest request = new CatCommandRequest();
}
diff --git a/scm-core/src/main/java/sonia/scm/repository/api/DiffCommandBuilder.java b/scm-core/src/main/java/sonia/scm/repository/api/DiffCommandBuilder.java
index fe57df3d11..e1d7ba5f1a 100644
--- a/scm-core/src/main/java/sonia/scm/repository/api/DiffCommandBuilder.java
+++ b/scm-core/src/main/java/sonia/scm/repository/api/DiffCommandBuilder.java
@@ -36,7 +36,6 @@ package sonia.scm.repository.api;
//~--- non-JDK imports --------------------------------------------------------
import com.google.common.base.Preconditions;
-import com.google.common.io.Closeables;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -44,6 +43,7 @@ import org.slf4j.LoggerFactory;
import sonia.scm.repository.RepositoryException;
import sonia.scm.repository.spi.DiffCommand;
import sonia.scm.repository.spi.DiffCommandRequest;
+import sonia.scm.util.IOUtil;
//~--- JDK imports ------------------------------------------------------------
@@ -140,7 +140,7 @@ public final class DiffCommandBuilder
}
finally
{
- Closeables.closeQuietly(baos);
+ IOUtil.close(baos);
}
return content;
@@ -149,15 +149,15 @@ public final class DiffCommandBuilder
//~--- set methods ----------------------------------------------------------
/**
- * Sets the diff format which should be used for the output.
- * Note: If the repository provider does not support the
+ * Sets the diff format which should be used for the output.
+ * Note: If the repository provider does not support the
* diff format, it will fallback to its default format.
*
*
* @param format format of the diff output
*
* @return {@code this}
- *
+ *
* @since 1.34
*/
public DiffCommandBuilder setFormat(DiffFormat format)
@@ -228,8 +228,8 @@ public final class DiffCommandBuilder
//~--- fields ---------------------------------------------------------------
/** implementation of the diff command */
- private DiffCommand diffCommand;
+ private final DiffCommand diffCommand;
/** request for the diff command implementation */
- private DiffCommandRequest request = new DiffCommandRequest();
+ private final DiffCommandRequest request = new DiffCommandRequest();
}
diff --git a/scm-core/src/main/java/sonia/scm/template/Templates.java b/scm-core/src/main/java/sonia/scm/template/Templates.java
index 540733eade..61e5dbaba6 100644
--- a/scm-core/src/main/java/sonia/scm/template/Templates.java
+++ b/scm-core/src/main/java/sonia/scm/template/Templates.java
@@ -35,11 +35,11 @@ package sonia.scm.template;
//~--- non-JDK imports --------------------------------------------------------
-import com.google.common.io.Closeables;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import sonia.scm.util.IOUtil;
+
//~--- JDK imports ------------------------------------------------------------
import java.io.File;
@@ -124,7 +124,7 @@ public final class Templates
}
finally
{
- Closeables.closeQuietly(reader);
+ IOUtil.close(reader);
}
}
diff --git a/scm-core/src/main/java/sonia/scm/util/IOUtil.java b/scm-core/src/main/java/sonia/scm/util/IOUtil.java
index 2e2b6b7fd6..d71f8a36fc 100644
--- a/scm-core/src/main/java/sonia/scm/util/IOUtil.java
+++ b/scm-core/src/main/java/sonia/scm/util/IOUtil.java
@@ -129,7 +129,7 @@ public final class IOUtil
}
catch (IOException ex)
{
- logger.error(ex.getMessage(), ex);
+ logger.warn("IOException thrown while closing Closeable.", ex);
}
}
}
diff --git a/scm-core/src/main/java/sonia/scm/web/filter/LoggingFilter.java b/scm-core/src/main/java/sonia/scm/web/filter/LoggingFilter.java
index 863e128a4d..8af72bfa5d 100644
--- a/scm-core/src/main/java/sonia/scm/web/filter/LoggingFilter.java
+++ b/scm-core/src/main/java/sonia/scm/web/filter/LoggingFilter.java
@@ -36,12 +36,12 @@ package sonia.scm.web.filter;
//~--- non-JDK imports --------------------------------------------------------
import com.google.common.base.Strings;
-import com.google.common.io.Closeables;
import com.google.inject.Singleton;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import sonia.scm.util.IOUtil;
import sonia.scm.util.Util;
//~--- JDK imports ------------------------------------------------------------
@@ -87,8 +87,8 @@ public class LoggingFilter extends HttpFilter
*/
@Override
protected void doFilter(HttpServletRequest request,
- HttpServletResponse response, FilterChain chain)
- throws IOException, ServletException
+ HttpServletResponse response, FilterChain chain)
+ throws IOException, ServletException
{
if (logger.isDebugEnabled())
{
@@ -120,11 +120,11 @@ public class LoggingFilter extends HttpFilter
logger.debug("Info: Request-Uri = {}", request.getRequestURI());
logger.debug("Info: Remote-Addr = {}", request.getRemoteAddr());
logger.debug("Info: Remote-User = {}",
- Util.nonNull(request.getRemoteUser()));
+ Util.nonNull(request.getRemoteUser()));
logger.debug("Info: Content-Size = {}",
- Integer.toString(request.getContentLength()));
+ Integer.toString(request.getContentLength()));
logger.debug("Info: Content-Type = {}",
- Util.nonNull(request.getContentType()));
+ Util.nonNull(request.getContentType()));
logger.debug("Info: Method = {}", request.getMethod());
logger.debug("Info: AuthType = {}", Util.nonNull(request.getAuthType()));
@@ -156,7 +156,7 @@ public class LoggingFilter extends HttpFilter
String parameter = (String) parameters.nextElement();
logger.debug("Parameter: {} = {}", parameter,
- request.getParameter(parameter));
+ request.getParameter(parameter));
}
}
@@ -169,7 +169,7 @@ public class LoggingFilter extends HttpFilter
String attribute = (String) attributes.nextElement();
logger.debug("Attribute: {} = {}", attribute,
- request.getAttribute(attribute).toString());
+ request.getAttribute(attribute).toString());
}
}
@@ -186,7 +186,7 @@ public class LoggingFilter extends HttpFilter
String sAttribute = (String) sAttributes.nextElement();
logger.debug("Session-Attribute: {} = {}", sAttribute,
- request.getSession().getAttribute(sAttribute).toString());
+ request.getSession().getAttribute(sAttribute).toString());
}
}
@@ -212,18 +212,18 @@ public class LoggingFilter extends HttpFilter
* @throws IOException
*/
private void logResponse(HttpServletResponse orgResponse,
- BufferedHttpServletResponse response)
- throws IOException
+ BufferedHttpServletResponse response)
+ throws IOException
{
logger.debug("**************** response ****************");
logger.debug("status code = {}",
- Integer.toString(response.getStatusCode()));
+ Integer.toString(response.getStatusCode()));
logger.debug("status message = {}",
- Util.nonNull(response.getStatusMessage()));
+ Util.nonNull(response.getStatusMessage()));
logger.debug("charset = {}", Util.nonNull(response.getCharacterEncoding()));
logger.debug("content-type = {}", Util.nonNull(response.getContentType()));
logger.debug("content-length = {}",
- Integer.toString(response.getContentLength()));
+ Integer.toString(response.getContentLength()));
for (Cookie cookie : response.getCookies())
{
@@ -250,7 +250,7 @@ public class LoggingFilter extends HttpFilter
}
finally
{
- Closeables.closeQuietly(out);
+ IOUtil.close(out);
}
logger.trace("Content: ".concat(new String(content)));
@@ -297,6 +297,6 @@ public class LoggingFilter extends HttpFilter
private boolean isTextRequest(String contentType)
{
return !Strings.isNullOrEmpty(contentType)
- && contentType.toLowerCase(Locale.ENGLISH).startsWith("text");
+ && contentType.toLowerCase(Locale.ENGLISH).startsWith("text");
}
}
diff --git a/scm-core/src/main/java/sonia/scm/web/proxy/ProxyServlet.java b/scm-core/src/main/java/sonia/scm/web/proxy/ProxyServlet.java
index cc7758d7a9..653e48fb18 100644
--- a/scm-core/src/main/java/sonia/scm/web/proxy/ProxyServlet.java
+++ b/scm-core/src/main/java/sonia/scm/web/proxy/ProxyServlet.java
@@ -30,13 +30,14 @@
*/
+
package sonia.scm.web.proxy;
//~--- non-JDK imports --------------------------------------------------------
import com.google.common.base.Preconditions;
import com.google.common.io.ByteStreams;
-import com.google.common.io.Closeables;
+import com.google.common.io.Closer;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -48,6 +49,8 @@ import org.slf4j.LoggerFactory;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.net.HttpURLConnection;
@@ -152,7 +155,7 @@ public class ProxyServlet extends HttpServlet
con.disconnect();
}
- catch (Exception ex)
+ catch (IOException ex)
{
logger.error("could not proxy request", ex);
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
@@ -172,13 +175,14 @@ public class ProxyServlet extends HttpServlet
private void copyContent(HttpURLConnection con, HttpServletResponse response)
throws IOException
{
- BufferedInputStream webToProxyBuf = null;
- BufferedOutputStream proxyToClientBuf = null;
+ Closer closer = Closer.create();
try
{
- webToProxyBuf = new BufferedInputStream(con.getInputStream());
- proxyToClientBuf = new BufferedOutputStream(response.getOutputStream());
+ InputStream webToProxyBuf =
+ closer.register(new BufferedInputStream(con.getInputStream()));
+ OutputStream proxyToClientBuf =
+ closer.register(new BufferedOutputStream(response.getOutputStream()));
long bytes = ByteStreams.copy(webToProxyBuf, proxyToClientBuf);
@@ -186,8 +190,7 @@ public class ProxyServlet extends HttpServlet
}
finally
{
- Closeables.closeQuietly(webToProxyBuf);
- Closeables.closeQuietly(proxyToClientBuf);
+ closer.close();
}
}
@@ -307,5 +310,5 @@ public class ProxyServlet extends HttpServlet
//~--- fields ---------------------------------------------------------------
/** Field description */
- private ProxyConfigurationProvider configurationProvider;
+ private final ProxyConfigurationProvider configurationProvider;
}
diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitFileHook.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitFileHook.java
index da0fd5b048..7f3700be58 100644
--- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitFileHook.java
+++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitFileHook.java
@@ -30,12 +30,13 @@
*/
+
package sonia.scm.web;
//~--- non-JDK imports --------------------------------------------------------
import com.google.common.base.Stopwatch;
-import com.google.common.io.Closeables;
+import com.google.common.io.Closer;
import org.eclipse.jgit.transport.ReceiveCommand;
import org.eclipse.jgit.transport.ReceivePack;
@@ -55,7 +56,6 @@ import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
-
/**
*
* @author Sebastian Sdorra
@@ -91,8 +91,8 @@ public class GitFileHook
* @param rpack
* @param commands
*/
- private GitFileHook(RepositoryHookType type,
- ReceivePack rpack, Iterable commands)
+ private GitFileHook(RepositoryHookType type, ReceivePack rpack,
+ Iterable commands)
{
this.type = type;
this.rpack = rpack;
@@ -106,13 +106,12 @@ public class GitFileHook
*
*
*
- * @param executor
* @param type
* @param rpack
* @param commands
*/
- public static void execute(RepositoryHookType type,
- ReceivePack rpack, Iterable commands)
+ public static void execute(RepositoryHookType type, ReceivePack rpack,
+ Iterable commands)
{
new GitFileHook(type, rpack, commands).execute();
}
@@ -208,14 +207,18 @@ public class GitFileHook
private void execute(File hook)
{
Process p;
- PrintWriter writer = null;
- BufferedReader stdReader = null;
+ Closer closer = Closer.create();
try
{
p = createProcess(hook);
- writer = new PrintWriter(p.getOutputStream());
- stdReader = new BufferedReader(new InputStreamReader(p.getInputStream()));
+
+ PrintWriter writer =
+ closer.register(new PrintWriter(p.getOutputStream()));
+ BufferedReader stdReader = closer.register(
+ new BufferedReader(
+ new InputStreamReader(
+ p.getInputStream())));
for (ReceiveCommand rc : commands)
{
@@ -224,9 +227,9 @@ public class GitFileHook
logger.trace("write rc output \"{}\" to hook {}", output, hook);
writer.println(output);
}
-
+
writer.close();
-
+
String line = stdReader.readLine();
while (line != null)
@@ -256,8 +259,7 @@ public class GitFileHook
}
finally
{
- Closeables.closeQuietly(writer);
- Closeables.closeQuietly(stdReader);
+ IOUtil.close(closer);
}
}
@@ -318,11 +320,11 @@ public class GitFileHook
//~--- fields ---------------------------------------------------------------
/** Field description */
- private Iterable commands;
+ private final Iterable commands;
/** Field description */
- private ReceivePack rpack;
+ private final ReceivePack rpack;
/** Field description */
- private RepositoryHookType type;
+ private final RepositoryHookType type;
}
diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitRepositoryViewer.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitRepositoryViewer.java
index 49b98f1047..62e334729a 100644
--- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitRepositoryViewer.java
+++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/web/GitRepositoryViewer.java
@@ -60,6 +60,7 @@ import sonia.scm.template.TemplateEngineFactory;
import sonia.scm.url.RepositoryUrlProvider;
import sonia.scm.url.UrlProvider;
import sonia.scm.url.UrlProviderFactory;
+import sonia.scm.util.IOUtil;
import sonia.scm.util.Util;
//~--- JDK imports ------------------------------------------------------------
@@ -196,7 +197,7 @@ public class GitRepositoryViewer
}
finally
{
- Closeables.closeQuietly(service);
+ IOUtil.close(service);
}
return model;
diff --git a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/client/spi/GitCommitCommand.java b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/client/spi/GitCommitCommand.java
index 847e0c5012..004dc5ab08 100644
--- a/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/client/spi/GitCommitCommand.java
+++ b/scm-plugins/scm-git-plugin/src/test/java/sonia/scm/repository/client/spi/GitCommitCommand.java
@@ -48,6 +48,7 @@ import sonia.scm.repository.client.api.RepositoryClientException;
//~--- JDK imports ------------------------------------------------------------
import java.io.IOException;
+import sonia.scm.util.IOUtil;
/**
*
@@ -103,7 +104,7 @@ public class GitCommitCommand implements CommitCommand
}
finally
{
- Closeables.closeQuietly(converter);
+ IOUtil.close(converter);
}
return changeset;
@@ -112,5 +113,5 @@ public class GitCommitCommand implements CommitCommand
//~--- fields ---------------------------------------------------------------
/** Field description */
- private Git git;
+ private final Git git;
}
diff --git a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/SvnBlameHandler.java b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/SvnBlameHandler.java
index da96b65274..7c50a67eda 100644
--- a/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/SvnBlameHandler.java
+++ b/scm-plugins/scm-svn-plugin/src/main/java/sonia/scm/repository/SvnBlameHandler.java
@@ -226,14 +226,14 @@ public class SvnBlameHandler implements ISVNAnnotateHandler
//~--- fields ---------------------------------------------------------------
/** Field description */
- private List blameLines;
+ private final List blameLines;
/** Field description */
- private Map descriptionCache = new HashMap();
+ private final Map descriptionCache = new HashMap();
/** Field description */
- private String path;
+ private final String path;
/** Field description */
- private SVNRepository svnRepository;
+ private final SVNRepository svnRepository;
}
diff --git a/scm-test/src/main/java/sonia/scm/repository/client/api/RepositoryClient.java b/scm-test/src/main/java/sonia/scm/repository/client/api/RepositoryClient.java
index 1be14e9972..93c87a3cdb 100644
--- a/scm-test/src/main/java/sonia/scm/repository/client/api/RepositoryClient.java
+++ b/scm-test/src/main/java/sonia/scm/repository/client/api/RepositoryClient.java
@@ -30,16 +30,16 @@
*/
+
package sonia.scm.repository.client.api;
//~--- non-JDK imports --------------------------------------------------------
-import com.google.common.io.Closeables;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sonia.scm.repository.client.spi.RepositoryClientProvider;
+import sonia.scm.util.IOUtil;
//~--- JDK imports ------------------------------------------------------------
@@ -87,7 +87,7 @@ public final class RepositoryClient implements Closeable
logger.trace("close client provider");
}
- Closeables.closeQuietly(clientProvider);
+ IOUtil.close(clientProvider);
}
//~--- get methods ----------------------------------------------------------
@@ -204,5 +204,5 @@ public final class RepositoryClient implements Closeable
//~--- fields ---------------------------------------------------------------
/** Field description */
- private RepositoryClientProvider clientProvider;
+ private final RepositoryClientProvider clientProvider;
}
diff --git a/scm-test/src/main/java/sonia/scm/repository/spi/ZippedRepositoryTestBase.java b/scm-test/src/main/java/sonia/scm/repository/spi/ZippedRepositoryTestBase.java
index 90c193ef41..c7a3b8f4e9 100644
--- a/scm-test/src/main/java/sonia/scm/repository/spi/ZippedRepositoryTestBase.java
+++ b/scm-test/src/main/java/sonia/scm/repository/spi/ZippedRepositoryTestBase.java
@@ -35,7 +35,6 @@ package sonia.scm.repository.spi;
//~--- non-JDK imports --------------------------------------------------------
-import com.google.common.io.Closeables;
import com.google.common.io.Resources;
import org.junit.Before;
@@ -125,8 +124,6 @@ public abstract class ZippedRepositoryTestBase extends AbstractTestBase
*
*
* @return
- *
- * @throws IOException
*/
protected File createRepositoryDirectory()
{
@@ -190,7 +187,7 @@ public abstract class ZippedRepositoryTestBase extends AbstractTestBase
}
finally
{
- Closeables.closeQuietly(output);
+ IOUtil.close(output);
}
}
@@ -200,7 +197,7 @@ public abstract class ZippedRepositoryTestBase extends AbstractTestBase
}
finally
{
- Closeables.closeQuietly(zip);
+ IOUtil.close(zip);
}
}
diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/BrowserStreamingOutput.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/BrowserStreamingOutput.java
index 25b9ff03b0..234aae4015 100644
--- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/BrowserStreamingOutput.java
+++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/BrowserStreamingOutput.java
@@ -54,6 +54,7 @@ import java.io.OutputStream;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
+import sonia.scm.util.IOUtil;
/**
*
@@ -134,18 +135,18 @@ public class BrowserStreamingOutput implements StreamingOutput
}
finally
{
- Closeables.closeQuietly(repositoryService);
+ IOUtil.close(repositoryService);
}
}
//~--- fields ---------------------------------------------------------------
/** Field description */
- private CatCommandBuilder builder;
+ private final CatCommandBuilder builder;
/** Field description */
- private String path;
+ private final String path;
/** Field description */
- private RepositoryService repositoryService;
+ private final RepositoryService repositoryService;
}
diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/DiffStreamingOutput.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/DiffStreamingOutput.java
index 20a0a7b42f..fc0f3751e5 100644
--- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/DiffStreamingOutput.java
+++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/DiffStreamingOutput.java
@@ -54,6 +54,7 @@ import java.io.OutputStream;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.StreamingOutput;
+import sonia.scm.util.IOUtil;
/**
*
@@ -129,15 +130,15 @@ public class DiffStreamingOutput implements StreamingOutput
}
finally
{
- Closeables.closeQuietly(repositoryService);
+ IOUtil.close(repositoryService);
}
}
//~--- fields ---------------------------------------------------------------
/** Field description */
- private DiffCommandBuilder builder;
+ private final DiffCommandBuilder builder;
/** Field description */
- private RepositoryService repositoryService;
+ private final RepositoryService repositoryService;
}
diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java
index 9f6856e228..575a42c83d 100644
--- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java
+++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/RepositoryResource.java
@@ -36,7 +36,6 @@ package sonia.scm.api.rest.resources;
//~--- non-JDK imports --------------------------------------------------------
import com.google.common.base.Strings;
-import com.google.common.io.Closeables;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -75,6 +74,7 @@ import sonia.scm.security.RepositoryPermission;
import sonia.scm.security.ScmSecurityException;
import sonia.scm.util.AssertUtil;
import sonia.scm.util.HttpUtil;
+import sonia.scm.util.IOUtil;
import sonia.scm.util.Util;
//~--- JDK imports ------------------------------------------------------------
@@ -383,7 +383,7 @@ public class RepositoryResource
}
finally
{
- Closeables.closeQuietly(service);
+ IOUtil.close(service);
}
return response;
@@ -443,7 +443,7 @@ public class RepositoryResource
}
finally
{
- Closeables.closeQuietly(service);
+ IOUtil.close(service);
}
return response;
@@ -534,7 +534,7 @@ public class RepositoryResource
}
finally
{
- Closeables.closeQuietly(service);
+ IOUtil.close(service);
}
return response;
@@ -638,7 +638,7 @@ public class RepositoryResource
}
finally
{
- Closeables.closeQuietly(service);
+ IOUtil.close(service);
}
}
else
@@ -741,7 +741,7 @@ public class RepositoryResource
}
finally
{
- Closeables.closeQuietly(service);
+ IOUtil.close(service);
}
return response;
@@ -960,7 +960,7 @@ public class RepositoryResource
}
finally
{
- Closeables.closeQuietly(service);
+ IOUtil.close(service);
}
return response;
diff --git a/scm-webapp/src/main/java/sonia/scm/plugin/DefaultPluginLoader.java b/scm-webapp/src/main/java/sonia/scm/plugin/DefaultPluginLoader.java
index 2d8e3fbc07..3b299e6623 100644
--- a/scm-webapp/src/main/java/sonia/scm/plugin/DefaultPluginLoader.java
+++ b/scm-webapp/src/main/java/sonia/scm/plugin/DefaultPluginLoader.java
@@ -37,7 +37,6 @@ package sonia.scm.plugin;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Sets;
-import com.google.common.io.Closeables;
import com.google.inject.Binder;
import com.google.inject.Module;
@@ -55,6 +54,7 @@ import sonia.scm.plugin.ext.Extension;
import sonia.scm.plugin.ext.ExtensionBinder;
import sonia.scm.plugin.ext.ExtensionProcessor;
import sonia.scm.plugin.ext.Extensions;
+import sonia.scm.util.IOUtil;
import sonia.scm.web.security.DefaultAuthenticationHandler;
//~--- JDK imports ------------------------------------------------------------
@@ -146,8 +146,6 @@ public class DefaultPluginLoader implements PluginLoader
*
* @param classLoader
* @param packages
- * @param annotation
- * @param processor
* @param extensionPointProcessor
* @param extensionProcessor
* @param
@@ -488,7 +486,7 @@ public class DefaultPluginLoader implements PluginLoader
}
finally
{
- Closeables.closeQuietly(input);
+ IOUtil.close(input);
}
}
}
@@ -607,7 +605,7 @@ public class DefaultPluginLoader implements PluginLoader
}
finally
{
- Closeables.closeQuietly(content);
+ IOUtil.close(content);
}
}
@@ -639,10 +637,19 @@ public class DefaultPluginLoader implements PluginLoader
//~--- fields ---------------------------------------------------------------
/** Field description */
- private AnnotationScannerFactory annotationScannerFactory;
+ private final AnnotationScannerFactory annotationScannerFactory;
/** Field description */
- private Set> bounds = Sets.newHashSet();
+ private final Set> bounds = Sets.newHashSet();
+
+ /** Field description */
+ private final Set moduleSet = Sets.newHashSet();
+
+ /** Field description */
+ private final Set installedPlugins = new HashSet();
+
+ /** Field description */
+ private final ServletContext servletContext;
/** Field description */
private URL coreFile;
@@ -652,13 +659,4 @@ public class DefaultPluginLoader implements PluginLoader
/** Field description */
private Set> extensions;
-
- /** Field description */
- private Set moduleSet = Sets.newHashSet();
-
- /** Field description */
- private Set installedPlugins = new HashSet();
-
- /** Field description */
- private ServletContext servletContext;
}
diff --git a/scm-webapp/src/main/java/sonia/scm/util/DebugServlet.java b/scm-webapp/src/main/java/sonia/scm/util/DebugServlet.java
index bd6d558094..80fd563cce 100644
--- a/scm-webapp/src/main/java/sonia/scm/util/DebugServlet.java
+++ b/scm-webapp/src/main/java/sonia/scm/util/DebugServlet.java
@@ -35,7 +35,6 @@ package sonia.scm.util;
//~--- non-JDK imports --------------------------------------------------------
-import com.google.common.io.Closeables;
import com.google.inject.Singleton;
//~--- JDK imports ------------------------------------------------------------
@@ -235,7 +234,7 @@ public class DebugServlet extends HttpServlet
}
finally
{
- Closeables.closeQuietly(writer);
+ IOUtil.close(writer);
}
}
diff --git a/scm-webapp/src/test/java/sonia/scm/template/TemplateEngineTestBase.java b/scm-webapp/src/test/java/sonia/scm/template/TemplateEngineTestBase.java
index 29e3d0c8cc..8bb9720c71 100644
--- a/scm-webapp/src/test/java/sonia/scm/template/TemplateEngineTestBase.java
+++ b/scm-webapp/src/test/java/sonia/scm/template/TemplateEngineTestBase.java
@@ -56,6 +56,7 @@ import java.net.URL;
import java.util.Map;
import javax.servlet.ServletContext;
+import sonia.scm.util.IOUtil;
/**
*
@@ -228,7 +229,7 @@ public abstract class TemplateEngineTestBase
}
finally
{
- Closeables.closeQuietly(input);
+ IOUtil.close(input);
}
}
}