modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TimestampCellFormatter.java
| 30 +++++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionDataSource.java
| 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java
| 27 ++++++++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
| 1
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
| 2
5 files changed, 52 insertions(+), 10 deletions(-)
New commits:
commit ed227f84f309a55d2e7fe06169cdb1b4cb2ab97d
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Wed Mar 30 16:59:02 2011 -0400
group def interval spinner should step every 1m
label it as (ms) so people know the units
fix some columns
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TimestampCellFormatter.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TimestampCellFormatter.java
index 53a0209..260ed01 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TimestampCellFormatter.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TimestampCellFormatter.java
@@ -23,7 +23,7 @@ public class TimestampCellFormatter implements CellFormatter {
private DateTimeFormat dateTimeFormat;
/**
- * Uses SHORT format.
+ * Uses MEDIUM format.
*/
public TimestampCellFormatter() {
this(DATE_TIME_FORMAT_MEDIUM);
@@ -40,7 +40,7 @@ public class TimestampCellFormatter implements CellFormatter {
/**
* @param value
- * @return SHORT format for value
+ * @return MEDIUM format for value
*/
public static String format(Object value) {
return format(value, DATE_TIME_FORMAT_MEDIUM);
@@ -94,15 +94,27 @@ public class TimestampCellFormatter implements CellFormatter {
return new HoverCustomizer() {
public String hoverHTML(Object value, ListGridRecord record, int rowNum, int
colNum) {
Date attribValue = record.getAttributeAsDate(dateTimeAttributeName);
- if (attribValue != null) {
- StringBuilder sb = new StringBuilder("<p
style='width:300px'>");
- sb.append(format(attribValue, DATE_TIME_FORMAT_FULL));
- sb.append("</p>");
- return sb.toString();
- } else {
- return null;
- }
+ return getHoverDateString(attribValue);
}
};
}
+
+ /**
+ * Returns an HTML string that can be used in as hover for a date field.
+ * It formats the date in the FULL format.
+ *
+ * @param date
+ * @return HTML string that shows the date in FULL format,
+ * or <code>null</code> if <code>date</code> is
<code>null</code>
+ */
+ public static String getHoverDateString(Date date) {
+ if (date != null) {
+ StringBuilder sb = new StringBuilder("<p
style='width:300px'>");
+ sb.append(format(date, DATE_TIME_FORMAT_FULL));
+ sb.append("</p>");
+ return sb.toString();
+ } else {
+ return null;
+ }
+ }
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionDataSource.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionDataSource.java
index cef860a..0207062 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionDataSource.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionDataSource.java
@@ -86,7 +86,7 @@ public class GroupDefinitionDataSource extends
RPCDataSource<GroupDefinition, Re
// it is a Long, but there is no DataSourceLongField and I've seen problems
trying to use anything other than text field
DataSourceTextField lastCalculationTimeIntervalField = new
DataSourceTextField("lastCalculationTime", MSG
- .view_dynagroup_recalculationInterval());
+ .view_dynagroup_lastCalculationTime());
fields.add(lastCalculationTimeIntervalField);
// it is a Long, but there is no DataSourceLongField and I've seen problems
trying to use anything other than text field
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java
index 4a9106b..9106e60 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionListView.java
@@ -18,6 +18,7 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.groups.definitions;
+import java.util.Date;
import java.util.Set;
import com.google.gwt.user.client.History;
@@ -25,6 +26,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.types.ListGridFieldType;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.grid.CellFormatter;
+import com.smartgwt.client.widgets.grid.HoverCustomizer;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
@@ -47,7 +49,7 @@ import
org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
* @author Greg Hinkle
* @author Joseph Marques
*/
-public class GroupDefinitionListView extends TableSection {
+public class GroupDefinitionListView extends
TableSection<GroupDefinitionDataSource> {
private static final String TITLE = MSG.view_dynagroup_definitions();
public GroupDefinitionListView(String locatorId, String headerIcon) {
@@ -84,6 +86,17 @@ public class GroupDefinitionListView extends TableSection {
return super.format(value, record, rowNum, colNum);
}
});
+ lastCalculationTimeField.setShowHover(true);
+ lastCalculationTimeField.setHoverCustomizer(new HoverCustomizer() {
+ public String hoverHTML(Object value, ListGridRecord record, int rowNum, int
colNum) {
+ String attribValue =
record.getAttribute("lastCalculationTime");
+ if (attribValue != null) {
+ return TimestampCellFormatter.getHoverDateString(new
Date(Long.valueOf(attribValue).longValue()));
+ } else {
+ return null;
+ }
+ }
+ });
ListGridField nextCalculationTimeField = new
ListGridField("nextCalculationTime", MSG
.view_dynagroup_nextCalculationTime(), 175);
@@ -95,6 +108,18 @@ public class GroupDefinitionListView extends TableSection {
return super.format(value, record, rowNum, colNum);
}
});
+ nextCalculationTimeField.setShowHover(true);
+ nextCalculationTimeField.setHoverCustomizer(new HoverCustomizer() {
+ public String hoverHTML(Object value, ListGridRecord record, int rowNum, int
colNum) {
+ String attribValue =
record.getAttribute("nextCalculationTime");
+ if (attribValue != null &&
!("0".equals(attribValue.toString()))) {
+ return TimestampCellFormatter.getHoverDateString(new
Date(Long.valueOf(attribValue).longValue()));
+ } else {
+ return null;
+ }
+ }
+ });
+
setListGridFields(idField, nameField, descriptionField, expressionField,
lastCalculationTimeField,
nextCalculationTimeField);
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
index 865e03b..a302455 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
@@ -397,6 +397,7 @@ public class SingleGroupDefinitionView extends LocatableVLayout
implements Bookm
//recalculationInterval.setWrapTitle(false); // do not set this - it causes the
form to grow abnormally width-wise for some reason
recalculationInterval.setMin(0);
recalculationInterval.setDefaultValue(0);
+ recalculationInterval.setStep(60000); // the recalc interval is in milliseconds,
step up one minute at a time
}
public static LinkedHashMap<String, String> getTemplates() {
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 ae8ccbd..c5f4d20 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
@@ -1707,7 +1707,7 @@ view_titleBar_group_failInfo = Failed to get general info on group
[{0}] with ID
view_titleBar_group_summary_collapsedTooltip = Click to show more details for this group
view_titleBar_group_summary_expandedTooltip = Click to hide details for this group
view_dynagroup_expressionSet = Expression Set
-view_dynagroup_recalculationInterval = Recalculation Interval
+view_dynagroup_recalculationInterval = Recalculation Interval (ms)
view_dynagroup_lastCalculationTime = Last Calculation Time
view_dynagroup_nextCalculationTime = Next Calculation Time
view_dynagroup_definitionCreated = You have successfully created a group definition named
[{0}]
commit 9eaaf6b98d89a8756f12f5d8664e495ba11b91d3
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Wed Mar 30 16:24:44 2011 -0400
protect against null attribute value
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TimestampCellFormatter.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TimestampCellFormatter.java
index f17c62f..53a0209 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TimestampCellFormatter.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TimestampCellFormatter.java
@@ -92,12 +92,16 @@ public class TimestampCellFormatter implements CellFormatter {
public static HoverCustomizer getHoverCustomizer(final String dateTimeAttributeName)
{
return new HoverCustomizer() {
-
public String hoverHTML(Object value, ListGridRecord record, int rowNum, int
colNum) {
- StringBuilder sb = new StringBuilder("<p
style='width:300px'>");
- sb.append(format(record.getAttributeAsDate(dateTimeAttributeName),
DATE_TIME_FORMAT_FULL));
- sb.append("</p>");
- return sb.toString();
+ Date attribValue = record.getAttributeAsDate(dateTimeAttributeName);
+ if (attribValue != null) {
+ StringBuilder sb = new StringBuilder("<p
style='width:300px'>");
+ sb.append(format(attribValue, DATE_TIME_FORMAT_FULL));
+ sb.append("</p>");
+ return sb.toString();
+ } else {
+ return null;
+ }
}
};
}