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);