[rhmessaging-commits] rhmessaging commits: r2699 - mgmt/trunk/cumin/python/cumin.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Wed Oct 29 16:24:51 EDT 2008


Author: eallen
Date: 2008-10-29 16:24:51 -0400 (Wed, 29 Oct 2008)
New Revision: 2699

Modified:
   mgmt/trunk/cumin/python/cumin/pool.py
   mgmt/trunk/cumin/python/cumin/pool.strings
Log:
Added job status grid on pool statistics page

Modified: mgmt/trunk/cumin/python/cumin/pool.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/pool.py	2008-10-29 20:24:01 UTC (rev 2698)
+++ mgmt/trunk/cumin/python/cumin/pool.py	2008-10-29 20:24:51 UTC (rev 2699)
@@ -252,9 +252,59 @@
         stats = PoolStatSet(app, "general", "general")
         self.add_child(stats)
 
+        self.grid = self.JobUtilizationGrid(app, "job_grid")
+        self.add_child(self.grid)
+
     def render_title(self, session):
         return "Statistics"
     
+    class JobUtilizationGrid(StatUtilizationGrid):
+        def get_args(self, session):
+            pool = self.frame.get_args(session)[0]
+            action = self.app.model.pool.jobs
+            return action.get_jobs(pool)
+        
+        def render_title(self, session, jobs):
+            return ""
+
+        def get_object_count(self, session, jobs):
+            return jobs.count()
+    
+        def render_override_style(self, session, jobs):
+            count = self.get_object_count(session, jobs)
+            if count > 100:
+                return "style=\"width: 15em; height: 15em;\""
+        
+        def get_colors(self, session):
+            action = self.app.model.pool.jobs
+            return action.get_colors()
+            
+        def render_color(self, session, count, job):
+            action = self.app.model.pool.jobs
+            return action.get_color(job)
+    
+        def render_contents(self, session, count, job):
+            return ""
+
+        def render_cell_id(self, session, count, job):
+            return "%i" % job.sourceObjectId
+
+        def get_url(self, session):
+            pool = self.parent.frame.get_args(session)[0]
+            return "call.xml?class=pool;method=jobs"
+        
+        def get_fn(self, session):
+            return self.parent.grid.name
+        
+        def got_fn(self, session):
+            return self.parent.grid.name
+        
+        def elem_id(self, session):
+            return self.parent.grid.name
+    
+        def do_get_sticky_info(self, session):
+            return [("name", "ID"), ("submitter", "Submitter"), ("status", "Status")]
+
 class PoolStatSet(StatSet):
     def __init__(self, app, name, category):
         super(PoolStatSet, self).__init__(app, name, category)

Modified: mgmt/trunk/cumin/python/cumin/pool.strings
===================================================================
--- mgmt/trunk/cumin/python/cumin/pool.strings	2008-10-29 20:24:01 UTC (rev 2698)
+++ mgmt/trunk/cumin/python/cumin/pool.strings	2008-10-29 20:24:51 UTC (rev 2699)
@@ -22,7 +22,40 @@
 </div>
 
 [PoolStats.html]
+<div style="width: 50%; float: left;">
   <h2>General</h2>
-  <div style="width:50%;">
+  <div>
   {general}
   </div>
+</div>
+<div style="width: 25%; float: left; margin-left: 4em;">
+  <h2>Job Activity</h2>
+  {job_grid}
+</div>
+<div style="clear:left;"><!-- --></div>
+
+
+[JobUtilizationGrid.javascript]
+function got_job_grid(obj, id) {
+	for (var cell in obj.jobs.job) {
+		var job = obj.jobs.job[cell]
+		var ojob_Button = document.getElementById("button_"+cell);
+		if (ojob_Button) {
+			ojob_Button.className = "btn "+job.color;
+		}
+		var ojob_Name = document.getElementById("cell_name_"+cell);
+		if (ojob_Name) {
+			ojob_Name.innerHTML = job.name;
+		}
+		var ojob_Machine = document.getElementById("cell_submitter_"+cell);
+		if (ojob_Machine) {
+			ojob_Machine.innerHTML = job.submitter;
+		}
+		var ojob_Job = document.getElementById("cell_status_"+cell);
+		if (ojob_Job) {
+			ojob_Job.innerHTML = job.status;
+		}
+	}
+	setTimeout("get_job_grid()", 1000);
+}
+




More information about the rhmessaging-commits mailing list