modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ExportModalWindow.java
| 290 ----------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ReportExporter.java
| 199 ++++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/platform/PlatformSummaryPortlet.java
| 11
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/SubsystemResourceDriftView.java
| 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/AlertDefinitionReportView.java
| 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/alert/SubsystemRecentAlertsView.java
| 15
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/configuration/SubsystemConfigurationHistoryListView.java
| 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBView.java
| 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/operation/SubsystemOperationHistoryListView.java
| 6
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/reporting/RecentDriftHandler.java
| 7
10 files changed, 231 insertions(+), 322 deletions(-)
New commits:
commit 5e16d57beaaae9ff46cbb3227f43c397677b3c7c
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Mar 28 14:00:41 2012 -0700
[BZ 800453] Export Csv Reports. Removal of ExportModalWindow and replace with
non-visual ReportExporter to call streaming RESTful reports from backend.
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ExportModalWindow.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ExportModalWindow.java
deleted file mode 100644
index 86dbc025..0000000
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ExportModalWindow.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- *
- * * RHQ Management Platform
- * * Copyright (C) 2005-2012 Red Hat, Inc.
- * * All rights reserved.
- * *
- * * This program is free software; you can redistribute it and/or modify
- * * it under the terms of the GNU General Public License as published by
- * * the Free Software Foundation version 2 of the License.
- * *
- * * This program is distributed in the hope that it will be useful,
- * * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * * GNU General Public License for more details.
- * *
- * * You should have received a copy of the GNU General Public License
- * * along with this program; if not, write to the Free Software
- * * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-package org.rhq.enterprise.gui.coregui.client.components;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.http.client.URL;
-import com.google.gwt.user.client.Window;
-import org.rhq.enterprise.gui.coregui.client.CoreGUI;
-import org.rhq.enterprise.gui.coregui.client.Messages;
-
-import java.util.Set;
-
-/**
- * Build a custom Export window based for particular export screens.
- *
- * @author Mike Thompson
- */
-public class ExportModalWindow {
-
- private static final Messages MSG = CoreGUI.getMessages();
-
- private static final String BASE_URL =
GWT.getHostPageBaseURL().replace("coregui/","")+"rest/1/reports/";
- private static final String FORMAT = "csv"; //CSV is all we need right now
-
- //private static final String FORMAT_FIELD = "format";
- //private static final String DETAILS_FIELD = "details";
- //private static final String DATE_RANGE_FIELD = "dri";
-
- private String reportUrl;
-
- private boolean showAllDetail;
-
- // optional Fields
-
- /**
- * For recent Alerts.
- */
- String[] alertPriorityFilters;
- /**
- * For Recent Operations.
- */
- String[] operationRequestStatuses;
-
- Set<Integer> resourceTypeIds;
-
- // for Recent Drift Report
- String driftDefinition;
- String driftSnapshot;
- String[] driftCategories;
- String driftPath;
-
-
- /**
- * Private constructors to force use of static factory creation pattern.
- * @param reportUrl
- */
- private ExportModalWindow(String reportUrl) {
-
- this.reportUrl = reportUrl;
- }
-
-
- private ExportModalWindow(String reportUrl, boolean showDetail, Set<Integer>
resourceTypeIds) {
- this.reportUrl = reportUrl;
- this.showAllDetail = showDetail;
- this.resourceTypeIds = resourceTypeIds;
- }
-
- public static ExportModalWindow createStandardExportWindow(String reportUrl) {
- return new ExportModalWindow(reportUrl);
- }
-
- public static ExportModalWindow createExportWindowForRecentDrift(String reportUrl,
String definition,
- String snapshot,
String[] driftCategories, String path) {
- ExportModalWindow newExportDialog = new ExportModalWindow(reportUrl);
- newExportDialog.setDriftCategories(driftCategories);
- newExportDialog.setDriftDefinition(definition);
- newExportDialog.setDriftPath(path);
- newExportDialog.setDriftSnapshot(snapshot);
- return newExportDialog;
- }
-
- public static ExportModalWindow createExportWindowForRecentAlerts(String reportUrl,
String[] alertPriorityList) {
- ExportModalWindow newExportDialog = new ExportModalWindow(reportUrl);
- newExportDialog.setAlertPriorityFilters(alertPriorityList);
- return newExportDialog;
- }
-
- public static ExportModalWindow createExportWindowForRecentOperations(String
reportUrl, String[] operationRequestStatuses ) {
- ExportModalWindow newExportDialog = new ExportModalWindow(reportUrl);
- newExportDialog.setOperationRequestStatusList(operationRequestStatuses);
- return newExportDialog;
- }
-
- public static ExportModalWindow createExportWindowForInventorySummary(String
reportUrl, boolean showAllDetails,
- Set<Integer> resourceTypeIdsForExport) {
- return new ExportModalWindow(reportUrl, showAllDetails,
resourceTypeIdsForExport);
- }
-
-// private void createDialogWindow() {
-// exportWindow = new PopupWindow("exportSettings", null);
-// exportWindow.setTitle("Export Dialog");
-//
-// VLayout dialogLayout = new VLayout();
-//
-// HLayout headerLayout = new HLayout();
-// headerLayout.setHeight(25);
-// headerLayout.setAlign(Alignment.CENTER);
-// TitleBar titleBar = new TitleBar(exportWindow, "Export Settings",
IconEnum.REPORT.getIcon24x24Path());
-// headerLayout.addMember(titleBar);
-// dialogLayout.addMember(headerLayout);
-//
-// HLayout formLayout = new HLayout();
-// formLayout.setAlign(VerticalAlignment.TOP);
-//
-// final DynamicForm form = new DynamicForm();
-//
-// final SelectItem formatsList = new SelectItem(FORMAT_FIELD,
"Format");
-// LinkedHashMap<String, String> formats = new LinkedHashMap<String,
String>();
-// formats.put("csv", "CSV");
-// formats.put("xml", "XML");
-// formatsList.setValueMap(formats);
-// formatsList.setDefaultValue("csv");
-//
-// CheckboxItem detailCheckboxItem = new CheckboxItem(DETAILS_FIELD, "Show
Detail");
-// detailCheckboxItem.setVisible(showAllDetail);
-// detailCheckboxItem.setValue(false);
-//
-// DateRangeItem dateRangeItem = new DateRangeItem(DATE_RANGE_FIELD, "Date
Range");
-// dateRangeItem.setAllowRelativeDates(true);
-// DateRange dateRange = new DateRange();
-// dateRange.setRelativeStartDate(new RelativeDate("-1m"));
-// dateRange.setRelativeEndDate(RelativeDate.TODAY);
-// dateRangeItem.setValue(dateRange);
-//
-//
-// form.setItems(new SpacerItem(),formatsList, detailCheckboxItem, new
SpacerItem(),new SpacerItem(), dateRangeItem);
-// formLayout.addMember(form);
-// dialogLayout.addMember(formLayout);
-//
-// ToolStrip buttonBar = new ToolStrip();
-// buttonBar.setAlign(Alignment.RIGHT);
-// buttonBar.setPadding(5);
-// buttonBar.setMembersMargin(10);
-//
-// IButton cancelButton = new IButton("Cancel", new ClickHandler() {
-// @Override
-// public void onClick(ClickEvent clickEvent) {
-// exportWindow.hide();
-// }
-// });
-// buttonBar.addMember(cancelButton);
-//
-// IButton finishButton = new IButton("Export", new ClickHandler() {
-// @Override
-// public void onClick(ClickEvent clickEvent) {
-// exportWindow.hide();
-// Window.open(calculateUrl(form), "download", null);
-// }
-// });
-// buttonBar.addMember(finishButton);
-//
-// dialogLayout.addMember(buttonBar);
-//
-// exportWindow.addItem(dialogLayout);
-// }
-
- public void setAlertPriorityFilters(String[] alertPriorityFilters) {
- this.alertPriorityFilters = alertPriorityFilters;
- }
-
- public void setOperationRequestStatusList(String[] operationRequestStatuses) {
- this.operationRequestStatuses = operationRequestStatuses;
- }
-
- public String determineUrl() {
- StringBuilder queryString = new StringBuilder();
-
-// if (showAllDetail) {
-//
queryString.append("details=").append(form.getValueAsString(DETAILS_FIELD));
-// }
- if(!isEmpty(operationRequestStatuses)){
- StringBuilder operationRequestStatusBuffer = new StringBuilder();
- for (String operationRequestStatus : operationRequestStatuses) {
- operationRequestStatusBuffer.append(operationRequestStatus);
- operationRequestStatusBuffer.append(",");
- }
-
-
queryString.append("operationRequestStatus=").append(operationRequestStatusBuffer.toString());
- }
- if(!isEmpty(alertPriorityFilters)){
- StringBuilder alertsPriorityBuffer = new StringBuilder();
- for (String alertPriority : alertPriorityFilters) {
- alertsPriorityBuffer.append(alertPriority);
- alertsPriorityBuffer.append(",");
- }
-
queryString.append("alertPriority=").append(alertsPriorityBuffer.toString());
- }
-
- // Drift Related
- if(!isEmpty(driftCategories)){
- StringBuilder driftCategoriesBuffer = new StringBuilder();
- for (String category : driftCategories) {
- driftCategoriesBuffer.append(category).append(",");
- }
-
queryString.append("categories=").append(driftCategoriesBuffer.toString());
- }
- if (driftDefinition != null) {
- queryString.append("definition=").append(driftDefinition);
- }
- if (driftPath != null) {
- queryString.append("path=").append(driftDefinition);
- }
- if (driftSnapshot != null) {
- queryString.append("snapshot=").append(driftSnapshot);
- }
-
-
- return URL.encode(BASE_URL + reportUrl + "." + FORMAT +
"?"+queryString);
- }
-
- private boolean isEmpty(String[] array) {
- return array == null || array.length == 0;
- }
-
- public boolean isShowAllDetail(){
- return showAllDetail;
- }
-
- public void setDriftDefinition(String driftDefinition) {
- this.driftDefinition = driftDefinition;
- }
-
- public void setDriftSnapshot(String driftSnapshot) {
- this.driftSnapshot = driftSnapshot;
- }
-
- public void setDriftCategories(String[] driftCategories) {
- this.driftCategories = driftCategories;
- }
-
- public void setDriftPath(String driftPath) {
- this.driftPath = driftPath;
- }
-
- public void show(){
- Window.open(determineUrl(), "download", null);
-
- }
-
-}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ReportExporter.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ReportExporter.java
new file mode 100644
index 0000000..4ed3c5c
--- /dev/null
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ReportExporter.java
@@ -0,0 +1,199 @@
+/*
+ *
+ * * RHQ Management Platform
+ * * Copyright (C) 2005-2012 Red Hat, Inc.
+ * * All rights reserved.
+ * *
+ * * This program is free software; you can redistribute it and/or modify
+ * * it under the terms of the GNU General Public License as published by
+ * * the Free Software Foundation version 2 of the License.
+ * *
+ * * This program is distributed in the hope that it will be useful,
+ * * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * * GNU General Public License for more details.
+ * *
+ * * You should have received a copy of the GNU General Public License
+ * * along with this program; if not, write to the Free Software
+ * * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+package org.rhq.enterprise.gui.coregui.client.components;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.http.client.URL;
+import com.google.gwt.user.client.Window;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.Messages;
+
+import java.util.Set;
+
+/**
+ * Exporter for building urls to reports (csv).
+ * The reports are RESTful urls opened up in a new window.
+ *
+ * @author Mike Thompson
+ */
+public class ReportExporter {
+
+ private static final Messages MSG = CoreGUI.getMessages();
+
+ private static final String BASE_URL =
GWT.getHostPageBaseURL().replace("coregui/","")+"rest/1/reports/";
+ private static final String FORMAT = "csv"; //CSV is all we need right now
+
+ private String reportUrl;
+
+ private boolean showAllDetail;
+
+ // optional Fields
+
+ /**
+ * For recent Alerts.
+ */
+ String[] alertPriorityFilters;
+ /**
+ * For Recent Operations.
+ */
+ String[] operationRequestStatuses;
+
+ Set<Integer> resourceTypeIds;
+
+ // for Recent Drift Report
+ String driftDefinition;
+ String driftSnapshot;
+ String[] driftCategories;
+ String driftPath;
+
+
+ /**
+ * Private constructors to force use of static factory creation pattern.
+ * @param reportUrl
+ */
+ private ReportExporter(String reportUrl) {
+
+ this.reportUrl = reportUrl;
+ }
+
+
+ private ReportExporter(String reportUrl, boolean showDetail, Set<Integer>
resourceTypeIds) {
+ this.reportUrl = reportUrl;
+ this.showAllDetail = showDetail;
+ this.resourceTypeIds = resourceTypeIds;
+ }
+
+ public static ReportExporter createStandardExporter(String reportUrl) {
+ return new ReportExporter(reportUrl);
+ }
+
+ public static ReportExporter createExporterForRecentDrift(String reportUrl, String
definition,
+ String snapshot, String[]
driftCategories, String path) {
+ ReportExporter newExportDialog = new ReportExporter(reportUrl);
+ newExportDialog.setDriftCategories(driftCategories);
+ newExportDialog.setDriftDefinition(definition);
+ newExportDialog.setDriftPath(path);
+ newExportDialog.setDriftSnapshot(snapshot);
+ return newExportDialog;
+ }
+
+ public static ReportExporter createExporterForRecentAlerts(String reportUrl, String[]
alertPriorityList) {
+ ReportExporter newExportDialog = new ReportExporter(reportUrl);
+ newExportDialog.setAlertPriorityFilters(alertPriorityList);
+ return newExportDialog;
+ }
+
+ public static ReportExporter createExporterForRecentOperations(String reportUrl,
String[] operationRequestStatuses) {
+ ReportExporter newExportDialog = new ReportExporter(reportUrl);
+ newExportDialog.setOperationRequestStatusList(operationRequestStatuses);
+ return newExportDialog;
+ }
+
+ public static ReportExporter createExporterForInventorySummary(String reportUrl,
boolean showAllDetails,
+ Set<Integer>
resourceTypeIdsForExport) {
+ return new ReportExporter(reportUrl, showAllDetails, resourceTypeIdsForExport);
+ }
+
+
+ public void setAlertPriorityFilters(String[] alertPriorityFilters) {
+ this.alertPriorityFilters = alertPriorityFilters;
+ }
+
+ public void setOperationRequestStatusList(String[] operationRequestStatuses) {
+ this.operationRequestStatuses = operationRequestStatuses;
+ }
+
+ public String determineUrl() {
+ StringBuilder queryString = new StringBuilder();
+
+// if (showAllDetail) {
+//
queryString.append("details=").append(form.getValueAsString(DETAILS_FIELD));
+// }
+ if(!isEmpty(operationRequestStatuses)){
+ StringBuilder operationRequestStatusBuffer = new StringBuilder();
+ for (String operationRequestStatus : operationRequestStatuses) {
+ operationRequestStatusBuffer.append(operationRequestStatus);
+ operationRequestStatusBuffer.append(",");
+ }
+
+
queryString.append("operationRequestStatus=").append(operationRequestStatusBuffer.toString());
+ }
+ if(!isEmpty(alertPriorityFilters)){
+ StringBuilder alertsPriorityBuffer = new StringBuilder();
+ for (String alertPriority : alertPriorityFilters) {
+ alertsPriorityBuffer.append(alertPriority);
+ alertsPriorityBuffer.append(",");
+ }
+
queryString.append("alertPriority=").append(alertsPriorityBuffer.toString());
+ }
+
+ // Drift Related
+ if(!isEmpty(driftCategories)){
+ StringBuilder driftCategoriesBuffer = new StringBuilder();
+ for (String category : driftCategories) {
+ driftCategoriesBuffer.append(category).append(",");
+ }
+
queryString.append("categories=").append(driftCategoriesBuffer.toString());
+ }
+ if (driftDefinition != null) {
+ queryString.append("definition=").append(driftDefinition);
+ }
+ if (driftPath != null) {
+ queryString.append("path=").append(driftDefinition);
+ }
+ if (driftSnapshot != null) {
+ queryString.append("snapshot=").append(driftSnapshot);
+ }
+
+
+ return URL.encode(BASE_URL + reportUrl + "." + FORMAT +
"?"+queryString);
+ }
+
+ private boolean isEmpty(String[] array) {
+ return array == null || array.length == 0;
+ }
+
+ public boolean isShowAllDetail(){
+ return showAllDetail;
+ }
+
+ public void setDriftDefinition(String driftDefinition) {
+ this.driftDefinition = driftDefinition;
+ }
+
+ public void setDriftSnapshot(String driftSnapshot) {
+ this.driftSnapshot = driftSnapshot;
+ }
+
+ public void setDriftCategories(String[] driftCategories) {
+ this.driftCategories = driftCategories;
+ }
+
+ public void setDriftPath(String driftPath) {
+ this.driftPath = driftPath;
+ }
+
+ public void export(){
+ Window.open(determineUrl(), "download", null);
+
+ }
+
+}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/platform/PlatformSummaryPortlet.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/platform/PlatformSummaryPortlet.java
index 52b8fa6..0b56395 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/platform/PlatformSummaryPortlet.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/platform/PlatformSummaryPortlet.java
@@ -27,13 +27,12 @@ import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.layout.HLayout;
-
import org.rhq.core.domain.common.EntityContext;
import org.rhq.core.domain.dashboard.DashboardPortlet;
import org.rhq.core.domain.measurement.MeasurementUnits;
import org.rhq.enterprise.gui.coregui.client.IconEnum;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
-import org.rhq.enterprise.gui.coregui.client.components.ExportModalWindow;
+import org.rhq.enterprise.gui.coregui.client.components.ReportExporter;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
import org.rhq.enterprise.gui.coregui.client.components.view.HasViewName;
@@ -45,9 +44,7 @@ import
org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSour
import org.rhq.enterprise.gui.coregui.client.util.MeasurementConverterClient;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableListGrid;
-import static org.rhq.core.domain.resource.composite.PlatformMetricsSummary.CPUMetric;
-import static
org.rhq.core.domain.resource.composite.PlatformMetricsSummary.MemoryMetric;
-import static org.rhq.core.domain.resource.composite.PlatformMetricsSummary.SwapMetric;
+import static org.rhq.core.domain.resource.composite.PlatformMetricsSummary.*;
public class PlatformSummaryPortlet extends Table<PlatformMetricDataSource>
implements Portlet, HasViewName {
@@ -123,8 +120,8 @@ public class PlatformSummaryPortlet extends
Table<PlatformMetricDataSource> impl
@Override
public void executeAction(ListGridRecord[] selection, Object actionValue) {
- ExportModalWindow exportModalWindow =
ExportModalWindow.createStandardExportWindow("platformUtilization");
- exportModalWindow.show();
+ ReportExporter exporter =
ReportExporter.createStandardExporter("platformUtilization");
+ exporter.export();
refreshTableInfo();
}
});
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/SubsystemResourceDriftView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/SubsystemResourceDriftView.java
index 73bed2b..76938f4 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/SubsystemResourceDriftView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/SubsystemResourceDriftView.java
@@ -24,7 +24,7 @@ package org.rhq.enterprise.gui.coregui.client.drift;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.common.EntityContext;
-import org.rhq.enterprise.gui.coregui.client.components.ExportModalWindow;
+import org.rhq.enterprise.gui.coregui.client.components.ReportExporter;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
public class SubsystemResourceDriftView extends DriftHistoryView {
@@ -47,8 +47,8 @@ public class SubsystemResourceDriftView extends DriftHistoryView {
@Override
public void executeAction(ListGridRecord[] selection, Object actionValue) {
- ExportModalWindow exportModalWindow =
ExportModalWindow.createExportWindowForRecentDrift("recentDrift",definitionFilter.getValueAsString(),changeSetFilter.getValueAsString(),categoryFilter.getValues(),pathFilter.getValueAsString());
- exportModalWindow.show();
+ ReportExporter exporter =
ReportExporter.createExporterForRecentDrift("recentDrift",
definitionFilter.getValueAsString(), changeSetFilter.getValueAsString(),
categoryFilter.getValues(), pathFilter.getValueAsString());
+ exporter.export();
refreshTableInfo();
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/AlertDefinitionReportView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/AlertDefinitionReportView.java
index 36f64d4..2af348f 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/AlertDefinitionReportView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/AlertDefinitionReportView.java
@@ -46,7 +46,7 @@ import org.rhq.enterprise.gui.coregui.client.IconEnum;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
import
org.rhq.enterprise.gui.coregui.client.admin.templates.AlertDefinitionTemplateTypeView;
import
org.rhq.enterprise.gui.coregui.client.alert.definitions.AbstractAlertDefinitionsDataSource;
-import org.rhq.enterprise.gui.coregui.client.components.ExportModalWindow;
+import org.rhq.enterprise.gui.coregui.client.components.ReportExporter;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
import org.rhq.enterprise.gui.coregui.client.components.view.HasViewName;
@@ -114,8 +114,8 @@ public class AlertDefinitionReportView extends
Table<AlertDefinitionReportView.D
@Override
public void executeAction(ListGridRecord[] selection, Object actionValue) {
- ExportModalWindow exportModalWindow =
ExportModalWindow.createStandardExportWindow("alertDefinitions");
- exportModalWindow.show();
+ ReportExporter exporter =
ReportExporter.createStandardExporter("alertDefinitions");
+ exporter.export();
}
});
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/alert/SubsystemRecentAlertsView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/alert/SubsystemRecentAlertsView.java
index 6ee27d9..bb5beb3 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/alert/SubsystemRecentAlertsView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/alert/SubsystemRecentAlertsView.java
@@ -1,15 +1,14 @@
package org.rhq.enterprise.gui.coregui.client.report.alert;
-import java.util.ArrayList;
-import java.util.List;
-
import com.smartgwt.client.widgets.grid.ListGridRecord;
-
import org.rhq.core.domain.alert.AlertPriority;
import org.rhq.enterprise.gui.coregui.client.alert.SubsystemResourceAlertView;
-import org.rhq.enterprise.gui.coregui.client.components.ExportModalWindow;
+import org.rhq.enterprise.gui.coregui.client.components.ReportExporter;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
+import java.util.ArrayList;
+import java.util.List;
+
public class SubsystemRecentAlertsView extends SubsystemResourceAlertView {
public SubsystemRecentAlertsView(String locatorId, boolean hasWriteAccess) {
@@ -43,9 +42,9 @@ public class SubsystemRecentAlertsView extends
SubsystemResourceAlertView {
alertPriorityList.add(AlertPriority.LOW);
}
}
- ExportModalWindow exportModalWindow =
ExportModalWindow.createExportWindowForRecentAlerts(
- "recentAlerts", alertPriorityList.toArray(new
String[alertPriorityList.size()]));
- exportModalWindow.show();
+ ReportExporter exporter = ReportExporter.createExporterForRecentAlerts(
+ "recentAlerts", alertPriorityList.toArray(new
String[alertPriorityList.size()]));
+ exporter.export();
refreshTableInfo();
}
});
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/configuration/SubsystemConfigurationHistoryListView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/configuration/SubsystemConfigurationHistoryListView.java
index 4119557..4785776 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/configuration/SubsystemConfigurationHistoryListView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/configuration/SubsystemConfigurationHistoryListView.java
@@ -1,7 +1,7 @@
package org.rhq.enterprise.gui.coregui.client.report.configuration;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import org.rhq.enterprise.gui.coregui.client.components.ExportModalWindow;
+import org.rhq.enterprise.gui.coregui.client.components.ReportExporter;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
import
org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.configuration.ResourceConfigurationHistoryListView;
@@ -27,8 +27,8 @@ public class SubsystemConfigurationHistoryListView extends
ResourceConfiguration
@Override
public void executeAction(ListGridRecord[] selection, Object actionValue) {
- ExportModalWindow exportModalWindow =
ExportModalWindow.createStandardExportWindow("configurationHistory");
- exportModalWindow.show();
+ ReportExporter exporter =
ReportExporter.createStandardExporter("configurationHistory");
+ exporter.export();
refreshTableInfo();
}
});
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBView.java
index 8905945..1836d4a 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBView.java
@@ -25,9 +25,8 @@ package org.rhq.enterprise.gui.coregui.client.report.measurement;
import com.smartgwt.client.types.SelectionStyle;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-
import org.rhq.enterprise.gui.coregui.client.IconEnum;
-import org.rhq.enterprise.gui.coregui.client.components.ExportModalWindow;
+import org.rhq.enterprise.gui.coregui.client.components.ReportExporter;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
import org.rhq.enterprise.gui.coregui.client.components.view.HasViewName;
@@ -71,8 +70,8 @@ public class MeasurementOOBView extends
Table<MeasurementOOBDataSource> implemen
@Override
public void executeAction(ListGridRecord[] selection, Object actionValue) {
- ExportModalWindow exportModalWindow =
ExportModalWindow.createStandardExportWindow("suspectMetrics");
- exportModalWindow.show();
+ ReportExporter exporter =
ReportExporter.createStandardExporter("suspectMetrics");
+ exporter.export();
refreshTableInfo();
}
});
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/operation/SubsystemOperationHistoryListView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/operation/SubsystemOperationHistoryListView.java
index f587c50..f4da7b8 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/operation/SubsystemOperationHistoryListView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/operation/SubsystemOperationHistoryListView.java
@@ -21,7 +21,7 @@ package org.rhq.enterprise.gui.coregui.client.report.operation;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.common.EntityContext;
-import org.rhq.enterprise.gui.coregui.client.components.ExportModalWindow;
+import org.rhq.enterprise.gui.coregui.client.components.ReportExporter;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
import org.rhq.enterprise.gui.coregui.client.operation.OperationHistoryView;
@@ -53,8 +53,8 @@ public class SubsystemOperationHistoryListView extends
OperationHistoryView {
@Override
public void executeAction(ListGridRecord[] selection, Object actionValue) {
- ExportModalWindow exportModalWindow =
ExportModalWindow.createExportWindowForRecentOperations("recentOperations",statusFilter.getValues());
- exportModalWindow.show();
+ ReportExporter exporter =
ReportExporter.createExporterForRecentOperations("recentOperations",
statusFilter.getValues());
+ exporter.export();
refreshTableInfo();
}
commit df80caa441d07dae74772d9f4c26f2516d4c63df
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Mar 28 13:02:36 2012 -0700
[BZ 800453] Export Csv Reports. Remove export window and replace with direct calling
of reports (in new window).
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ExportModalWindow.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ExportModalWindow.java
index f572495..86dbc025 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ExportModalWindow.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ExportModalWindow.java
@@ -20,32 +20,13 @@
*/
package org.rhq.enterprise.gui.coregui.client.components;
-import java.util.LinkedHashMap;
-import java.util.Set;
-
import com.google.gwt.core.client.GWT;
import com.google.gwt.http.client.URL;
import com.google.gwt.user.client.Window;
-import com.smartgwt.client.data.DateRange;
-import com.smartgwt.client.data.RelativeDate;
-import com.smartgwt.client.types.Alignment;
-import com.smartgwt.client.types.VerticalAlignment;
-import com.smartgwt.client.widgets.IButton;
-import com.smartgwt.client.widgets.events.ClickEvent;
-import com.smartgwt.client.widgets.events.ClickHandler;
-import com.smartgwt.client.widgets.form.DynamicForm;
-import com.smartgwt.client.widgets.form.fields.CheckboxItem;
-import com.smartgwt.client.widgets.form.fields.DateRangeItem;
-import com.smartgwt.client.widgets.form.fields.SelectItem;
-import com.smartgwt.client.widgets.form.fields.SpacerItem;
-import com.smartgwt.client.widgets.layout.HLayout;
-import com.smartgwt.client.widgets.layout.VLayout;
-import com.smartgwt.client.widgets.toolbar.ToolStrip;
-
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
-import org.rhq.enterprise.gui.coregui.client.IconEnum;
import org.rhq.enterprise.gui.coregui.client.Messages;
-import org.rhq.enterprise.gui.coregui.client.PopupWindow;
+
+import java.util.Set;
/**
* Build a custom Export window based for particular export screens.
@@ -57,15 +38,14 @@ public class ExportModalWindow {
private static final Messages MSG = CoreGUI.getMessages();
private static final String BASE_URL =
GWT.getHostPageBaseURL().replace("coregui/","")+"rest/1/reports/";
+ private static final String FORMAT = "csv"; //CSV is all we need right now
- private static final String FORMAT_FIELD = "format";
- private static final String DETAILS_FIELD = "details";
- private static final String DATE_RANGE_FIELD = "dri";
+ //private static final String FORMAT_FIELD = "format";
+ //private static final String DETAILS_FIELD = "details";
+ //private static final String DATE_RANGE_FIELD = "dri";
private String reportUrl;
- private PopupWindow exportWindow;
-
private boolean showAllDetail;
// optional Fields
@@ -88,20 +68,24 @@ public class ExportModalWindow {
String driftPath;
+ /**
+ * Private constructors to force use of static factory creation pattern.
+ * @param reportUrl
+ */
private ExportModalWindow(String reportUrl) {
+
this.reportUrl = reportUrl;
- createDialogWindow();
}
+
+
private ExportModalWindow(String reportUrl, boolean showDetail, Set<Integer>
resourceTypeIds) {
this.reportUrl = reportUrl;
this.showAllDetail = showDetail;
this.resourceTypeIds = resourceTypeIds;
- createDialogWindow();
}
public static ExportModalWindow createStandardExportWindow(String reportUrl) {
- ExportModalWindow newExportDialog = new ExportModalWindow(reportUrl);
- return newExportDialog;
+ return new ExportModalWindow(reportUrl);
}
public static ExportModalWindow createExportWindowForRecentDrift(String reportUrl,
String definition,
@@ -128,77 +112,76 @@ public class ExportModalWindow {
public static ExportModalWindow createExportWindowForInventorySummary(String
reportUrl, boolean showAllDetails,
Set<Integer> resourceTypeIdsForExport) {
- ExportModalWindow newExportDialog = new ExportModalWindow(reportUrl,
showAllDetails, resourceTypeIdsForExport);
- return newExportDialog;
+ return new ExportModalWindow(reportUrl, showAllDetails,
resourceTypeIdsForExport);
}
- private void createDialogWindow() {
- exportWindow = new PopupWindow("exportSettings", null);
- exportWindow.setTitle("Export Dialog");
-
- VLayout dialogLayout = new VLayout();
-
- HLayout headerLayout = new HLayout();
- headerLayout.setHeight(25);
- headerLayout.setAlign(Alignment.CENTER);
- TitleBar titleBar = new TitleBar(exportWindow, "Export Settings",
IconEnum.REPORT.getIcon24x24Path());
- headerLayout.addMember(titleBar);
- dialogLayout.addMember(headerLayout);
-
- HLayout formLayout = new HLayout();
- formLayout.setAlign(VerticalAlignment.TOP);
-
- final DynamicForm form = new DynamicForm();
-
- final SelectItem formatsList = new SelectItem(FORMAT_FIELD, "Format");
- LinkedHashMap<String, String> formats = new LinkedHashMap<String,
String>();
- formats.put("csv", "CSV");
- formats.put("xml", "XML");
- formatsList.setValueMap(formats);
- formatsList.setDefaultValue("csv");
-
- CheckboxItem detailCheckboxItem = new CheckboxItem(DETAILS_FIELD, "Show
Detail");
- detailCheckboxItem.setVisible(showAllDetail);
- detailCheckboxItem.setValue(false);
-
- DateRangeItem dateRangeItem = new DateRangeItem(DATE_RANGE_FIELD, "Date
Range");
- dateRangeItem.setAllowRelativeDates(true);
- DateRange dateRange = new DateRange();
- dateRange.setRelativeStartDate(new RelativeDate("-1m"));
- dateRange.setRelativeEndDate(RelativeDate.TODAY);
- dateRangeItem.setValue(dateRange);
-
-
- form.setItems(new SpacerItem(),formatsList, detailCheckboxItem, new
SpacerItem(),new SpacerItem(), dateRangeItem);
- formLayout.addMember(form);
- dialogLayout.addMember(formLayout);
-
- ToolStrip buttonBar = new ToolStrip();
- buttonBar.setAlign(Alignment.RIGHT);
- buttonBar.setPadding(5);
- buttonBar.setMembersMargin(10);
-
- IButton cancelButton = new IButton("Cancel", new ClickHandler() {
- @Override
- public void onClick(ClickEvent clickEvent) {
- exportWindow.hide();
- }
- });
- buttonBar.addMember(cancelButton);
-
- IButton finishButton = new IButton("Export", new ClickHandler() {
- @Override
- public void onClick(ClickEvent clickEvent) {
- exportWindow.hide();
- Window.open(calculateUrl(form), "download", null);
- }
- });
- buttonBar.addMember(finishButton);
-
- dialogLayout.addMember(buttonBar);
-
- exportWindow.addItem(dialogLayout);
- }
+// private void createDialogWindow() {
+// exportWindow = new PopupWindow("exportSettings", null);
+// exportWindow.setTitle("Export Dialog");
+//
+// VLayout dialogLayout = new VLayout();
+//
+// HLayout headerLayout = new HLayout();
+// headerLayout.setHeight(25);
+// headerLayout.setAlign(Alignment.CENTER);
+// TitleBar titleBar = new TitleBar(exportWindow, "Export Settings",
IconEnum.REPORT.getIcon24x24Path());
+// headerLayout.addMember(titleBar);
+// dialogLayout.addMember(headerLayout);
+//
+// HLayout formLayout = new HLayout();
+// formLayout.setAlign(VerticalAlignment.TOP);
+//
+// final DynamicForm form = new DynamicForm();
+//
+// final SelectItem formatsList = new SelectItem(FORMAT_FIELD,
"Format");
+// LinkedHashMap<String, String> formats = new LinkedHashMap<String,
String>();
+// formats.put("csv", "CSV");
+// formats.put("xml", "XML");
+// formatsList.setValueMap(formats);
+// formatsList.setDefaultValue("csv");
+//
+// CheckboxItem detailCheckboxItem = new CheckboxItem(DETAILS_FIELD, "Show
Detail");
+// detailCheckboxItem.setVisible(showAllDetail);
+// detailCheckboxItem.setValue(false);
+//
+// DateRangeItem dateRangeItem = new DateRangeItem(DATE_RANGE_FIELD, "Date
Range");
+// dateRangeItem.setAllowRelativeDates(true);
+// DateRange dateRange = new DateRange();
+// dateRange.setRelativeStartDate(new RelativeDate("-1m"));
+// dateRange.setRelativeEndDate(RelativeDate.TODAY);
+// dateRangeItem.setValue(dateRange);
+//
+//
+// form.setItems(new SpacerItem(),formatsList, detailCheckboxItem, new
SpacerItem(),new SpacerItem(), dateRangeItem);
+// formLayout.addMember(form);
+// dialogLayout.addMember(formLayout);
+//
+// ToolStrip buttonBar = new ToolStrip();
+// buttonBar.setAlign(Alignment.RIGHT);
+// buttonBar.setPadding(5);
+// buttonBar.setMembersMargin(10);
+//
+// IButton cancelButton = new IButton("Cancel", new ClickHandler() {
+// @Override
+// public void onClick(ClickEvent clickEvent) {
+// exportWindow.hide();
+// }
+// });
+// buttonBar.addMember(cancelButton);
+//
+// IButton finishButton = new IButton("Export", new ClickHandler() {
+// @Override
+// public void onClick(ClickEvent clickEvent) {
+// exportWindow.hide();
+// Window.open(calculateUrl(form), "download", null);
+// }
+// });
+// buttonBar.addMember(finishButton);
+//
+// dialogLayout.addMember(buttonBar);
+//
+// exportWindow.addItem(dialogLayout);
+// }
public void setAlertPriorityFilters(String[] alertPriorityFilters) {
this.alertPriorityFilters = alertPriorityFilters;
@@ -208,13 +191,12 @@ public class ExportModalWindow {
this.operationRequestStatuses = operationRequestStatuses;
}
- public String calculateUrl(DynamicForm form) {
- String format = form.getValueAsString(FORMAT_FIELD);
+ public String determineUrl() {
StringBuilder queryString = new StringBuilder();
- if (showAllDetail) {
-
queryString.append("details=").append(form.getValueAsString(DETAILS_FIELD));
- }
+// if (showAllDetail) {
+//
queryString.append("details=").append(form.getValueAsString(DETAILS_FIELD));
+// }
if(!isEmpty(operationRequestStatuses)){
StringBuilder operationRequestStatusBuffer = new StringBuilder();
for (String operationRequestStatus : operationRequestStatuses) {
@@ -252,7 +234,7 @@ public class ExportModalWindow {
}
- return URL.encode(BASE_URL + reportUrl + "." + format +
"?"+queryString);
+ return URL.encode(BASE_URL + reportUrl + "." + FORMAT +
"?"+queryString);
}
private boolean isEmpty(String[] array) {
@@ -263,10 +245,6 @@ public class ExportModalWindow {
return showAllDetail;
}
- public void setShowAllDetail(boolean showAllDetail) {
- this.showAllDetail = showAllDetail;
- }
-
public void setDriftDefinition(String driftDefinition) {
this.driftDefinition = driftDefinition;
}
@@ -283,8 +261,9 @@ public class ExportModalWindow {
this.driftPath = driftPath;
}
- public void show() {
- exportWindow.show();
+ public void show(){
+ Window.open(determineUrl(), "download", null);
+
}
}
commit 5d2098e58f1ddb3e2fafe2b39de0df527baaf5c5
Author: Mike Thompson <mithomps(a)redhat.com>
Date: Wed Mar 28 07:52:28 2012 -0700
[BZ 800453] Export Csv Reports. Add path and snapshot filters to REST Api.
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/reporting/RecentDriftHandler.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/reporting/RecentDriftHandler.java
index 2e65214..6a56fb9 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/reporting/RecentDriftHandler.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/reporting/RecentDriftHandler.java
@@ -58,8 +58,13 @@ public class RecentDriftHandler extends AbstractRestBean implements
RecentDriftL
log.info("Drift Snapshot version Filter set for: " +
snapshot);
criteria.addFilterChangeSetEndVersion(snapshot);
}
+ if(path != null){
+ log.info("Drift Path Filter set for: " + path);
+ criteria.addFilterPath(path);
+ }
if(definition != null){
- //@todo: drift definition search
+ log.info("Drift Definition Filter set for: " +
definition);
+ criteria.addFilterId(path);
}
List<DriftCategory> driftCategoryList = new
ArrayList<DriftCategory>(10);