changeset 997:0d9534310a17

Use bundle version in SystemBackend I have noticed that SystemBackend is reporting 0.5.0 as its version number. It turns out this is still using a hard-coded version string, while the other Backends use the version of their containing bundle. This commit changes SystemBackend to use the bundle version and includes a test for this as well. Reviewed-by: omajid Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-February/005850.html
author Elliott Baron <ebaron@redhat.com>
date Mon, 25 Feb 2013 17:49:36 -0500
parents db2b89cdef62
children de6b9f5967bd
files system-backend/src/main/java/com/redhat/thermostat/backend/system/SystemBackend.java system-backend/src/main/java/com/redhat/thermostat/backend/system/osgi/SystemBackendActivator.java system-backend/src/test/java/com/redhat/thermostat/backend/system/SystemBackendTest.java
diffstat 3 files changed, 20 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/system-backend/src/main/java/com/redhat/thermostat/backend/system/SystemBackend.java	Fri Feb 22 16:53:10 2013 +0100
+++ b/system-backend/src/main/java/com/redhat/thermostat/backend/system/SystemBackend.java	Mon Feb 25 17:49:36 2013 -0500
@@ -47,6 +47,7 @@
 import sun.jvmstat.monitor.MonitoredHost;
 
 import com.redhat.thermostat.backend.BaseBackend;
+import com.redhat.thermostat.common.Version;
 import com.redhat.thermostat.common.utils.LoggingUtils;
 import com.redhat.thermostat.storage.dao.HostInfoDAO;
 import com.redhat.thermostat.storage.dao.NetworkInterfaceInfoDAO;
@@ -72,11 +73,12 @@
     private final HostInfoBuilder hostInfoBuilder;
 
 
-    public SystemBackend(HostInfoDAO hostInfoDAO, NetworkInterfaceInfoDAO netInfoDAO, VmInfoDAO vmInfoDAO, VmStatusChangeNotifier notifier) {
+    public SystemBackend(HostInfoDAO hostInfoDAO, NetworkInterfaceInfoDAO netInfoDAO, VmInfoDAO vmInfoDAO,
+            Version version, VmStatusChangeNotifier notifier) {
         super("System Backend",
                 "Gathers basic information from the system",
                 "Red Hat, Inc.",
-                "0.5.0", true);
+                version.getVersionNumber(), true);
         this.hostInfos = hostInfoDAO;
         this.networkInterfaces = netInfoDAO;
 
--- a/system-backend/src/main/java/com/redhat/thermostat/backend/system/osgi/SystemBackendActivator.java	Fri Feb 22 16:53:10 2013 +0100
+++ b/system-backend/src/main/java/com/redhat/thermostat/backend/system/osgi/SystemBackendActivator.java	Mon Feb 25 17:49:36 2013 -0500
@@ -48,6 +48,7 @@
 import com.redhat.thermostat.backend.system.VmStatusChangeNotifier;
 import com.redhat.thermostat.common.MultipleServiceTracker;
 import com.redhat.thermostat.common.MultipleServiceTracker.Action;
+import com.redhat.thermostat.common.Version;
 import com.redhat.thermostat.storage.dao.HostInfoDAO;
 import com.redhat.thermostat.storage.dao.NetworkInterfaceInfoDAO;
 import com.redhat.thermostat.storage.dao.VmInfoDAO;
@@ -79,7 +80,8 @@
                 NetworkInterfaceInfoDAO netInfoDAO = (NetworkInterfaceInfoDAO) services
                         .get(NetworkInterfaceInfoDAO.class.getName());
                 VmInfoDAO vmInfoDAO = (VmInfoDAO) services.get(VmInfoDAO.class.getName());
-                backend = new SystemBackend(hostInfoDAO, netInfoDAO, vmInfoDAO, notifier);
+                Version version = new Version(context.getBundle());
+                backend = new SystemBackend(hostInfoDAO, netInfoDAO, vmInfoDAO, version, notifier);
                 reg = context.registerService(Backend.class, backend, null);
             }
             
--- a/system-backend/src/test/java/com/redhat/thermostat/backend/system/SystemBackendTest.java	Fri Feb 22 16:53:10 2013 +0100
+++ b/system-backend/src/test/java/com/redhat/thermostat/backend/system/SystemBackendTest.java	Mon Feb 25 17:49:36 2013 -0500
@@ -36,19 +36,23 @@
 
 package com.redhat.thermostat.backend.system;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import org.junit.Before;
 import org.junit.Test;
 
+import com.redhat.thermostat.common.Version;
 import com.redhat.thermostat.storage.dao.HostInfoDAO;
 import com.redhat.thermostat.storage.dao.NetworkInterfaceInfoDAO;
 import com.redhat.thermostat.storage.dao.VmInfoDAO;
 
 public class SystemBackendTest {
 
+    private static final String VERSION = "0.0.0";
     private SystemBackend b;
 
     @Before
@@ -57,9 +61,12 @@
         NetworkInterfaceInfoDAO nDAO = mock(NetworkInterfaceInfoDAO.class);
         VmInfoDAO vmInfoDAO = mock(VmInfoDAO.class);
 
+        Version version = mock(Version.class);
+        when(version.getVersionNumber()).thenReturn(VERSION);
+        
         VmStatusChangeNotifier notifier = mock(VmStatusChangeNotifier.class);
 
-        b = new SystemBackend(hDAO, nDAO, vmInfoDAO, notifier);
+        b = new SystemBackend(hDAO, nDAO, vmInfoDAO, version, notifier);
     }
 
     @Test
@@ -84,6 +91,11 @@
         b.deactivate();
         assertFalse(b.isActive());
     }
+    
+    @Test
+    public void testVersion() {
+        assertEquals(VERSION, b.getVersion());
+    }
 
 }