modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MetricsResourceView.java
| 1
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MetricsTableView.java
| 161 +---------
2 files changed, 21 insertions(+), 141 deletions(-)
New commits:
commit 87f33d5491f2e8be0701ae1efb29f2b19c9c9f82
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Aug 29 14:32:32 2013 -0700
Fix metrics view bug when collapsing rows and refreshing the already open graphs. They
stay open but graphs don't get repainted.
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MetricsResourceView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MetricsResourceView.java
index 32436b0..ec0496d 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MetricsResourceView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MetricsResourceView.java
@@ -159,7 +159,6 @@ public class MetricsResourceView extends AbstractD3GraphListView {
@Override
public void run() {
availabilityGraph.drawJsniChart();
- metricsTableView.refreshOpenGridRows();
}
}.schedule(150);
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 e29e63a..9fc2949 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
@@ -142,7 +142,6 @@ public class MetricsTableView extends
Table<MetricsViewDataSource> implements Re
*/
public void refreshData() {
Log.debug("MetricsView.redrawGraphs.");
-
new Timer() {
@Override
@@ -153,19 +152,6 @@ public class MetricsTableView extends
Table<MetricsViewDataSource> implements Re
}
- public void refreshOpenGridRows(){
- ListGridRecord[] metricsRecords = metricsTableListGrid.getRecords();
- for (int i = 0; i < metricsRecords.length; i++) {
- ListGridRecord metricsRecord = metricsRecords[i];
- if(null != metricsRecord){
- int metricDefinitionId = metricsRecord
- .getAttributeAsInt(MetricsViewDataSource.FIELD_METRIC_DEF_ID);
- if(expandedRows.contains(metricDefinitionId)){
- metricsTableListGrid.expandRecord(metricsRecord);
- }
- }
- }
- }
public class MetricsTableListGrid extends ListGrid {
@@ -196,7 +182,14 @@ public class MetricsTableView extends
Table<MetricsViewDataSource> implements Re
public void onRecordCollapse(RecordCollapseEvent recordCollapseEvent) {
metricsTableView.expandedRows.remove(recordCollapseEvent.getRecord().getAttributeAsInt(
MetricsViewDataSource.FIELD_METRIC_DEF_ID));
- refreshData();
+ refresh();
+ new Timer() {
+
+ @Override
+ public void run() {
+ BrowserUtility.graphSparkLines();
+ }
+ }.schedule(150);
}
});
addSortChangedHandler(new SortChangedHandler() {
commit 178917ff105a5fe69853dc049c29abb4424abf7a
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Thu Aug 29 14:13:52 2013 -0700
Remove the live value dialog from metrics view.
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 525ec42..e29e63a 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
@@ -20,9 +20,6 @@
package
org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitoring.table;
import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -31,12 +28,8 @@ import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.types.ExpansionMode;
-import com.smartgwt.client.types.SelectionStyle;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.HTMLFlow;
-import com.smartgwt.client.widgets.Window;
-import com.smartgwt.client.widgets.events.CloseClickEvent;
-import com.smartgwt.client.widgets.events.CloseClickHandler;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
@@ -52,12 +45,9 @@ import com.smartgwt.client.widgets.grid.events.SortChangedHandler;
import com.smartgwt.client.widgets.grid.events.SortEvent;
import com.smartgwt.client.widgets.layout.VLayout;
-import org.rhq.core.domain.measurement.MeasurementData;
import org.rhq.core.domain.measurement.MeasurementDefinition;
-import org.rhq.core.domain.measurement.MeasurementUnits;
import org.rhq.core.domain.measurement.composite.MeasurementDataNumericHighLowComposite;
import org.rhq.core.domain.resource.Resource;
-import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.UserSessionManager;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
@@ -69,7 +59,6 @@ import
org.rhq.enterprise.gui.coregui.client.inventory.common.graph.graphtype.St
import
org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitoring.MetricD3Graph;
import org.rhq.enterprise.gui.coregui.client.util.BrowserUtility;
import org.rhq.enterprise.gui.coregui.client.util.Log;
-import org.rhq.enterprise.gui.coregui.client.util.MeasurementConverterClient;
import
org.rhq.enterprise.gui.coregui.client.util.preferences.MeasurementUserPreferences;
/**
@@ -117,7 +106,19 @@ public class MetricsTableView extends
Table<MetricsViewDataSource> implements Re
setListGridFields(fields.toArray(new ListGridField[0]));
if(!rendered){
- addTableAction(MSG.view_measureTable_getLive(), new
ShowLiveDataTableAction(this));
+ addTableAction(MSG.view_measureTable_getLive(), new TableAction() {
+ @Override
+ public boolean isEnabled(ListGridRecord[] selection) {
+ //return selection != null && selection.length != 0;
+ return true;
+ }
+
+ @Override
+ public void executeAction(ListGridRecord[] selection, Object actionValue)
{
+ refresh();
+ }
+ });
+
addExtraWidget(addToDashboardComponent, false);
addToDashboardComponent.disableAddToDashboardButton();
metricsTableListGrid.addSelectionChangedHandler(new SelectionChangedHandler()
{
@@ -134,119 +135,6 @@ public class MetricsTableView extends
Table<MetricsViewDataSource> implements Re
}
}
- private static class ShowLiveDataTableAction implements TableAction {
- private MetricsTableView metricsTableView;
-
- public ShowLiveDataTableAction(MetricsTableView metricsTableView) {
- this.metricsTableView = metricsTableView;
- }
-
- @Override
- public boolean isEnabled(ListGridRecord[] selection) {
- return selection != null && selection.length > 0;
- }
-
- @Override
- public void executeAction(ListGridRecord[] selection, Object actionValue) {
- if (selection == null || selection.length == 0) {
- return;
- }
- // keyed on metric name - string[0] is the metric label, [1] is the units
- final HashMap<String, String[]> scheduleNamesAndUnits = new
HashMap<String, String[]>();
- int[] definitionIds = new int[selection.length];
- int i = 0;
- for (ListGridRecord record : selection) {
- Integer defId =
record.getAttributeAsInt(MetricsViewDataSource.FIELD_METRIC_DEF_ID);
- definitionIds[i++] = defId;
-
- String name =
record.getAttribute(MetricsViewDataSource.FIELD_METRIC_NAME);
- String label =
record.getAttribute(MetricsViewDataSource.FIELD_METRIC_LABEL);
- String units =
record.getAttribute(MetricsViewDataSource.FIELD_METRIC_UNITS);
- if (units == null || units.length() < 1) {
- units = MeasurementUnits.NONE.name();
- }
-
- scheduleNamesAndUnits.put(name, new String[] { label, units });
- }
-
- // actually go out and ask the agents for the data
-
GWTServiceLookup.getMeasurementDataService(60000).findLiveData(metricsTableView.resource.getId(),
- definitionIds, new AsyncCallback<Set<MeasurementData>>() {
- @Override
- public void onSuccess(Set<MeasurementData> result) {
- if (result == null) {
- result = new HashSet<MeasurementData>(0);
- }
- ArrayList<ListGridRecord> records = new
ArrayList<ListGridRecord>(result.size());
- for (MeasurementData data : result) {
- String[] nameAndUnits =
scheduleNamesAndUnits.get(data.getName());
- if (nameAndUnits != null) {
- double doubleValue;
- if (data.getValue() instanceof Number) {
- doubleValue = ((Number)
data.getValue()).doubleValue();
- } else {
- doubleValue =
Double.parseDouble(data.getValue().toString());
- }
- String value =
MeasurementConverterClient.formatToSignificantPrecision(
- new double[] { doubleValue },
MeasurementUnits.valueOf(nameAndUnits[1]), true)[0];
-
- ListGridRecord record = new ListGridRecord();
- record.setAttribute("name", nameAndUnits[0]);
- record.setAttribute("value", value);
- records.add(record);
- }
- }
- Collections.sort(records, new Comparator<ListGridRecord>()
{
- public int compare(ListGridRecord o1, ListGridRecord o2) {
- return
o1.getAttribute("name").compareTo(o2.getAttribute("name"));
- }
- });
- showLiveData(records);
- }
-
- @Override
- public void onFailure(Throwable caught) {
-
CoreGUI.getErrorHandler().handleError(MSG.view_measureTable_getLive_failure(), caught);
- }
- });
- }
-
- private void showLiveData(ArrayList<ListGridRecord> records) {
- final Window liveDataWindow = new Window();
- liveDataWindow.setTitle(MSG.view_measureTable_live_title());
- liveDataWindow.setShowModalMask(true);
- liveDataWindow.setShowMinimizeButton(false);
- liveDataWindow.setShowMaximizeButton(true);
- liveDataWindow.setShowCloseButton(true);
- liveDataWindow.setShowResizer(true);
- liveDataWindow.setCanDragResize(true);
- liveDataWindow.setDismissOnEscape(true);
- liveDataWindow.setIsModal(true);
- liveDataWindow.setWidth(700);
- liveDataWindow.setHeight(425);
- liveDataWindow.setAutoCenter(true);
- liveDataWindow.centerInPage();
- liveDataWindow.addCloseClickHandler(new CloseClickHandler() {
- @Override
- public void onCloseClick(CloseClickEvent event) {
- liveDataWindow.destroy();
- metricsTableView.refreshTableInfo();
- }
- });
-
- ListGrid liveDataGrid = new ListGrid();
- liveDataGrid.setShowAllRecords(true);
- liveDataGrid.setData(records.toArray(new ListGridRecord[records.size()]));
- liveDataGrid.setSelectionType(SelectionStyle.NONE);
- ListGridField name = new ListGridField("name",
MSG.common_title_metric());
- ListGridField value = new ListGridField("value",
MSG.common_title_value());
- liveDataGrid.setFields(name, value);
-
- liveDataWindow.addItem(liveDataGrid);
- liveDataWindow.show();
- }
-
- }
@Override
/**
Show replies by date