Merge "Make LegacyChangeNoteWrite#buildNote public for testing"
diff --git a/java/com/google/gerrit/common/data/AccessSection.java b/java/com/google/gerrit/common/data/AccessSection.java
index f658066..0530cc0 100644
--- a/java/com/google/gerrit/common/data/AccessSection.java
+++ b/java/com/google/gerrit/common/data/AccessSection.java
@@ -43,6 +43,8 @@
}
public void setPermissions(List<Permission> list) {
+ checkNotNull(list);
+
Set<String> names = new HashSet<>();
for (Permission p : list) {
if (!names.add(p.getName().toLowerCase())) {
@@ -60,6 +62,8 @@
@Nullable
public Permission getPermission(String name, boolean create) {
+ checkNotNull(name);
+
if (permissions != null) {
for (Permission p : permissions) {
if (p.getName().equalsIgnoreCase(name)) {
@@ -82,6 +86,8 @@
}
public void addPermission(Permission permission) {
+ checkNotNull(permission);
+
if (permissions == null) {
permissions = new ArrayList<>();
}
@@ -96,18 +102,21 @@
}
public void remove(Permission permission) {
- if (permission != null) {
- removePermission(permission.getName());
- }
+ checkNotNull(permission);
+ removePermission(permission.getName());
}
public void removePermission(String name) {
+ checkNotNull(name);
+
if (permissions != null) {
permissions.removeIf(permission -> name.equalsIgnoreCase(permission.getName()));
}
}
public void mergeFrom(AccessSection section) {
+ checkNotNull(section);
+
for (Permission src : section.getPermissions()) {
Permission dst = getPermission(src.getName());
if (dst != null) {
@@ -118,6 +127,13 @@
}
}
+ // TODO(ekempin): Once the GWT UI is gone use com.google.common.base.Preconditions.checkNotNull
+ private static void checkNotNull(Object reference) {
+ if (reference == null) {
+ throw new NullPointerException();
+ }
+ }
+
@Override
public int compareTo(AccessSection o) {
return comparePattern().compareTo(o.comparePattern());
diff --git a/javatests/com/google/gerrit/common/data/AccessSectionTest.java b/javatests/com/google/gerrit/common/data/AccessSectionTest.java
index ecdb3c8..a59c015 100644
--- a/javatests/com/google/gerrit/common/data/AccessSectionTest.java
+++ b/javatests/com/google/gerrit/common/data/AccessSectionTest.java
@@ -60,6 +60,9 @@
Permission submitPermission = new Permission(Permission.SUBMIT);
accessSection.setPermissions(ImmutableList.of(submitPermission));
assertThat(accessSection.getPermissions()).containsExactly(submitPermission);
+
+ exception.expect(NullPointerException.class);
+ accessSection.setPermissions(null);
}
@Test
@@ -92,6 +95,9 @@
Permission submitPermission = new Permission(Permission.SUBMIT);
accessSection.setPermissions(ImmutableList.of(submitPermission));
assertThat(accessSection.getPermission(Permission.SUBMIT)).isEqualTo(submitPermission);
+
+ exception.expect(NullPointerException.class);
+ accessSection.getPermission(null);
}
@Test
@@ -108,6 +114,9 @@
assertThat(accessSection.getPermission(Permission.SUBMIT, true))
.isEqualTo(new Permission(Permission.SUBMIT));
+
+ exception.expect(NullPointerException.class);
+ accessSection.getPermission(null, true);
}
@Test
@@ -124,6 +133,9 @@
assertThat(accessSection.getPermissions())
.containsExactly(abandonPermission, rebasePermission, submitPermission)
.inOrder();
+
+ exception.expect(NullPointerException.class);
+ accessSection.addPermission(null);
}
@Test
@@ -172,6 +184,9 @@
assertThat(accessSection.getPermissions())
.containsExactly(abandonPermission, rebasePermission)
.inOrder();
+
+ exception.expect(NullPointerException.class);
+ accessSection.remove(null);
}
@Test
@@ -189,6 +204,9 @@
assertThat(accessSection.getPermissions())
.containsExactly(abandonPermission, rebasePermission)
.inOrder();
+
+ exception.expect(NullPointerException.class);
+ accessSection.removePermission(null);
}
@Test
@@ -229,6 +247,9 @@
assertThat(accessSection1.getPermissions())
.containsExactly(abandonPermission, rebasePermission, submitPermission)
.inOrder();
+
+ exception.expect(NullPointerException.class);
+ accessSection.mergeFrom(null);
}
@Test