modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsDataSource.java | 83 +++++++++- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java | 3 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/DampeningAlertDefinitionForm.java | 2 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsDataSource.java | 27 +++ modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 6 5 files changed, 114 insertions(+), 7 deletions(-)
New commits: commit 67bdf6e52f3fc71ed22400ae58519a759cf78886 Merge: 06e438b... 8a2e19e... Author: John Mazzitelli mazz@redhat.com Date: Wed Nov 24 13:22:07 2010 -0500
Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq.git
commit 06e438b0b91e5a18a3f5928a9fade7073f4695ee Author: John Mazzitelli mazz@redhat.com Date: Wed Nov 24 13:21:42 2010 -0500
provide better looking alert def list views.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsDataSource.java index f960bc7..aa59e54 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsDataSource.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsDataSource.java @@ -18,6 +18,7 @@ */ package org.rhq.enterprise.gui.coregui.client.alert.definitions;
+import java.util.ArrayList; import java.util.Date; import java.util.List;
@@ -28,7 +29,13 @@ import com.smartgwt.client.data.DataSourceField; import com.smartgwt.client.data.Record; import com.smartgwt.client.data.fields.DataSourceImageField; import com.smartgwt.client.data.fields.DataSourceTextField; +import com.smartgwt.client.types.Alignment; +import com.smartgwt.client.types.AutoFitWidthApproach; +import com.smartgwt.client.types.DateDisplayFormat; import com.smartgwt.client.types.FieldType; +import com.smartgwt.client.types.ListGridFieldType; +import com.smartgwt.client.widgets.grid.HoverCustomizer; +import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.alert.AlertDefinition; @@ -51,7 +58,7 @@ public abstract class AbstractAlertDefinitionsDataSource extends RPCDataSource<A protected static final String FIELD_MTIME = "mtime"; protected static final String FIELD_ENABLED = "enabled"; protected static final String FIELD_DELETED = "deleted"; - protected static final String FIELD_PRIORITY = "priority"; // not the actual object; a string for the UI + protected static final String FIELD_PRIORITY = "priority"; // an image URL protected static final String FIELD_OBJECT = "_object"; // the actual AlertDefinition object
public AbstractAlertDefinitionsDataSource() { @@ -60,6 +67,71 @@ public abstract class AbstractAlertDefinitionsDataSource extends RPCDataSource<A addFields(fields); }
+ /** + * The view that contains the list grid which will display this datasource's data will call this + * method to get the field information which is used to control the display of the data. + * + * @return list grid fields used to display the datasource data + */ + public ArrayList<ListGridField> getListGridFields() { + ArrayList<ListGridField> fields = new ArrayList<ListGridField>(6); + + ListGridField nameField = new ListGridField(FIELD_NAME, MSG.view_alerts_field_name()); + nameField.setWidth("25%"); + fields.add(nameField); + + ListGridField descriptionField = new ListGridField(FIELD_DESCRIPTION, MSG.common_title_description()); + descriptionField.setWidth("30%"); + fields.add(descriptionField); + + ListGridField ctimeField = new ListGridField(FIELD_CTIME, MSG.view_alerts_field_created_time()); + ctimeField.setType(ListGridFieldType.DATE); + ctimeField.setDateFormatter(DateDisplayFormat.TOLOCALESTRING); + ctimeField.setWidth("15%"); + fields.add(ctimeField); + + ListGridField mtimeField = new ListGridField(FIELD_MTIME, MSG.view_alerts_field_modified_time()); + mtimeField.setType(ListGridFieldType.DATE); + mtimeField.setDateFormatter(DateDisplayFormat.TOLOCALESTRING); + mtimeField.setWidth("15%"); + fields.add(mtimeField); + + ListGridField enabledField = new ListGridField(FIELD_ENABLED, MSG.view_alerts_field_enabled()); + enabledField.setType(ListGridFieldType.IMAGE); + enabledField.setAlign(Alignment.CENTER); + enabledField.setAutoFitWidth(true); + enabledField.setAutoFitWidthApproach(AutoFitWidthApproach.BOTH); + fields.add(enabledField); + + ListGridField priorityField = new ListGridField(FIELD_PRIORITY, MSG.view_alerts_field_priority()); + priorityField.setType(ListGridFieldType.IMAGE); + priorityField.setAutoFitWidth(true); + priorityField.setAutoFitWidthApproach(AutoFitWidthApproach.BOTH); + priorityField.setAlign(Alignment.CENTER); + priorityField.setShowHover(true); + priorityField.setHoverCustomizer(new HoverCustomizer() { + @Override + public String hoverHTML(Object value, ListGridRecord record, int rowNum, int colNum) { + AlertDefinition alertDef = (AlertDefinition) record.getAttributeAsObject(FIELD_OBJECT); + switch (alertDef.getPriority()) { + case HIGH: { + return MSG.common_alert_high(); + } + case MEDIUM: { + return MSG.common_alert_medium(); + } + case LOW: { + return MSG.common_alert_low(); + } + } + return ""; // will never get here + } + }); + fields.add(priorityField); + + return fields; + } + @Override public AlertDefinition copyValues(Record from) { AlertDefinition alertDef = (AlertDefinition) from.getAttributeAsObject(FIELD_OBJECT); @@ -74,7 +146,11 @@ public abstract class AbstractAlertDefinitionsDataSource extends RPCDataSource<A record.setAttribute(FIELD_DESCRIPTION, from.getDescription()); record.setAttribute(FIELD_CTIME, new Date(from.getCtime())); record.setAttribute(FIELD_MTIME, new Date(from.getMtime())); - record.setAttribute(FIELD_ENABLED, from.getEnabled()); + if (from.getEnabled()) { + record.setAttribute(FIELD_ENABLED, "/images/icons/availability_green_16.png"); + } else { + record.setAttribute(FIELD_ENABLED, "/images/icons/availability_red_16.png"); + } record.setAttribute(FIELD_DELETED, from.getDeleted()); switch (from.getPriority()) { case HIGH: { @@ -117,8 +193,7 @@ public abstract class AbstractAlertDefinitionsDataSource extends RPCDataSource<A mtimeField.setType(FieldType.DATETIME); fields.add(mtimeField);
- DataSourceTextField enabledField = new DataSourceTextField(FIELD_ENABLED, MSG.view_alerts_field_enabled()); - enabledField.setType(FieldType.BOOLEAN); + DataSourceImageField enabledField = new DataSourceImageField(FIELD_ENABLED, MSG.view_alerts_field_enabled()); fields.add(enabledField);
DataSourceImageField priorityField = new DataSourceImageField(FIELD_PRIORITY, MSG.view_alerts_field_priority()); diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java index 491bff5..811c4d8 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java @@ -22,6 +22,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback; import com.smartgwt.client.data.Criteria; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.grid.ListGrid; +import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.alert.AlertDampening; @@ -56,6 +57,7 @@ public abstract class AbstractAlertDefinitionsView extends TableSection<Abstract AbstractAlertDefinitionsDataSource ds = getAlertDefinitionDataSource(); setDataSource(ds); listGrid.setDataSource(ds); + listGrid.setFields(ds.getListGridFields().toArray(new ListGridField[0]));
Criteria criteria = getCriteria(); listGrid.setCriteria(criteria); @@ -98,7 +100,6 @@ public abstract class AbstractAlertDefinitionsView extends TableSection<Abstract } });
- }
@Override diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsDataSource.java index 14f587d..2068a23 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsDataSource.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsDataSource.java @@ -23,6 +23,7 @@
package org.rhq.enterprise.gui.coregui.client.alert.definitions;
+import java.util.ArrayList; import java.util.List; import java.util.Map;
@@ -31,6 +32,10 @@ import com.smartgwt.client.data.DSRequest; import com.smartgwt.client.data.DataSourceField; import com.smartgwt.client.data.fields.DataSourceLinkField; import com.smartgwt.client.data.fields.DataSourceTextField; +import com.smartgwt.client.types.Alignment; +import com.smartgwt.client.types.AutoFitWidthApproach; +import com.smartgwt.client.types.ListGridFieldType; +import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.alert.AlertDefinition; @@ -55,6 +60,26 @@ public class ResourceAlertDefinitionsDataSource extends AbstractAlertDefinitions }
@Override + public ArrayList<ListGridField> getListGridFields() { + ArrayList<ListGridField> fields = super.getListGridFields(); + + // add two more columns + ListGridField parentIdField = new ListGridField(FIELD_PARENT, MSG.view_alerts_field_parent()); + parentIdField.setType(ListGridFieldType.LINK); + parentIdField.setAutoFitWidth(true); + parentIdField.setAutoFitWidthApproach(AutoFitWidthApproach.BOTH); + fields.add(parentIdField); + + ListGridField readOnlyField = new ListGridField(FIELD_READONLY, MSG.view_alerts_field_protected()); + readOnlyField.setAutoFitWidth(true); + readOnlyField.setAutoFitWidthApproach(AutoFitWidthApproach.BOTH); + readOnlyField.setAlign(Alignment.CENTER); + fields.add(readOnlyField); + + return fields; + } + + @Override public ListGridRecord copyValues(AlertDefinition from) { ListGridRecord record = super.copyValues(from);
@@ -76,7 +101,7 @@ public class ResourceAlertDefinitionsDataSource extends AbstractAlertDefinitions + "/Alerts/Definitions/" + groupAlertDefinition.getId()); record.setLinkText(MSG.view_alert_definition_for_group()); } - record.setAttribute(FIELD_READONLY, readOnly); + record.setAttribute(FIELD_READONLY, (readOnly) ? MSG.common_val_yes() : MSG.common_val_no()); }
return record; diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties index a99b4ed..90c6014 100644 --- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties +++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties @@ -179,6 +179,12 @@ common_val_never = Never~ common_val_na = N/A~ common_val_none = None~
+# Common Alert Priorities +#------------------------ +common_alert_high=HIGH +common_alert_medium=MEDIUM +common_alert_low=LOW + # Common Calendar #-------------- common_calendar_january_short=jan~
commit 07648b0b03b1fd9d345c13ec8b11fced0c502eeb Author: John Mazzitelli mazz@redhat.com Date: Wed Nov 24 12:37:19 2010 -0500
typo - should be using minutes label
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/DampeningAlertDefinitionForm.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/DampeningAlertDefinitionForm.java index d896479..3527da5 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/DampeningAlertDefinitionForm.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/DampeningAlertDefinitionForm.java @@ -578,7 +578,7 @@ public class DampeningAlertDefinitionForm extends LocatableDynamicForm implement private String getTimeUnitsTitle(AlertDampening.TimeUnits units) { switch (units) { case MINUTES: { - return MSG.common_label_month(); + return MSG.common_label_minutes(); } case HOURS: { return MSG.common_label_hours();
rhq-commits@lists.fedorahosted.org