changeset 230:9e23a7bfdbef

Remove warnings in ViewFactory classes and tests Reviewed-by: neugens Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2012-April/000823.html
author Omair Majid <omajid@redhat.com>
date Fri, 13 Apr 2012 13:14:21 -0400
parents de4e1186ebe0
children 9d74f4672d6c
files client/src/main/java/com/redhat/thermostat/client/DefaultViewFactory.java client/src/test/java/com/redhat/thermostat/client/SwingViewFactoryTest.java
diffstat 2 files changed, 21 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/client/src/main/java/com/redhat/thermostat/client/DefaultViewFactory.java	Fri Apr 13 12:27:20 2012 -0400
+++ b/client/src/main/java/com/redhat/thermostat/client/DefaultViewFactory.java	Fri Apr 13 13:14:21 2012 -0400
@@ -69,7 +69,11 @@
 
     @Override
     public <T extends View> Class<? extends T> getViewClass(Class<T> viewClass) {
-        return (Class<? extends T>) lookupTable.get(viewClass);
+        // the cast is safe because the only way to insert an entry into the table is through
+        // a method that enforces this constraint
+        @SuppressWarnings("unchecked")
+        Class<? extends T> result = (Class<? extends T>) lookupTable.get(viewClass);
+        return result;
     }
 
     @Override
--- a/client/src/test/java/com/redhat/thermostat/client/SwingViewFactoryTest.java	Fri Apr 13 12:27:20 2012 -0400
+++ b/client/src/test/java/com/redhat/thermostat/client/SwingViewFactoryTest.java	Fri Apr 13 13:14:21 2012 -0400
@@ -39,6 +39,8 @@
 import static org.junit.Assert.assertNotNull;
 
 import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
+import java.util.List;
 
 import javax.swing.SwingUtilities;
 
@@ -54,6 +56,7 @@
 import com.redhat.thermostat.client.ui.VmGcView;
 import com.redhat.thermostat.client.ui.VmMemoryView;
 import com.redhat.thermostat.client.ui.VmOverviewView;
+import com.redhat.thermostat.common.View;
 
 public class SwingViewFactoryTest {
 
@@ -64,20 +67,20 @@
             public void run() {
                 SwingViewFactory factory = new SwingViewFactory();
 
-                Class[] knownViewClasses = new Class[] {
-                    AgentConfigurationView.class,
-                    ClientConfigurationView.class,
-                    HostCpuView.class,
-                    HostMemoryView.class,
-                    HostOverviewView.class,
-                    VmClassStatView.class,
-                    VmCpuView.class,
-                    VmGcView.class,
-                    VmMemoryView.class,
-                    VmOverviewView.class,
-                };
+                List<Class<? extends View>> knownViewClasses = new ArrayList<>();
 
-                for (Class klass: knownViewClasses) {
+                knownViewClasses.add(AgentConfigurationView.class);
+                knownViewClasses.add(ClientConfigurationView.class);
+                knownViewClasses.add(HostCpuView.class);
+                knownViewClasses.add(HostMemoryView.class);
+                knownViewClasses.add(HostOverviewView.class);
+                knownViewClasses.add(VmClassStatView.class);
+                knownViewClasses.add(VmCpuView.class);
+                knownViewClasses.add(VmGcView.class);
+                knownViewClasses.add(VmMemoryView.class);
+                knownViewClasses.add(VmOverviewView.class);
+
+                for (Class<? extends View> klass: knownViewClasses) {
                     assertNotNull(factory.getViewClass(klass));
                     assertNotNull(factory.getView(klass));
                 }