Improve signature of GroupNameNotes#loadOneGroupReference
The other methods of GroupNameNotes use AccountGroup.NameKey instead of String as parameter type for the name. For consistency reasons, we adjust GroupNameNotes#loadOneGroupReference accordingly. In addition, use a shorter but still precise name for the method. Change-Id: I10f11f921c2f2407a8bcd62b93cb1d188c22e2f0
This commit is contained in:
		@@ -94,8 +94,9 @@ public class GroupNameNotes extends VersionedMetaData {
 | 
			
		||||
    return groupNameNotes;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public static Optional<GroupReference> loadOneGroupReference(
 | 
			
		||||
      Repository allUsersRepo, String groupName) throws IOException, ConfigInvalidException {
 | 
			
		||||
  public static Optional<GroupReference> loadGroup(
 | 
			
		||||
      Repository allUsersRepo, AccountGroup.NameKey groupName)
 | 
			
		||||
      throws IOException, ConfigInvalidException {
 | 
			
		||||
    Ref ref = allUsersRepo.exactRef(RefNames.REFS_GROUPNAMES);
 | 
			
		||||
    if (ref == null) {
 | 
			
		||||
      return Optional.empty();
 | 
			
		||||
@@ -105,7 +106,7 @@ public class GroupNameNotes extends VersionedMetaData {
 | 
			
		||||
        ObjectReader reader = revWalk.getObjectReader()) {
 | 
			
		||||
      RevCommit notesCommit = revWalk.parseCommit(ref.getObjectId());
 | 
			
		||||
      NoteMap noteMap = NoteMap.read(reader, notesCommit);
 | 
			
		||||
      ObjectId noteDataBlobId = noteMap.get(getNoteKey(new AccountGroup.NameKey(groupName)));
 | 
			
		||||
      ObjectId noteDataBlobId = noteMap.get(getNoteKey(groupName));
 | 
			
		||||
      if (noteDataBlobId == null) {
 | 
			
		||||
        return Optional.empty();
 | 
			
		||||
      }
 | 
			
		||||
 
 | 
			
		||||
@@ -218,7 +218,7 @@ public class GroupsNoteDbConsistencyChecker {
 | 
			
		||||
      Repository allUsersRepo, InternalGroup group) throws IOException {
 | 
			
		||||
    List<ConsistencyCheckInfo.ConsistencyProblemInfo> problems =
 | 
			
		||||
        GroupsNoteDbConsistencyChecker.checkWithGroupNameNotes(
 | 
			
		||||
            allUsersRepo, group.getName(), group.getGroupUUID());
 | 
			
		||||
            allUsersRepo, group.getNameKey(), group.getGroupUUID());
 | 
			
		||||
    problems.forEach(GroupsNoteDbConsistencyChecker::logConsistencyProblem);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -232,10 +232,10 @@ public class GroupsNoteDbConsistencyChecker {
 | 
			
		||||
   */
 | 
			
		||||
  @VisibleForTesting
 | 
			
		||||
  static List<ConsistencyProblemInfo> checkWithGroupNameNotes(
 | 
			
		||||
      Repository allUsersRepo, String groupName, AccountGroup.UUID groupUUID) throws IOException {
 | 
			
		||||
      Repository allUsersRepo, AccountGroup.NameKey groupName, AccountGroup.UUID groupUUID)
 | 
			
		||||
      throws IOException {
 | 
			
		||||
    try {
 | 
			
		||||
      Optional<GroupReference> groupRef =
 | 
			
		||||
          GroupNameNotes.loadOneGroupReference(allUsersRepo, groupName);
 | 
			
		||||
      Optional<GroupReference> groupRef = GroupNameNotes.loadGroup(allUsersRepo, groupName);
 | 
			
		||||
 | 
			
		||||
      if (!groupRef.isPresent()) {
 | 
			
		||||
        return ImmutableList.of(
 | 
			
		||||
@@ -243,7 +243,6 @@ public class GroupsNoteDbConsistencyChecker {
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      AccountGroup.UUID uuid = groupRef.get().getUUID();
 | 
			
		||||
      String name = groupRef.get().getName();
 | 
			
		||||
 | 
			
		||||
      List<ConsistencyProblemInfo> problems = new ArrayList<>();
 | 
			
		||||
      if (!Objects.equals(groupUUID, uuid)) {
 | 
			
		||||
@@ -253,9 +252,11 @@ public class GroupsNoteDbConsistencyChecker {
 | 
			
		||||
                groupName, groupUUID, uuid));
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (!Objects.equals(groupName, name)) {
 | 
			
		||||
      String name = groupName.get();
 | 
			
		||||
      String actualName = groupRef.get().getName();
 | 
			
		||||
      if (!Objects.equals(name, actualName)) {
 | 
			
		||||
        problems.add(
 | 
			
		||||
            warning("group note of name '%s' claims to represent name of '%s'", groupName, name));
 | 
			
		||||
            warning("group note of name '%s' claims to represent name of '%s'", name, actualName));
 | 
			
		||||
      }
 | 
			
		||||
      return problems;
 | 
			
		||||
    } catch (ConfigInvalidException e) {
 | 
			
		||||
 
 | 
			
		||||
@@ -517,7 +517,7 @@ public class GroupNameNotesTest {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private Optional<GroupReference> loadGroup(AccountGroup.NameKey groupName) throws Exception {
 | 
			
		||||
    return GroupNameNotes.loadOneGroupReference(repo, groupName.get());
 | 
			
		||||
    return GroupNameNotes.loadGroup(repo, groupName);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private void commit(GroupNameNotes groupNameNotes) throws IOException {
 | 
			
		||||
 
 | 
			
		||||
@@ -30,7 +30,7 @@ public class GroupsNoteDbConsistencyCheckerTest extends AbstractGroupTest {
 | 
			
		||||
  public void groupNamesRefIsMissing() throws Exception {
 | 
			
		||||
    List<ConsistencyProblemInfo> problems =
 | 
			
		||||
        GroupsNoteDbConsistencyChecker.checkWithGroupNameNotes(
 | 
			
		||||
            allUsersRepo, "g-1", new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
            allUsersRepo, new AccountGroup.NameKey("g-1"), new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
    assertThat(problems)
 | 
			
		||||
        .containsExactly(warning("Group with name 'g-1' doesn't exist in the list of all names"));
 | 
			
		||||
  }
 | 
			
		||||
@@ -40,7 +40,7 @@ public class GroupsNoteDbConsistencyCheckerTest extends AbstractGroupTest {
 | 
			
		||||
    updateGroupNamesRef("g-2", "[group]\n\tuuid = uuid-2\n\tname = g-2\n");
 | 
			
		||||
    List<ConsistencyProblemInfo> problems =
 | 
			
		||||
        GroupsNoteDbConsistencyChecker.checkWithGroupNameNotes(
 | 
			
		||||
            allUsersRepo, "g-1", new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
            allUsersRepo, new AccountGroup.NameKey("g-1"), new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
    assertThat(problems)
 | 
			
		||||
        .containsExactly(warning("Group with name 'g-1' doesn't exist in the list of all names"));
 | 
			
		||||
  }
 | 
			
		||||
@@ -50,7 +50,7 @@ public class GroupsNoteDbConsistencyCheckerTest extends AbstractGroupTest {
 | 
			
		||||
    updateGroupNamesRef("g-1", "[group]\n\tuuid = uuid-1\n\tname = g-1\n");
 | 
			
		||||
    List<ConsistencyProblemInfo> problems =
 | 
			
		||||
        GroupsNoteDbConsistencyChecker.checkWithGroupNameNotes(
 | 
			
		||||
            allUsersRepo, "g-1", new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
            allUsersRepo, new AccountGroup.NameKey("g-1"), new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
    assertThat(problems).isEmpty();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -59,7 +59,7 @@ public class GroupsNoteDbConsistencyCheckerTest extends AbstractGroupTest {
 | 
			
		||||
    updateGroupNamesRef("g-1", "[group]\n\tuuid = uuid-2\n\tname = g-1\n");
 | 
			
		||||
    List<ConsistencyProblemInfo> problems =
 | 
			
		||||
        GroupsNoteDbConsistencyChecker.checkWithGroupNameNotes(
 | 
			
		||||
            allUsersRepo, "g-1", new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
            allUsersRepo, new AccountGroup.NameKey("g-1"), new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
    assertThat(problems)
 | 
			
		||||
        .containsExactly(
 | 
			
		||||
            warning(
 | 
			
		||||
@@ -72,7 +72,7 @@ public class GroupsNoteDbConsistencyCheckerTest extends AbstractGroupTest {
 | 
			
		||||
    updateGroupNamesRef("g-1", "[group]\n\tuuid = uuid-1\n\tname = g-2\n");
 | 
			
		||||
    List<ConsistencyProblemInfo> problems =
 | 
			
		||||
        GroupsNoteDbConsistencyChecker.checkWithGroupNameNotes(
 | 
			
		||||
            allUsersRepo, "g-1", new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
            allUsersRepo, new AccountGroup.NameKey("g-1"), new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
    assertThat(problems)
 | 
			
		||||
        .containsExactly(warning("group note of name 'g-1' claims to represent name of 'g-2'"));
 | 
			
		||||
  }
 | 
			
		||||
@@ -82,7 +82,7 @@ public class GroupsNoteDbConsistencyCheckerTest extends AbstractGroupTest {
 | 
			
		||||
    updateGroupNamesRef("g-1", "[group]\n\tuuid = uuid-2\n\tname = g-2\n");
 | 
			
		||||
    List<ConsistencyProblemInfo> problems =
 | 
			
		||||
        GroupsNoteDbConsistencyChecker.checkWithGroupNameNotes(
 | 
			
		||||
            allUsersRepo, "g-1", new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
            allUsersRepo, new AccountGroup.NameKey("g-1"), new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
    assertThat(problems)
 | 
			
		||||
        .containsExactly(
 | 
			
		||||
            warning(
 | 
			
		||||
@@ -97,7 +97,7 @@ public class GroupsNoteDbConsistencyCheckerTest extends AbstractGroupTest {
 | 
			
		||||
    updateGroupNamesRef("g-1", "[invalid");
 | 
			
		||||
    List<ConsistencyProblemInfo> problems =
 | 
			
		||||
        GroupsNoteDbConsistencyChecker.checkWithGroupNameNotes(
 | 
			
		||||
            allUsersRepo, "g-1", new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
            allUsersRepo, new AccountGroup.NameKey("g-1"), new AccountGroup.UUID("uuid-1"));
 | 
			
		||||
    assertThat(problems)
 | 
			
		||||
        .containsExactly(
 | 
			
		||||
            warning(
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user