modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/EventGWTService.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java | 483 ++++------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/GwtTuple.java | 83 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/EventGWTServiceImpl.java | 17
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 1
6 files changed, 316 insertions(+), 273 deletions(-)
New commits:
commit edfb4d47c9a2a4e0092235e72ec5fa5979d34852
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Fri Jan 21 19:20:28 2011 -0500
bug with recent metrics when there are results but no chartable data.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
index 70fbf40..9930108 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
@@ -603,6 +603,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
@Override
public void onSuccess(List<List<MeasurementDataNumericHighLowComposite>> results) {
if (!results.isEmpty()) {
+ boolean someChartedData = false;
//iterate over the retrieved charting data
for (int index = 0; index < displayOrder.length; index++) {
@@ -668,8 +669,13 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
//if graph content returned
if ((md.getName().trim().indexOf("Trait.") == -1) && (lastValue != -1)) {
column.addMember(row);
+ someChartedData = true;
}
}
+ if (!someChartedData) {// when there are results but no chartable entries.
+ LocatableDynamicForm row = createEmptyDisplayRow(column, RECENT_MEASUREMENTS_NONE);
+ column.addMember(row);
+ }
//call out to 3rd party javascript lib
graphSparkLines();
} else {
commit 16650ee89c43a8cc90574b351999e85bc317c846
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Fri Jan 21 12:18:41 2011 -0500
some documentation.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
index 3529fe9..70fbf40 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
@@ -113,6 +113,8 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
initializeUi();
}
+ /**Defines layout for the Activity page.
+ */
private void initializeUi() {
setPadding(5);
setMembersMargin(5);
@@ -190,6 +192,8 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
loadData();
}
+ /**Initiates data request.
+ */
private void loadData() {
getRecentAlerts();
getRecentOperations();
commit 5a7fda1de19ebcc2582c263f03e335450df5982e
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Fri Jan 21 12:14:56 2011 -0500
i)refactor ActivitView2 ii)fix config updates query bug using criteria.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
index 8742787..3529fe9 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
@@ -42,7 +42,6 @@ import org.rhq.core.domain.configuration.ResourceConfigurationUpdate;
import org.rhq.core.domain.content.InstalledPackageHistory;
import org.rhq.core.domain.criteria.AlertCriteria;
import org.rhq.core.domain.criteria.InstalledPackageCriteria;
-import org.rhq.core.domain.criteria.ResourceConfigurationUpdateCriteria;
import org.rhq.core.domain.event.EventSeverity;
import org.rhq.core.domain.measurement.MeasurementDefinition;
import org.rhq.core.domain.measurement.composite.MeasurementDataNumericHighLowComposite;
@@ -72,15 +71,23 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
* @author Simeon Pinder
*/
public class ActivityView2 extends LocatableHLayout implements RefreshableView {
- private LocatableVLayout leftPane;
- private LocatableVLayout rightPane;
- private LocatableCanvas recentMeasurementsContent = new LocatableCanvas(extendLocatorId("RecentMetricsContent"));
- private LocatableCanvas recentAlertsContent = new LocatableCanvas(extendLocatorId("RecentAlertsContent"));
- private LocatableCanvas recentOobContent = new LocatableCanvas(extendLocatorId("RecentOobsContent"));
- private LocatableCanvas recentConfigurationContent = new LocatableCanvas(extendLocatorId("RecentConfigContent"));
- private LocatableCanvas recentOperationsContent = new LocatableCanvas(extendLocatorId("RecentOperationsContent"));
- private LocatableCanvas recentEventsContent = new LocatableCanvas(extendLocatorId("RecentEventsContent"));
- private LocatableCanvas recentPkgHistoryContent = new LocatableCanvas(extendLocatorId("RecentPkgHistoryContent"));
+
+ //Locatable ui references
+ private LocatableVLayout leftPane = new LocatableVLayout(extendLocatorId("Left"));;
+ private LocatableVLayout rightPane = new LocatableVLayout(extendLocatorId("Right"));;
+ private LocatableCanvas recentMeasurementsContent = new LocatableCanvas(leftPane
+ .extendLocatorId("RecentMetricsContent"));
+ private LocatableCanvas recentAlertsContent = new LocatableCanvas(leftPane.extendLocatorId("RecentAlertsContent"));
+ private LocatableCanvas recentOobContent = new LocatableCanvas(leftPane.extendLocatorId("RecentOobsContent"));
+ private LocatableCanvas recentConfigurationContent = new LocatableCanvas(rightPane
+ .extendLocatorId("RecentConfigContent"));
+ private LocatableCanvas recentOperationsContent = new LocatableCanvas(rightPane
+ .extendLocatorId("RecentOperationsContent"));
+ private LocatableCanvas recentEventsContent = new LocatableCanvas(rightPane.extendLocatorId("RecentEventsContent"));
+ private LocatableCanvas recentPkgHistoryContent = new LocatableCanvas(rightPane
+ .extendLocatorId("RecentPkgHistoryContent"));
+
+ //retrieve localized text
private String RECENT_MEASUREMENTS = MSG.common_title_recent_measurements();
private String RECENT_MEASUREMENTS_NONE = MSG.view_resource_inventory_activity_no_recent_metrics();
private String RECENT_ALERTS = MSG.common_title_recent_alerts();
@@ -122,18 +129,17 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
divider5.setWidth("50%");
//leftPane
- leftPane = new LocatableVLayout(extendLocatorId("Left"));
leftPane.setWidth("50%");
leftPane.setPadding(5);
leftPane.setMembersMargin(5);
leftPane.setAutoHeight();
+
//recentMetrics.xhtml
LocatableHLayout recentMetricsTitle = new TitleWithIcon(leftPane, "RecentMetrics",
"subsystems/monitor/Monitor_24.png", RECENT_MEASUREMENTS);
leftPane.addMember(recentMetricsTitle);
leftPane.addMember(recentMeasurementsContent);
recentMeasurementsContent.setHeight(20);
- recentMeasurementsContent.setContents(RECENT_MEASUREMENTS_NONE);
leftPane.addMember(divider1);
//recentAlerts.xhtml
LocatableHLayout recentAlertsTitle = new TitleWithIcon(leftPane, "RecentAlerts",
@@ -150,7 +156,6 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
recentOobContent.setHeight(20);
//rightPane
- rightPane = new LocatableVLayout(extendLocatorId("Right"));
rightPane.setWidth("50%");
rightPane.setPadding(5);
rightPane.setMembersMargin(5);
@@ -175,7 +180,6 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
rightPane.addMember(recentEventsTitle);
rightPane.addMember(recentEventsContent);
recentEventsContent.setHeight(20);
- // recentEventsContent.setContents(RECENT_EVENTS_NONE);
rightPane.addMember(divider5);
//recentPackageHistory.xhtml
LocatableHLayout recentPkgHistoryTitle = new TitleWithIcon(leftPane, "RecentPkgHistory",
@@ -200,6 +204,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
protected void onDraw() {
super.onDraw();
+ //TODO:spinder cleanup members before on draw?
addMember(leftPane);
addMember(rightPane);
refresh();
@@ -210,9 +215,14 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
// int resourceId = this.resourceComposite.getResource().getId();
// this.iFrame.setContentsURL("/rhq/resource/summary/overview-plain.xhtml?id=" + resourceId);
markForRedraw();
+ //call out to 3rd party javascript lib
+ graphSparkLines();
}
+ /**Creates the section top titles with icon for regions of Activity page.
+ */
class TitleWithIcon extends LocatableHLayout {
+
public TitleWithIcon(String locatorId) {
super(locatorId);
}
@@ -251,36 +261,19 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(3);
- StaticTextItem iconItem = new StaticTextItem();
- FormItemIcon img = new FormItemIcon();
- img.setSrc(ImageManager.getAlertIcon(alert.getAlertDefinition().getPriority()));
- img.setWidth(16);
- img.setHeight(16);
- img.setPrompt(alert.getAlertDefinition().getPriority().getDisplayName());
- iconItem.setIcons(img);
- iconItem.setShowTitle(false);
-
- LinkItem link = new LinkItem();
- link.setLinkTitle(alert.getAlertDefinition().getName() + ": ");
- link.setTitle(alert.getAlertDefinition().getName());
- link.setValue(ReportDecorator.GWT_RESOURCE_URL + resourceId + "/Alerts/History/"
- + alert.getId());
- link.setTarget("_self");
- link.setShowTitle(false);
-
- StaticTextItem time = new StaticTextItem();
- time.setDefaultValue(GwtRelativeDurationConverter.format(alert.getCtime()));
- time.setShowTitle(false);
- time.setShowPickerIcon(false);
- time.setWrap(false);
+ StaticTextItem iconItem = newTextItemIcon(ImageManager.getAlertIcon(alert.getAlertDefinition()
+ .getPriority()), alert.getAlertDefinition().getPriority().getDisplayName());
+ LinkItem link = newLinkItem(alert.getAlertDefinition().getName() + ": ",
+ ReportDecorator.GWT_RESOURCE_URL + resourceId + "/Alerts/History/" + alert.getId());
+ StaticTextItem time = newTextItem(GwtRelativeDurationConverter.format(alert.getCtime()));
row.setItems(iconItem, link, time);
column.addMember(row);
}
} else {
- column.setContents(RECENT_ALERTS_NONE);
+ LocatableDynamicForm row = createEmptyDisplayRow(column, RECENT_ALERTS_NONE);
+ column.addMember(row);
}
- recentAlertsContent.setContents("");
for (Canvas child : recentAlertsContent.getChildren()) {
child.destroy();
}
@@ -321,41 +314,20 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(3);
- StaticTextItem iconItem = new StaticTextItem();
- FormItemIcon img = new FormItemIcon();
- img.setSrc(ImageManager.getOperationResultsIcon(report.getOriginal().getOperationStatus()));
- img.setWidth(16);
- img.setHeight(16);
- img.setPrompt(report.getOriginal().getOperationStatus().getDisplayName());
- iconItem.setIcons(img);
- iconItem.setShowTitle(false);
-
- LinkItem link = new LinkItem();
- link.setLinkTitle(report.getOriginal().getOperationName() + ": ");
- link.setTitle(report.getOriginal().getOperationName());
- link.setValue(ReportDecorator.GWT_RESOURCE_URL + resourceId + "/Operations/History/"
- + report.getOriginal().getOperationHistoryId());
- link.setTarget("_self");
- link.setShowTitle(false);
-
- StaticTextItem time = new StaticTextItem();
- time.setDefaultValue(GwtRelativeDurationConverter.format(report.getOriginal()
+ StaticTextItem iconItem = newTextItemIcon(ImageManager.getOperationResultsIcon(report
+ .getOriginal().getOperationStatus()), report.getOriginal().getOperationStatus()
+ .getDisplayName());
+ LinkItem link = newLinkItem(report.getOriginal().getOperationName() + ": ",
+ ReportDecorator.GWT_RESOURCE_URL + resourceId + "/Operations/History/"
+ + report.getOriginal().getOperationHistoryId());
+ StaticTextItem time = newTextItem(GwtRelativeDurationConverter.format(report.getOriginal()
.getOperationStartTime()));
- time.setShowTitle(false);
- time.setShowPickerIcon(false);
- time.setWrap(false);
row.setItems(iconItem, link, time);
column.addMember(row);
}
} else {
- LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
- row.setNumCols(3);
- StaticTextItem none = new StaticTextItem();
- none.setShowTitle(false);
- none.setDefaultValue(RECENT_OPERATIONS_NONE);
- none.setWrap(false);
- row.setItems(none);
+ LocatableDynamicForm row = createEmptyDisplayRow(column, RECENT_OPERATIONS_NONE);
column.addMember(row);
}
for (Canvas child : recentOperationsContent.getChildren()) {
@@ -373,15 +345,11 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
private void getRecentConfigurationUpdates() {
final int resourceId = this.resourceComposite.getResource().getId();
- //construct criteria( last five config updates for resourceId sorted by cTime)
- ResourceConfigurationUpdateCriteria criteria = new ResourceConfigurationUpdateCriteria();
- criteria.addFilterResourceIds(resourceId);
- PageControl pageControl = new PageControl(0, 5);
- criteria.addSortCtime(PageOrdering.DESC);
- criteria.setPageControl(pageControl);
+ PageControl lastFive = new PageControl(0, 5);
+ lastFive.initDefaultOrderingField("cu.createdTime", PageOrdering.DESC);
- GWTServiceLookup.getConfigurationService().findResourceConfigurationUpdatesByCriteria(criteria,
- new AsyncCallback<PageList<ResourceConfigurationUpdate>>() {
+ GWTServiceLookup.getConfigurationService().findResourceConfigurationUpdates(resourceId, null, null, true,
+ lastFive, new AsyncCallback<PageList<ResourceConfigurationUpdate>>() {
@Override
public void onFailure(Throwable caught) {
@@ -399,45 +367,23 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(3);
- StaticTextItem iconItem = new StaticTextItem();
- FormItemIcon img = new FormItemIcon();
- img.setSrc(ImageManager.getResourceConfigurationIcon(update.getStatus()));
- img.setWidth(16);
- img.setHeight(16);
- iconItem.setIcons(img);
- iconItem.setShowTitle(false);
-
- LinkItem link = new LinkItem();
+ StaticTextItem iconItem = newTextItemIcon(ImageManager.getResourceConfigurationIcon(update
+ .getStatus()), null);
String linkTitle = MSG.view_resource_inventory_activity_changed_by() + " "
+ update.getSubjectName() + ":";
if ((update.getSubjectName() == null) || (update.getSubjectName().trim().isEmpty())) {
linkTitle = MSG.common_msg_changeAutoDetected();
- ;
}
- link.setLinkTitle(linkTitle);
- link.setTitle(linkTitle);
- link.setValue(ReportDecorator.GWT_RESOURCE_URL + resourceId + "/Configuration/History/"
- + update.getId());
- link.setTarget("_self");
- link.setShowTitle(false);
-
- StaticTextItem time = new StaticTextItem();
- time.setDefaultValue(GwtRelativeDurationConverter.format(update.getCreatedTime()));
- time.setShowTitle(false);
- time.setShowPickerIcon(false);
- time.setWrap(false);
- row.setItems(iconItem, link, time);
+ LinkItem link = newLinkItem(linkTitle, ReportDecorator.GWT_RESOURCE_URL + resourceId
+ + "/Configuration/History/" + update.getId());
+ StaticTextItem time = newTextItem(GwtRelativeDurationConverter.format(update
+ .getCreatedTime()));
+ row.setItems(iconItem, link, time);
column.addMember(row);
}
} else {
- LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
- row.setNumCols(3);
- StaticTextItem none = new StaticTextItem();
- none.setShowTitle(false);
- none.setDefaultValue(RECENT_CONFIGURATIONS_NONE);
- none.setWrap(false);
- row.setItems(none);
+ LocatableDynamicForm row = createEmptyDisplayRow(column, RECENT_CONFIGURATIONS_NONE);
column.addMember(row);
}
//cleanup
@@ -489,36 +435,18 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
row.setWidth(10);//pack.
//icon
- StaticTextItem iconItem = new StaticTextItem();
- FormItemIcon img = new FormItemIcon();
- img.setSrc(ImageManager.getEventSeverityIcon(tuple.getLefty()));
- img.setWidth(16);
- img.setHeight(16);
- img.setPrompt(tuple.getLefty().name());
- iconItem.setIcons(img);
- iconItem.setShowTitle(false);
-
+ StaticTextItem iconItem = newTextItemIcon(ImageManager.getEventSeverityIcon(tuple
+ .getLefty()), tuple.getLefty().name());
//count
- StaticTextItem count = new StaticTextItem();
- count.setDefaultValue(tuple.righty);
- count.setShowTitle(false);
- count.setShowPickerIcon(false);
- count.setWrap(false);
+ StaticTextItem count = newTextItem(String.valueOf(tuple.righty));
row.setItems(iconItem, count);
column.addMember(row);
}
} else {
- LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
- row.setNumCols(3);
- StaticTextItem none = new StaticTextItem();
- none.setShowTitle(false);
- none.setDefaultValue(RECENT_EVENTS_NONE);
- none.setWrap(false);
- row.setItems(none);
+ LocatableDynamicForm row = createEmptyDisplayRow(column, RECENT_EVENTS_NONE);
column.addMember(row);
}
- recentEventsContent.setContents("");
//cleanup
for (Canvas child : recentEventsContent.getChildren()) {
child.destroy();
@@ -551,32 +479,17 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(2);
- LinkItem link = new LinkItem();
- link.setLinkTitle(oob.getScheduleName() + ":");
- link.setTitle(oob.getScheduleName() + ":");
- //TODO: change link after charting updated for gwt.
- link.setValue("/resource/common/monitor/Visibility.do?m=" + oob.getDefinitionId() + "&id="
- + resourceId + "&mode=chartSingleMetricSingleResource");
- link.setTarget("_self");
- link.setShowTitle(false);
-
- StaticTextItem time = new StaticTextItem();
- time.setDefaultValue(GwtRelativeDurationConverter.format(oob.getTimestamp()));
- time.setShowTitle(false);
- time.setShowPickerIcon(false);
- time.setWrap(false);
- row.setItems(link, time);
+ String title = oob.getScheduleName() + ":";
+ String destination = "/resource/common/monitor/Visibility.do?m=" + oob.getDefinitionId()
+ + "&id=" + resourceId + "&mode=chartSingleMetricSingleResource";
+ LinkItem link = newLinkItem(title, destination);
+ StaticTextItem time = newTextItem(GwtRelativeDurationConverter.format(oob.getTimestamp()));
+ row.setItems(link, time);
column.addMember(row);
}
} else {
- LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
- row.setNumCols(3);
- StaticTextItem none = new StaticTextItem();
- none.setShowTitle(false);
- none.setDefaultValue(RECENT_OOB_NONE);
- none.setWrap(false);
- row.setItems(none);
+ LocatableDynamicForm row = createEmptyDisplayRow(column, RECENT_OOB_NONE);
column.addMember(row);
}
recentOobContent.setContents("");
@@ -615,41 +528,19 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(3);
- StaticTextItem iconItem = new StaticTextItem();
- FormItemIcon img = new FormItemIcon();
- img.setSrc("subsystems/content/Content_16.png");
- img.setWidth(16);
- img.setHeight(16);
- iconItem.setIcons(img);
- iconItem.setShowTitle(false);
-
- LinkItem link = new LinkItem();
- link.setLinkTitle(history.getPackageVersion().getFileName() + ":");
- link.setTitle(history.getPackageVersion().getFileName() + ":");
-
- //TODO: spinder. Upgrade link when content available in coreGui. Not yet iframed correctly.
- link.setValue("/rhq/resource/content/audit-trail-item.xhtml?id=" + resourceId
- + "&selectedHistoryId=" + history.getId());
- link.setTarget("_self");
- link.setShowTitle(false);
-
- StaticTextItem time = new StaticTextItem();
- time.setDefaultValue(GwtRelativeDurationConverter.format(history.getTimestamp()));
- time.setShowTitle(false);
- time.setShowPickerIcon(false);
- time.setWrap(false);
- row.setItems(iconItem, link, time);
+ StaticTextItem iconItem = newTextItemIcon("subsystems/content/Content_16.png", null);
+ String title = history.getPackageVersion().getFileName() + ":";
+ String destination = "/rhq/resource/content/audit-trail-item.xhtml?id=" + resourceId
+ + "&selectedHistoryId=" + history.getId();
+ LinkItem link = newLinkItem(title, destination);
+ StaticTextItem time = newTextItem(GwtRelativeDurationConverter.format(history
+ .getTimestamp()));
+ row.setItems(iconItem, link, time);
column.addMember(row);
}
} else {
- LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
- row.setNumCols(3);
- StaticTextItem none = new StaticTextItem();
- none.setShowTitle(false);
- none.setDefaultValue(RECENT_PKG_HISTORY_NONE);
- none.setWrap(false);
- row.setItems(none);
+ LocatableDynamicForm row = createEmptyDisplayRow(column, RECENT_PKG_HISTORY_NONE);
column.addMember(row);
}
//cleanup
@@ -669,6 +560,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
private void getRecentMetrics() {
//display container
final LocatableVLayout column = new LocatableVLayout(recentMeasurementsContent.extendLocatorId("Content"));
+ column.setHeight(10);//pack
final int resourceId = this.resourceComposite.getResource().getId();
//retrieve all relevant measurement definition ids.
@@ -757,24 +649,17 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
graphContainer.setCanvas(graph);
//Link/title element
- LinkItem link = new LinkItem();
- link.setLinkTitle(md.getDisplayName() + ":");
//TODO: spinder, change link whenever portal.war/graphing is removed.
- link
- .setValue("/resource/common/monitor/Visibility.do?mode=chartSingleMetricSingleResource&id="
- + resourceId + "&m=" + md.getId());
- link.setTarget("_self");
- link.setShowTitle(false);
+ String title = md.getDisplayName() + ":";
+ String destination = "/resource/common/monitor/Visibility.do?mode=chartSingleMetricSingleResource&id="
+ + resourceId + "&m=" + md.getId();
+ LinkItem link = newLinkItem(title, destination);
//Value
- StaticTextItem value = new StaticTextItem();
String convertedValue = lastValue + " " + md.getUnits();
convertedValue = convertLastValueForDisplay(lastValue, md);
+ StaticTextItem value = newTextItem(convertedValue);
- value.setDefaultValue(convertedValue);
- value.setShowTitle(false);
- value.setShowPickerIcon(false);
- value.setWrap(false);
row.setItems(graphContainer, link, value);
//if graph content returned
if ((md.getName().trim().indexOf("Trait.") == -1) && (lastValue != -1)) {
@@ -784,7 +669,8 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
//call out to 3rd party javascript lib
graphSparkLines();
} else {
- column.setContents(RECENT_MEASUREMENTS_NONE);
+ LocatableDynamicForm row = createEmptyDisplayRow(column, RECENT_MEASUREMENTS_NONE);
+ column.addMember(row);
}
}
});
@@ -793,7 +679,6 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
for (Canvas child : recentMeasurementsContent.getChildren()) {
child.destroy();
}
- recentMeasurementsContent.setContents("");
recentMeasurementsContent.addChild(column);
// graphSparkLines();
recentMeasurementsContent.markForRedraw();
@@ -824,6 +709,62 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
return convertedValue;
}
+ /** Create empty display row(LocatableDynamicForm) that is constently defined and displayed.
+ *
+ * @param column Locatable parent colum.
+ * @param emptyMessage Contents of the empty region
+ * @return
+ */
+ private LocatableDynamicForm createEmptyDisplayRow(Locatable column, String emptyMessage) {
+ LocatableDynamicForm row = null;
+ if (column != null) {
+ row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
+ } else {
+ row = new LocatableDynamicForm(extendLocatorId("ContentForm"));
+ }
+
+ row.setNumCols(3);
+ StaticTextItem none = new StaticTextItem();
+ none.setShowTitle(false);
+ none.setDefaultValue(emptyMessage);
+ none.setWrap(false);
+ row.setItems(none);
+ return row;
+ }
+
+ private StaticTextItem newTextItemIcon(String imageSrc, String mouseOver) {
+ StaticTextItem iconItem = new StaticTextItem();
+ FormItemIcon img = new FormItemIcon();
+ img.setSrc(imageSrc);
+ img.setWidth(16);
+ img.setHeight(16);
+ if (mouseOver != null) {
+ img.setPrompt(mouseOver);
+ }
+ iconItem.setIcons(img);
+ iconItem.setShowTitle(false);
+ return iconItem;
+ }
+
+ private LinkItem newLinkItem(String title, String destination) {
+ LinkItem link = new LinkItem();
+ link.setLinkTitle(title);
+ link.setTitle(title);
+ link.setValue(destination);
+ link.setTarget("_self");
+ link.setShowTitle(false);
+ return link;
+ }
+
+ private StaticTextItem newTextItem(String contents) {
+ StaticTextItem item = new StaticTextItem();
+ item.setDefaultValue(contents);
+ item.setShowTitle(false);
+ item.setShowPickerIcon(false);
+ item.setWrap(false);
+ return item;
+ }
+
//This is a JSNI call out to the third party javascript lib to execute on the data inserted into the DOM.
public static native void graphSparkLines()
/*-{
commit 648349254f258114f42aef91e83e6cb3e4461879
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Fri Jan 21 02:59:40 2011 -0500
missing message and i18n for activityView page.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
index 898f8c6..8742787 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
@@ -408,10 +408,14 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
iconItem.setShowTitle(false);
LinkItem link = new LinkItem();
- link.setLinkTitle(MSG.view_resource_inventory_activity_changed_by() + " "
- + update.getSubjectName() + ":");
- link.setTitle(MSG.view_resource_inventory_activity_changed_by() + " "
- + update.getSubjectName() + ":");
+ String linkTitle = MSG.view_resource_inventory_activity_changed_by() + " "
+ + update.getSubjectName() + ":";
+ if ((update.getSubjectName() == null) || (update.getSubjectName().trim().isEmpty())) {
+ linkTitle = MSG.common_msg_changeAutoDetected();
+ ;
+ }
+ link.setLinkTitle(linkTitle);
+ link.setTitle(linkTitle);
link.setValue(ReportDecorator.GWT_RESOURCE_URL + resourceId + "/Configuration/History/"
+ update.getId());
link.setTarget("_self");
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 b8b4d13..cd939a9 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
@@ -185,6 +185,7 @@ common_title_welcome = Welcome
# Common Messages
#--------------
common_msg_areYouSure = Are You Sure?
+common_msg_changeAutoDetected = Change auto-detected
common_msg_deleteConfirm = Are you sure you want to delete the # selected {0}?
common_msg_emphasizedNotePrefix = NOTE:
common_msg_loading = Loading...
commit 2305ba83c61ef939214ac2c390e8766190924603
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Fri Jan 21 02:41:35 2011 -0500
i)fix copy paste error in ImageManager ii)update recent configuration region.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java
index c9afaec..da0b477 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java
@@ -380,7 +380,7 @@ public class ImageManager {
icon = "_warning";
break;
case ERROR:
- icon = "_info";
+ icon = "_error";
break;
case FATAL:
icon = "_fatal";
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
index 789e778..898f8c6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
@@ -20,7 +20,6 @@ package org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.summary;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -249,8 +248,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
column.setHeight(10);
if (!result.isEmpty()) {
for (Alert alert : result) {
- LocatableDynamicForm row = new LocatableDynamicForm(recentAlertsContent
- .extendLocatorId("ContentForm"));
+ LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(3);
StaticTextItem iconItem = new StaticTextItem();
@@ -320,8 +318,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
column.setHeight(10);
if (!result.isEmpty()) {
for (DisambiguationReport<ResourceOperationLastCompletedComposite> report : result) {
- LocatableDynamicForm row = new LocatableDynamicForm(recentOperationsContent
- .extendLocatorId("ContentForm"));
+ LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(3);
StaticTextItem iconItem = new StaticTextItem();
@@ -352,8 +349,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
column.addMember(row);
}
} else {
- LocatableDynamicForm row = new LocatableDynamicForm(recentOperationsContent
- .extendLocatorId("ContentForm"));
+ LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(3);
StaticTextItem none = new StaticTextItem();
none.setShowTitle(false);
@@ -376,10 +372,14 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
*/
private void getRecentConfigurationUpdates() {
final int resourceId = this.resourceComposite.getResource().getId();
+
+ //construct criteria( last five config updates for resourceId sorted by cTime)
ResourceConfigurationUpdateCriteria criteria = new ResourceConfigurationUpdateCriteria();
criteria.addFilterResourceIds(resourceId);
PageControl pageControl = new PageControl(0, 5);
+ criteria.addSortCtime(PageOrdering.DESC);
criteria.setPageControl(pageControl);
+
GWTServiceLookup.getConfigurationService().findResourceConfigurationUpdatesByCriteria(criteria,
new AsyncCallback<PageList<ResourceConfigurationUpdate>>() {
@@ -391,12 +391,12 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
@Override
public void onSuccess(PageList<ResourceConfigurationUpdate> result) {
- LocatableVLayout column = new LocatableVLayout(recentOperationsContent.extendLocatorId("Content"));
+ LocatableVLayout column = new LocatableVLayout(recentConfigurationContent
+ .extendLocatorId("Content"));
column.setHeight(10);
if (!result.isEmpty()) {
for (ResourceConfigurationUpdate update : result) {
- LocatableDynamicForm row = new LocatableDynamicForm(recentConfigurationContent
- .extendLocatorId("ContentForm"));
+ LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(3);
StaticTextItem iconItem = new StaticTextItem();
@@ -409,16 +409,16 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
LinkItem link = new LinkItem();
link.setLinkTitle(MSG.view_resource_inventory_activity_changed_by() + " "
- + update.getSubjectName());
+ + update.getSubjectName() + ":");
link.setTitle(MSG.view_resource_inventory_activity_changed_by() + " "
- + update.getSubjectName());
+ + update.getSubjectName() + ":");
link.setValue(ReportDecorator.GWT_RESOURCE_URL + resourceId + "/Configuration/History/"
+ update.getId());
link.setTarget("_self");
link.setShowTitle(false);
StaticTextItem time = new StaticTextItem();
- time.setDefaultValue(new Date(update.getCreatedTime()).toString());
+ time.setDefaultValue(GwtRelativeDurationConverter.format(update.getCreatedTime()));
time.setShowTitle(false);
time.setShowPickerIcon(false);
time.setWrap(false);
@@ -427,8 +427,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
column.addMember(row);
}
} else {
- LocatableDynamicForm row = new LocatableDynamicForm(recentConfigurationContent
- .extendLocatorId("ContentForm"));
+ LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(3);
StaticTextItem none = new StaticTextItem();
none.setShowTitle(false);
@@ -481,8 +480,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
if (!results.isEmpty()) {
for (GwtTuple<EventSeverity, Integer> tuple : results) {
- LocatableDynamicForm row = new LocatableDynamicForm(recentEventsContent
- .extendLocatorId("ContentForm"));
+ LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(2);
row.setWidth(10);//pack.
@@ -507,8 +505,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
column.addMember(row);
}
} else {
- LocatableDynamicForm row = new LocatableDynamicForm(recentEventsContent
- .extendLocatorId("ContentForm"));
+ LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(3);
StaticTextItem none = new StaticTextItem();
none.setShowTitle(false);
@@ -547,8 +544,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
column.setHeight(10);
if (!result.isEmpty()) {
for (MeasurementOOBComposite oob : result) {
- LocatableDynamicForm row = new LocatableDynamicForm(recentOobContent
- .extendLocatorId("ContentForm"));
+ LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(2);
LinkItem link = new LinkItem();
@@ -570,8 +566,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
column.addMember(row);
}
} else {
- LocatableDynamicForm row = new LocatableDynamicForm(recentOobContent
- .extendLocatorId("ContentForm"));
+ LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(3);
StaticTextItem none = new StaticTextItem();
none.setShowTitle(false);
@@ -613,8 +608,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
column.setHeight(10);
if (!result.isEmpty()) {
for (InstalledPackageHistory history : result) {
- LocatableDynamicForm row = new LocatableDynamicForm(recentPkgHistoryContent
- .extendLocatorId("ContentForm"));
+ LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(3);
StaticTextItem iconItem = new StaticTextItem();
@@ -645,8 +639,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
column.addMember(row);
}
} else {
- LocatableDynamicForm row = new LocatableDynamicForm(recentPkgHistoryContent
- .extendLocatorId("ContentForm"));
+ LocatableDynamicForm row = new LocatableDynamicForm(column.extendLocatorId("ContentForm"));
row.setNumCols(3);
StaticTextItem none = new StaticTextItem();
none.setShowTitle(false);
commit 96dd3c548fcae2334c91117289310980f941ccd9
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Fri Jan 21 01:25:00 2011 -0500
updating recent events region of Activity page. Added GWT serializable version of Tuple.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/EventGWTService.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/EventGWTService.java
index ebe1326..22aec4a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/EventGWTService.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/EventGWTService.java
@@ -23,6 +23,7 @@
package org.rhq.enterprise.gui.coregui.client.gwt;
import java.util.List;
+import java.util.Map;
import com.google.gwt.user.client.rpc.RemoteService;
@@ -54,4 +55,6 @@ public interface EventGWTService extends RemoteService {
int deleteEventsForContext(EntityContext context, List<Integer> eventIds) throws RuntimeException;
int purgeEventsForContext(EntityContext context) throws RuntimeException;
+
+ Map<EventSeverity, Integer> getEventCountsBySeverity(int resourceId, long startDate, long endDate);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
index d034f93..789e778 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
@@ -18,10 +18,12 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.summary;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import com.allen_sauer.gwt.log.client.Log;
@@ -40,9 +42,9 @@ import org.rhq.core.domain.alert.Alert;
import org.rhq.core.domain.configuration.ResourceConfigurationUpdate;
import org.rhq.core.domain.content.InstalledPackageHistory;
import org.rhq.core.domain.criteria.AlertCriteria;
-import org.rhq.core.domain.criteria.EventCriteria;
import org.rhq.core.domain.criteria.InstalledPackageCriteria;
import org.rhq.core.domain.criteria.ResourceConfigurationUpdateCriteria;
+import org.rhq.core.domain.event.EventSeverity;
import org.rhq.core.domain.measurement.MeasurementDefinition;
import org.rhq.core.domain.measurement.composite.MeasurementDataNumericHighLowComposite;
import org.rhq.core.domain.measurement.composite.MeasurementOOBComposite;
@@ -57,6 +59,7 @@ import org.rhq.enterprise.gui.coregui.client.RefreshableView;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.resource.disambiguation.ReportDecorator;
import org.rhq.enterprise.gui.coregui.client.util.GwtRelativeDurationConverter;
+import org.rhq.enterprise.gui.coregui.client.util.GwtTuple;
import org.rhq.enterprise.gui.coregui.client.util.measurement.GwtMonitorUtils;
import org.rhq.enterprise.gui.coregui.client.util.selenium.Locatable;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableCanvas;
@@ -173,7 +176,7 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
rightPane.addMember(recentEventsTitle);
rightPane.addMember(recentEventsContent);
recentEventsContent.setHeight(20);
- recentEventsContent.setContents(RECENT_EVENTS_NONE);
+ // recentEventsContent.setContents(RECENT_EVENTS_NONE);
rightPane.addMember(divider5);
//recentPackageHistory.xhtml
LocatableHLayout recentPkgHistoryTitle = new TitleWithIcon(leftPane, "RecentPkgHistory",
@@ -444,73 +447,85 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
});
}
+ /** Fetches recent events and updates the DynamicForm instance with the latest
+ * event information over last 24hrs.
+ */
private void getRecentEventUpdates() {
+
final int resourceId = this.resourceComposite.getResource().getId();
- EventCriteria criteria = new EventCriteria();
- // criteria.addFilterResourceIds(resourceId);
long now = System.currentTimeMillis();
long nowMinus24Hours = now - (24 * 60 * 60 * 1000);
- criteria.addFilterResourceId(resourceId);
- PageControl pageControl = PageControl.getUnlimitedInstance();
- criteria.setPageControl(pageControl);
- //Error retrieving recent event counts for resource [" + resourceId + "]:"
- // GWTServiceLookup.getEventService().getEventCountsBySeverity(resourceId, nowMinus24Hours, now,
- // new AsyncCallback<Map<EventSeverity, Integer>>() {
- // @Override
- // public void onFailure(Throwable caught) {
- // Log.debug("Error retrieving recent event counts for resource [" + resourceId + "]:"
- // + caught.getMessage());
- // }
- //
- // @Override
- // public void onSuccess(Map<EventSeverity, Integer> result) {
- // LocatableVLayout column = new LocatableVLayout(recentOperationsContent.extendLocatorId("Content"));
- // column.setHeight(10);
- // if (!result.isEmpty()) {
- // for (Entry<EventSeverity, Integer> entry : result.entrySet()) {
- // EventSeverity severity = entry.getKey();
- // LocatableDynamicForm row = new LocatableDynamicForm(recentOperationsContent
- // .extendLocatorId("ContentForm"));
- // row.setNumCols(2);
- //
- // StaticTextItem iconItem = new StaticTextItem();
- // FormItemIcon img = new FormItemIcon();
- // img.setSrc(ImageManager.getEventSeverityIcon(severity));
- // // img.set
- // img.setWidth(16);
- // img.setHeight(16);
- // iconItem.setIcons(img);
- // iconItem.setShowTitle(false);
- //
- // StaticTextItem time = new StaticTextItem();
- // time.setDefaultValue(entry.getValue());
- // time.setShowTitle(false);
- // time.setShowPickerIcon(false);
- // time.setWrap(false);
- // row.setItems(iconItem, time);
- //
- // column.addMember(row);
- // }
- // } else {
- // LocatableDynamicForm row = new LocatableDynamicForm(recentEventsContent
- // .extendLocatorId("ContentForm"));
- // row.setNumCols(3);
- // StaticTextItem none = new StaticTextItem();
- // none.setShowTitle(false);
- // none.setDefaultValue(RECENT_EVENTS_NONE);
- // none.setWrap(false);
- // row.setItems(none);
- // column.addMember(row);
- // }
- // //cleanup
- // for (Canvas child : recentEventsContent.getChildren()) {
- // child.destroy();
- // }
- // recentEventsContent.addChild(column);
- // recentEventsContent.markForRedraw();
- // }
- // });
+ GWTServiceLookup.getEventService().getEventCountsBySeverity(resourceId, nowMinus24Hours, now,
+ new AsyncCallback<Map<EventSeverity, Integer>>() {
+
+ @Override
+ public void onFailure(Throwable caught) {
+ Log.debug("Error retrieving recent event counts for resource [" + resourceId + "]:"
+ + caught.getMessage());
+ }
+
+ @Override
+ public void onSuccess(Map<EventSeverity, Integer> eventCounts) {
+ //Now populated Tuples
+ List<GwtTuple<EventSeverity, Integer>> results = new ArrayList<GwtTuple<EventSeverity, Integer>>();
+ for (EventSeverity severity : eventCounts.keySet()) {
+ int count = eventCounts.get(severity);
+ if (count > 0) {
+ results.add(new GwtTuple<EventSeverity, Integer>(severity, count));
+ }
+ }
+ //build display
+ LocatableVLayout column = new LocatableVLayout(recentEventsContent.extendLocatorId("Content"));
+ column.setHeight(10);
+
+ if (!results.isEmpty()) {
+ for (GwtTuple<EventSeverity, Integer> tuple : results) {
+ LocatableDynamicForm row = new LocatableDynamicForm(recentEventsContent
+ .extendLocatorId("ContentForm"));
+ row.setNumCols(2);
+ row.setWidth(10);//pack.
+
+ //icon
+ StaticTextItem iconItem = new StaticTextItem();
+ FormItemIcon img = new FormItemIcon();
+ img.setSrc(ImageManager.getEventSeverityIcon(tuple.getLefty()));
+ img.setWidth(16);
+ img.setHeight(16);
+ img.setPrompt(tuple.getLefty().name());
+ iconItem.setIcons(img);
+ iconItem.setShowTitle(false);
+
+ //count
+ StaticTextItem count = new StaticTextItem();
+ count.setDefaultValue(tuple.righty);
+ count.setShowTitle(false);
+ count.setShowPickerIcon(false);
+ count.setWrap(false);
+ row.setItems(iconItem, count);
+
+ column.addMember(row);
+ }
+ } else {
+ LocatableDynamicForm row = new LocatableDynamicForm(recentEventsContent
+ .extendLocatorId("ContentForm"));
+ row.setNumCols(3);
+ StaticTextItem none = new StaticTextItem();
+ none.setShowTitle(false);
+ none.setDefaultValue(RECENT_EVENTS_NONE);
+ none.setWrap(false);
+ row.setItems(none);
+ column.addMember(row);
+ }
+ recentEventsContent.setContents("");
+ //cleanup
+ for (Canvas child : recentEventsContent.getChildren()) {
+ child.destroy();
+ }
+ recentEventsContent.addChild(column);
+ recentEventsContent.markForRedraw();
+ }
+ });
}
/** Fetches OOB measurements and updates the DynamicForm instance with the latest 5
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/GwtTuple.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/GwtTuple.java
new file mode 100644
index 0000000..3ec7ccc
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/GwtTuple.java
@@ -0,0 +1,83 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2008 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+package org.rhq.enterprise.gui.coregui.client.util;
+
+/**
+ * A GWT serializable version of org.rhq.enterprise.server.alert.engine.internal.Tuple
+ *
+ * @author Simeon Pinder
+ * @author Joseph Marques
+ */
+public class GwtTuple<L, R> {
+ public L lefty;
+ public R righty;
+
+ public GwtTuple(L lefty, R righty) {
+ this.lefty = lefty;
+ this.righty = righty;
+ }
+
+ public L getLefty() {
+ return this.lefty;
+ }
+
+ public R getRighty() {
+ return this.righty;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = 1;
+ result = (31 * result) + ((lefty == null) ? 0 : lefty.hashCode());
+ result = (31 * result) + ((righty == null) ? 0 : righty.hashCode());
+ return result;
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public boolean equals(Object obj) {
+ if (this == obj) {
+ return true;
+ }
+
+ if ((obj == null) || (!(obj instanceof GwtTuple))) {
+ return false;
+ }
+
+ final GwtTuple<L, R> other = (GwtTuple<L, R>) obj;
+
+ if (lefty == null) {
+ if (other.lefty != null) {
+ return false;
+ }
+ } else if (!lefty.equals(other.lefty)) {
+ return false;
+ }
+
+ if (righty == null) {
+ if (other.righty != null) {
+ return false;
+ }
+ } else if (!righty.equals(other.righty)) {
+ return false;
+ }
+
+ return true;
+ }
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/EventGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/EventGWTServiceImpl.java
index 9654a9d..1aa9949 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/EventGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/EventGWTServiceImpl.java
@@ -23,6 +23,7 @@
package org.rhq.enterprise.gui.coregui.server.gwt;
import java.util.List;
+import java.util.Map;
import org.rhq.core.domain.common.EntityContext;
import org.rhq.core.domain.criteria.EventCriteria;
@@ -77,14 +78,14 @@ public class EventGWTServiceImpl extends AbstractGWTServiceImpl implements Event
}
}
- // public Map<EventSeverity, Integer> getEventCountsBySeverity(int resourceId, long startDate, long endDate) {
- // try {
- // return SerialUtility.prepare(eventManager.getEventCountsBySeverity(getSessionSubject(), resourceId,
- // startDate, endDate), "EventService.getEventCountsBySeverity");
- // } catch (Exception e) {
- // throw new RuntimeException(ThrowableUtil.getAllMessages(e));
- // }
- // }
+ public Map<EventSeverity, Integer> getEventCountsBySeverity(int resourceId, long startDate, long endDate) {
+ try {
+ return SerialUtility.prepare(eventManager.getEventCountsBySeverity(getSessionSubject(), resourceId,
+ startDate, endDate), "EventService.getEventCountsBySeverity");
+ } catch (Exception e) {
+ throw new RuntimeException(ThrowableUtil.getAllMessages(e));
+ }
+ }
public PageList<Event> findEventsByCriteria(EventCriteria criteria) throws RuntimeException {
try {
commit a2b3c650b73f90919370a87245c8c0a337216b7e
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Thu Jan 20 21:30:43 2011 -0500
update oob region details.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
index 3181eef..d034f93 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView2.java
@@ -513,12 +513,11 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
// });
}
+ /** Fetches OOB measurements and updates the DynamicForm instance with the latest 5
+ * oob change details.
+ */
private void getRecentOobs() {
final int resourceId = this.resourceComposite.getResource().getId();
- AlertCriteria criteria = new AlertCriteria();
- criteria.addFilterResourceIds(resourceId);
- PageControl pageControl = new PageControl(0, 5);
- criteria.setPageControl(pageControl);
GWTServiceLookup.getMeasurementDataService().getHighestNOOBsForResource(resourceId, 5,
new AsyncCallback<PageList<MeasurementOOBComposite>>() {
@Override
@@ -535,32 +534,25 @@ public class ActivityView2 extends LocatableHLayout implements RefreshableView {
for (MeasurementOOBComposite oob : result) {
LocatableDynamicForm row = new LocatableDynamicForm(recentOobContent
.extendLocatorId("ContentForm"));
- row.setNumCols(3);
+ row.setNumCols(2);
+
+ LinkItem link = new LinkItem();
+ link.setLinkTitle(oob.getScheduleName() + ":");
+ link.setTitle(oob.getScheduleName() + ":");
+ //TODO: change link after charting updated for gwt.
+ link.setValue("/resource/common/monitor/Visibility.do?m=" + oob.getDefinitionId() + "&id="
+ + resourceId + "&mode=chartSingleMetricSingleResource");
+ link.setTarget("_self");
+ link.setShowTitle(false);
+
+ StaticTextItem time = new StaticTextItem();
+ time.setDefaultValue(GwtRelativeDurationConverter.format(oob.getTimestamp()));
+ time.setShowTitle(false);
+ time.setShowPickerIcon(false);
+ time.setWrap(false);
+ row.setItems(link, time);
- // StaticTextItem iconItem = new StaticTextItem();
- // FormItemIcon img = new FormItemIcon();
- // img.setSrc(ImageManager.getAlertIcon(alert.getAlertDefinition().getPriority()));
- // img.setWidth(16);
- // img.setHeight(16);
- // iconItem.setIcons(img);
- // iconItem.setShowTitle(false);
- //
- // LinkItem link = new LinkItem();
- // link.setLinkTitle(alert.getAlertDefinition().getName());
- // link.setTitle(alert.getAlertDefinition().getName());
- // link.setValue(ReportDecorator.GWT_RESOURCE_URL + resourceId + "/Alerts/Definitions/"
- // + alert.getAlertDefinition().getId());
- // link.setTarget("_self");
- // link.setShowTitle(false);
- //
- // StaticTextItem time = new StaticTextItem();
- // time.setDefaultValue(new Date(alert.getAlertDefinition().getCtime()).toString());
- // time.setShowTitle(false);
- // time.setShowPickerIcon(false);
- // time.setWrap(false);
- // row.setItems(iconItem, link, time);
- //
- // column.addMember(row);
+ column.addMember(row);
}
} else {
LocatableDynamicForm row = new LocatableDynamicForm(recentOobContent