Skip to content

Commit

Permalink
Update ManageJenkinsAction.java
Browse files Browse the repository at this point in the history
  • Loading branch information
janfaracik committed Jan 30, 2025
1 parent dc7a46d commit e5c3670
Showing 1 changed file with 18 additions and 23 deletions.
41 changes: 18 additions & 23 deletions core/src/main/java/hudson/model/ManageJenkinsAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,11 @@
import hudson.Extension;
import hudson.Util;
import java.io.IOException;
import java.util.Collection;
import java.util.Collections;
import java.util.Optional;
import jenkins.management.AdministrativeMonitorsDecorator;
import jenkins.management.Badge;
import jenkins.management.PluginsLink;
import jenkins.model.Jenkins;
import jenkins.model.ModelObjectWithContextMenu;
import org.apache.commons.jelly.JellyException;
Expand Down Expand Up @@ -92,29 +95,21 @@ public void addContextMenuItem(ContextMenu menu, String url, String icon, String

@Override
public Badge getBadge() {
// Jenkins jenkins = Jenkins.get();
// AdministrativeMonitorsDecorator decorator = jenkins.getExtensionList(PageDecorator.class)
// .get(AdministrativeMonitorsDecorator.class);
// Collection<AdministrativeMonitor> activeAdministrativeMonitors = Optional.ofNullable(decorator.getMonitorsToDisplay()).orElse(Collections.emptyList());
// boolean anySecurity = activeAdministrativeMonitors.stream().anyMatch(AdministrativeMonitor::isSecurity);
//
// if (activeAdministrativeMonitors.isEmpty()) {
// return null;
// }
Jenkins jenkins = Jenkins.get();
AdministrativeMonitorsDecorator decorator = jenkins.getExtensionList(PageDecorator.class)
.get(AdministrativeMonitorsDecorator.class);
Collection<AdministrativeMonitor> activeAdministrativeMonitors = Optional.ofNullable(decorator.getMonitorsToDisplay()).orElse(Collections.emptyList());
boolean anySecurity = activeAdministrativeMonitors.stream().anyMatch(AdministrativeMonitor::isSecurity);

// TODO - should this include plugin updates?
return ManagementLink.all()
.stream()
.filter(e -> e.getClass().equals(PluginsLink.class))
.findFirst()
.map(ManagementLink::getBadge)
.orElse(null);
if (activeAdministrativeMonitors.isEmpty()) {
return null;
}

int size = activeAdministrativeMonitors.size();
String suffix = size > 1 ? "notifications" : "notification";

// int size = activeAdministrativeMonitors.size();
// String suffix = size > 1 ? "notifications" : "notification";
//
// return new Badge(String.valueOf(size),
// size + " " + suffix,
// anySecurity ? Badge.Severity.DANGER : Badge.Severity.WARNING);
return new Badge(String.valueOf(size),
size + " " + suffix,
anySecurity ? Badge.Severity.DANGER : Badge.Severity.WARNING);
}
}

0 comments on commit e5c3670

Please sign in to comment.