Close repository using try-with-resources Change-Id: Ia1c233a68df62cd2bdc6053dc2e20fe57c30c6d9 Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java index d63502d..ebae46c 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java +++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocServlet.java
@@ -141,8 +141,7 @@ projectControl); String revB = getRevision(key.revisionB, projectControl); - Repository repo = repoManager.openRepository(key.project); - try { + try (Repository repo = repoManager.openRepository(key.project)) { ObjectId revId = resolveRevision(repo, key.diffMode == DiffMode.NO_DIFF @@ -185,8 +184,6 @@ } rsc.send(req, res); return; - } finally { - repo.close(); } } catch (RepositoryNotFoundException | NoSuchProjectException | ResourceNotFoundException | AuthException | RevisionSyntaxException e) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocWebLink.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocWebLink.java index 1d7cf4e..5ec6172 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocWebLink.java +++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/XDocWebLink.java
@@ -113,36 +113,31 @@ } Project.NameKey p = new Project.NameKey(projectName); - try { - Repository repo = repoManager.openRepository(p); - try { - ObjectId revId = repo.resolve(revision); - if (revId == null) { - return null; - } - Resource rsc = docCache.get(formatter, p, fileName, revId, null, null); - if (rsc != Resource.NOT_FOUND) { - StringBuilder url = new StringBuilder(); - if (framed) { - url.append("#/x/"); - } else { - url.append("plugins/"); - } - url.append(pluginName); - url.append(XDocServlet.PATH_PREFIX); - url.append(Url.encode(projectName)); - if (revision != null && !Constants.HEAD.equals(revision)) { - url.append("/rev/"); - url.append(Url.encode(revision)); - } - url.append("/"); - url.append(fileName); - return url.toString(); + try (Repository repo = repoManager.openRepository(p)) { + ObjectId revId = repo.resolve(revision); + if (revId == null) { + return null; + } + Resource rsc = docCache.get(formatter, p, fileName, revId, null, null); + if (rsc != Resource.NOT_FOUND) { + StringBuilder url = new StringBuilder(); + if (framed) { + url.append("#/x/"); } else { - return null; + url.append("plugins/"); } - } finally { - repo.close(); + url.append(pluginName); + url.append(XDocServlet.PATH_PREFIX); + url.append(Url.encode(projectName)); + if (revision != null && !Constants.HEAD.equals(revision)) { + url.append("/rev/"); + url.append(Url.encode(revision)); + } + url.append("/"); + url.append(fileName); + return url.toString(); + } else { + return null; } } catch (IOException e) { log.error("Failed to check for project documentation", e);