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>
This commit is contained in:
Edwin Kempin
2018-03-26 10:54:49 +02:00
parent 3e20db09ec
commit 92f58f80b1

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();
}
}