Convert to use auto-closeable Repository and RevWalk
In the latest version of JGit used on Gerrit master, the Repository
and RevWalk objects are auto-closeable.
Change-Id: I6eb2e5f4af1fc0292c1b4dbb641b7ba0a36bebdf
diff --git a/src/main/java/com/googlesource/gerrit/plugins/refprotection/RefUpdateListener.java b/src/main/java/com/googlesource/gerrit/plugins/refprotection/RefUpdateListener.java
index fcb62d4..268cc49 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/refprotection/RefUpdateListener.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/refprotection/RefUpdateListener.java
@@ -134,22 +134,13 @@
*/
private boolean isNonFastForwardUpdate(Event event, ProjectResource project)
throws RepositoryNotFoundException, IOException {
- Repository repo = null;
- RevWalk walk = null;
- try {
- repo = repoManager.openRepository(project.getNameKey());
- walk = new RevWalk(repo);
- RevCommit oldCommit =
- walk.parseCommit(repo.resolve(event.getOldObjectId()));
- RevCommit newCommit =
- walk.parseCommit(repo.resolve(event.getNewObjectId()));
- return !walk.isMergedInto(oldCommit, newCommit);
- } finally {
- if (walk != null) {
- walk.release();
- }
- if (repo != null) {
- repo.close();
+ try (Repository repo = repoManager.openRepository(project.getNameKey())) {
+ try (RevWalk walk = new RevWalk(repo)) {
+ RevCommit oldCommit =
+ walk.parseCommit(repo.resolve(event.getOldObjectId()));
+ RevCommit newCommit =
+ walk.parseCommit(repo.resolve(event.getNewObjectId()));
+ return !walk.isMergedInto(oldCommit, newCommit);
}
}
}