Fixed a bug in PermissionRule class which broke the Schema_53.
After the commit 76409cf7 the PermissionRule.setDeny(boolean newDeny)
method was broken as the newDeny argument wasn't honored any more.
The Schema_53 made use of this method and was broken after this change.
This change removes the parameter from the setDeny method which makes its
meaning clear. This is also necessary as in the near future we will have a
new Action value "BLOCK" and then setDeny(false) would become really
unintuitive.
Change-Id: I6fd685b13c5854461a19e19bc5b74c0fc256db8a
diff --git a/gerrit-common/src/main/java/com/google/gerrit/common/data/PermissionRule.java b/gerrit-common/src/main/java/com/google/gerrit/common/data/PermissionRule.java
index 4d5e28f..8268be8 100644
--- a/gerrit-common/src/main/java/com/google/gerrit/common/data/PermissionRule.java
+++ b/gerrit-common/src/main/java/com/google/gerrit/common/data/PermissionRule.java
@@ -49,7 +49,7 @@
return action == Action.DENY;
}
- public void setDeny(boolean newDeny) {
+ public void setDeny() {
action = Action.DENY;
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_53.java b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_53.java
index 5e90e8e..152f25a 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_53.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/schema/Schema_53.java
@@ -30,6 +30,7 @@
import com.google.gerrit.common.data.GroupReference;
import com.google.gerrit.common.data.Permission;
import com.google.gerrit.common.data.PermissionRule;
+import com.google.gerrit.common.data.PermissionRule.Action;
import com.google.gerrit.reviewdb.AccountGroup;
import com.google.gerrit.reviewdb.ApprovalCategory;
import com.google.gerrit.reviewdb.Project;
@@ -281,7 +282,9 @@
if (OLD_SUBMIT.equals(old.category)) {
PermissionRule submit = rule(group);
- submit.setDeny(old.max_value <= 0);
+ if (old.max_value <= 0) {
+ submit.setDeny();
+ }
add(section, SUBMIT, old.exclusive, submit);
} else if (OLD_READ.equals(old.category)) {
@@ -291,7 +294,9 @@
}
PermissionRule read = rule(group);
- read.setDeny(old.max_value <= 0);
+ if (old.max_value <= 0) {
+ read.setDeny();
+ }
add(section, READ, old.exclusive, read);
if (3 <= old.max_value) {
@@ -311,7 +316,9 @@
} else if (OLD_PUSH_TAG.equals(old.category)) {
PermissionRule push = rule(group);
- push.setDeny(old.max_value <= 0);
+ if (old.max_value <= 0) {
+ push.setDeny();
+ }
add(section, PUSH_TAG, old.exclusive, push);
} else if (OLD_PUSH_HEAD.equals(old.category)) {
@@ -321,7 +328,9 @@
}
PermissionRule push = rule(group);
- push.setDeny(old.max_value <= 0);
+ if (old.max_value <= 0) {
+ push.setDeny();
+ }
push.setForce(3 <= old.max_value);
add(section, PUSH, old.exclusive, push);
@@ -358,7 +367,7 @@
PermissionRule rule = rule(group);
rule.setRange(old.min_value, old.max_value);
if (old.min_value == 0 && old.max_value == 0) {
- rule.setDeny(true);
+ rule.setDeny();
}
add(section, LABEL + varNameOf(old.category), old.exclusive, rule);
}
@@ -395,7 +404,7 @@
private static PermissionRule deny(GroupReference group) {
PermissionRule rule = rule(group);
- rule.setDeny(true);
+ rule.setDeny();
return rule;
}
diff --git a/gerrit-server/src/test/java/com/google/gerrit/server/project/RefControlTest.java b/gerrit-server/src/test/java/com/google/gerrit/server/project/RefControlTest.java
index 0981da1..f829ba0 100644
--- a/gerrit-server/src/test/java/com/google/gerrit/server/project/RefControlTest.java
+++ b/gerrit-server/src/test/java/com/google/gerrit/server/project/RefControlTest.java
@@ -145,7 +145,7 @@
public void testInheritRead_OverrideWithDeny() {
grant(parent, READ, registered, "refs/*");
- grant(local, READ, registered, "refs/*").setDeny(true);
+ grant(local, READ, registered, "refs/*").setDeny();
ProjectControl u = user();
assertFalse("can't read", u.isVisible());
@@ -153,7 +153,7 @@
public void testInheritRead_AppendWithDenyOfRef() {
grant(parent, READ, registered, "refs/*");
- grant(local, READ, registered, "refs/heads/*").setDeny(true);
+ grant(local, READ, registered, "refs/heads/*").setDeny();
ProjectControl u = user();
assertTrue("can read", u.isVisible());
@@ -164,7 +164,7 @@
public void testInheritRead_OverridesAndDeniesOfRef() {
grant(parent, READ, registered, "refs/*");
- grant(local, READ, registered, "refs/*").setDeny(true);
+ grant(local, READ, registered, "refs/*").setDeny();
grant(local, READ, registered, "refs/heads/*");
ProjectControl u = user();
@@ -176,7 +176,7 @@
public void testInheritSubmit_OverridesAndDeniesOfRef() {
grant(parent, SUBMIT, registered, "refs/*");
- grant(local, SUBMIT, registered, "refs/*").setDeny(true);
+ grant(local, SUBMIT, registered, "refs/*").setDeny();
grant(local, SUBMIT, registered, "refs/heads/*");
ProjectControl u = user();