[rhmessaging-commits] rhmessaging commits: r2252 - mgmt/trunk/cumin/python/cumin.
rhmessaging-commits at lists.jboss.org
rhmessaging-commits at lists.jboss.org
Tue Aug 5 16:57:22 EDT 2008
Author: eallen
Date: 2008-08-05 16:57:21 -0400 (Tue, 05 Aug 2008)
New Revision: 2252
Modified:
mgmt/trunk/cumin/python/cumin/widgets.py
Log:
Changed BindingSet to a CuminTable to allow for active/idle/deleted
Fixed bug with Durable/Exclusive/AutoDelete fields
Added FilteredCheckboxIdSet to not allow removing of built-in exchanges
Modified: mgmt/trunk/cumin/python/cumin/widgets.py
===================================================================
--- mgmt/trunk/cumin/python/cumin/widgets.py 2008-08-05 20:52:35 UTC (rev 2251)
+++ mgmt/trunk/cumin/python/cumin/widgets.py 2008-08-05 20:57:21 UTC (rev 2252)
@@ -5,7 +5,7 @@
from wooly.widgets import *
from wooly.forms import *
from wooly.tables import *
-from mint import *
+from mint.schema import *
from parameters import *
from charts import *
@@ -185,7 +185,8 @@
return self.parent.render_submit_content(session, *cargs)
class CuminFieldForm(CuminForm, FieldForm, Frame):
- pass
+ def render_form_error(self, session, *args):
+ pass
class CuminConfirmForm(CuminForm):
def __init__(self, app, name):
@@ -227,6 +228,10 @@
def render_item_content(self, session, id):
return "Act on object %i" % id
+
+ def render_form_heading(self, session, *args):
+ return "Actions"
+
class CuminStatus(Widget):
def get_args(self, session):
@@ -462,46 +467,61 @@
def render_item_content(self, session, group):
return group.name
-class BindingSet(PaginatedItemSet):
+class BindingSet(CuminTable):
def __init__(self, app, name):
super(BindingSet, self).__init__(app, name)
- def render_title(self, session, *args):
- return "Bindings"
+ self.ids = CheckboxIdColumn(app, "id", self)
+ self.add_column(self.ids)
+
+ col = self.get_name_col(app)
+ self.add_column(col)
- def get_item_count(self, session, *args):
- return Binding.select().count()
+ col = self.KeyColumn(app, "key")
+ self.add_column(col)
- def do_get_items(self, session, *args):
- start, end = self.get_bounds(session)
- return Binding.select()[start:end]
+ col = self.RateColumn(app, "rate")
+ col.alignment = "right"
+ self.add_column(col)
- def render_item_binding_key(self, session, binding):
- return binding.bindingKey
+ col = self.MatchedColumn(app, "matched")
+ col.alignment = "right"
+ self.add_column(col)
+
+ self.phase = PhaseSwitch(app, "phase")
+ self.add_child(self.phase)
- def render_item_messages_matched(self, session, binding):
- return self.app.model.binding.msgMatched.value(binding)
+ def get_args(self, session):
+ obj = self.frame.get_object(session)
+ return (obj,)
+
+ def get_name_col(self):
+ # implemented in derived class
+ pass
+
+ def get_sql_values(self, session, obj):
+ return {"id": obj.id}
- def render_item_messages_matched_rate(self, session, binding):
- return self.app.model.binding.msgMatched.rate_html(binding)
+ class KeyColumn(SqlTableColumn):
+ def render_title(self, session, data):
+ return "Key"
-class RouteSet(PaginatedItemSet):
- def __init__(self, app, name):
- super(RouteSet, self).__init__(app, name)
+ class RateColumn(ItemTableColumn):
+ def render_title(self, session, data):
+ return "Message Rate"
- def render_title(self, session, *args):
- return "Routes"
+ def render_content(self, session, data):
+ binding = Binding.get(data["id"])
+ return self.app.model.binding.msgMatched.rate_html(binding)
- def get_item_count(self, session, *args):
- return Bridge.select().count()
+ class MatchedColumn(ItemTableColumn):
+ def render_title(self, session, data):
+ return "Messages Matched"
+
+ def render_content(self, session, data):
+ binding = Binding.get(data["id"])
+ return self.app.model.binding.msgMatched.value(binding)
- def do_get_items(self, session, *args):
- start, end = self.get_bounds(session)
- return Bridge.select()[start:end]
-
- def render_item_route_key(self, session, route):
- return route.key
-
class CheckboxIdColumn(SqlTableColumn):
def __init__(self, app, name, form):
super(CheckboxIdColumn, self).__init__(app, name)
@@ -536,6 +556,20 @@
def render_elem_name(self, session, *args):
return self.column.ids.path
+class FilteredCheckboxIdColumn(CheckboxIdColumn):
+ def __init__(self, app, name, form, col_name, skip_list):
+ super(FilteredCheckboxIdColumn, self).__init__(app, name, form)
+
+ # list of names to skip putting a checkbox by
+ self.__skip_list = skip_list
+ self.__col_name = col_name
+
+ def do_render(self, session, data):
+ if data[self.__col_name] in self.__skip_list:
+ return "<td></td>"
+ else:
+ return super(FilteredCheckboxIdColumn, self).do_render(session, data)
+
class NameField(StringField):
def __init__(self, app, name, form):
super(NameField, self).__init__(app, name, form)
@@ -619,8 +653,13 @@
self.add_parameter(param)
self.set_parameter(param)
- self.add_option(self.Durable(app, "durable", form))
- self.add_option(self.Transient(app, "transient", form))
+ option = self.Durable(app, "durable", form)
+ option.set_value(param.default)
+ self.add_option(option)
+
+ option = self.Transient(app, "transient", form)
+ option.set_value("transient")
+ self.add_option(option)
def render_title(self, session):
return "Durable?"
@@ -648,8 +687,13 @@
self.add_parameter(param)
self.set_parameter(param)
- self.add_option(self.Exclusive(app, "exclusive", form))
- self.add_option(self.NonExclusive(app, "non-exclusive", form))
+ option = self.Exclusive(app, "exclusive", form)
+ option.set_value(param.default)
+ self.add_option(option)
+
+ option = self.NonExclusive(app, "non-exclusive", form)
+ option.set_value("non-exclusive")
+ self.add_option(option)
def render_title(self, session):
return "Exclusive?"
@@ -677,9 +721,14 @@
self.add_parameter(param)
self.set_parameter(param)
- self.add_option(self.AutoDel(app, "autodel", form))
- self.add_option(self.Preserve(app, "preserve", form))
+ option = self.AutoDel(app, "autodel", form)
+ option.set_value(param.default)
+ self.add_option(option)
+ option = self.Preserve(app, "preserve", form)
+ option.set_value("preserve")
+ self.add_option(option)
+
def render_title(self, session):
return "Auto-Delete?"
More information about the rhmessaging-commits
mailing list