Open repository and database in try-with-resource
Change-Id: I46e179094806038dea4fa7108b52f0c4154ac009
diff --git a/github-plugin/src/main/java/com/google/gerrit/server/account/AccountImporter.java b/github-plugin/src/main/java/com/google/gerrit/server/account/AccountImporter.java
index 57cd1a3..25ff9e2 100644
--- a/github-plugin/src/main/java/com/google/gerrit/server/account/AccountImporter.java
+++ b/github-plugin/src/main/java/com/google/gerrit/server/account/AccountImporter.java
@@ -48,26 +48,27 @@
public Account.Id importAccount(String login, String name, String email)
throws IOException, BadRequestException, ResourceConflictException,
UnprocessableEntityException, OrmException {
- ReviewDb db = schema.get();
- CreateAccount createAccount = createAccountFactory.create(login);
- CreateAccount.Input accountInput = new CreateAccount.Input();
- accountInput.email = email;
- accountInput.username = login;
- accountInput.name = MoreObjects.firstNonNull(name, login);
- Response<AccountInfo> accountResponse =
- (Response<AccountInfo>) createAccount.apply(TopLevelResource.INSTANCE,
- accountInput);
- if (accountResponse.statusCode() == HttpStatus.SC_CREATED) {
- Id accountId = new Account.Id(accountResponse.value()._accountId);
- db.accountExternalIds().insert(
- Arrays
- .asList(new AccountExternalId(accountId,
- new AccountExternalId.Key(AccountExternalId.SCHEME_GERRIT,
- login))));
- return accountId;
- } else {
- throw new IOException("Cannot import GitHub account " + login
- + ": HTTP Status " + accountResponse.statusCode());
+ try (ReviewDb db = schema.get()) {
+ CreateAccount createAccount = createAccountFactory.create(login);
+ CreateAccount.Input accountInput = new CreateAccount.Input();
+ accountInput.email = email;
+ accountInput.username = login;
+ accountInput.name = MoreObjects.firstNonNull(name, login);
+ Response<AccountInfo> accountResponse =
+ (Response<AccountInfo>) createAccount.apply(TopLevelResource.INSTANCE,
+ accountInput);
+ if (accountResponse.statusCode() == HttpStatus.SC_CREATED) {
+ Id accountId = new Account.Id(accountResponse.value()._accountId);
+ db.accountExternalIds().insert(
+ Arrays
+ .asList(new AccountExternalId(accountId,
+ new AccountExternalId.Key(AccountExternalId.SCHEME_GERRIT,
+ login))));
+ return accountId;
+ } else {
+ throw new IOException("Cannot import GitHub account " + login
+ + ": HTTP Status " + accountResponse.statusCode());
+ }
}
}
}
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestListController.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestListController.java
index 8449edb..b0abb16 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestListController.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/wizard/PullRequestListController.java
@@ -142,12 +142,10 @@
private Map<String, List<GHPullRequest>> getPullRequests(GitHubLogin login,
GHPerson ghOwner, Iterable<NameKey> repos) throws IOException {
int numPullRequests = 0;
- ReviewDb db = schema.get();
Map<String, List<GHPullRequest>> allPullRequests = Maps.newHashMap();
- try {
+ try (ReviewDb db = schema.get()) {
for (NameKey gerritRepoName : repos) {
- Repository gitRepo = repoMgr.openRepository(gerritRepoName);
- try {
+ try (Repository gitRepo = repoMgr.openRepository(gerritRepoName)) {
String ghRepoName = gerritRepoName.get().split("/")[1];
Optional<GHRepository> githubRepo =
getGHRepository(login, gerritRepoName);
@@ -156,13 +154,9 @@
collectPullRequestsFromGitHubRepository(numPullRequests, db,
allPullRequests, gitRepo, ghRepoName, githubRepo);
}
- } finally {
- gitRepo.close();
}
}
return allPullRequests;
- } finally {
- db.close();
}
}