modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/AddToDashboardComponent.java
| 155 ++--------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MetricsTableView.java
| 13
2 files changed, 48 insertions(+), 120 deletions(-)
New commits:
commit bbbaa4ebbadf744568f02f7964a97a5ec4f96198
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Jul 25 09:51:40 2013 -0700
Consolidated Metrics - Add to Dashboard - enable/disable Add to Dashboard if no
selection is made.
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/AddToDashboardComponent.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/AddToDashboardComponent.java
index 84e20eb..cfb1947 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/AddToDashboardComponent.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/AddToDashboardComponent.java
@@ -20,12 +20,6 @@ package
org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitori
import java.util.LinkedHashMap;
-import com.google.gwt.http.client.Request;
-import com.google.gwt.http.client.RequestBuilder;
-import com.google.gwt.http.client.RequestCallback;
-import com.google.gwt.http.client.RequestException;
-import com.google.gwt.http.client.Response;
-import com.google.gwt.user.client.History;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.widgets.IButton;
import com.smartgwt.client.widgets.events.ClickEvent;
@@ -33,8 +27,6 @@ import com.smartgwt.client.widgets.form.fields.SelectItem;
import com.smartgwt.client.widgets.form.fields.events.ChangeEvent;
import com.smartgwt.client.widgets.form.fields.events.ChangeHandler;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import com.smartgwt.client.widgets.menu.events.ClickHandler;
-import com.smartgwt.client.widgets.menu.events.MenuItemClickEvent;
import com.smartgwt.client.widgets.toolbar.ToolStrip;
import org.rhq.core.domain.configuration.PropertySimple;
@@ -42,7 +34,6 @@ import org.rhq.core.domain.criteria.DashboardCriteria;
import org.rhq.core.domain.dashboard.Dashboard;
import org.rhq.core.domain.dashboard.DashboardPortlet;
import org.rhq.core.domain.measurement.MeasurementDefinition;
-import org.rhq.core.domain.measurement.MeasurementSchedule;
import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
@@ -68,9 +59,10 @@ public class AddToDashboardComponent extends ToolStrip implements
Enhanced {
this.resource = resource;
setPadding(5);
setMembersMargin(15);
- setWidth(400);
+ setWidth(300);
dashboardMenuMap = new LinkedHashMap<String, String>();
dashboardMap = new LinkedHashMap<Integer, Dashboard>();
+ createToolstrip();
}
@Override
@@ -87,8 +79,8 @@ public class AddToDashboardComponent extends ToolStrip implements
Enhanced {
dashboardSelectItem = new SelectItem();
dashboardSelectItem.setTitle("Dashboards");
- dashboardSelectItem.setWidth(350);
- dashboardSelectItem.setPickListWidth(250);
+ dashboardSelectItem.setWidth(300);
+ dashboardSelectItem.setPickListWidth(210);
populateDashboardMenu();
addFormItem(dashboardSelectItem);
addMember(addToDashboardButton);
@@ -105,10 +97,13 @@ public class AddToDashboardComponent extends ToolStrip implements
Enhanced {
public void onClick(ClickEvent clickEvent) {
ListGridRecord[] selectedRecords = metricsListGrid.getSelectedRecords();
for (ListGridRecord selectedRecord : selectedRecords) {
- for (MeasurementDefinition measurementDefinition :
resource.getResourceType().getMetricDefinitions()) {
- if(measurementDefinition.getId() ==
selectedRecord.getAttributeAsInt(MetricsViewDataSource.FIELD_METRIC_DEF_ID)){
- Log.debug("**Add to Dashboard -- Storing:
"+measurementDefinition.getDisplayName() +" in "+
selectedDashboard.getName());
-
storeDashboardMetric(selectedDashboard,resource,measurementDefinition);
+ for (MeasurementDefinition measurementDefinition :
resource.getResourceType()
+ .getMetricDefinitions()) {
+ if (measurementDefinition.getId() == selectedRecord
+
.getAttributeAsInt(MetricsViewDataSource.FIELD_METRIC_DEF_ID)) {
+ Log.debug("Add to Dashboard -- Storing: " +
measurementDefinition.getDisplayName()
+ + " in " + selectedDashboard.getName());
+ storeDashboardMetric(selectedDashboard, resource,
measurementDefinition);
break;
}
}
@@ -117,28 +112,39 @@ public class AddToDashboardComponent extends ToolStrip implements
Enhanced {
});
}
+ public void disableAddToDashboardButton(){
+ addToDashboardButton.disable();
+ }
+
+ public void enableAddToDashboardButton(){
+ addToDashboardButton.enable();
+ }
+
+
public void populateDashboardMenu() {
dashboardMenuMap.clear();
dashboardMap.clear();
DashboardCriteria criteria = new DashboardCriteria();
GWTServiceLookup.getDashboardService().findDashboardsByCriteria(criteria,
- new AsyncCallback<PageList<Dashboard>>() {
+ new AsyncCallback<PageList<Dashboard>>() {
- public void onFailure(Throwable caught) {
-
CoreGUI.getErrorHandler().handleError(MSG.view_tree_common_contextMenu_loadFailed_dashboard(),
- caught);
- }
+ public void onFailure(Throwable caught) {
+
CoreGUI.getErrorHandler().handleError(MSG.view_tree_common_contextMenu_loadFailed_dashboard(),
+ caught);
+ }
- public void onSuccess(PageList<Dashboard> dashboards) {
- for (final Dashboard dashboard : dashboards) {
- dashboardMenuMap.put(String.valueOf(dashboard.getId()),
-
MSG.view_tree_common_contextMenu_addChartToDashboard(dashboard.getName()));
- dashboardMap.put(dashboard.getId(), dashboard);
- dashboardSelectItem.setValueMap(dashboardMenuMap);
- }
+ public void onSuccess(PageList<Dashboard> dashboards) {
+ for (final Dashboard dashboard : dashboards) {
+ dashboardMenuMap.put(String.valueOf(dashboard.getId()),
+
MSG.view_tree_common_contextMenu_addChartToDashboard(dashboard.getName()));
+ dashboardMap.put(dashboard.getId(), dashboard);
}
- });
+ selectedDashboard = dashboards.get(0);
+ dashboardSelectItem.setValueMap(dashboardMenuMap);
+ dashboardSelectItem.setValue(selectedDashboard.getId());
+ }
+ });
}
/**
@@ -149,25 +155,6 @@ public class AddToDashboardComponent extends ToolStrip implements
Enhanced {
this.metricsListGrid = metricsListGrid;
}
- /** Locate the specific schedule definition using the definition identifier.
- */
- private static int getScheduleDefinitionId(Resource resource, int definitionId) {
- int id = -1;
- if (resource.getSchedules() != null) {
- boolean located = false;
- MeasurementSchedule[] schedules = new
MeasurementSchedule[resource.getSchedules().size()];
- resource.getSchedules().toArray(schedules);
- for (int i = 0; (!located && i < resource.getSchedules().size());
i++) {
- MeasurementSchedule schedule = schedules[i];
- MeasurementDefinition definition = schedule.getDefinition();
- if ((definition != null) && definition.getId() == definitionId)
{
- located = true;
- id = schedule.getId();
- }
- }
- }
- return id;
- }
private void storeDashboardMetric(Dashboard dashboard, Resource resource,
MeasurementDefinition definition) {
DashboardPortlet dashboardPortlet = new
DashboardPortlet(MSG.view_tree_common_contextMenu_resourceGraph(),
@@ -194,76 +181,4 @@ public class AddToDashboardComponent extends ToolStrip implements
Enhanced {
});
}
- private static void addNewMetric(String id, String selectedView, String
resourceGraphElements) {
- //construct portal.war url to access
- String baseUrl =
"/resource/common/monitor/visibility/IndicatorCharts.do";
- baseUrl += "?id=" + id;
- baseUrl += "&view=" + selectedView;
- baseUrl += "&action=addChart&metric=" + resourceGraphElements;
- final String url = baseUrl;
- //initiate HTTP request
- final RequestBuilder b = new RequestBuilder(RequestBuilder.GET, baseUrl);
-
- try {
- b.setCallback(new RequestCallback() {
- public void onResponseReceived(final Request request, final Response
response) {
- Log.trace("Successfully submitted request to add graph to
view:" + url);
-
- //kick off a page reload.
- String currentViewPath = History.getToken();
- CoreGUI.goToView(currentViewPath, true);
- }
-
- @Override
- public void onError(Request request, Throwable t) {
- Log.warn("Error adding Metric:" + url, t);
- }
- });
- b.send();
- } catch (RequestException e) {
- Log.warn("Error adding Metric:" + url, e);
- }
-
- }
-
- private static class AddToDashboardClickHandler implements ClickHandler {
-
- private final Resource resource;
- private final MeasurementDefinition definition;
- private final Dashboard dashboard;
-
- public AddToDashboardClickHandler(Resource resource, MeasurementDefinition
definition, Dashboard dashboard) {
- this.resource = resource;
- this.definition = definition;
- this.dashboard = dashboard;
- }
-
- public void onClick(MenuItemClickEvent menuItemClickEvent) {
- DashboardPortlet dashboardPortlet = new
DashboardPortlet(MSG.view_tree_common_contextMenu_resourceGraph(),
- ResourceD3GraphPortlet.KEY, 250);
- dashboardPortlet.getConfiguration().put(
- new PropertySimple(ResourceD3GraphPortlet.CFG_RESOURCE_ID,
resource.getId()));
- dashboardPortlet.getConfiguration().put(
- new PropertySimple(ResourceD3GraphPortlet.CFG_DEFINITION_ID,
definition.getId()));
-
- dashboard.addPortlet(dashboardPortlet);
-
- GWTServiceLookup.getDashboardService().storeDashboard(dashboard, new
AsyncCallback<Dashboard>() {
-
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError(
- MSG.view_tree_common_contextMenu_saveChartToDashboardFailure(),
caught);
- }
-
- public void onSuccess(Dashboard result) {
- CoreGUI.getMessageCenter().notify(
- new
Message(MSG.view_tree_common_contextMenu_saveChartToDashboardSuccessful(result.getName()),
- Message.Severity.Info));
- }
- });
-
- }
-
- }
-
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MetricsTableView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MetricsTableView.java
index a4b15d1..09a7bc3 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MetricsTableView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MetricsTableView.java
@@ -46,6 +46,8 @@ import com.smartgwt.client.widgets.grid.events.RecordCollapseEvent;
import com.smartgwt.client.widgets.grid.events.RecordCollapseHandler;
import com.smartgwt.client.widgets.grid.events.RecordExpandEvent;
import com.smartgwt.client.widgets.grid.events.RecordExpandHandler;
+import com.smartgwt.client.widgets.grid.events.SelectionChangedHandler;
+import com.smartgwt.client.widgets.grid.events.SelectionEvent;
import com.smartgwt.client.widgets.grid.events.SortChangedHandler;
import com.smartgwt.client.widgets.grid.events.SortEvent;
import com.smartgwt.client.widgets.layout.VLayout;
@@ -115,6 +117,17 @@ public class MetricsTableView extends
Table<MetricsViewDataSource> implements Re
addTableAction(MSG.view_measureTable_getLive(), new
ShowLiveDataTableAction(this));
addExtraWidget(addToDashboardComponent, false);
+ addToDashboardComponent.disableAddToDashboardButton();
+ metricsTableListGrid.addSelectionChangedHandler(new SelectionChangedHandler() {
+ @Override
+ public void onSelectionChanged(SelectionEvent selectionEvent) {
+ if(metricsTableListGrid.getSelectedRecords().length > 0){
+ addToDashboardComponent.enableAddToDashboardButton();
+ }else {
+ addToDashboardComponent.disableAddToDashboardButton();
+ }
+ }
+ });
}
private static class ShowLiveDataTableAction implements TableAction {