[rhq] 2 commits - modules/enterprise
by Simeon Pinder
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java | 79 +++++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java | 44 +++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java | 46 ++++-
3 files changed, 125 insertions(+), 44 deletions(-)
New commits:
commit 9fb84ad1ef8050bc76e7992bfcdf3945fd50c575
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Tue Mar 1 15:34:23 2011 -0500
modify resource activity regions to enable on facet availability.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
index 2ec1bee..ccbe871 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
@@ -142,6 +142,7 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
ResourceGroup group = null;
GroupCategory groupCategory = null;
Set<ResourceTypeFacet> facets = null;
+ Set<ResourceTypeFacet> resourceFacets = null;
if ((groupComposite != null) && (groupComposite.getResourceGroup() != null)) {
group = groupComposite.getResourceGroup();
group = groupComposite.getResourceGroup();
@@ -150,6 +151,7 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
}
if (resourceComposite != null) {
resource = resourceComposite.getResource();
+ resourceFacets = this.resourceComposite.getResourceFacets().getFacets();
}
//recentMetrics.xhtml
@@ -183,7 +185,8 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
HLayout recentConfigUpdatesTitle = new TitleWithIcon("subsystems/configure/Configure_24.png",
RECENT_CONFIGURATIONS);
recentConfigurationContent.setHeight(20);
- if ((resource != null) || (displayGroupConfigurationUpdates(groupCategory, facets))) {//resource
+ if (((resource != null) && (resourceFacets.contains(ResourceTypeFacet.CONFIGURATION)))
+ || (displayGroupConfigurationUpdates(groupCategory, facets))) {//resource
rightPane.addMember(recentConfigUpdatesTitle);
rightPane.addMember(recentConfigurationContent);
firstRightPanePortletLoaded = true;
@@ -192,7 +195,8 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
//recentOperations.xhtml
HLayout recentOperationsTitle = new TitleWithIcon("subsystems/control/Operation_24.png", RECENT_OPERATIONS);
recentOperationsContent.setHeight(20);
- if ((resource != null) || (displayGroupOperations(groupCategory, facets))) {//resource
+ if (((resource != null) && (resourceFacets.contains(ResourceTypeFacet.OPERATION)))
+ || (displayGroupOperations(groupCategory, facets))) {//resource
if (firstRightPanePortletLoaded) {
rightPane.addMember(divider3);
}
@@ -203,7 +207,8 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
//recentEventCounts.xhtml
HLayout recentEventsTitle = new TitleWithIcon("subsystems/event/Events_24.png", RECENT_EVENTS);
recentEventsContent.setHeight(20);
- if ((resource != null) || displayGroupEvents(groupCategory, facets)) {//resource
+ if (((resource != null) && (resourceFacets.contains(ResourceTypeFacet.EVENT)))
+ || displayGroupEvents(groupCategory, facets)) {//resource
if (firstRightPanePortletLoaded) {
rightPane.addMember(divider4);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
index 54a9d93..1e37f9b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
@@ -48,6 +48,8 @@ import org.rhq.core.domain.measurement.composite.MeasurementDataNumericHighLowCo
import org.rhq.core.domain.measurement.composite.MeasurementOOBComposite;
import org.rhq.core.domain.operation.composite.ResourceOperationLastCompletedComposite;
import org.rhq.core.domain.resource.Resource;
+import org.rhq.core.domain.resource.ResourceType;
+import org.rhq.core.domain.resource.ResourceTypeFacet;
import org.rhq.core.domain.resource.composite.DisambiguationReport;
import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.core.domain.util.PageControl;
@@ -86,21 +88,39 @@ public class ActivityView extends AbstractActivityView {
/**Initiates data request.
*/
protected void loadData() {
- getRecentAlerts();
- getRecentOperations();
- getRecentConfigurationUpdates();
- getRecentEventUpdates();
- getRecentOobs();
- getRecentPkgHistory();
- getRecentMetrics();
-
- //conditionally display Bundle Deployments region.
+
+ ResourceType type = null;
Resource resource = null;
- if (resourceComposite != null) {
+ Set<ResourceTypeFacet> facets = null;
+
+ if ((resourceComposite != null) && (resourceComposite.getResource() != null)) {
resource = resourceComposite.getResource();
- }
- if ((resource != null) && (displayBundlesForResource(resource))) {
- getRecentBundleDeployments();
+ type = this.resourceComposite.getResource().getResourceType();
+ facets = this.resourceComposite.getResourceFacets().getFacets();
+
+ //alerts
+ getRecentAlerts();
+ //operations
+ if (facets.contains(ResourceTypeFacet.OPERATION)) {
+ getRecentOperations();
+ }
+ //config updates
+ if (facets.contains(ResourceTypeFacet.CONFIGURATION)) {
+ getRecentConfigurationUpdates();
+ }
+ //events
+ if (facets.contains(ResourceTypeFacet.EVENT)) {
+ getRecentEventUpdates();
+ }
+ //measurements
+ getRecentOobs();
+ getRecentPkgHistory();
+ getRecentMetrics();
+
+ //conditionally display Bundle Deployments region.
+ if (displayBundlesForResource(resource)) {
+ getRecentBundleDeployments();
+ }
}
}
commit 3e54fc6f0a3698d5e24fec13de22ce2f64d695e7
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Tue Mar 1 15:03:46 2011 -0500
modify group activity display to display with facet availability.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
index 0aa86cf..2ec1bee 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
@@ -39,6 +39,7 @@ import org.rhq.core.domain.criteria.ResourceGroupCriteria;
import org.rhq.core.domain.measurement.MeasurementDefinition;
import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.resource.ResourceCategory;
+import org.rhq.core.domain.resource.ResourceTypeFacet;
import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.core.domain.resource.group.GroupCategory;
import org.rhq.core.domain.resource.group.ResourceGroup;
@@ -99,6 +100,7 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
private ResourceComposite resourceComposite = null;
private HLayout recentBundleDeployTitle;
private ToolStrip footer;
+ private boolean firstRightPanePortletLoaded = false;
public AbstractActivityView(String locatorId, ResourceGroupComposite groupComposite,
ResourceComposite resourceComposite) {
@@ -138,8 +140,13 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
Resource resource = null;
ResourceGroup group = null;
- if (groupComposite != null) {
+ GroupCategory groupCategory = null;
+ Set<ResourceTypeFacet> facets = null;
+ if ((groupComposite != null) && (groupComposite.getResourceGroup() != null)) {
+ group = groupComposite.getResourceGroup();
group = groupComposite.getResourceGroup();
+ groupCategory = groupComposite.getResourceGroup().getGroupCategory();
+ facets = groupComposite.getResourceFacets().getFacets();
}
if (resourceComposite != null) {
resource = resourceComposite.getResource();
@@ -147,7 +154,7 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
//recentMetrics.xhtml
HLayout recentMetricsTitle = new TitleWithIcon("subsystems/monitor/Monitor_24.png", RECENT_MEASUREMENTS);
- if ((resource != null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
+ if ((resource != null) || ((group != null) && (groupCategory.equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
leftPane.addMember(recentMetricsTitle);
leftPane.addMember(recentMeasurementsContent);
recentMeasurementsContent.setHeight(20);
@@ -160,45 +167,57 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
recentAlertsContent.setHeight(20);
//recentOOBs.xhtml
HLayout recentOobsTitle = new TitleWithIcon("subsystems/monitor/Monitor_failed_24.png", RECENT_OOB);
-
- if ((resource != null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
+ recentOobContent.setHeight(20);
+ if ((resource != null) || ((group != null) && (groupCategory.equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
leftPane.addMember(divider2);
leftPane.addMember(recentOobsTitle);
leftPane.addMember(recentOobContent);
- recentOobContent.setHeight(20);
}
//rightPane
rightPane.setWidth("50%");
rightPane.setPadding(5);
rightPane.setMembersMargin(5);
rightPane.setAutoHeight();
+ firstRightPanePortletLoaded = false;
//recentConfigUpdates.xhtml
HLayout recentConfigUpdatesTitle = new TitleWithIcon("subsystems/configure/Configure_24.png",
RECENT_CONFIGURATIONS);
- if ((resource != null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
+ recentConfigurationContent.setHeight(20);
+ if ((resource != null) || (displayGroupConfigurationUpdates(groupCategory, facets))) {//resource
rightPane.addMember(recentConfigUpdatesTitle);
rightPane.addMember(recentConfigurationContent);
- recentConfigurationContent.setHeight(20);
- rightPane.addMember(divider3);
+ firstRightPanePortletLoaded = true;
}
+
//recentOperations.xhtml
HLayout recentOperationsTitle = new TitleWithIcon("subsystems/control/Operation_24.png", RECENT_OPERATIONS);
- if ((resource != null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
+ recentOperationsContent.setHeight(20);
+ if ((resource != null) || (displayGroupOperations(groupCategory, facets))) {//resource
+ if (firstRightPanePortletLoaded) {
+ rightPane.addMember(divider3);
+ }
rightPane.addMember(recentOperationsTitle);
rightPane.addMember(recentOperationsContent);
- recentOperationsContent.setHeight(20);
- rightPane.addMember(divider4);
+ firstRightPanePortletLoaded = true;
}
//recentEventCounts.xhtml
HLayout recentEventsTitle = new TitleWithIcon("subsystems/event/Events_24.png", RECENT_EVENTS);
- rightPane.addMember(recentEventsTitle);
- rightPane.addMember(recentEventsContent);
recentEventsContent.setHeight(20);
+ if ((resource != null) || displayGroupEvents(groupCategory, facets)) {//resource
+ if (firstRightPanePortletLoaded) {
+ rightPane.addMember(divider4);
+ }
+ rightPane.addMember(recentEventsTitle);
+ rightPane.addMember(recentEventsContent);
+ firstRightPanePortletLoaded = true;
+ }
//recentPackageHistory.xhtml
HLayout recentPkgHistoryTitle = new TitleWithIcon("subsystems/content/Package_24.png", RECENT_PKG_HISTORY);
recentPkgHistoryContent.setHeight(20);
- if ((resource != null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
- rightPane.addMember(divider5);
+ if ((resource != null) || ((group != null) && (groupCategory.equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
+ if (firstRightPanePortletLoaded) {
+ rightPane.addMember(divider5);
+ }
rightPane.addMember(recentPkgHistoryTitle);
rightPane.addMember(recentPkgHistoryContent);
}
@@ -315,7 +334,9 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
HTMLFlow divider6 = new HTMLFlow("<hr/>");
divider6.setWidth("50%");
- rightPane.addMember(divider6);
+ if (firstRightPanePortletLoaded) {
+ rightPane.addMember(divider6);
+ }
rightPane.addMember(recentBundleDeployTitle);
rightPane.addMember(recentBundleDeployContent);
rightPane.markForRedraw();
@@ -428,4 +449,25 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
}
}
+ protected boolean displayGroupConfigurationUpdates(GroupCategory groupCategory, Set<ResourceTypeFacet> facets) {
+ if ((groupCategory == null) || facets == null) {
+ return false;
+ }
+ return (groupCategory == GroupCategory.COMPATIBLE && facets.contains(ResourceTypeFacet.CONFIGURATION));
+ }
+
+ protected boolean displayGroupOperations(GroupCategory groupCategory, Set<ResourceTypeFacet> facets) {
+ if ((groupCategory == null) || facets == null) {
+ return false;
+ }
+ return ((groupCategory == GroupCategory.COMPATIBLE) && facets.contains(ResourceTypeFacet.OPERATION));
+ }
+
+ protected boolean displayGroupEvents(GroupCategory groupCategory, Set<ResourceTypeFacet> facets) {
+ if ((groupCategory == null) || facets == null) {
+ return false;
+ }
+ return ((groupCategory == GroupCategory.MIXED) || (groupCategory == GroupCategory.COMPATIBLE && facets
+ .contains(ResourceTypeFacet.EVENT)));
+ }
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java
index 14cd2b3..71a1bf8 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java
@@ -50,6 +50,7 @@ import org.rhq.core.domain.measurement.MeasurementDefinition;
import org.rhq.core.domain.measurement.composite.MeasurementDataNumericHighLowComposite;
import org.rhq.core.domain.measurement.composite.MeasurementOOBComposite;
import org.rhq.core.domain.operation.GroupOperationHistory;
+import org.rhq.core.domain.resource.ResourceTypeFacet;
import org.rhq.core.domain.resource.composite.DisambiguationReport;
import org.rhq.core.domain.resource.group.GroupCategory;
import org.rhq.core.domain.resource.group.ResourceGroup;
@@ -89,23 +90,36 @@ public class ActivityView2 extends AbstractActivityView {
/**Initiates data request.
*/
protected void loadData() {
- getRecentAlerts();
- getRecentEventUpdates();
- if ((groupComposite != null)
- && (groupComposite.getResourceGroup().getGroupCategory().equals(GroupCategory.COMPATIBLE))) {//CompatibleGroup
- //TODO: spinder should we drive these calls off of facet availability?
- getRecentOperations();
- getRecentConfigurationUpdates();
- getRecentOobs();
- getRecentPkgHistory();
- getRecentMetrics();
- }
- //conditionally display Bundle deployments for groups of platforms only
ResourceGroup group = null;
- if (groupComposite != null) {
+ GroupCategory groupCategory = null;
+ Set<ResourceTypeFacet> facets = null;
+ if ((groupComposite != null) && (groupComposite.getResourceGroup() != null)) {
group = groupComposite.getResourceGroup();
- }
- if (group != null) {
+ groupCategory = groupComposite.getResourceGroup().getGroupCategory();
+ //Load Facets to conditionally display relevant tabs
+ facets = groupComposite.getResourceFacets().getFacets();
+
+ getRecentAlerts();
+ //events
+ if (displayGroupEvents(groupCategory, facets)) {
+ getRecentEventUpdates();
+ }
+ //operations
+ if (displayGroupOperations(groupCategory, facets)) {
+ getRecentOperations();
+ }
+ //Config updates
+ if (displayGroupConfigurationUpdates(groupCategory, facets)) {
+ getRecentConfigurationUpdates();
+ }
+ //recentMetrics,oobs,pkghistory
+ if (groupCategory == GroupCategory.COMPATIBLE) {
+ getRecentOobs();
+ getRecentPkgHistory();
+ getRecentMetrics();
+ }
+
+ //conditionally display Bundle deployments for groups of platforms only
displayBundleDeploymentsForPlatformGroups(group);
}
}
13 years, 2 months
[rhq] modules/enterprise
by ips
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java | 27 ++++++----
1 file changed, 17 insertions(+), 10 deletions(-)
New commits:
commit 67fe9f776ddf21fcb2ee70f98fc345e184b15e43
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Mar 1 13:46:11 2011 -0500
hide button bar (i.e. Save button) on resource config edit view until the resource config has been successfully loaded (https://bugzilla.redhat.com/show_bug.cgi?id=561063)
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
index 6f207ba..e3d6d50 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
@@ -1,6 +1,6 @@
/*
* RHQ Management Platform
- * Copyright (C) 2005-2010 Red Hat, Inc.
+ * Copyright (C) 2005-2011 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
@@ -62,10 +62,12 @@ public class ResourceConfigurationEditView extends LocatableVLayout implements P
private Resource resource;
private ResourcePermission resourcePermission;
private ConfigurationEditor editor;
+ private ToolStrip buttonbar;
private IButton saveButton;
private boolean refreshing = false;
+
public ResourceConfigurationEditView(String locatorId, ResourceComposite resourceComposite) {
super(locatorId);
@@ -77,11 +79,11 @@ public class ResourceConfigurationEditView extends LocatableVLayout implements P
protected void onDraw() {
super.onDraw();
- ToolStrip toolStrip = new ToolStrip();
- toolStrip.setWidth100();
- toolStrip.setExtraSpace(10);
- toolStrip.setMembersMargin(5);
- toolStrip.setLayoutMargin(5);
+ this.buttonbar = new ToolStrip();
+ buttonbar.setWidth100();
+ buttonbar.setExtraSpace(10);
+ buttonbar.setMembersMargin(5);
+ buttonbar.setLayoutMargin(5);
this.saveButton = new LocatableIButton(this.extendLocatorId("Save"), MSG.common_button_save());
this.saveButton.addClickHandler(new ClickHandler() {
@@ -89,9 +91,11 @@ public class ResourceConfigurationEditView extends LocatableVLayout implements P
save();
}
});
- toolStrip.addMember(saveButton);
+ buttonbar.addMember(saveButton);
+ // The button bar will remain hidden until the configuration has been successfully loaded.
+ buttonbar.setVisible(false);
+ addMember(buttonbar);
- addMember(toolStrip);
refresh();
if (!this.resourcePermission.isConfigureWrite()) {
@@ -108,7 +112,7 @@ public class ResourceConfigurationEditView extends LocatableVLayout implements P
}
this.refreshing = true;
- this.saveButton.disable();
+ this.buttonbar.setVisible(false);
GWTServiceLookup.getConfigurationService().getLatestResourceConfigurationUpdate(resource.getId(),
new AsyncCallback<ResourceConfigurationUpdate>() {
@@ -129,6 +133,9 @@ public class ResourceConfigurationEditView extends LocatableVLayout implements P
editor.addPropertyValueChangeListener(ResourceConfigurationEditView.this);
editor.setReadOnly(!resourcePermission.isConfigureWrite());
addMember(editor);
+
+ saveButton.disable();
+ buttonbar.setVisible(true);
markForRedraw();
refreshing = false;
}
@@ -138,7 +145,7 @@ public class ResourceConfigurationEditView extends LocatableVLayout implements P
@Override
public void onFailure(Throwable caught) {
refreshing = false;
- CoreGUI.getErrorHandler().handleError("Cannot load resource config", caught);
+ CoreGUI.getErrorHandler().handleError("Failed to load configuration.", caught);
}
});
}
13 years, 2 months
[rhq] modules/enterprise
by ips
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java | 14 +++++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java | 14 +++++++---
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 4 +-
3 files changed, 23 insertions(+), 9 deletions(-)
New commits:
commit 4246288e0100247352a369d309e7e4a037c5d6e7
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Mar 1 13:33:33 2011 -0500
redirect to config history subtab after a successful resource config update, and also include the config update id (i.e. "version") in the success message (https://bugzilla.redhat.com/show_bug.cgi?id=640270)
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
index 0f712a6..576f102 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
@@ -83,6 +83,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
public static class Tab {
public static final String OPERATIONS = "Operations";
+ public static final String CONFIGURATION = "Configuration";
// TODO: other tabs
}
@@ -91,6 +92,11 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
public static final String HISTORY = "History";
}
+ public static class ConfigurationSubTab {
+ public static final String CURRENT = "Current";
+ public static final String HISTORY = "History";
+ }
+
private Integer resourceId;
private ResourceComposite resourceComposite;
@@ -209,11 +215,13 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
operationsTab.registerSubTabs(this.operationsSchedules, this.operationsHistory);
tabs.add(operationsTab);
- configurationTab = new TwoLevelTab(getTabSet().extendLocatorId("Configuration"), new ViewName("Configuration",
+ configurationTab = new TwoLevelTab(getTabSet().extendLocatorId(Tab.CONFIGURATION), new ViewName(Tab.CONFIGURATION,
MSG.view_tabs_common_configuration()), "/images/icons/Configure_grey_16.png");
- this.configCurrent = new SubTab(configurationTab.extendLocatorId("Current"), new ViewName("Current", MSG
+ this.configCurrent = new SubTab(configurationTab.extendLocatorId(ConfigurationSubTab.CURRENT),
+ new ViewName(ConfigurationSubTab.CURRENT, MSG
.view_tabs_common_current()), null);
- this.configHistory = new SubTab(configurationTab.extendLocatorId("History"), new ViewName("History", MSG
+ this.configHistory = new SubTab(configurationTab.extendLocatorId(ConfigurationSubTab.HISTORY),
+ new ViewName(ConfigurationSubTab.HISTORY, MSG
.view_tabs_common_history()), null);
configurationTab.registerSubTabs(this.configCurrent, this.configHistory);
tabs.add(configurationTab);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
index 0700b78..6f207ba 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
@@ -35,11 +35,13 @@ import org.rhq.core.domain.resource.ResourceType;
import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.core.domain.resource.composite.ResourcePermission;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.RefreshableView;
import org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
import org.rhq.enterprise.gui.coregui.client.components.configuration.PropertyValueChangeEvent;
import org.rhq.enterprise.gui.coregui.client.components.configuration.PropertyValueChangeListener;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.ResourceDetailView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository.MetadataType;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository.TypeLoadedCallback;
@@ -151,10 +153,14 @@ public class ResourceConfigurationEditView extends LocatableVLayout implements P
}
public void onSuccess(ResourceConfigurationUpdate result) {
- CoreGUI.getMessageCenter().notify(
- new Message(MSG.view_configurationDetails_messageConcise(), MSG
- .view_configurationDetails_messageDetailed(resource.getName()), Message.Severity.Info));
- refresh();
+ String version = String.valueOf(result.getId());
+ Message message = new Message(MSG.view_configurationDetails_messageConcise(version), MSG
+ .view_configurationDetails_messageDetailed(version, resource.getName()),
+ Message.Severity.Info);
+ String configHistoryUrl = LinkManager.getResourceTabLink(resource.getId(),
+ ResourceDetailView.Tab.CONFIGURATION, ResourceDetailView.ConfigurationSubTab.HISTORY);
+ String configHistoryView = configHistoryUrl.substring(1);
+ CoreGUI.goToView(configHistoryView, message);
}
});
}
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 a4e822f..f6d806d 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
@@ -1798,8 +1798,8 @@ view_resourceResourceGroupList_message_updateSuccess = Group membership updated
#-------------------------------
view_configurationDetails_noPermission = You do not have permission to edit this Resource''s configuration.
view_configurationDetails_error_updateFailure = Failed to update configuration.
-view_configurationDetails_messageConcise = Configuration updated.
-view_configurationDetails_messageDetailed = Configuration updated for Resource [{0}].
+view_configurationDetails_messageConcise = Configuration updated - current version is {0}).
+view_configurationDetails_messageDetailed = Configuration updated to version {0} for Resource [{1}].
view_configurationDetails_allPropertiesValid = All configuration properties have valid values, so the configuration can now be saved.
view_configurationDetails_somePropertiesInvalid = The following configuration properties have invalid values: {0}. The values must be corrected before the configuration can be saved.
13 years, 2 months
[rhq] modules/enterprise
by ips
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java | 34 +++++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java | 1
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java | 2
3 files changed, 26 insertions(+), 11 deletions(-)
New commits:
commit 8b3cd4ebae3e0fc7d63e4595bc69a89c86f1e28d
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Mar 1 12:37:15 2011 -0500
add "reloadable" boolean flag to config editor, which is set to true only if the constructor which places the config editor in charge of loading the config and config def is used
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
index 181dda0..f2a2580 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
@@ -165,6 +165,8 @@ public class ConfigurationEditor extends LocatableVLayout {
private boolean readOnly = false;
private Set<String> invalidPropertyNames = new HashSet<String>();
private Set<PropertyValueChangeListener> propertyValueChangeListeners = new HashSet<PropertyValueChangeListener>();
+ private boolean loaded;
+ private boolean reloadable;
public static enum ConfigType {
plugin, resource
@@ -183,25 +185,26 @@ public class ConfigurationEditor extends LocatableVLayout {
private LoadHandler loadHandler = null;
- public ConfigurationEditor(String locatorId) {
- super(locatorId);
- }
-
- public ConfigurationEditor(String locatorId, int resourceId, int resourceTypeId) {
- this(locatorId, resourceId, resourceTypeId, ConfigType.resource);
- }
-
public ConfigurationEditor(String locatorId, int resourceId, int resourceTypeId, ConfigType configType) {
super(locatorId);
this.resourceId = resourceId;
this.resourceTypeId = resourceTypeId;
this.configType = configType;
setOverflow(Overflow.AUTO);
+ this.reloadable = true;
}
public ConfigurationEditor(String locatorId, ConfigurationDefinition configurationDefinition,
Configuration configuration) {
super(locatorId);
+
+ if (configuration == null) {
+ throw new IllegalArgumentException("Null configuration.");
+ }
+ if (configurationDefinition == null) {
+ throw new IllegalArgumentException("Null configurationDefinition.");
+ }
+
this.configuration = configuration;
this.configurationDefinition = configurationDefinition;
}
@@ -342,6 +345,10 @@ public class ConfigurationEditor extends LocatableVLayout {
}
public void reload() {
+ if (this.loaded && !this.reloadable) {
+ return;
+ }
+
if (configurationDefinition == null || configuration == null) {
// Wait for both to load.
return;
@@ -356,7 +363,13 @@ public class ConfigurationEditor extends LocatableVLayout {
if (configurationDefinition.getConfigurationFormat() == ConfigurationFormat.STRUCTURED
|| configurationDefinition.getConfigurationFormat() == ConfigurationFormat.STRUCTURED_AND_RAW) {
Log.info("Building structured configuration editor...");
- LocatableVLayout structuredConfigLayout = buildStructuredPane();
+ LocatableVLayout structuredConfigLayout = null;
+ try {
+ structuredConfigLayout = buildStructuredPane();
+ } catch (RuntimeException e) {
+ e.printStackTrace();
+ throw e;
+ }
addMember(structuredConfigLayout);
} else {
Label label = new Label("Structured configuration is not supported.");
@@ -364,6 +377,7 @@ public class ConfigurationEditor extends LocatableVLayout {
}
this.markForRedraw();
+ this.loaded = true;
}
public void reset() {
@@ -1412,7 +1426,7 @@ public class ConfigurationEditor extends LocatableVLayout {
if (property instanceof PropertySimple) {
PropertySimple propertySimple = (PropertySimple) property;
if (propertyDefinition.isRequired() &&
- (propertySimple.getStringValue() == null) || propertySimple.getStringValue().equals("")) {
+ (propertySimple.getStringValue() == null) || "".equals(propertySimple.getStringValue())) {
// special case 2: required simple prop with no value - allow user to edit it even if it's a read-only prop,
// otherwise the user will have no way to give the property a new value and thereby get things to a valid state
return false;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
index 98949f6..0700b78 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
@@ -129,7 +129,6 @@ public class ResourceConfigurationEditView extends LocatableVLayout implements P
addMember(editor);
markForRedraw();
refreshing = false;
- // TODO (ips): If editor != null, use editor.reload() instead.
}
});
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
index 3ca884f..1195d1e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
@@ -112,6 +112,8 @@ public class PluginConfigurationEditView extends LocatableVLayout implements Pro
editor.destroy();
removeMember(editor);
}
+ // TODO (ips): Load the config and config def ourselves, so we can remove that logic from the ConfigurationEditor,
+ // whose only purpose should be to render a config.
editor = new ConfigurationEditor(extendLocatorId("Editor"), resource.getId(), resource.getResourceType()
.getId(), ConfigurationEditor.ConfigType.plugin);
editor.setOverflow(Overflow.AUTO);
13 years, 2 months
[rhq] modules/enterprise
by Simeon Pinder
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java | 36 ++++++++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java | 2
2 files changed, 31 insertions(+), 7 deletions(-)
New commits:
commit 090a0441d704d1e2166b63ee621cd85b0d61a70c
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Tue Mar 1 12:26:58 2011 -0500
enable refresh for Resource/Group Activity pages.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
index ba1333e..0aa86cf 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
@@ -23,12 +23,17 @@ import java.util.Set;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.widgets.HTMLFlow;
+import com.smartgwt.client.widgets.IButton;
import com.smartgwt.client.widgets.Img;
+import com.smartgwt.client.widgets.events.ClickEvent;
+import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.form.fields.FormItemIcon;
import com.smartgwt.client.widgets.form.fields.LinkItem;
import com.smartgwt.client.widgets.form.fields.StaticTextItem;
import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.LayoutSpacer;
import com.smartgwt.client.widgets.layout.VLayout;
+import com.smartgwt.client.widgets.toolbar.ToolStrip;
import org.rhq.core.domain.criteria.ResourceGroupCriteria;
import org.rhq.core.domain.measurement.MeasurementDefinition;
@@ -46,12 +51,17 @@ import org.rhq.enterprise.gui.coregui.client.util.measurement.GwtMonitorUtils;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableCanvas;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableHLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableIButton;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Simeon Pinder
*/
-public abstract class AbstractActivityView extends LocatableHLayout implements RefreshableView {
+public abstract class AbstractActivityView extends LocatableVLayout implements RefreshableView {
+
+ //contains the activity display region
+ private LocatableHLayout columnSection = new LocatableHLayout("ActivityRegion");
//Locatable ui references
protected VLayout leftPane = new VLayout();
@@ -88,6 +98,7 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
private ResourceGroupComposite groupComposite = null;
private ResourceComposite resourceComposite = null;
private HLayout recentBundleDeployTitle;
+ private ToolStrip footer;
public AbstractActivityView(String locatorId, ResourceGroupComposite groupComposite,
ResourceComposite resourceComposite) {
@@ -98,6 +109,7 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
if (resourceComposite != null) {
this.resourceComposite = resourceComposite;
}
+ addMember(columnSection);
initializeUi();
}
@@ -112,13 +124,11 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
HTMLFlow divider3 = new HTMLFlow("<hr/>");
HTMLFlow divider4 = new HTMLFlow("<hr/>");
HTMLFlow divider5 = new HTMLFlow("<hr/>");
- // HTMLFlow divider6 = new HTMLFlow("<hr/>");
divider1.setWidth("50%");
divider2.setWidth("50%");
divider3.setWidth("50%");
divider4.setWidth("50%");
divider5.setWidth("50%");
- // divider6.setWidth("50%");
//leftPane
leftPane.setWidth("50%");
@@ -198,8 +208,24 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
recentBundleDeployTitle.setHeight(20);
deployBundleViewIfApplicable(resource, group);
- addMember(leftPane);
- addMember(rightPane);
+ columnSection.addMember(leftPane);
+ columnSection.addMember(rightPane);
+
+ //Add footer region
+ this.footer = new ToolStrip();
+ footer.setPadding(5);
+ footer.setWidth100();
+ footer.setMembersMargin(15);
+ footer.addMember(new LayoutSpacer());
+ IButton refreshButton = new LocatableIButton(extendLocatorId("Refresh"), MSG.common_button_refresh());
+ refreshButton.addClickHandler(new ClickHandler() {
+ public void onClick(ClickEvent clickEvent) {
+ loadData();
+ refresh();
+ }
+ });
+ footer.addMember(refreshButton);
+ addMember(footer);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
index 07f0821..54a9d93 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
@@ -96,11 +96,9 @@ public class ActivityView extends AbstractActivityView {
//conditionally display Bundle Deployments region.
Resource resource = null;
- // ResourceGroup group = null;
if (resourceComposite != null) {
resource = resourceComposite.getResource();
}
- // if (deployBundleViewIfApplicable(resource, group)) {
if ((resource != null) && (displayBundlesForResource(resource))) {
getRecentBundleDeployments();
}
13 years, 2 months
[rhq] modules/enterprise
by ips
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java | 24 ++++++----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java | 2
2 files changed, 16 insertions(+), 10 deletions(-)
New commits:
commit d27c97e986177b29e232d367da80fe0db6abc7d8
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Mar 1 11:42:03 2011 -0500
fix so unset checkboxes are disabled when editor is in read-only mode (https://bugzilla.redhat.com/show_bug.cgi?id=642546)
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
index ba1268e..181dda0 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
@@ -1400,19 +1400,25 @@ public class ConfigurationEditor extends LocatableVLayout {
}
private boolean isReadOnly(PropertyDefinition propertyDefinition, Property property) {
- boolean isInvalidRequiredProperty = false;
+ if (this.readOnly) {
+ return true;
+ }
+ String errorMessage = property.getErrorMessage();
+ if ((errorMessage != null) && (!errorMessage.trim().equals(""))) {
+ // special case 1: property has a plugin-set error message - allow user to edit it even if it's a read-only prop,
+ // otherwise the user will have no way to give the property a new value and thereby get things to a valid state
+ return false;
+ }
if (property instanceof PropertySimple) {
PropertySimple propertySimple = (PropertySimple) property;
- String errorMessage = propertySimple.getErrorMessage();
- if ((null == propertySimple.getStringValue()) || "".equals(propertySimple.getStringValue())
- || ((null != errorMessage) && (!"".equals(errorMessage.trim())))) {
- // Required properties with no value, or an invalid value (assumed if we see an error message) should
- // never be set to read-only, otherwise the user will have no way to give the property a new value and
- // thereby get things to a valid state.
- isInvalidRequiredProperty = true;
+ if (propertyDefinition.isRequired() &&
+ (propertySimple.getStringValue() == null) || propertySimple.getStringValue().equals("")) {
+ // special case 2: required simple prop with no value - allow user to edit it even if it's a read-only prop,
+ // otherwise the user will have no way to give the property a new value and thereby get things to a valid state
+ return false;
}
}
- return !isInvalidRequiredProperty && (propertyDefinition.isReadOnly() || this.readOnly);
+ return (propertyDefinition.isReadOnly());
}
protected List<Validator> buildValidators(PropertyDefinitionSimple propertyDefinition, Property property) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
index a240e45..df8c9f4 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
@@ -253,7 +253,7 @@ public class ActivityView extends LocatableVLayout implements DashboardContainer
// TODO, add real portlets
// set leftmost column and letthe rest be equally divided
- dashboard.setColumnWidths("40%");
+ dashboard.setColumnWidths("40%", "*");
dashboard.getConfiguration().put(new PropertySimple(Dashboard.CFG_BACKGROUND, "#F1F2F3"));
// Left Column
13 years, 2 months
[rhq] 2 commits - modules/core modules/enterprise
by Simeon Pinder
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceBundleDeploymentCriteria.java | 55 ++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java | 118 ++++++++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java | 18 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java | 84 ++++++-
modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/content/Package_16.png |binary
modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/content/Package_24.png |binary
6 files changed, 248 insertions(+), 27 deletions(-)
New commits:
commit f1f4426c3e1ec3cc1c0cb86e753f3141817e90be
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Tue Mar 1 08:40:05 2011 -0500
change images for package history items to be different from Bundle images an fix for bundle display region separator.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
index af79008..ba1333e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
@@ -112,13 +112,13 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
HTMLFlow divider3 = new HTMLFlow("<hr/>");
HTMLFlow divider4 = new HTMLFlow("<hr/>");
HTMLFlow divider5 = new HTMLFlow("<hr/>");
- HTMLFlow divider6 = new HTMLFlow("<hr/>");
+ // HTMLFlow divider6 = new HTMLFlow("<hr/>");
divider1.setWidth("50%");
divider2.setWidth("50%");
divider3.setWidth("50%");
divider4.setWidth("50%");
divider5.setWidth("50%");
- divider6.setWidth("50%");
+ // divider6.setWidth("50%");
//leftPane
leftPane.setWidth("50%");
@@ -185,7 +185,7 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
rightPane.addMember(recentEventsContent);
recentEventsContent.setHeight(20);
//recentPackageHistory.xhtml
- HLayout recentPkgHistoryTitle = new TitleWithIcon("subsystems/inventory/Inventory_24.png", RECENT_PKG_HISTORY);
+ HLayout recentPkgHistoryTitle = new TitleWithIcon("subsystems/content/Package_24.png", RECENT_PKG_HISTORY);
recentPkgHistoryContent.setHeight(20);
if ((resource != null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
rightPane.addMember(divider5);
@@ -200,6 +200,7 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
addMember(leftPane);
addMember(rightPane);
+
}
private void deployBundleViewIfApplicable(Resource resource, ResourceGroup group) {
@@ -291,6 +292,7 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
rightPane.addMember(divider6);
rightPane.addMember(recentBundleDeployTitle);
rightPane.addMember(recentBundleDeployContent);
+ rightPane.markForRedraw();
}
/**Creates the section top titles with icon for regions of Activity page.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java
index 021a93b..14cd2b3 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java
@@ -458,7 +458,7 @@ public class ActivityView2 extends AbstractActivityView {
+ history.getPackageVersion().getVersion()));
row.setNumCols(3);
- StaticTextItem iconItem = newTextItemIcon("subsystems/inventory/Inventory_grey_16.png", null);
+ StaticTextItem iconItem = newTextItemIcon("subsystems/content/Package_16.png", null);
String title = history.getPackageVersion().getFileName() + ":";
String destination = "/rhq/resource/content/audit-trail-item.xhtml?id=" + groupId
+ "&selectedHistoryId=" + history.getId();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
index 27ebb8c..07f0821 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
@@ -433,8 +433,7 @@ public class ActivityView extends AbstractActivityView {
+ history.getPackageVersion().getVersion()));
row.setNumCols(3);
- StaticTextItem iconItem = newTextItemIcon("subsystems/inventory/Inventory_grey_16.png",
- null);
+ StaticTextItem iconItem = newTextItemIcon("subsystems/content/Package_16.png", null);
String title = history.getPackageVersion().getFileName() + ":";
String destination = "/rhq/resource/content/audit-trail-item.xhtml?id=" + resourceId
+ "&selectedHistoryId=" + history.getId();
diff --git a/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/content/Package_16.png b/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/content/Package_16.png
new file mode 100644
index 0000000..4034663
Binary files /dev/null and b/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/content/Package_16.png differ
diff --git a/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/content/Package_24.png b/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/content/Package_24.png
new file mode 100644
index 0000000..2cf069c
Binary files /dev/null and b/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/content/Package_24.png differ
commit bb2e6a68809730f3bf215fcb6a7244244baeca70
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Mon Feb 28 20:39:07 2011 -0500
i)conditionally display recently deployed bundles for groups/resources of platforms.
ii)change icon for Pkg History to be different from Bundle icon.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceBundleDeploymentCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceBundleDeploymentCriteria.java
new file mode 100644
index 0000000..9414672
--- /dev/null
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceBundleDeploymentCriteria.java
@@ -0,0 +1,55 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2009 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.core.domain.criteria;
+
+import java.util.Arrays;
+import java.util.List;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
+/**
+ * @author Simeon Pinder
+ */
+@XmlRootElement
+(a)XmlAccessorType(XmlAccessType.FIELD)
+@SuppressWarnings("unused")
+public class ResourceBundleDeploymentCriteria extends BundleDeploymentCriteria {
+ private static final long serialVersionUID = 1L;
+
+ private List<Integer> filterResourceIds; // requires overrides
+
+ public ResourceBundleDeploymentCriteria() {
+ filterOverrides.put("resourceIds", "id IN " //
+ + "( SELECT ibd.id " //
+ + " FROM BundleDeployment ibd " //
+ + " JOIN ibd.resourceDeployments resourceDeployment " //
+ + " WHERE resourceDeployment.resource.id IN ( ? ) )");
+ }
+
+ public void addFilterResourceIds(Integer... filterResourceGroupIds) {
+ this.filterResourceIds = Arrays.asList(filterResourceGroupIds);
+ }
+
+ public List<Integer> getFilterIds() {
+ return filterResourceIds;
+ }
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
index 13abdd5..af79008 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
@@ -18,6 +18,10 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary;
+import java.util.Set;
+
+import com.allen_sauer.gwt.log.client.Log;
+import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.widgets.HTMLFlow;
import com.smartgwt.client.widgets.Img;
import com.smartgwt.client.widgets.form.fields.FormItemIcon;
@@ -26,12 +30,17 @@ import com.smartgwt.client.widgets.form.fields.StaticTextItem;
import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.layout.VLayout;
+import org.rhq.core.domain.criteria.ResourceGroupCriteria;
import org.rhq.core.domain.measurement.MeasurementDefinition;
import org.rhq.core.domain.resource.Resource;
+import org.rhq.core.domain.resource.ResourceCategory;
+import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.core.domain.resource.group.GroupCategory;
import org.rhq.core.domain.resource.group.ResourceGroup;
import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
+import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.RefreshableView;
+import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.BrowserUtility;
import org.rhq.enterprise.gui.coregui.client.util.measurement.GwtMonitorUtils;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableCanvas;
@@ -77,12 +86,18 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
protected String SEE_MORE = MSG.common_msg_see_more();
private ResourceGroupComposite groupComposite = null;
+ private ResourceComposite resourceComposite = null;
+ private HLayout recentBundleDeployTitle;
- public AbstractActivityView(String locatorId, ResourceGroupComposite groupComposite) {
+ public AbstractActivityView(String locatorId, ResourceGroupComposite groupComposite,
+ ResourceComposite resourceComposite) {
super(locatorId);
if (groupComposite != null) {
this.groupComposite = groupComposite;
}
+ if (resourceComposite != null) {
+ this.resourceComposite = resourceComposite;
+ }
initializeUi();
}
@@ -116,10 +131,13 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
if (groupComposite != null) {
group = groupComposite.getResourceGroup();
}
+ if (resourceComposite != null) {
+ resource = resourceComposite.getResource();
+ }
//recentMetrics.xhtml
HLayout recentMetricsTitle = new TitleWithIcon("subsystems/monitor/Monitor_24.png", RECENT_MEASUREMENTS);
- if ((group == null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
+ if ((resource != null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
leftPane.addMember(recentMetricsTitle);
leftPane.addMember(recentMeasurementsContent);
recentMeasurementsContent.setHeight(20);
@@ -133,7 +151,7 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
//recentOOBs.xhtml
HLayout recentOobsTitle = new TitleWithIcon("subsystems/monitor/Monitor_failed_24.png", RECENT_OOB);
- if ((group == null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
+ if ((resource != null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
leftPane.addMember(divider2);
leftPane.addMember(recentOobsTitle);
leftPane.addMember(recentOobContent);
@@ -147,7 +165,7 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
//recentConfigUpdates.xhtml
HLayout recentConfigUpdatesTitle = new TitleWithIcon("subsystems/configure/Configure_24.png",
RECENT_CONFIGURATIONS);
- if ((group == null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
+ if ((resource != null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
rightPane.addMember(recentConfigUpdatesTitle);
rightPane.addMember(recentConfigurationContent);
recentConfigurationContent.setHeight(20);
@@ -155,7 +173,7 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
}
//recentOperations.xhtml
HLayout recentOperationsTitle = new TitleWithIcon("subsystems/control/Operation_24.png", RECENT_OPERATIONS);
- if ((group == null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
+ if ((resource != null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
rightPane.addMember(recentOperationsTitle);
rightPane.addMember(recentOperationsContent);
recentOperationsContent.setHeight(20);
@@ -167,32 +185,83 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
rightPane.addMember(recentEventsContent);
recentEventsContent.setHeight(20);
//recentPackageHistory.xhtml
- HLayout recentPkgHistoryTitle = new TitleWithIcon("subsystems/content/Content_24.png", RECENT_PKG_HISTORY);
- if ((group == null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
+ HLayout recentPkgHistoryTitle = new TitleWithIcon("subsystems/inventory/Inventory_24.png", RECENT_PKG_HISTORY);
+ recentPkgHistoryContent.setHeight(20);
+ if ((resource != null) || ((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {//resource,CompatibleGroup
rightPane.addMember(divider5);
rightPane.addMember(recentPkgHistoryTitle);
rightPane.addMember(recentPkgHistoryContent);
- recentPkgHistoryContent.setHeight(20);
}
- HLayout recentBundleDeployTitle = new TitleWithIcon("subsystems/content/Content_24.png", RECENT_BUNDLE_DEPLOY);
- // if (resource.type==Platform) || (Group(Mixed/Compat) of Platforms)
- // if ((group == null)&&())||((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {
- if (((group != null) && (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)))) {
- rightPane.addMember(divider6);
- rightPane.addMember(recentBundleDeployTitle);
- rightPane.addMember(recentBundleDeployContent);
- recentBundleDeployTitle.setHeight(20);
- }
+ //recent bundle deployments
+ recentBundleDeployTitle = new TitleWithIcon("subsystems/content/Content_24.png", RECENT_BUNDLE_DEPLOY);
+ recentBundleDeployTitle.setHeight(20);
+ deployBundleViewIfApplicable(resource, group);
addMember(leftPane);
addMember(rightPane);
}
+ private void deployBundleViewIfApplicable(Resource resource, ResourceGroup group) {
+ if (displayBundlesForResource(resource)) {
+ enableBundleArea();
+ } else {//necessarily need to check group membership for platforms
+ if (group != null) {
+ //displays bundles region if group is compatible and contains platform resources
+ displayBundleDeploymentsForPlatformGroups(group);
+ }
+ }
+
+ }
+
+ protected boolean displayBundlesForResource(Resource resource) {
+ boolean display = false;
+ if ((resource != null) && (resource.getResourceType().getCategory().equals(ResourceCategory.PLATFORM))) {
+ display = true;
+ }
+ return display;
+ }
+
+ protected void displayBundleDeploymentsForPlatformGroups(final ResourceGroup group) {
+ if (group != null) {
+ ResourceGroupCriteria criteria = new ResourceGroupCriteria();
+ criteria.addFilterId(group.getId());
+ criteria.fetchExplicitResources(true);
+ GWTServiceLookup.getResourceGroupService().findResourceGroupsByCriteria(criteria,
+ new AsyncCallback<PageList<ResourceGroup>>() {
+ @Override
+ public void onSuccess(PageList<ResourceGroup> results) {
+ if (!results.isEmpty()) {
+ ResourceGroup gp = results.get(0);
+ Set<Resource> explicitMembers = gp.getExplicitResources();
+ Resource[] currentResources = new Resource[explicitMembers.size()];
+ explicitMembers.toArray(currentResources);
+ if (group.getGroupCategory().equals(GroupCategory.COMPATIBLE)) {
+ if (currentResources[0].getResourceType().getCategory().equals(
+ ResourceCategory.PLATFORM)) {
+ enableBundleArea();
+ getRecentBundleDeployments();
+ }
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(Throwable caught) {
+ Log.debug("Error retrieving information for group [" + group.getId() + "]:"
+ + caught.getMessage());
+ }
+ });
+
+ }
+ }
+
/** Implement to define calls to asynchronous calls out to UI display data.
*/
protected abstract void loadData();
+ protected abstract void getRecentBundleDeployments();
+
@Override
protected void onDraw() {
super.onDraw();
@@ -215,6 +284,15 @@ public abstract class AbstractActivityView extends LocatableHLayout implements R
BrowserUtility.graphSparkLines();
}
+ private void enableBundleArea() {
+ HTMLFlow divider6 = new HTMLFlow("<hr/>");
+ divider6.setWidth("50%");
+
+ rightPane.addMember(divider6);
+ rightPane.addMember(recentBundleDeployTitle);
+ rightPane.addMember(recentBundleDeployContent);
+ }
+
/**Creates the section top titles with icon for regions of Activity page.
*/
public class TitleWithIcon extends HLayout {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java
index 98176d6..021a93b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java
@@ -52,6 +52,7 @@ import org.rhq.core.domain.measurement.composite.MeasurementOOBComposite;
import org.rhq.core.domain.operation.GroupOperationHistory;
import org.rhq.core.domain.resource.composite.DisambiguationReport;
import org.rhq.core.domain.resource.group.GroupCategory;
+import org.rhq.core.domain.resource.group.ResourceGroup;
import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
import org.rhq.core.domain.util.PageControl;
import org.rhq.core.domain.util.PageList;
@@ -75,7 +76,7 @@ public class ActivityView2 extends AbstractActivityView {
private ResourceGroupComposite groupComposite;
public ActivityView2(String locatorId, ResourceGroupComposite groupComposite) {
- super(locatorId, groupComposite);
+ super(locatorId, groupComposite, null);
this.groupComposite = groupComposite;
}
@@ -98,7 +99,14 @@ public class ActivityView2 extends AbstractActivityView {
getRecentOobs();
getRecentPkgHistory();
getRecentMetrics();
- getRecentBundleDeployments();
+ }
+ //conditionally display Bundle deployments for groups of platforms only
+ ResourceGroup group = null;
+ if (groupComposite != null) {
+ group = groupComposite.getResourceGroup();
+ }
+ if (group != null) {
+ displayBundleDeploymentsForPlatformGroups(group);
}
}
@@ -450,7 +458,7 @@ public class ActivityView2 extends AbstractActivityView {
+ history.getPackageVersion().getVersion()));
row.setNumCols(3);
- StaticTextItem iconItem = newTextItemIcon("subsystems/content/Content_16.png", null);
+ StaticTextItem iconItem = newTextItemIcon("subsystems/inventory/Inventory_grey_16.png", null);
String title = history.getPackageVersion().getFileName() + ":";
String destination = "/rhq/resource/content/audit-trail-item.xhtml?id=" + groupId
+ "&selectedHistoryId=" + history.getId();
@@ -627,7 +635,7 @@ public class ActivityView2 extends AbstractActivityView {
/** Fetches recent bundle deployment information and updates the DynamicForm instance with details.
*/
- private void getRecentBundleDeployments() {
+ protected void getRecentBundleDeployments() {
final int groupId = this.groupComposite.getResourceGroup().getId();
GroupBundleDeploymentCriteria criteria = new GroupBundleDeploymentCriteria();
PageControl pageControl = new PageControl(0, 5);
@@ -670,7 +678,7 @@ public class ActivityView2 extends AbstractActivityView {
column.addMember(row);
}
//insert see more link
- //TODO: spinder(add this later) no current view for seeing all bundle deployments
+ //TODO: spinder:2/25/11 (add this later) no current view for seeing all bundle deployments
// LocatableDynamicForm row = new LocatableDynamicForm(recentBundleDeployContent.extendLocatorId("RecentBundleContentSeeMore"));
// addSeeMoreLink(row, LinkManager.getResourceGroupLink(groupId) + "/Events/History/", column);
} else {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
index 37b34f1..27ebb8c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
@@ -36,15 +36,18 @@ import com.smartgwt.client.widgets.form.fields.StaticTextItem;
import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.alert.Alert;
+import org.rhq.core.domain.bundle.BundleDeployment;
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.ResourceBundleDeploymentCriteria;
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;
import org.rhq.core.domain.operation.composite.ResourceOperationLastCompletedComposite;
+import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.resource.composite.DisambiguationReport;
import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.core.domain.util.PageControl;
@@ -70,7 +73,7 @@ public class ActivityView extends AbstractActivityView {
private ResourceComposite resourceComposite;
public ActivityView(String locatorId, ResourceComposite resourceComposite) {
- super(locatorId, null);
+ super(locatorId, null, resourceComposite);
this.resourceComposite = resourceComposite;
}
@@ -90,6 +93,17 @@ public class ActivityView extends AbstractActivityView {
getRecentOobs();
getRecentPkgHistory();
getRecentMetrics();
+
+ //conditionally display Bundle Deployments region.
+ Resource resource = null;
+ // ResourceGroup group = null;
+ if (resourceComposite != null) {
+ resource = resourceComposite.getResource();
+ }
+ // if (deployBundleViewIfApplicable(resource, group)) {
+ if ((resource != null) && (displayBundlesForResource(resource))) {
+ getRecentBundleDeployments();
+ }
}
/** Fetches alerts and updates the DynamicForm instance with the latest
@@ -116,7 +130,6 @@ public class ActivityView extends AbstractActivityView {
LocatableDynamicForm row = new LocatableDynamicForm(recentAlertsContent.extendLocatorId(String
.valueOf(rowNum++)));
row.setNumCols(3);
-
StaticTextItem iconItem = newTextItemIcon(ImageManager.getAlertIcon(alert.getAlertDefinition()
.getPriority()), alert.getAlertDefinition().getPriority().getDisplayName());
LinkItem link = newLinkItem(alert.getAlertDefinition().getName() + ": ",
@@ -420,7 +433,8 @@ public class ActivityView extends AbstractActivityView {
+ history.getPackageVersion().getVersion()));
row.setNumCols(3);
- StaticTextItem iconItem = newTextItemIcon("subsystems/content/Content_16.png", null);
+ StaticTextItem iconItem = newTextItemIcon("subsystems/inventory/Inventory_grey_16.png",
+ null);
String title = history.getPackageVersion().getFileName() + ":";
String destination = "/rhq/resource/content/audit-trail-item.xhtml?id=" + resourceId
+ "&selectedHistoryId=" + history.getId();
@@ -594,4 +608,69 @@ public class ActivityView extends AbstractActivityView {
recentMeasurementsContent.addChild(column);
recentMeasurementsContent.markForRedraw();
}
+
+ /** Fetches recent bundle deployment information and updates the DynamicForm instance with details.
+ */
+ protected void getRecentBundleDeployments() {
+ final int resourceId = this.resourceComposite.getResource().getId();
+ ResourceBundleDeploymentCriteria criteria = new ResourceBundleDeploymentCriteria();
+ PageControl pageControl = new PageControl(0, 5);
+ criteria.setPageControl(pageControl);
+ criteria.addFilterResourceIds(resourceId);
+ criteria.addSortStatus(PageOrdering.DESC);
+ criteria.fetchDestination(true);
+ criteria.fetchBundleVersion(true);
+ criteria.fetchResourceDeployments(true);
+
+ GWTServiceLookup.getBundleService().findBundleDeploymentsByCriteria(criteria,
+ new AsyncCallback<PageList<BundleDeployment>>() {
+ @Override
+ public void onFailure(Throwable caught) {
+ Log.debug("Error retrieving installed bundle deployments for resource [" + resourceId + "]:"
+ + caught.getMessage());
+ }
+
+ @Override
+ public void onSuccess(PageList<BundleDeployment> result) {
+ VLayout column = new VLayout();
+ column.setHeight(10);
+ if (!result.isEmpty()) {
+ for (BundleDeployment deployment : result) {
+ LocatableDynamicForm row = new LocatableDynamicForm(recentBundleDeployContent
+ .extendLocatorId(deployment.getBundleVersion().getName()
+ + deployment.getBundleVersion().getVersion()));
+ row.setNumCols(3);
+
+ StaticTextItem iconItem = newTextItemIcon("subsystems/content/Content_16.png", null);
+ String title = deployment.getBundleVersion().getName() + "["
+ + deployment.getBundleVersion().getVersion() + "]:";
+
+ String destination = ReportDecorator.GWT_BUNDLE_URL
+ + deployment.getBundleVersion().getBundle().getId() + "/destinations/"
+ + deployment.getDestination().getId();
+ LinkItem link = newLinkItem(title, destination);
+ StaticTextItem time = newTextItem(GwtRelativeDurationConverter
+ .format(deployment.getCtime()));
+
+ row.setItems(iconItem, link, time);
+ column.addMember(row);
+ }
+ //insert see more link
+ //TODO: spinder:2/25/11 (add this later) no current view for seeing all bundle deployments
+ // LocatableDynamicForm row = new LocatableDynamicForm(recentBundleDeployContent.extendLocatorId("RecentBundleContentSeeMore"));
+ // addSeeMoreLink(row, LinkManager.getResourceGroupLink(groupId) + "/Events/History/", column);
+ } else {
+ LocatableDynamicForm row = createEmptyDisplayRow(recentBundleDeployContent
+ .extendLocatorId("None"), RECENT_BUNDLE_DEPLOY_NONE);
+ column.addMember(row);
+ }
+ //cleanup
+ for (Canvas child : recentBundleDeployContent.getChildren()) {
+ child.destroy();
+ }
+ recentBundleDeployContent.addChild(column);
+ recentBundleDeployContent.markForRedraw();
+ }
+ });
+ }
}
13 years, 2 months