Open Repository and RevWalk in try-with-resource Change-Id: I551159e81afe9615be207fadf4f961762b1f6ad2
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeKindCacheImpl.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeKindCacheImpl.java index 8bee4a6..f3d1455 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeKindCacheImpl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/ChangeKindCacheImpl.java
@@ -310,17 +310,13 @@ ChangeData.Factory changeDataFactory, ProjectCache projectCache, GitRepositoryManager repoManager) { - Repository repo = null; // TODO - dborowitz: add NEW_CHANGE type for default. ChangeKind kind = ChangeKind.REWORK; // Trivial case: if we're on the first patch, we don't need to open // the repository. if (patch.getId().get() > 1) { - try { + try (Repository repo = repoManager.openRepository(change.getProject())) { ProjectState projectState = projectCache.checkedGet(change.getProject()); - - repo = repoManager.openRepository(change.getProject()); - ChangeData cd = changeDataFactory.create(db, change); Collection<PatchSet> patchSetCollection = cd.patchSets(); PatchSet priorPs = patch; @@ -347,10 +343,6 @@ // Do nothing; assume we have a complex change log.warn("Unable to get change kind for patchSet " + patch.getPatchSetId() + "of change " + change.getChangeId(), e); - } finally { - if (repo != null) { - repo.close(); - } } } return kind;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java index 48b602a..8fe8379 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/SubmoduleOp.java
@@ -221,14 +221,10 @@ private void updateGitlinks(ReviewDb db, Branch.NameKey subscriber, Collection<SubmoduleSubscription> updates) throws SubmoduleException { PersonIdent author = null; - - Repository pdb = null; - StringBuilder msgbuf = new StringBuilder("Updated git submodules\n\n"); - try { - boolean sameAuthorForAll = true; + boolean sameAuthorForAll = true; - pdb = repoManager.openRepository(subscriber.getParentKey()); + try (Repository pdb = repoManager.openRepository(subscriber.getParentKey())) { if (pdb.getRef(subscriber.get()) == null) { throw new SubmoduleException( "The branch was probably deleted from the subscriber repository"); @@ -347,10 +343,6 @@ } catch (IOException e) { throw new SubmoduleException("Cannot update gitlinks for " + subscriber.get(), e); - } finally { - if (pdb != null) { - pdb.close(); - } } }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/AllProjectsCreator.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/AllProjectsCreator.java index b142bb0..9b6e36a 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/AllProjectsCreator.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/AllProjectsCreator.java
@@ -96,27 +96,19 @@ } public void create() throws IOException, ConfigInvalidException { - Repository git = null; - try { - git = mgr.openRepository(allProjectsName); + try (Repository git = mgr.openRepository(allProjectsName)) { initAllProjects(git); } catch (RepositoryNotFoundException notFound) { // A repository may be missing if this project existed only to store // inheritable permissions. For example 'All-Projects'. - try { - git = mgr.createRepository(allProjectsName); + try (Repository git = mgr.createRepository(allProjectsName)) { initAllProjects(git); - RefUpdate u = git.updateRef(Constants.HEAD); u.link(RefNames.REFS_CONFIG); } catch (RepositoryNotFoundException err) { String name = allProjectsName.get(); throw new IOException("Cannot create repository " + name, err); } - } finally { - if (git != null) { - git.close(); - } } }
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/AllUsersCreator.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/AllUsersCreator.java index 3fa7986..22a345a 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/AllUsersCreator.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/AllUsersCreator.java
@@ -61,22 +61,15 @@ } public void create() throws IOException, ConfigInvalidException { - Repository git = null; - try { - git = mgr.openRepository(allUsersName); + try (Repository git = mgr.openRepository(allUsersName)) { initAllUsers(git); } catch (RepositoryNotFoundException notFound) { - try { - git = mgr.createRepository(allUsersName); + try (Repository git = mgr.createRepository(allUsersName)) { initAllUsers(git); } catch (RepositoryNotFoundException err) { String name = allUsersName.get(); throw new IOException("Cannot create repository " + name, err); } - } finally { - if (git != null) { - git.close(); - } } }
diff --git a/plugins/replication b/plugins/replication index 264b7a0..cc91e0c 160000 --- a/plugins/replication +++ b/plugins/replication
@@ -1 +1 @@ -Subproject commit 264b7a00361f8a880cbad389523bf329f1989480 +Subproject commit cc91e0c2987a4606e19b10e320b14f6a0c911c06
diff --git a/plugins/reviewnotes b/plugins/reviewnotes index b190862..26f38c4 160000 --- a/plugins/reviewnotes +++ b/plugins/reviewnotes
@@ -1 +1 @@ -Subproject commit b19086265e7cb3c23b9fbf7193fbbd16eadc3bf0 +Subproject commit 26f38c4514687c388472be19c9789eaa84b1d564