Merge branch 'stable-3.7' into stable-3.8 * stable-3.7: Avoid work in Optional.orElse() calls Fix a bug with paper-tooltip. Change-Id: I7016b62f40df0b61a05b6b78878e84296292e6e5 Release-Notes: skip
diff --git a/java/com/google/gerrit/acceptance/GerritServer.java b/java/com/google/gerrit/acceptance/GerritServer.java index 1199bf9..d433689 100644 --- a/java/com/google/gerrit/acceptance/GerritServer.java +++ b/java/com/google/gerrit/acceptance/GerritServer.java
@@ -333,7 +333,7 @@ String configuredIndexBackend = cfg.getString("index", null, "type"); if (configuredIndexBackend == null) { // Propagate index type to pgms that run off of the gerrit.config file on local disk. - IndexType indexType = IndexType.fromEnvironment().orElse(new IndexType("fake")); + IndexType indexType = IndexType.fromEnvironment().orElseGet(() -> new IndexType("fake")); gerritConfig.setString("index", null, "type", indexType.isLucene() ? "lucene" : "fake"); } gerritConfig.save(); @@ -511,7 +511,7 @@ IndexType indexType = (configuredIndexBackend != null) ? new IndexType(configuredIndexBackend) - : IndexType.fromEnvironment().orElse(new IndexType("fake")); + : IndexType.fromEnvironment().orElseGet(() -> new IndexType("fake")); daemon.setIndexModule(createIndexModule(indexType, baseConfig, testIndexModule)); daemon.setEnableHttpd(desc.httpd());
diff --git a/java/com/google/gerrit/acceptance/testsuite/group/GroupOperationsImpl.java b/java/com/google/gerrit/acceptance/testsuite/group/GroupOperationsImpl.java index dcf1158..a37c2ba 100644 --- a/java/com/google/gerrit/acceptance/testsuite/group/GroupOperationsImpl.java +++ b/java/com/google/gerrit/acceptance/testsuite/group/GroupOperationsImpl.java
@@ -78,7 +78,7 @@ private InternalGroupCreation toInternalGroupCreation(TestGroupCreation groupCreation) { AccountGroup.Id groupId = AccountGroup.id(seq.nextGroupId()); - String groupName = groupCreation.name().orElse("group-with-id-" + groupId.get()); + String groupName = groupCreation.name().orElseGet(() -> "group-with-id-" + groupId.get()); AccountGroup.UUID groupUuid = GroupUuid.make(groupName, serverIdent); AccountGroup.NameKey nameKey = AccountGroup.nameKey(groupName); return InternalGroupCreation.builder()
diff --git a/java/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImpl.java b/java/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImpl.java index bd3d656..a3112f8 100644 --- a/java/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImpl.java +++ b/java/com/google/gerrit/acceptance/testsuite/project/ProjectOperationsImpl.java
@@ -88,7 +88,7 @@ } private Project.NameKey createNewProject(TestProjectCreation projectCreation) throws Exception { - String name = projectCreation.name().orElse(RandomStringUtils.randomAlphabetic(8)); + String name = projectCreation.name().orElseGet(() -> RandomStringUtils.randomAlphabetic(8)); CreateProjectArgs args = new CreateProjectArgs(); args.setProjectName(name);
diff --git a/java/com/google/gerrit/httpd/raw/StaticModule.java b/java/com/google/gerrit/httpd/raw/StaticModule.java index 8319d9d..306973f 100644 --- a/java/com/google/gerrit/httpd/raw/StaticModule.java +++ b/java/com/google/gerrit/httpd/raw/StaticModule.java
@@ -243,7 +243,7 @@ @GerritServerConfig Config cfg, GerritApi gerritApi, ExperimentFeatures experimentFeatures) { - String cdnPath = options.devCdn().orElse(cfg.getString("gerrit", null, "cdnPath")); + String cdnPath = options.devCdn().orElseGet(() -> cfg.getString("gerrit", null, "cdnPath")); String faviconPath = cfg.getString("gerrit", null, "faviconPath"); return new IndexServlet(canonicalUrl, cdnPath, faviconPath, gerritApi, experimentFeatures); }
diff --git a/java/com/google/gerrit/server/DeadlineChecker.java b/java/com/google/gerrit/server/DeadlineChecker.java index f41b1e3..9b7ffe6 100644 --- a/java/com/google/gerrit/server/DeadlineChecker.java +++ b/java/com/google/gerrit/server/DeadlineChecker.java
@@ -180,12 +180,14 @@ this.timeoutName = clientedProvidedTimeout .map(clientTimeout -> "client.timeout") - .orElse( - serverSideDeadline - .map(serverDeadline -> serverDeadline.id() + ".timeout") - .orElse("timeout")); + .orElseGet( + () -> + serverSideDeadline + .map(serverDeadline -> serverDeadline.id() + ".timeout") + .orElse("timeout")); this.timeout = - clientedProvidedTimeout.orElse(serverSideDeadline.map(ServerDeadline::timeout).orElse(0L)); + clientedProvidedTimeout.orElseGet( + () -> serverSideDeadline.map(ServerDeadline::timeout).orElse(0L)); this.deadline = timeout > 0 ? Optional.of(start + timeout) : Optional.empty(); }
diff --git a/java/com/google/gerrit/server/account/AccountCacheImpl.java b/java/com/google/gerrit/server/account/AccountCacheImpl.java index 66a36f6..d306ad0 100644 --- a/java/com/google/gerrit/server/account/AccountCacheImpl.java +++ b/java/com/google/gerrit/server/account/AccountCacheImpl.java
@@ -98,7 +98,7 @@ @Override public AccountState getEvenIfMissing(Account.Id accountId) { - return get(accountId).orElse(missing(accountId)); + return get(accountId).orElseGet(() -> missing(accountId)); } @Override
diff --git a/java/com/google/gerrit/server/account/AccountManager.java b/java/com/google/gerrit/server/account/AccountManager.java index edec52c..f5e9dcc 100644 --- a/java/com/google/gerrit/server/account/AccountManager.java +++ b/java/com/google/gerrit/server/account/AccountManager.java
@@ -234,7 +234,7 @@ "Unable to deactivate account %s", authRequest .getUserName() - .orElse(" for external ID key " + authRequest.getExternalIdKey().get())); + .orElseGet(() -> " for external ID key " + authRequest.getExternalIdKey().get())); } }
diff --git a/java/com/google/gerrit/server/change/DeleteReviewerOp.java b/java/com/google/gerrit/server/change/DeleteReviewerOp.java index fc07592..785f9e1 100644 --- a/java/com/google/gerrit/server/change/DeleteReviewerOp.java +++ b/java/com/google/gerrit/server/change/DeleteReviewerOp.java
@@ -212,7 +212,7 @@ reviewerDeleted.fire( ctx.getChangeData(currChange), patchSet, - accountCache.get(reviewer.id()).orElse(AccountState.forAccount(reviewer)), + accountCache.get(reviewer.id()).orElseGet(() -> AccountState.forAccount(reviewer)), ctx.getAccount(), mailMessage, newApprovals,
diff --git a/java/com/google/gerrit/server/git/DefaultChangeReportFormatter.java b/java/com/google/gerrit/server/git/DefaultChangeReportFormatter.java index 4f6094e..58c3eb1 100644 --- a/java/com/google/gerrit/server/git/DefaultChangeReportFormatter.java +++ b/java/com/google/gerrit/server/git/DefaultChangeReportFormatter.java
@@ -54,7 +54,7 @@ urlFormatter .get() .getChangeViewUrl(c.getProject(), c.getId()) - .orElse(c.getId().toString())); + .orElseGet(() -> c.getId().toString())); } protected String cropSubject(String subject) {
diff --git a/java/com/google/gerrit/server/git/receive/ReceiveCommits.java b/java/com/google/gerrit/server/git/receive/ReceiveCommits.java index 2baca53..8e03421 100644 --- a/java/com/google/gerrit/server/git/receive/ReceiveCommits.java +++ b/java/com/google/gerrit/server/git/receive/ReceiveCommits.java
@@ -2033,10 +2033,10 @@ magicBranch.dest = BranchNameKey.create(project.getNameKey(), ref); magicBranch.perm = permissions.ref(ref); - Optional<AuthException> err = - checkRefPermission(magicBranch.perm, RefPermission.READ) - .map(Optional::of) - .orElse(checkRefPermission(magicBranch.perm, RefPermission.CREATE_CHANGE)); + Optional<AuthException> err = checkRefPermission(magicBranch.perm, RefPermission.READ); + if (err.isEmpty()) { + err = checkRefPermission(magicBranch.perm, RefPermission.CREATE_CHANGE); + } if (err.isPresent()) { rejectProhibited(cmd, err.get()); return;
diff --git a/java/com/google/gerrit/server/group/db/AuditLogFormatter.java b/java/com/google/gerrit/server/group/db/AuditLogFormatter.java index 235ca4f..3ba087e 100644 --- a/java/com/google/gerrit/server/group/db/AuditLogFormatter.java +++ b/java/com/google/gerrit/server/group/db/AuditLogFormatter.java
@@ -167,7 +167,7 @@ .map(Account::getName) // Historically, the database did not enforce relational integrity, so it is // possible for groups to have non-existing members. - .orElse("No Account for Id #" + accountId); + .orElseGet(() -> "No Account for Id #" + accountId); } private PersonIdent getParsableAuthorIdent(
diff --git a/java/com/google/gerrit/server/patch/PatchFile.java b/java/com/google/gerrit/server/patch/PatchFile.java index 7a8180bd..c3a6807 100644 --- a/java/com/google/gerrit/server/patch/PatchFile.java +++ b/java/com/google/gerrit/server/patch/PatchFile.java
@@ -61,7 +61,7 @@ .filter(f -> f.getKey().equals(fileName)) .map(Map.Entry::getValue) .findFirst() - .orElse(FileDiffOutput.empty(fileName, ObjectId.zeroId(), ObjectId.zeroId())); + .orElseGet(() -> FileDiffOutput.empty(fileName, ObjectId.zeroId(), ObjectId.zeroId())); if (Patch.PATCHSET_LEVEL.equals(fileName)) { aTree = null;
diff --git a/java/com/google/gerrit/server/project/Reachable.java b/java/com/google/gerrit/server/project/Reachable.java index 342c2bc..c935adf 100644 --- a/java/com/google/gerrit/server/project/Reachable.java +++ b/java/com/google/gerrit/server/project/Reachable.java
@@ -74,7 +74,7 @@ Collection<Ref> filtered = optionalUserProvider .map(permissionBackend::user) - .orElse(permissionBackend.currentUser()) + .orElseGet(() -> permissionBackend.currentUser()) .project(project) .filter(refs, repo, RefFilterOptions.defaults()); Collection<RevCommit> visible = new ArrayList<>();
diff --git a/javatests/com/google/gerrit/server/group/db/AbstractGroupTest.java b/javatests/com/google/gerrit/server/group/db/AbstractGroupTest.java index 65eb5b0..e0f4b63 100644 --- a/javatests/com/google/gerrit/server/group/db/AbstractGroupTest.java +++ b/javatests/com/google/gerrit/server/group/db/AbstractGroupTest.java
@@ -142,7 +142,7 @@ return GroupConfig.loadForGroup(allUsersName, allUsersRepo, uuid) .getLoadedGroup() .map(InternalGroup::getName) - .orElse("Group " + uuid); + .orElseGet(() -> "Group " + uuid); } catch (IOException | ConfigInvalidException e) { return "Group " + uuid; }