final String serverName, Map<Notify, String> levelTextsById) {
if (ANY_SERVER.equals(serverName)) {
// We do not know which server is selected, so we cannot tell the
// currently active default value. It might be the global default,
// but also a different value.
return new Option(Messages.NotificationLevel_DefaultValue(), "");
} else if (serverName != null) {
GerritServer server = PluginImpl.getInstance().getServer(serverName);
if (server != null) {
Notify level = server.getConfig().getNotificationLevel();
if (level != null) {
String levelText = levelTextsById.get(level);
if (levelText == null) { // new/unknown value
levelText = level.toString();
}
return new Option(Messages.NotificationLevel_DefaultValueFromServer(levelText), "");
}
}
}
// fall back to global default
String defaultText = levelTextsById.get(Config.DEFAULT_NOTIFICATION_LEVEL);
return new Option(Messages.NotificationLevel_DefaultValueFromServer(defaultText), "");
}