From 8ad62f77cb429a49318444fad2191d0e08857ca6 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Mon, 19 Nov 2012 14:09:44 -0500 Subject: [PATCH] [FIXED JENKINS-15869] When running on Java 5, must still load DiskSpaceMonitor/TemporarySpaceMonitor, even though they will show N/A. Returning null from an @Extension method does not seem to work reliably, and is not supported by SezPoz. If desirable to hide a monitor column in $server/computer/, add a boolean isEnabled() method interpretable in Jelly. --- changelog.html | 3 +++ .../main/java/hudson/node_monitors/DiskSpaceMonitor.java | 8 ++------ .../java/hudson/node_monitors/TemporarySpaceMonitor.java | 9 ++------- .../resources/hudson/node_monitors/Messages.properties | 4 +++- 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/changelog.html b/changelog.html index b7c7463802..211e452121 100644 --- a/changelog.html +++ b/changelog.html @@ -61,6 +61,9 @@ Upcoming changes
  • Build records were broken if timezone was changed while running. (issue 15816) +
  • + Linkage errors trying to run Jenkins on Java 5. + (issue 15869)
  • Symlink detection refinement on Java 7. (issue 13202) diff --git a/core/src/main/java/hudson/node_monitors/DiskSpaceMonitor.java b/core/src/main/java/hudson/node_monitors/DiskSpaceMonitor.java index f2d49c4076..cbe16823ae 100644 --- a/core/src/main/java/hudson/node_monitors/DiskSpaceMonitor.java +++ b/core/src/main/java/hudson/node_monitors/DiskSpaceMonitor.java @@ -59,9 +59,10 @@ public class DiskSpaceMonitor extends AbstractDiskSpaceMonitor { return Jenkins.getInstance().hasPermission(Jenkins.ADMINISTER) ? super.getColumnCaption() : null; } + @Extension public static final DiskSpaceMonitorDescriptor DESCRIPTOR = new DiskSpaceMonitorDescriptor() { public String getDisplayName() { - return Messages.DiskSpaceMonitor_DisplayName(); + return Functions.isMustangOrAbove() ? Messages.DiskSpaceMonitor_DisplayName() : Messages.DiskSpaceMonitor_DisplayName5(); } protected DiskSpace getFreeSpace(Computer c) throws IOException, InterruptedException { @@ -72,9 +73,4 @@ public class DiskSpaceMonitor extends AbstractDiskSpaceMonitor { } }; - @Extension - public static DiskSpaceMonitorDescriptor install() { - if(Functions.isMustangOrAbove()) return DESCRIPTOR; - return null; - } } diff --git a/core/src/main/java/hudson/node_monitors/TemporarySpaceMonitor.java b/core/src/main/java/hudson/node_monitors/TemporarySpaceMonitor.java index a59fa2789a..7ec700b383 100644 --- a/core/src/main/java/hudson/node_monitors/TemporarySpaceMonitor.java +++ b/core/src/main/java/hudson/node_monitors/TemporarySpaceMonitor.java @@ -61,9 +61,10 @@ public class TemporarySpaceMonitor extends AbstractDiskSpaceMonitor { return Jenkins.getInstance().hasPermission(Jenkins.ADMINISTER) ? super.getColumnCaption() : null; } + @Extension public static final DiskSpaceMonitorDescriptor DESCRIPTOR = new DiskSpaceMonitorDescriptor() { public String getDisplayName() { - return Messages.TemporarySpaceMonitor_DisplayName(); + return Functions.isMustangOrAbove() ? Messages.TemporarySpaceMonitor_DisplayName() : Messages.TemporarySpaceMonitor_DisplayName5(); } protected DiskSpace getFreeSpace(Computer c) throws IOException, InterruptedException { @@ -74,12 +75,6 @@ public class TemporarySpaceMonitor extends AbstractDiskSpaceMonitor { } }; - @Extension - public static DiskSpaceMonitorDescriptor install() { - if(Functions.isMustangOrAbove()) return DESCRIPTOR; - return null; - } - protected static final class GetTempSpace implements FileCallable { @IgnoreJRERequirement public DiskSpace invoke(File f, VirtualChannel channel) throws IOException { diff --git a/core/src/main/resources/hudson/node_monitors/Messages.properties b/core/src/main/resources/hudson/node_monitors/Messages.properties index 2f13dad408..4576105aff 100644 --- a/core/src/main/resources/hudson/node_monitors/Messages.properties +++ b/core/src/main/resources/hudson/node_monitors/Messages.properties @@ -25,8 +25,10 @@ ClockMonitor.DisplayName=Clock Difference DiskSpaceMonitor.MarkedOffline=Making {0} offline temporarily due to the lack of disk space DiskSpaceMonitor.MarkedOnline=Putting {0} back online as there is enough disk space again DiskSpaceMonitor.DisplayName=Free Disk Space +DiskSpaceMonitor.DisplayName5=Free Disk Space (Java 6+) ResponseTimeMonitor.DisplayName=Response Time ResponseTimeMonitor.MarkedOffline=Making {0} offline because it''s not responding ResponseTimeMonitor.TimeOut=Time out for last {0} try SwapSpaceMonitor.DisplayName=Free Swap Space -TemporarySpaceMonitor.DisplayName=Free Temp Space \ No newline at end of file +TemporarySpaceMonitor.DisplayName=Free Temp Space +TemporarySpaceMonitor.DisplayName5=Free Temp Space (Java 6+) -- GitLab