[rhmessaging-commits] rhmessaging commits: r4266 - mgmt/newdata/cumin/python/cumin.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Thu Sep 9 09:34:56 EDT 2010


Author: eallen
Date: 2010-09-09 09:34:55 -0400 (Thu, 09 Sep 2010)
New Revision: 4266

Modified:
   mgmt/newdata/cumin/python/cumin/model.py
   mgmt/newdata/cumin/python/cumin/stat.py
Log:
Fix BZ 630925 - Flash fullpage history slider doesn't work. Also fixed a problem introduced in all flash charts with the new agent parameter. When it contained colons, open-flash-chart would reject it as an invalid URL. 

Modified: mgmt/newdata/cumin/python/cumin/model.py
===================================================================
--- mgmt/newdata/cumin/python/cumin/model.py	2010-09-09 13:17:03 UTC (rev 4265)
+++ mgmt/newdata/cumin/python/cumin/model.py	2010-09-09 13:34:55 UTC (rev 4266)
@@ -496,7 +496,8 @@
         when2 = ""
         if secs2:
             when2 = "now() - interval '%i seconds'" % int(secs2)
-            SqlComparisonFilter(self.query, updated_col, when2, "<=")
+            filter = SqlComparisonFilter(updated_col, when2, "<=")
+            self.query.add_filter(filter)
 
         options = SqlQueryOptions()
         options.sort_column = "interval_end"

Modified: mgmt/newdata/cumin/python/cumin/stat.py
===================================================================
--- mgmt/newdata/cumin/python/cumin/stat.py	2010-09-09 13:17:03 UTC (rev 4265)
+++ mgmt/newdata/cumin/python/cumin/stat.py	2010-09-09 13:34:55 UTC (rev 4266)
@@ -108,8 +108,11 @@
         object = self.object.get(session)
         params = list()
 
-        params.append("agent=%s" % object._qmf_agent_id)
-        params.append("object=%s" % object._qmf_object_id)
+        # open-flash-chart can't handle the : in the agent id. Net even if
+        # it's converted to %3A, so we have to change it
+        params.append("agent=%s" % object._qmf_agent_id.replace(":", "|"))
+
+        params.append("object_id=%s" % object._qmf_object_id)
         params.append("chart_id=%s" % self.render_id(session, None))
         params.append("duration=%s" % self.duration.get(session))
         params.append("rpkg=%s" % object._class._package._name)
@@ -128,7 +131,7 @@
 
     def render_href(self, session):
         params = self.get_href_params(session)
-        return "%s?" % self.get_chart_name(session) + ";".join(params)
+        return escape_entity("%s?" % self.get_chart_name(session) + ";".join(params))
 
     def get_chart_name(self, session):
         return "stats.png"
@@ -179,7 +182,7 @@
 
     def render_fullpage_href(self, session):
         params = self.get_href_params(session)
-        return "flashpage.html?" + ";".join(params)
+        return escape_entity("flashpage.html?" + ";".join(params))
 
     def render_width(self, session):
         return 360
@@ -234,10 +237,10 @@
         self.rosemary_package = Parameter(app, "rpkg")
         self.add_parameter(self.rosemary_package)
 
-        self.agent_id = StringParameter(app, "agent")
+        self.agent_id = ModifiedAgentIdParameter(app, "agent")
         self.add_parameter(self.agent_id)
 
-        self.object_id = StringParameter(app, "object")
+        self.object_id = StringParameter(app, "object_id")
         self.add_parameter(self.object_id)
 
         param = Parameter(app, "param")
@@ -459,6 +462,11 @@
         chart.write(writer)
         return writer.to_string()
 
+class ModifiedAgentIdParameter(StringParameter):
+    def get(self, session):
+        agent = super(ModifiedAgentIdParameter, self).get(session)
+        return agent.replace("|", ":")
+
 class FlashFullPage(HtmlPage):
     def __init__(self, app, name):
         super(FlashFullPage, self).__init__(app, name)
@@ -467,8 +475,8 @@
         self.updater.update_enabled = True
         self.add_child(self.updater)
 
-        self.id = IntegerParameter(app, "id")
-        self.add_parameter(self.id)
+        self.object_id = StringParameter(app, "object_id")
+        self.add_parameter(self.object_id)
 
         self.rosemary_class = Parameter(app, "rcls")
         self.add_parameter(self.rosemary_class)
@@ -480,8 +488,6 @@
         self.add_attribute(self.object)
 
         param = Parameter(app, "param")
-        self.add_parameter(param)
-
         self.stats = ListParameter(app, "stat", param)
         self.add_parameter(self.stats)
 
@@ -517,12 +523,14 @@
                 rosemary_package = self.app.model._packages_by_name[rpackage]
                 rosemary_class = rosemary_package._classes_by_name[rclass]
 
-                id = self.widget.id.get(session)
+                object_id =  self.widget.object_id.get(session)
+                #id = self.widget.id.get(session)
                 conn = self.app.database.get_connection()
                 cursor = conn.cursor()
 
                 try:
-                    obj = rosemary_class.get_object_by_id(cursor, id)
+                    obj = rosemary_class.get_object(cursor, _qmf_object_id=object_id)
+                    #obj = rosemary_class.get_object_by_id(cursor, id)
                 finally:
                     cursor.close()
 
@@ -541,7 +549,7 @@
             params = self.get_href_params(session)
             params.append("width=%i" % self.render_width(session))
             params.append("height=%i" % self.render_height(session))
-            return "%s?" % self.get_chart_name(session) + ";".join(params)
+            return escape_entity("%s?" % self.get_chart_name(session) + ";".join(params))
 
         def render_href(self, session):
             params = self.get_href_params(session)



More information about the rhmessaging-commits mailing list