AccountGroupAuditLogScreen: Display group UUID if group name is missing

The group name is missing if there is no group backend that can resolve
the UUID. This can e.g. happen if the singleusergroup was used and
single user groups have been added to Gerrit groups, but then the
singleusergroup plugin was uninstalled so that the single user groups
can no longer be resolved.

Change-Id: I1bccec4bb38b55f6ad9b2d2ac83227b379d09071
Signed-off-by: Edwin Kempin <ekempin@google.com>
(cherry picked from commit 92f58f80b1)
This commit is contained in:
Edwin Kempin 2018-03-26 10:54:49 +02:00 committed by Bassem Rabil
parent aaa40aa1b8
commit 5cb9186480
1 changed files with 11 additions and 3 deletions

View File

@ -113,17 +113,19 @@ public class AccountGroupAuditLogScreen extends AccountGroupScreen {
GroupInfo member = auditEvent.memberAsGroup();
if (AccountGroup.isInternalGroup(member.getGroupUUID())) {
table.setWidget(
row, 3, new Hyperlink(member.name(), Dispatcher.toGroup(member.getGroupUUID())));
row,
3,
new Hyperlink(formatGroup(member), Dispatcher.toGroup(member.getGroupUUID())));
fmt.getElement(row, 3).setTitle(null);
} else if (member.url() != null) {
Anchor a = new Anchor();
a.setText(member.name());
a.setText(formatGroup(member));
a.setHref(member.url());
a.setTitle("UUID " + member.getGroupUUID().get());
table.setWidget(row, 3, a);
fmt.getElement(row, 3).setTitle(null);
} else {
table.setText(row, 3, member.name());
table.setText(row, 3, formatGroup(member));
fmt.getElement(row, 3).setTitle("UUID " + member.getGroupUUID().get());
}
break;
@ -148,4 +150,10 @@ public class AccountGroupAuditLogScreen extends AccountGroupScreen {
b.append(")");
return b.toString();
}
private static String formatGroup(GroupInfo group) {
return group.name() != null && !group.name().isEmpty()
? group.name()
: group.getGroupUUID().get();
}
}