changeset 606:8516a3c7ed22

Fix for thread data after last refactoring review-thread: http://icedtea.classpath.org/pipermail/thermostat/2012-September/003177.html reviewed-by: omajid
author Mario Torre <neugens.limasoftware@gmail.com>
date Wed, 12 Sep 2012 21:37:33 +0200
parents eea20cd2356b
children c95ca376c9af
files thread/client-controllers/src/main/java/com/redhat/thermostat/thread/client/controller/impl/ThreadTableController.java thread/collector/src/main/java/com/redhat/thermostat/thread/dao/ThreadDao.java thread/collector/src/main/java/com/redhat/thermostat/thread/dao/impl/ThreadDaoImpl.java thread/collector/src/main/java/com/redhat/thermostat/thread/model/ThreadInfoData.java thread/harvester/src/main/java/com/redhat/thermostat/thread/harvester/Harvester.java thread/harvester/src/test/java/com/redhat/thermostat/thread/harvester/HarvesterTest.java
diffstat 6 files changed, 27 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/thread/client-controllers/src/main/java/com/redhat/thermostat/thread/client/controller/impl/ThreadTableController.java	Wed Sep 12 12:14:46 2012 +0200
+++ b/thread/client-controllers/src/main/java/com/redhat/thermostat/thread/client/controller/impl/ThreadTableController.java	Wed Sep 12 21:37:33 2012 +0200
@@ -149,7 +149,7 @@
                     double monitor = 0;
                     double sleeping = 0;
                     for (ThreadInfoData info : beanList) {
-                        State state = info.getThreadState();
+                        State state = info.getState();
                         switch (state) {
                         case RUNNABLE:
                             running++;
--- a/thread/collector/src/main/java/com/redhat/thermostat/thread/dao/ThreadDao.java	Wed Sep 12 12:14:46 2012 +0200
+++ b/thread/collector/src/main/java/com/redhat/thermostat/thread/dao/ThreadDao.java	Wed Sep 12 21:37:33 2012 +0200
@@ -94,10 +94,11 @@
     static final Key<Long> THREAD_BLOCKED_COUNT_KEY = new Key<Long>(THREAD_BLOCKED_COUNT, false);
     static final String THREAD_WAIT_COUNT = "threadWaitCount";
     static final Key<Long> THREAD_WAIT_COUNT_KEY = new Key<Long>(THREAD_WAIT_COUNT, false);
-            
+    
     static final Category THREAD_INFO =
             new Category("vm-thread-info", Key.AGENT_ID, Key.VM_ID,
                          Key.TIMESTAMP, THREAD_NAME_KEY, THREAD_ID_KEY,
+                         THREAD_STATE_KEY,
                          THREAD_CPU_TIME_KEY,
                          THREAD_USER_TIME_KEY, THREAD_BLOCKED_COUNT_KEY,
                          THREAD_WAIT_COUNT_KEY);
--- a/thread/collector/src/main/java/com/redhat/thermostat/thread/dao/impl/ThreadDaoImpl.java	Wed Sep 12 12:14:46 2012 +0200
+++ b/thread/collector/src/main/java/com/redhat/thermostat/thread/dao/impl/ThreadDaoImpl.java	Wed Sep 12 21:37:33 2012 +0200
@@ -149,7 +149,7 @@
             
             info.setThreadId(found.get(THREAD_ID_KEY));
             info.setThreadName(found.get(THREAD_NAME_KEY));
-            info.setThreadState(Thread.State.valueOf(found.get(THREAD_STATE_KEY)));
+            info.setThreadState(found.get(THREAD_STATE_KEY));
 
             info.setThreadBlockedCount(found.get(THREAD_BLOCKED_COUNT_KEY));
             info.setThreadWaitCount(found.get(THREAD_WAIT_COUNT_KEY));
--- a/thread/collector/src/main/java/com/redhat/thermostat/thread/model/ThreadInfoData.java	Wed Sep 12 12:14:46 2012 +0200
+++ b/thread/collector/src/main/java/com/redhat/thermostat/thread/model/ThreadInfoData.java	Wed Sep 12 21:37:33 2012 +0200
@@ -100,9 +100,14 @@
     public void setThreadId(long threadID) {
         this.threadID = threadID;
     }
+    
+    public void setState(State threadState) {
+        this.threadState = threadState;
+    }
 
-    public void setThreadState(State threadState) {
-        this.threadState = threadState;
+    @Persist
+    public void setThreadState(String threadStateString) {
+        this.threadState = Thread.State.valueOf(threadStateString);
     }
 
     @Persist
@@ -125,11 +130,16 @@
         return threadID;
     }
 
-    public State getThreadState() {
+    public State getState() {
         return threadState;
     }
 
     @Persist
+    public String getThreadState() {
+        return threadState.name();
+    }
+    
+    @Persist
     public long getTimeStamp() {
         return timestamp;
     }
--- a/thread/harvester/src/main/java/com/redhat/thermostat/thread/harvester/Harvester.java	Wed Sep 12 12:14:46 2012 +0200
+++ b/thread/harvester/src/main/java/com/redhat/thermostat/thread/harvester/Harvester.java	Wed Sep 12 21:37:33 2012 +0200
@@ -197,7 +197,7 @@
 
               info.setThreadName(beanInfo.getThreadName());
               info.setThreadId(beanInfo.getThreadId());
-              info.setThreadState(beanInfo.getThreadState());
+              info.setState(beanInfo.getThreadState());
               info.setStackTrace(beanInfo.getStackTrace());
 
               info.setThreadCpuTime(collectorBean.getThreadCpuTime(info.getThreadId()));
--- a/thread/harvester/src/test/java/com/redhat/thermostat/thread/harvester/HarvesterTest.java	Wed Sep 12 12:14:46 2012 +0200
+++ b/thread/harvester/src/test/java/com/redhat/thermostat/thread/harvester/HarvesterTest.java	Wed Sep 12 21:37:33 2012 +0200
@@ -279,14 +279,16 @@
         ThreadInfo info1 = mock(ThreadInfo.class);
         when(info1.getThreadName()).thenReturn("fluff1");
         when(info1.getThreadId()).thenReturn(1l);
-
+        when(info1.getThreadState()).thenReturn(Thread.State.RUNNABLE);
+        
         ThreadInfo info2 = mock(ThreadInfo.class);
         when(info2.getThreadName()).thenReturn("fluff2");
         when(info2.getThreadId()).thenReturn(2l);
+        when(info2.getThreadState()).thenReturn(Thread.State.BLOCKED);
 
         ThreadInfo[] infos = new ThreadInfo[] {
             info1,
-            info2     
+            info2
         };
                 
         ScheduledExecutorService executor = mock(ScheduledExecutorService.class);
@@ -339,6 +341,11 @@
         assertEquals("fluff1", threadInfos.get(0).getThreadName());
         assertEquals("fluff2", threadInfos.get(1).getThreadName());
         
+        assertEquals("RUNNABLE", threadInfos.get(0).getThreadState());
+        assertEquals("BLOCKED", threadInfos.get(1).getThreadState());
+        assertEquals(Thread.State.RUNNABLE, threadInfos.get(0).getState());
+        assertEquals(Thread.State.BLOCKED, threadInfos.get(1).getState());
+
         verify(collectorBean, times(1)).getThreadCpuTime(1l);
         verify(collectorBean, times(1)).getThreadCpuTime(2l);
     }