CodeOwnerResolver: Extract filter for all users wildcard into a method Signed-off-by: Edwin Kempin <ekempin@google.com> Change-Id: I98296249a98abf4e9e418cf34de573913602a68c
diff --git a/java/com/google/gerrit/plugins/codeowners/backend/CodeOwnerResolver.java b/java/com/google/gerrit/plugins/codeowners/backend/CodeOwnerResolver.java index 04b5970..6af2c05 100644 --- a/java/com/google/gerrit/plugins/codeowners/backend/CodeOwnerResolver.java +++ b/java/com/google/gerrit/plugins/codeowners/backend/CodeOwnerResolver.java
@@ -46,6 +46,7 @@ import java.util.Optional; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.function.Predicate; /** * Class to resolve {@link CodeOwnerReference}s to {@link CodeOwner}s. @@ -267,14 +268,7 @@ AtomicBoolean hasUnresolvedCodeOwners = new AtomicBoolean(false); ImmutableSet<CodeOwner> codeOwners = codeOwnerReferences.stream() - .filter( - codeOwnerReference -> { - if (ALL_USERS_WILDCARD.equals(codeOwnerReference.email())) { - ownedByAllUsers.set(true); - return false; - } - return true; - }) + .filter(filterOutAllUsersWildCard(ownedByAllUsers)) .map(codeOwnerReference -> resolve(messageBuilder, codeOwnerReference)) .filter( codeOwner -> { @@ -372,6 +366,22 @@ return Optional.of(codeOwner); } + /** + * Creates a predicate to filter out emails that are all users wild card (aka {@code *}). + * + * @param ownedByAllUsers flag that is set if any of the emails is the all users wild card (aka + * {@code *}) + */ + private Predicate<CodeOwnerReference> filterOutAllUsersWildCard(AtomicBoolean ownedByAllUsers) { + return codeOwnerReference -> { + if (ALL_USERS_WILDCARD.equals(codeOwnerReference.email())) { + ownedByAllUsers.set(true); + return false; + } + return true; + }; + } + /** Whether the given account can be seen. */ private boolean canSee(AccountState accountState) { AccountControl accountControl =