From 9badc3c9ba9fa37f73ff80d54efbf8743a89a1ef Mon Sep 17 00:00:00 2001 From: Zhen Chen Date: Fri, 8 Jul 2016 15:24:08 -0700 Subject: [PATCH] Remove redundant and confusing code in RefControl and CapabilityControl In RefControl and CapabilityControl, they have a similar logic that treats empty rules and single rule as special cases, however, those special cases could be handled correctly as general cases. Change-Id: Ib6dce3efdc760191451181107c042ccfe3c49a47 --- .../gerrit/server/account/CapabilityControl.java | 13 ------------- .../google/gerrit/server/project/RefControl.java | 13 ------------- 2 files changed, 26 deletions(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/CapabilityControl.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/CapabilityControl.java index 337cd7c81a..e348e73752 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/CapabilityControl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/CapabilityControl.java @@ -263,20 +263,7 @@ public class CapabilityControl { } rules = capabilities.getPermission(permissionName); - - if (rules.isEmpty()) { - effective.put(permissionName, rules); - return rules; - } - GroupMembership groups = user.getEffectiveGroups(); - if (rules.size() == 1) { - if (!match(groups, rules.get(0))) { - rules = Collections.emptyList(); - } - effective.put(permissionName, rules); - return rules; - } List mine = new ArrayList<>(rules.size()); for (PermissionRule rule : rules) { diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java index 055973176f..f8721577b7 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/RefControl.java @@ -611,19 +611,6 @@ public class RefControl { rules = relevant.getPermission(permissionName); - if (rules.isEmpty()) { - effective.put(permissionName, rules); - return rules; - } - - if (rules.size() == 1) { - if (!projectControl.match(rules.get(0), isChangeOwner)) { - rules = Collections.emptyList(); - } - effective.put(permissionName, rules); - return rules; - } - List mine = new ArrayList<>(rules.size()); for (PermissionRule rule : rules) { if (projectControl.match(rule, isChangeOwner)) {