[rhq] modules/enterprise
by Simeon Pinder
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MeasurementTableView.java | 45 ++++++++++
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 1
2 files changed, 46 insertions(+)
New commits:
commit 18f9722ccdd6bae13576e0bf5e790a9fd4849b55
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Tue Apr 26 09:07:44 2011 -0400
enable MMSR for resource>monitor>tables. Group has different iframe impl.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MeasurementTableView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MeasurementTableView.java
index f79dfef..66667e9 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MeasurementTableView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MeasurementTableView.java
@@ -34,10 +34,12 @@ import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.measurement.MeasurementData;
import org.rhq.core.domain.measurement.MeasurementUnits;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.components.FullHTMLPane;
import org.rhq.enterprise.gui.coregui.client.components.measurement.UserPreferencesMeasurementRangeEditor;
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.gwt.GWTServiceLookup;
+import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView.ChartViewWindow;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementConverterClient;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableListGrid;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableWindow;
@@ -127,6 +129,49 @@ public class MeasurementTableView extends Table<MeasurementTableDataSource> {
});
}
});
+ //add chart selected metric action
+ addTableAction(extendLocatorId("chartValues"), MSG.view_measureTable_chartMetricValues(), new TableAction() {
+ @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(MeasurementTableDataSource.FIELD_METRIC_DEF_ID);
+ definitionIds[i++] = defId.intValue();
+
+ String name = record.getAttribute(MeasurementTableDataSource.FIELD_METRIC_NAME);
+ String label = record.getAttribute(MeasurementTableDataSource.FIELD_METRIC_LABEL);
+ String units = record.getAttribute(MeasurementTableDataSource.FIELD_METRIC_UNITS);
+ if (units == null || units.length() < 1) {
+ units = MeasurementUnits.NONE.name();
+ }
+
+ scheduleNamesAndUnits.put(name, new String[] { label, units });
+ }
+
+ //build portal.war chart page to iFrame
+ String destination = "/resource/common/monitor/Visibility.do?mode=chartMultiMetricSingleResource&id="
+ + resourceId;
+ for (int mId : definitionIds) {
+ destination += "&m=" + mId;
+ }
+ ChartViewWindow window = new ChartViewWindow(extendLocatorId("ChartWindow"), "");
+ //generate and include iframed content
+ FullHTMLPane iframe = new FullHTMLPane(extendLocatorId("View"), destination);
+ window.addItem(iframe);
+ window.show();
+ }
+ });
}
private void showLiveData(ArrayList<ListGridRecord> records) {
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 8764f1f..e51c083 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
@@ -1362,6 +1362,7 @@ view_bundle_deployWizard_title = Bundle Deployment Wizard
# =================== Measurement Views =====================
+view_measureTable_chartMetricValues = Chart Selected Metrics
view_measureTable_getLive = Get Live Value
view_measureTable_getLive_failure = Cannot get live values for those metrics. Make sure the agent is running and the managed resource is up.
view_measureTable_live_title = Live Data
13 years, 1 month
[rhq] 3 commits - modules/enterprise
by Simeon Pinder
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java | 25 +++++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java | 25 +++++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceMetricsPortlet.java | 27 +++++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceOobsPortlet.java | 23 ++++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java | 41 ++++++++++
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 1
modules/enterprise/gui/portal-war/src/main/webapp/portal/MainLayout.jsp | 10 +-
modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ChartLegend.jsp | 8 -
modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ChartParams.jsp | 5 -
modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ParticipatingResources.jsp | 8 -
10 files changed, 145 insertions(+), 28 deletions(-)
New commits:
commit 39a50b7c6e5466c241cf158a3b1424512e3b03d4
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Tue Apr 26 07:53:13 2011 -0400
some links cleanup and removal of traliing colon.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
index e25b70a..7198004 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
@@ -391,7 +391,7 @@ public class GroupMetricsPortlet extends LocatableVLayout implements CustomSetti
graphContainer.setCanvas(graph);
//Link/title element
- final String title = md.getDisplayName() + ":";
+ final String title = md.getDisplayName();
// String destination = "/resource/common/monitor/Visibility.do?mode=chartSingleMetricSingleResource&id="
// + resourceId + "&m=" + md.getId();
final String destination = "/resource/common/monitor/Visibility.do?mode=chartSingleMetricMultiResource&groupId="
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java
index 16a591e..69ee7ee 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java
@@ -220,7 +220,7 @@ public class GroupOobsPortlet extends LocatableVLayout implements CustomSettings
.getScheduleName()));
row.setNumCols(2);
- final String title = oob.getScheduleName() + ":";
+ final String title = oob.getScheduleName();
final String destination = "/resource/common/monitor/Visibility.do?m="
// + oob.getDefinitionId() + "&id=" + groupId + "&mode=chartSingleMetricSingleResource";
+ oob.getDefinitionId() + "&groupId=" + groupId
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceOobsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceOobsPortlet.java
index 2b33dfb..a6c8005 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceOobsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceOobsPortlet.java
@@ -108,7 +108,7 @@ public class ResourceOobsPortlet extends GroupOobsPortlet {
.getScheduleName()));
row.setNumCols(2);
- final String title = oob.getScheduleName() + ":";
+ final String title = oob.getScheduleName();
final String destination = "/resource/common/monitor/Visibility.do?m="
+ oob.getDefinitionId() + "&id=" + resourceId + "&mode=chartSingleMetricSingleResource";
LinkItem link = AbstractActivityView.newLinkItem(title, destination);
commit 16eea2da6c4daf19992f735278c530197f861526
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Tue Apr 26 07:05:24 2011 -0400
i)Disable parent & resource links in portal.war for display in coregui
ii)re-enable ChartLegend.jsp as needed to distinguish between graph data in SMMR
iii)fix problem with GroupOobs portlet links.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
index 1acb948..e25b70a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
@@ -408,6 +408,8 @@ public class GroupMetricsPortlet extends LocatableVLayout implements CustomSetti
FullHTMLPane iframe = new FullHTMLPane(
recentMeasurementsContent
.extendLocatorId("View"), destination);
+ // .extendLocatorId("View"),
+ // AbstractActivityView.iframeLink(destination));
window.addItem(iframe);
window.show();
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java
index 5ec50f9..16a591e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java
@@ -222,7 +222,9 @@ public class GroupOobsPortlet extends LocatableVLayout implements CustomSettings
final String title = oob.getScheduleName() + ":";
final String destination = "/resource/common/monitor/Visibility.do?m="
- + oob.getDefinitionId() + "&id=" + groupId + "&mode=chartSingleMetricSingleResource";
+ // + oob.getDefinitionId() + "&id=" + groupId + "&mode=chartSingleMetricSingleResource";
+ + oob.getDefinitionId() + "&groupId=" + groupId
+ + "&mode=chartSingleMetricSingleResource";
LinkItem link = AbstractActivityView.newLinkItem(title, destination);
link.addClickHandler(new ClickHandler() {
@Override
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 5554bde..6e7415f 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
@@ -682,4 +682,12 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
});
}
}
+
+ public static String iframeLink(String destination) {
+ String link = destination;
+ if (destination != null) {
+ link += "&iframe=true";
+ }
+ return link;
+ }
}
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ChartLegend.jsp b/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ChartLegend.jsp
index 2034298..87b624a 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ChartLegend.jsp
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ChartLegend.jsp
@@ -19,18 +19,18 @@
<fmt:formatNumber var="imgidx" pattern="00" value="${resStatus.index + 1}"/>
<p><b><fmt:message key="resource.common.monitor.visibility.chart.ResourceLabel"/></b>
<html:img page="/images/icon_resource_${imgidx}.gif" width="11" height="11" border="0"/>
- <html:link href="${parentResourceUrl}">
+ <%--<html:link href="${parentResourceUrl}">--%>
<c:out value="${resource.parentResource.name}"/>
- </html:link>
+ <%--</html:link>--%>
<br>
<html:img page="/images/hierarchy.gif" width="16" height="16" alt="" border="0"/>
- <html:link href="${resourceUrl}">
+ <%--<html:link href="${resourceUrl}">--%>
<c:out value="${resource.name}"/>
- </html:link>
+ <%--</html:link>--%>
<br>
</c:forEach>
</td>
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/MetricChart.jsp b/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/MetricChart.jsp
index 37a66b2..31b557f 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/MetricChart.jsp
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/MetricChart.jsp
@@ -69,6 +69,11 @@
height="1" border="0"/></td>
</tr>
<tr>
+ <td class="MonitorChartCell">
+ <tiles:insert definition=".resource.common.monitor.visibility.charts.metric.chartlegend"/>
+ </td>
+ </tr>
+ <tr>
<td class="MonitorChartBlock" colspan="3">
<tiles:insert page="/resource/common/monitor/visibility/ChartTimeIntervalToolbar.jsp">
<tiles:put name="rangeNow" beanName="ViewChartForm" beanProperty="rangeNow"/>
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ParticipatingResources.jsp b/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ParticipatingResources.jsp
index 67bf63c..e1bb7d3 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ParticipatingResources.jsp
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ParticipatingResources.jsp
@@ -155,14 +155,14 @@
"
</c:if>
class="<c:out value='${resCellClass}'/>" valign="top">
- <html:link href="${parentResourceUrl}">
+ <%--<html:link href="${parentResourceUrl}">--%>
<c:out value="${resource.parentResource.name}"/>
- </html:link>
+ <%--</html:link>--%>
<br>
<html:img page="/images/hierarchy.gif" width="16" height="16" alt="" border="0"/>
- <html:link href="${resourceUrl}">
+ <%--<html:link href="${resourceUrl}">--%>
<c:out value="${resource.name}"/>
- </html:link>
+ <%--</html:link>--%>
</td>
</c:if>
<%--
commit f91a12454a88e0a211853e4de92811b1ddf17b27
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Wed Apr 20 16:29:10 2011 -0400
inital commit for iframing metrics/charting:
- Grp/Res metrics and Grp/Res Oobs portets updated to iframe metric chart views in modal.
- modified struts backing pages to comment or remove link/label content still referring to portal.war
- removed lines from MetricChart because commenting was not respected in jsp and corrupted jsp display.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
index 7ebddfe..1acb948 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
@@ -38,6 +38,8 @@ import com.smartgwt.client.widgets.form.events.SubmitValuesHandler;
import com.smartgwt.client.widgets.form.fields.CanvasItem;
import com.smartgwt.client.widgets.form.fields.LinkItem;
import com.smartgwt.client.widgets.form.fields.StaticTextItem;
+import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
+import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.configuration.Configuration;
@@ -52,6 +54,7 @@ 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.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.FullHTMLPane;
import org.rhq.enterprise.gui.coregui.client.components.measurement.CustomConfigMeasurementRangeEditor;
import org.rhq.enterprise.gui.coregui.client.dashboard.AutoRefreshPortlet;
import org.rhq.enterprise.gui.coregui.client.dashboard.AutoRefreshPortletUtil;
@@ -63,6 +66,7 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigura
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigurationEditorComponent.Constant;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView;
+import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView.ChartViewWindow;
import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.ResourceGroupDetailView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
import org.rhq.enterprise.gui.coregui.client.util.BrowserUtility;
@@ -387,14 +391,27 @@ public class GroupMetricsPortlet extends LocatableVLayout implements CustomSetti
graphContainer.setCanvas(graph);
//Link/title element
- //TODO: spinder, change link whenever portal.war/graphing is removed.
- String title = md.getDisplayName() + ":";
+ final String title = md.getDisplayName() + ":";
// String destination = "/resource/common/monitor/Visibility.do?mode=chartSingleMetricSingleResource&id="
// + resourceId + "&m=" + md.getId();
- String destination = "/resource/common/monitor/Visibility.do?mode=chartSingleMetricMultiResource&groupId="
+ final String destination = "/resource/common/monitor/Visibility.do?mode=chartSingleMetricMultiResource&groupId="
+ groupId + "&m=" + md.getId();
LinkItem link = AbstractActivityView.newLinkItem(title,
destination);
+ link.addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(ClickEvent event) {
+ ChartViewWindow window = new ChartViewWindow(
+ recentMeasurementsContent
+ .extendLocatorId("ChartWindow"), title);
+ //generate and include iframed content
+ FullHTMLPane iframe = new FullHTMLPane(
+ recentMeasurementsContent
+ .extendLocatorId("View"), destination);
+ window.addItem(iframe);
+ window.show();
+ }
+ });
//Value
String convertedValue = lastValue + " " + md.getUnits();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java
index 0428f93..5ec50f9 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java
@@ -33,6 +33,8 @@ import com.smartgwt.client.widgets.form.events.SubmitValuesHandler;
import com.smartgwt.client.widgets.form.fields.LinkItem;
import com.smartgwt.client.widgets.form.fields.SelectItem;
import com.smartgwt.client.widgets.form.fields.StaticTextItem;
+import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
+import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.configuration.Configuration;
@@ -40,6 +42,7 @@ import org.rhq.core.domain.configuration.PropertySimple;
import org.rhq.core.domain.dashboard.DashboardPortlet;
import org.rhq.core.domain.measurement.composite.MeasurementOOBComposite;
import org.rhq.core.domain.util.PageList;
+import org.rhq.enterprise.gui.coregui.client.components.FullHTMLPane;
import org.rhq.enterprise.gui.coregui.client.dashboard.AutoRefreshPortlet;
import org.rhq.enterprise.gui.coregui.client.dashboard.AutoRefreshPortletUtil;
import org.rhq.enterprise.gui.coregui.client.dashboard.CustomSettingsPortlet;
@@ -50,6 +53,7 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigura
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigurationEditorComponent.Constant;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView;
+import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView.ChartViewWindow;
import org.rhq.enterprise.gui.coregui.client.util.GwtRelativeDurationConverter;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableCanvas;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
@@ -216,10 +220,23 @@ public class GroupOobsPortlet extends LocatableVLayout implements CustomSettings
.getScheduleName()));
row.setNumCols(2);
- String title = oob.getScheduleName() + ":";
- String destination = "/resource/common/monitor/Visibility.do?m=" + oob.getDefinitionId()
- + "&id=" + groupId + "&mode=chartSingleMetricSingleResource";
+ final String title = oob.getScheduleName() + ":";
+ final String destination = "/resource/common/monitor/Visibility.do?m="
+ + oob.getDefinitionId() + "&id=" + groupId + "&mode=chartSingleMetricSingleResource";
LinkItem link = AbstractActivityView.newLinkItem(title, destination);
+ link.addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(ClickEvent event) {
+ ChartViewWindow window = new ChartViewWindow(recentOobContent
+ .extendLocatorId("ChartWindow"), title);
+ //generate and include iframed content
+ FullHTMLPane iframe = new FullHTMLPane(recentOobContent.extendLocatorId("View"),
+ destination);
+ window.addItem(iframe);
+ window.show();
+ }
+ });
+
StaticTextItem time = AbstractActivityView.newTextItem(GwtRelativeDurationConverter
.format(oob.getTimestamp()));
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceMetricsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceMetricsPortlet.java
index f046afc..1adc6f3 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceMetricsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceMetricsPortlet.java
@@ -34,6 +34,8 @@ import com.smartgwt.client.widgets.HTMLFlow;
import com.smartgwt.client.widgets.form.fields.CanvasItem;
import com.smartgwt.client.widgets.form.fields.LinkItem;
import com.smartgwt.client.widgets.form.fields.StaticTextItem;
+import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
+import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.configuration.PropertySimple;
@@ -45,12 +47,14 @@ import org.rhq.core.domain.resource.ResourceType;
import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.FullHTMLPane;
import org.rhq.enterprise.gui.coregui.client.dashboard.Portlet;
import org.rhq.enterprise.gui.coregui.client.dashboard.PortletViewFactory;
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigurationEditorComponent.Constant;
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.groups.GroupMetricsPortlet;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView;
+import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView.ChartViewWindow;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
import org.rhq.enterprise.gui.coregui.client.util.BrowserUtility;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
@@ -257,14 +261,27 @@ public class ResourceMetricsPortlet extends GroupMetricsPortlet {
graphContainer.setCanvas(graph);
//Link/title element
- //TODO: spinder, change link whenever portal.war/graphing is removed.
- String title = md.getDisplayName() + ":";
- // String destination = "/resource/common/monitor/Visibility.do?mode=chartSingleMetricSingleResource&id="
- // + resourceId + "&m=" + md.getId();
- String destination = "/resource/common/monitor/Visibility.do?mode=chartSingleMetricSingleResource&id="
+ final String title = md.getDisplayName();
+ final String destination = "/resource/common/monitor/Visibility.do?mode=chartSingleMetricSingleResource&id="
+ resourceId + "&m=" + md.getId();
+
+ //have link launch modal window on click
LinkItem link = AbstractActivityView.newLinkItem(title,
destination);
+ link.addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(ClickEvent event) {
+ ChartViewWindow window = new ChartViewWindow(
+ recentMeasurementsContent
+ .extendLocatorId("ChartWindow"), title);
+ //generate and include iframed content
+ FullHTMLPane iframe = new FullHTMLPane(
+ recentMeasurementsContent.extendLocatorId("View"),
+ destination);
+ window.addItem(iframe);
+ window.show();
+ }
+ });
//Value
String convertedValue = lastValue + " " + md.getUnits();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceOobsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceOobsPortlet.java
index a1d0301..2b33dfb 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceOobsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceOobsPortlet.java
@@ -24,17 +24,21 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.form.fields.LinkItem;
import com.smartgwt.client.widgets.form.fields.StaticTextItem;
+import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
+import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.configuration.PropertySimple;
import org.rhq.core.domain.measurement.composite.MeasurementOOBComposite;
import org.rhq.core.domain.util.PageList;
+import org.rhq.enterprise.gui.coregui.client.components.FullHTMLPane;
import org.rhq.enterprise.gui.coregui.client.dashboard.Portlet;
import org.rhq.enterprise.gui.coregui.client.dashboard.PortletViewFactory;
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigurationEditorComponent.Constant;
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.groups.GroupOobsPortlet;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView;
+import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView.ChartViewWindow;
import org.rhq.enterprise.gui.coregui.client.util.GwtRelativeDurationConverter;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableDynamicForm;
@@ -104,10 +108,23 @@ public class ResourceOobsPortlet extends GroupOobsPortlet {
.getScheduleName()));
row.setNumCols(2);
- String title = oob.getScheduleName() + ":";
- String destination = "/resource/common/monitor/Visibility.do?m=" + oob.getDefinitionId()
- + "&id=" + resourceId + "&mode=chartSingleMetricSingleResource";
+ final String title = oob.getScheduleName() + ":";
+ final String destination = "/resource/common/monitor/Visibility.do?m="
+ + oob.getDefinitionId() + "&id=" + resourceId + "&mode=chartSingleMetricSingleResource";
LinkItem link = AbstractActivityView.newLinkItem(title, destination);
+ link.addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(ClickEvent event) {
+ ChartViewWindow window = new ChartViewWindow(recentOobContent
+ .extendLocatorId("ChartWindow"), title);
+ //generate and include iframed content
+ FullHTMLPane iframe = new FullHTMLPane(recentOobContent.extendLocatorId("View"),
+ destination);
+ window.addItem(iframe);
+ window.show();
+ }
+ });
+
StaticTextItem time = AbstractActivityView.newTextItem(GwtRelativeDurationConverter
.format(oob.getTimestamp()));
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 0ee3647..5554bde 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
@@ -28,6 +28,8 @@ 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.events.CloseClickHandler;
+import com.smartgwt.client.widgets.events.CloseClientEvent;
import com.smartgwt.client.widgets.form.fields.CheckboxItem;
import com.smartgwt.client.widgets.form.fields.FormItem;
import com.smartgwt.client.widgets.form.fields.FormItemIcon;
@@ -66,6 +68,7 @@ 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.LocatableWindow;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -108,6 +111,7 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
public static String RECENT_BUNDLE_DEPLOY_NONE = MSG.view_resource_inventory_activity_no_recent_bundle_deploy();
public static String SEE_MORE = MSG.common_msg_see_more();
public static String RECENT_CRITERIA_EVENTS_NONE = MSG.view_resource_inventory_activity_criteria_no_recent_events();
+ public static final String CHART_TITLE = MSG.common_title_metric_chart();
private ResourceGroupComposite groupComposite = null;
private ResourceComposite resourceComposite = null;
@@ -649,4 +653,33 @@ public abstract class AbstractActivityView extends LocatableVLayout implements R
}
return groupBasePath;
}
+
+ public static class ChartViewWindow extends LocatableWindow {
+
+ public ChartViewWindow(String locatorId, String title) {
+ super(locatorId);
+ setTitle(CHART_TITLE + ": " + title);
+ setShowMinimizeButton(true);
+ setShowMaximizeButton(true);
+ setShowCloseButton(true);
+ setIsModal(true);
+ setShowModalMask(true);
+ setWidth(850);
+ setHeight(650);
+ setShowResizer(true);
+ setCanDragResize(true);
+ centerInPage();
+
+ addCloseClickHandler(new CloseClickHandler() {
+ @Override
+ public void onCloseClick(CloseClientEvent event) {
+ try {
+ hide();
+ } catch (Throwable e) {
+ Log.warn("Cannot destroy chart display window.", e);
+ }
+ }
+ });
+ }
+ }
}
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 b09c159..8764f1f 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
@@ -144,6 +144,7 @@ common_title_ldapGroups = LDAP Groups
common_title_mashup = Mashup
common_title_message = Message
common_title_metric = Metric
+common_title_metric_chart = Metric Chart
common_title_mixedGroups = Mixed Groups
common_title_mixedGroups_total = Mixed Group Total
common_title_name = Name
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/portal/MainLayout.jsp b/modules/enterprise/gui/portal-war/src/main/webapp/portal/MainLayout.jsp
index d3df96a..2e85aaa 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/portal/MainLayout.jsp
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/portal/MainLayout.jsp
@@ -56,17 +56,19 @@
-->
</head>
<body>
- <tiles:insert attribute="header">
+
+ <!--spinder 4/20/11: commenting for better iframing for coregui. Portal.war full view with menus no longer maintained. -->
+ <!--<tiles:insert attribute="header">
<tiles:put name="breadcrumb" beanName="breadcrumb"/>
<tiles:put name="location" beanName="location"/>
- </tiles:insert>
+ </tiles:insert>-->
<div id="content-full">
- <div id="Breadcrumb">
+ <!--<div id="Breadcrumb">
<tiles:insert attribute="breadcrumb">
<tiles:put name="location" beanName="location"/>
</tiles:insert>
- </div>
+ </div>-->
<tiles:insert attribute='body'/>
</div>
</body>
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ChartParams.jsp b/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ChartParams.jsp
index 6e9a712..deca40f 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ChartParams.jsp
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/ChartParams.jsp
@@ -81,7 +81,8 @@
<td rowspan="4">
<html:img page="/images/spacer.gif" width="30" height="1" border="0"/>
</td>
- <td rowspan="4" valign="top">
+ <!-- commenting for iframe display in coregui.-->
+ <!--<td rowspan="4" valign="top">
<table border="0">
<tr>
@@ -120,7 +121,7 @@
</tr>
</table>
- </td>
+ </td>-->
</tr>
<tr>
<td>
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/MetricChart.jsp b/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/MetricChart.jsp
index 31b557f..37a66b2 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/MetricChart.jsp
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/resource/common/monitor/visibility/MetricChart.jsp
@@ -69,11 +69,6 @@
height="1" border="0"/></td>
</tr>
<tr>
- <td class="MonitorChartCell">
- <tiles:insert definition=".resource.common.monitor.visibility.charts.metric.chartlegend"/>
- </td>
- </tr>
- <tr>
<td class="MonitorChartBlock" colspan="3">
<tiles:insert page="/resource/common/monitor/visibility/ChartTimeIntervalToolbar.jsp">
<tiles:put name="rangeNow" beanName="ViewChartForm" beanProperty="rangeNow"/>
13 years, 1 month
[rhq] modules/enterprise
by John Sanda
modules/enterprise/gui/installer-war/pom.xml | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
New commits:
commit 0adce27b74ca16adaa58fe278e02c63492d58976
Author: John Sanda <jsanda(a)redhat.com>
Date: Mon Apr 25 17:22:53 2011 -0400
Moving surefire plugin configuration outside of profiles
I accidentally added the surefire plugin to the dev profile when it
should have been added to the <build> section outside of any profiles.
diff --git a/modules/enterprise/gui/installer-war/pom.xml b/modules/enterprise/gui/installer-war/pom.xml
index 85a2df7..7ea2401 100644
--- a/modules/enterprise/gui/installer-war/pom.xml
+++ b/modules/enterprise/gui/installer-war/pom.xml
@@ -143,6 +143,19 @@
<finalName>rhq-installer</finalName>
<plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <rhq.test.ds.server-name>${rhq.test.ds.server-name}</rhq.test.ds.server-name>
+ <rhq.test.ds.connection-url>${rhq.test.ds.connection-url}</rhq.test.ds.connection-url>
+ <rhq.db.admin.username>${rhq.db.admin.username}</rhq.db.admin.username>
+ <rhq.db.admin.password>${rhq.db.admin.password}</rhq.db.admin.password>
+ <rhq.test.ds.user-name>${rhq.test.ds.user-name}</rhq.test.ds.user-name>
+ <rhq.test.ds.password>${rhq.test.ds.password}</rhq.test.ds.password>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
@@ -239,19 +252,6 @@
<build>
<plugins>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <systemPropertyVariables>
- <rhq.test.ds.server-name>${rhq.test.ds.server-name}</rhq.test.ds.server-name>
- <rhq.test.ds.connection-url>${rhq.test.ds.connection-url}</rhq.test.ds.connection-url>
- <rhq.db.admin.username>${rhq.db.admin.username}</rhq.db.admin.username>
- <rhq.db.admin.password>${rhq.db.admin.password}</rhq.db.admin.password>
- <rhq.test.ds.user-name>${rhq.test.ds.user-name}</rhq.test.ds.user-name>
- <rhq.test.ds.password>${rhq.test.ds.password}</rhq.test.ds.password>
- </systemPropertyVariables>
- </configuration>
- </plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
13 years, 1 month
[rhq] modules/enterprise
by John Sanda
modules/enterprise/gui/installer-war/pom.xml | 13 +++++++
modules/enterprise/gui/installer-war/src/test/java/org/rhq/enterprise/installer/DBInstallatonTest.java | 17 ++++++----
2 files changed, 24 insertions(+), 6 deletions(-)
New commits:
commit e90ce5a4f73a91215ad4736d8954af79a7ed96fc
Author: John Sanda <jsanda(a)redhat.com>
Date: Mon Apr 25 16:18:05 2011 -0400
Parameterizing tests so they can be run on hudson
DBInstallationTest previously used hard coded values that assumed
default developer setting in which the database is running on localhost.
The new hudson server uses a database on a different machine, making
necessary the changes to be able to specify different database settings
via system properties.
diff --git a/modules/enterprise/gui/installer-war/pom.xml b/modules/enterprise/gui/installer-war/pom.xml
index c36a444..85a2df7 100644
--- a/modules/enterprise/gui/installer-war/pom.xml
+++ b/modules/enterprise/gui/installer-war/pom.xml
@@ -239,6 +239,19 @@
<build>
<plugins>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <systemPropertyVariables>
+ <rhq.test.ds.server-name>${rhq.test.ds.server-name}</rhq.test.ds.server-name>
+ <rhq.test.ds.connection-url>${rhq.test.ds.connection-url}</rhq.test.ds.connection-url>
+ <rhq.db.admin.username>${rhq.db.admin.username}</rhq.db.admin.username>
+ <rhq.db.admin.password>${rhq.db.admin.password}</rhq.db.admin.password>
+ <rhq.test.ds.user-name>${rhq.test.ds.user-name}</rhq.test.ds.user-name>
+ <rhq.test.ds.password>${rhq.test.ds.password}</rhq.test.ds.password>
+ </systemPropertyVariables>
+ </configuration>
+ </plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
diff --git a/modules/enterprise/gui/installer-war/src/test/java/org/rhq/enterprise/installer/DBInstallatonTest.java b/modules/enterprise/gui/installer-war/src/test/java/org/rhq/enterprise/installer/DBInstallatonTest.java
index 12f4ac6..354d651 100644
--- a/modules/enterprise/gui/installer-war/src/test/java/org/rhq/enterprise/installer/DBInstallatonTest.java
+++ b/modules/enterprise/gui/installer-war/src/test/java/org/rhq/enterprise/installer/DBInstallatonTest.java
@@ -45,9 +45,9 @@ import java.util.Properties;
*/
public class DBInstallatonTest {
- final String TEST_DB = "installer_test_db";
- final String USERNAME = "rhqadmin";
- final String PASSWORD = "rhqadmin";
+ final String TEST_DB = "rhq_installer_test_db";
+ final String USERNAME = System.getProperty("rhq.test.ds.user-name", "rhqadmin");
+ final String PASSWORD = System.getProperty("rhq.test.ds.password", "rhqadmin");
ServerInformation installer = new ServerInformation();
@@ -98,9 +98,13 @@ public class DBInstallatonTest {
Statement createDB = null;
try {
- String dbUrl = "jdbc:postgresql://127.0.0.1:5432/postgres";
+ String server = System.getProperty("rhq.test.ds.server-name", "127.0.0.1");
+ String adminUsername = System.getProperty("rhq.db.admin.username", "postgres");
+ String adminPassword = System.getProperty("rhq.db.admin.password", "postgres");
- connection = DbUtil.getConnection(dbUrl, "postgres", "postgres");
+ String dbUrl = "jdbc:postgresql://" + server + ":5432/postgres";
+
+ connection = DbUtil.getConnection(dbUrl, adminUsername, adminPassword);
dropDB = connection.createStatement();
createDB = connection.createStatement();
@@ -161,7 +165,8 @@ public class DBInstallatonTest {
}
private String getTestDbUrl() {
- return "jdbc:postgresql://127.0.0.1:5432/" + TEST_DB;
+ String server = System.getProperty("rhq.test.ds.server-name", "127.0.0.1");
+ return "jdbc:postgresql://" + server + ":5432/" + TEST_DB;
}
13 years, 1 month
[rhq] modules/enterprise
by lkrejci
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/CreateNewPackageUIBean.java | 17 ++++++++--
modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo-plain.xhtml | 2 -
2 files changed, 16 insertions(+), 3 deletions(-)
New commits:
commit 4341ebff99fc3af9a7d176229f5c9c9aa6f996ce
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Mon Apr 25 18:17:31 2011 +0200
BZ 697858 - include the resource type resolution in the package type list on the repo details page.
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/CreateNewPackageUIBean.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/CreateNewPackageUIBean.java
index 17ada7a..1e067be 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/CreateNewPackageUIBean.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/CreateNewPackageUIBean.java
@@ -311,6 +311,14 @@ public class CreateNewPackageUIBean {
}
public SelectItem[] getPackageTypes() {
+ return getPackageTypes(false);
+ }
+
+ public SelectItem[] getPackageTypesWithResourceTypeNames() {
+ return getPackageTypes(true);
+ }
+
+ private SelectItem[] getPackageTypes(boolean includeResourceTypeResolution) {
Resource resource = EnterpriseFacesContextUtility.getResourceIfExists();
List<PackageType> packageTypes = null;
@@ -324,13 +332,18 @@ public class CreateNewPackageUIBean {
SelectItem[] items = new SelectItem[packageTypes.size()];
int itemCounter = 0;
for (PackageType packageType : packageTypes) {
- SelectItem item = new SelectItem(packageType.getId(), packageType.getDisplayName());
+ String displayName = packageType.getDisplayName();
+ if (includeResourceTypeResolution && packageType.getResourceType() != null) {
+ ResourceType rt = packageType.getResourceType();
+ displayName += " [" + rt.getName() + ":" + rt.getPlugin() + "]";
+ }
+ SelectItem item = new SelectItem(packageType.getId(), displayName);
items[itemCounter++] = item;
}
return items;
}
-
+
public SelectItem[] getSubscribedRepos() {
Resource resource = EnterpriseFacesContextUtility.getResource();
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo-plain.xhtml
index 4f8c7c1..b45e738 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo-plain.xhtml
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo-plain.xhtml
@@ -673,7 +673,7 @@
</h:panelGroup>
<h:panelGroup style="clear: both">
<h:selectOneMenu value="#{CreateNewPackageUIBean.selectedPackageTypeId}">
- <f:selectItems value="#{CreateNewPackageUIBean.packageTypes}"/>
+ <f:selectItems value="#{CreateNewPackageUIBean.packageTypesWithResourceTypeNames}"/>
</h:selectOneMenu>
</h:panelGroup>
13 years, 1 month
[rhq] modules/enterprise
by lkrejci
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/ListReposUIBean.java | 6 ++++++
modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listRepos-plain.xhtml | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
New commits:
commit 3a7c9f5b22134a353e4d7fd6f5cb7a89d26d3b25
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Mon Apr 25 18:03:33 2011 +0200
BZ 698767 - only show the sync button in the repo list page if the user is a repo manager.
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/ListReposUIBean.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/ListReposUIBean.java
index b2b2ed7..0fcbf27 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/ListReposUIBean.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/content/ListReposUIBean.java
@@ -25,6 +25,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.rhq.core.domain.auth.Subject;
+import org.rhq.core.domain.authz.Permission;
import org.rhq.core.domain.content.Repo;
import org.rhq.core.domain.util.PageControl;
import org.rhq.core.domain.util.PageList;
@@ -58,6 +59,11 @@ public class ListReposUIBean extends PagedDataTableUIBean {
return "importRepos";
}
+ public boolean isRepositoryManager() {
+ Subject subject = EnterpriseFacesContextUtility.getSubject();
+ return LookupUtil.getAuthorizationManager().hasGlobalPermission(subject, Permission.MANAGE_REPOSITORIES);
+ }
+
public String syncSelectedRepos() {
Subject subject = EnterpriseFacesContextUtility.getSubject();
String[] selected = getSelectedRepos();
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listRepos-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listRepos-plain.xhtml
index 70a4837..ed07a6d 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listRepos-plain.xhtml
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listRepos-plain.xhtml
@@ -128,7 +128,7 @@
<onc:selectCommandButton action="#{ListReposUIBean.deleteSelectedRepos}"
value="DELETE SELECTED" target="selectedRepos" styleClass="on-pager-button buttonsmall"/>
- <onc:selectCommandButton action="#{ListReposUIBean.syncSelectedRepos}"
+ <onc:selectCommandButton action="#{ListReposUIBean.syncSelectedRepos}" rendered="#{ListReposUIBean.repositoryManager}"
value="SYNC SELECTED" target="selectedRepos" styleClass="on-pager-button buttonsmall"/>
<ui:param name="paginationDataTableName" value="reposDataTable"/>
13 years, 1 month
[rhq] modules/enterprise
by lkrejci
modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo-plain.xhtml | 10 ++++++++--
modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo.xhtml | 4 ++--
2 files changed, 10 insertions(+), 4 deletions(-)
New commits:
commit 75d48dacc84f2d0020f93f6849367e267588b020
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Mon Apr 25 17:55:08 2011 +0200
BZ 698760, BZ 698756 - polishing the repo details page.
Edit mode wasn't functioning due to missed out parameter definitions during conversion from repo.xhtml to repo-plain.xhtml.
The "private" toggle in edit mode wasn't working due to usage of wrong UI bean (a copy&paste bug)
The user with repo manager privs can view any repo now even if s/he isn't an inventory manager - wrong perm check used in the UI.
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo-plain.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo-plain.xhtml
index 7b7c974..4f8c7c1 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo-plain.xhtml
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo-plain.xhtml
@@ -17,6 +17,12 @@
<ui:composition template="/rhq/resource/layout/main-plain.xhtml">
+ <ui:param name="id" value="${param.id}" />
+ <ui:param name="mode" value="${param.mode}" />
+ <ui:param name="pageTitle"
+ value="Repo '#{RepoDetailsUIBean.repo.name}'" />
+ <ui:param name="item" value="#{RepoDetailsUIBean.repo}" />
+
<ui:define name="content">
<h:form id="repoDetailsForm">
@@ -45,7 +51,7 @@
<tr>
<td align="right"><b>Private:</b></td>
<td align="left"><h:selectBooleanCheckbox
- rendered="${mode eq 'edit'}" value="#{CreateRepoUIBean.repo.private}"/>
+ rendered="${mode eq 'edit'}" value="#{RepoDetailsUIBean.repo.private}"/>
<h:outputText rendered="${mode ne 'edit'}" value="#{RepoDetailsUIBean.repo.private}" />
</td>
</tr>
@@ -358,7 +364,7 @@
<!-- SUBSCRIBER RESOURCE LIST -->
- <h:form id="repoResourcesListForm" rendered="#{RepoDetailsUIBean.repositoryManager}">
+ <h:form id="repoResourcesListForm" rendered="#{RepoDetailsUIBean.inventoryManager}">
<input type="hidden" name="id" value="${param.id}" />
<input type="hidden" name="mode" value="${param.mode}" />
diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo.xhtml
index e5b20a2..e03c1f8 100644
--- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo.xhtml
+++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/repo.xhtml
@@ -68,7 +68,7 @@
<tr>
<td align="right"><b>Private:</b></td>
<td align="left"><h:selectBooleanCheckbox
- rendered="${mode eq 'edit'}" value="#{CreateRepoUIBean.repo.private}"/>
+ rendered="${mode eq 'edit'}" value="#{RepoDetailsUIBean.repo.private}"/>
<h:outputText rendered="${mode ne 'edit'}" value="#{RepoDetailsUIBean.repo.private}" />
</td>
</tr>
@@ -381,7 +381,7 @@
<!-- SUBSCRIBER RESOURCE LIST -->
- <h:form id="repoResourcesListForm" rendered="#{RepoDetailsUIBean.repositoryManager}">
+ <h:form id="repoResourcesListForm" rendered="#{RepoDetailsUIBean.inventoryManager}">
<input type="hidden" name="id" value="${param.id}" />
<input type="hidden" name="mode" value="${param.mode}" />
13 years, 1 month
[rhq] modules/core modules/enterprise
by Jay Shaughnessy
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceOperationHistoryCriteria.java | 1
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java | 11 +++++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDataSource.java | 2 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentDataSource.java | 11 ++++++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationDataSource.java | 15 ++++++++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleVersionDataSource.java | 9 ++++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesListView.java | 2 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesWithLatestVersionDataSource.java | 12 ++++++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDataSource.java | 2 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDatasource.java | 6 ++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeHistoryView.java | 14 +++++----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationDataSource.java | 6 ++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationTable.java | 6 ++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBDataSource.java | 6 ----
14 files changed, 76 insertions(+), 27 deletions(-)
New commits:
commit 6fbf997eafe746e2a493fe020b22f81c3fd48b78
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Apr 25 11:46:19 2011 -0400
More work on column sorting problems [BZ https://bugzilla.redhat.com/show_bug.cgi?id=697484]
- completes all of the columns listed in the bz.
- also, remove the setCanSortClientOnly(true) calls added in the previous
commit for this stuff, it's overly restrictive.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceOperationHistoryCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceOperationHistoryCriteria.java
index b804ad7..7e29d82 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceOperationHistoryCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceOperationHistoryCriteria.java
@@ -56,6 +56,7 @@ public class ResourceOperationHistoryCriteria extends OperationHistoryCriteria {
filterOverrides.put("resourceIds", "resource.id IN ( ? )");
filterOverrides.put("groupOperationHistoryId", "groupOperationHistory.id = ?");
+ sortOverrides.put(SORT_FIELD_RESOURCE_NAME, "resource.id");
sortOverrides.put(SORT_FIELD_RESOURCE_NAME, "resource.name");
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java
index 748e6be..9136e35 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/users/UsersDataSource.java
@@ -356,4 +356,15 @@ public class UsersDataSource extends RPCDataSource<Subject, SubjectCriteria> {
return criteria;
}
+ @Override
+ protected String getSortFieldForColumn(String columnName) {
+
+ // this is a calculated field, can't perform server-side sort
+ if (Field.LDAP.equals(columnName)) {
+ return null;
+ }
+
+ return super.getSortFieldForColumn(columnName);
+ }
+
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDataSource.java
index 85027d2..6475640 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDataSource.java
@@ -119,8 +119,6 @@ public class AlertDataSource extends RPCDataSource<Alert, AlertCriteria> {
fields.add(nameField);
ListGridField conditionField = new ListGridField("conditionText", MSG.view_alerts_field_condition_text());
- // the cell value is formatted giventhe actual conditions. It can't be sorted server-side.
- conditionField.setCanSortClientOnly(true);
fields.add(conditionField);
ListGridField priorityField = new ListGridField("priority", MSG.view_alerts_field_priority());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentDataSource.java
index e523cad..b122b53 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentDataSource.java
@@ -52,7 +52,7 @@ public class BundleDeploymentDataSource extends RPCDataSource<BundleDeployment,
public static final String FIELD_NAME = "name";
public static final String FIELD_DEPLOY_DIR = "deployDir";
public static final String FIELD_DESCRIPTION = "description";
- public static final String FIELD_DEPLOY_TIME = "deploymentTime";
+ public static final String FIELD_DEPLOY_TIME = "ctime";
public static final String FIELD_ERROR_MESSAGE = "errorMessage";
public static final String FIELD_CONFIG = "configuration";
public static final String FIELD_STATUS = "status";
@@ -146,6 +146,15 @@ public class BundleDeploymentDataSource extends RPCDataSource<BundleDeployment,
}
@Override
+ protected String getSortFieldForColumn(String columnName) {
+ if (FIELD_BUNDLE_VERSION_VERSION.equals(columnName)) {
+ return "bundleVersion.version";
+ }
+
+ return super.getSortFieldForColumn(columnName);
+ }
+
+ @Override
public BundleDeployment copyValues(Record from) {
return (BundleDeployment) from.getAttributeAsObject("object");
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationDataSource.java
index 094571e..0dab73f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationDataSource.java
@@ -174,6 +174,21 @@ public class BundleDestinationDataSource extends RPCDataSource<BundleDestination
}
@Override
+ protected String getSortFieldForColumn(String columnName) {
+ if (FIELD_LATEST_DEPLOY_DATE.equals(columnName)) {
+ return null;
+ }
+ if (FIELD_LATEST_DEPLOY_STATUS.equals(columnName)) {
+ return null;
+ }
+ if (FIELD_LATEST_DEPLOY_VERSION.equals(columnName)) {
+ return null;
+ }
+
+ return super.getSortFieldForColumn(columnName);
+ }
+
+ @Override
public BundleDestination copyValues(Record from) {
return (BundleDestination) from.getAttributeAsObject("object");
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleVersionDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleVersionDataSource.java
index 5cfabd6..56d092f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleVersionDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleVersionDataSource.java
@@ -126,6 +126,15 @@ public class BundleVersionDataSource extends RPCDataSource<BundleVersion, Bundle
}
@Override
+ protected String getSortFieldForColumn(String columnName) {
+ if (FIELD_FILECOUNT.equals(columnName)) {
+ return null;
+ }
+
+ return super.getSortFieldForColumn(columnName);
+ }
+
+ @Override
public BundleVersion copyValues(Record from) {
return (BundleVersion) from.getAttributeAsObject("object");
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesListView.java
index ea25046..bf9db3e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesListView.java
@@ -108,14 +108,12 @@ public class BundlesListView extends Table<BundlesWithLatestVersionDataSource> {
MSG.view_bundle_latestVersion());
latestVersionField.setWidth("20%");
latestVersionField.setAlign(Alignment.CENTER);
- latestVersionField.setCanSort(false); // need to figure out how we can sort on this projection field of the composite
ListGridField versionsCountField = new ListGridField(BundlesWithLatestVersionDataSource.FIELD_VERSIONS_COUNT,
MSG.view_bundle_list_versionsCount());
versionsCountField.setType(ListGridFieldType.INTEGER);
versionsCountField.setWidth("*");
versionsCountField.setAlign(Alignment.CENTER);
- versionsCountField.setCanSort(false); // need to figure out how we can sort on this projection field of the composite
setListGridFields(idField, nameField, descField, latestVersionField, versionsCountField);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesWithLatestVersionDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesWithLatestVersionDataSource.java
index fc16c70..2b800fb 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesWithLatestVersionDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesWithLatestVersionDataSource.java
@@ -93,6 +93,18 @@ public class BundlesWithLatestVersionDataSource extends RPCDataSource<BundleWith
}
@Override
+ protected String getSortFieldForColumn(String columnName) {
+ if (FIELD_LATEST_VERSION.equals(columnName)) {
+ return null;
+ }
+ if (FIELD_VERSIONS_COUNT.equals(columnName)) {
+ return null;
+ }
+
+ return super.getSortFieldForColumn(columnName);
+ }
+
+ @Override
public BundleWithLatestVersionComposite copyValues(Record from) {
return (BundleWithLatestVersionComposite) from.getAttributeAsObject("object");
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDataSource.java
index ec486fb..26a99ca 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDataSource.java
@@ -51,7 +51,7 @@ public abstract class AbstractOperationHistoryDataSource<T extends OperationHist
public static final String STARTED_TIME = "startedTime";
public static final String CREATED_TIME = "createdTime";
public static final String DURATION = "duration";
- public static final String SUBJECT = "subject";
+ public static final String SUBJECT = "subjectName";
public static final String OPERATION_DEFINITION = "operationDefinition";
public static final String ERROR_MESSAGE = "errorMessage";
public static final String PARAMETERS = "parameters";
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDatasource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDatasource.java
index 2c426e5..d12c4fa 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDatasource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDatasource.java
@@ -80,7 +80,7 @@ public class EventCompositeDatasource extends RPCDataSource<EventComposite, Even
DataSourceTextField severity = new DataSourceTextField("severity", MSG.view_inventory_eventHistory_severity());
fields.add(severity);
- DataSourceTextField details = new HighlightingDatasourceTextField("details", MSG
+ DataSourceTextField details = new HighlightingDatasourceTextField("detail", MSG
.view_inventory_eventHistory_details());
fields.add(details);
@@ -102,7 +102,7 @@ public class EventCompositeDatasource extends RPCDataSource<EventComposite, Even
record.setAttribute("id", from.getEventId());
record.setAttribute("timestamp", from.getTimestamp());
- record.setAttribute("details", from.getEventDetail());
+ record.setAttribute("detail", from.getEventDetail());
record.setAttribute("severity", from.getSeverity().name());
record.setAttribute("source", from.getSourceLocation());
@@ -157,7 +157,7 @@ public class EventCompositeDatasource extends RPCDataSource<EventComposite, Even
Map<String, Object> criteriaMap = request.getCriteria().getValues();
criteria.addFilterSourceName((String) criteriaMap.get("source"));
- criteria.addFilterDetail((String) criteriaMap.get("details"));
+ criteria.addFilterDetail((String) criteriaMap.get("detail"));
criteria.addFilterSeverities(severities);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeHistoryView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeHistoryView.java
index ae99b68..0965096 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeHistoryView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeHistoryView.java
@@ -108,7 +108,7 @@ public class EventCompositeHistoryView extends TableSection<EventCompositeDataso
@Override
protected void configureTableFilters() {
final TextItem sourceFilter = new TextItem("source", MSG.view_inventory_eventHistory_sourceFilter());
- final TextItem detailsFilter = new TextItem("details", MSG.view_inventory_eventHistory_detailsFilter());
+ final TextItem detailsFilter = new TextItem("detail", MSG.view_inventory_eventHistory_detailsFilter());
LinkedHashMap<String, String> severities = new LinkedHashMap<String, String>(5);
severities.put(EventSeverity.DEBUG.name(), MSG.common_severity_debug());
@@ -162,11 +162,13 @@ public class EventCompositeHistoryView extends TableSection<EventCompositeDataso
}
});
- ListGridField detailsField = new ListGridField("details-highlight", MSG.view_inventory_eventHistory_details());
- detailsField.setCellFormatter(new CellFormatter() {
+ ListGridField detailField = new ListGridField("detail", MSG.view_inventory_eventHistory_details());
+ detailField.setCellFormatter(new CellFormatter() {
@Override
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
- if (((String) value).length() <= 200) {
+ if (null == value) {
+ return "";
+ } else if (((String) value).length() <= 200) {
return (String) value;
} else {
return ((String) value).substring(0, 200); // first 200 chars
@@ -196,10 +198,10 @@ public class EventCompositeHistoryView extends TableSection<EventCompositeDataso
timestampField.setWidth(155);
severityField.setWidth(55);
- detailsField.setWidth("*");
+ detailField.setWidth("*");
sourceField.setWidth(220);
- setListGridFields(timestampField, severityField, detailsField, sourceField);
+ setListGridFields(timestampField, severityField, detailField, sourceField);
setupTableInteractions();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationDataSource.java
index 1376976..ab8b819 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationDataSource.java
@@ -32,10 +32,10 @@ public class GroupResourceConfigurationDataSource extends
public class Field {
public static final String ID = "id";
- public static final String DATECREATED = "dateCreated";
- public static final String LASTUPDATED = "lastUpdated";
+ public static final String DATECREATED = "createdTime";
+ public static final String LASTUPDATED = "modifiedTime";
public static final String STATUS = "status";
- public static final String USER = "user";
+ public static final String USER = "subjectName";
public static final String OBJECT = "object";
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationTable.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationTable.java
index 9dcd1c5..483a854 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationTable.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationTable.java
@@ -222,10 +222,10 @@ public class HistoryGroupPluginConfigurationTable extends Table<HistoryGroupPlug
public class Field {
public static final String ID = "id";
- public static final String DATECREATED = "dateCreated";
- public static final String LASTUPDATED = "lastUpdated";
+ public static final String DATECREATED = "createdTime";
+ public static final String LASTUPDATED = "modifiedTime";
public static final String STATUS = "status";
- public static final String USER = "user";
+ public static final String USER = "subjectName";
public static final String OBJECT = "object";
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBDataSource.java
index 1c772ac..d47b4f0 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBDataSource.java
@@ -77,7 +77,6 @@ public class MeasurementOOBDataSource extends RPCDataSource<MeasurementOOBCompos
ArrayList<ListGridField> fields = new ArrayList<ListGridField>();
ListGridField resourceNameField = new ListGridField(AncestryUtil.RESOURCE_NAME, MSG.common_title_resource());
- resourceNameField.setCanSortClientOnly(true);
resourceNameField.setCellFormatter(new CellFormatter() {
public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
String url = LinkManager.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
@@ -94,26 +93,21 @@ public class MeasurementOOBDataSource extends RPCDataSource<MeasurementOOBCompos
fields.add(resourceNameField);
ListGridField ancestryField = AncestryUtil.setupAncestryListGridField();
- ancestryField.setCanSortClientOnly(true);
fields.add(ancestryField);
ListGridField scheduleNameField = new ListGridField("scheduleName", MSG
.dataSource_measurementOob_field_scheduleName());
- scheduleNameField.setCanSortClientOnly(true);
fields.add(scheduleNameField);
ListGridField bandField = new ListGridField("formattedBaseband", MSG
.dataSource_measurementOob_field_formattedBaseband());
- bandField.setCanSortClientOnly(true);
fields.add(bandField);
ListGridField outlierField = new ListGridField("formattedOutlier", MSG
.dataSource_measurementOob_field_formattedOutlier());
- outlierField.setCanSortClientOnly(true);
fields.add(outlierField);
ListGridField factorField = new ListGridField("factor", MSG.dataSource_measurementOob_field_factor());
- factorField.setCanSortClientOnly(true);
fields.add(factorField);
resourceNameField.setWidth("20%");
13 years, 1 month
[rhq] modules/core modules/enterprise
by Jay Shaughnessy
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertCriteria.java | 9 +
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertDefinitionCriteria.java | 18 ++
modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceOperationHistoryCriteria.java | 20 ++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDataSource.java | 32 ++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsDataSource.java | 13 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryDataSource.java | 14 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDataSource.java | 9 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/OperationHistoryDataSource.java | 84 ++++------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/AlertDefinitionReportView.java | 12 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBDataSource.java | 16 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/RPCDataSource.java | 27 ++-
11 files changed, 190 insertions(+), 64 deletions(-)
New commits:
commit fbcfc50f1cacdf993c5608c65101dd46b36cf880
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Fri Apr 22 15:55:27 2011 -0400
[BZ 697484 - Reports->Configuration History: Sorting on Ancestry column throws exception]
So actually, we're throwing exceptions all over the place on various column
sorting. This check-in fixes, I think, all columns for all of the report
views. Since several of those views use datasources common to other views
many of these fixes will apply in various places. So that is good.
But, I'm sure there are a lot of other places where we will still get hit.
The trick is that it's not always obvious that there is a problem because
if all of the data is held client-side (i.e. gwt has fetched all of the rows
and is holding them client-side then all rows will sort properly. It's only
when sorting is applied server-side that things blow up.
So, when testing you must first visit the view. Then, select a column for sorting
and *then* hit the refresh button. This will force a server-side fetch with
the sort applied.
Note that even setting ListGridField.setCanSortClientSideOnly(true) is not
solving the problem if applied to a field (although I think it should).
In certain places I've added the necessary fields to as Criteria sort fields
but this is not appropriate for every column. In other circumstances you
can now perform the column-to-sort-field mapping in the datasource by
overriding the new "getSortFieldForColumn(String columnName)" method. And
by returning null you can ensure inappropriate fields do not make it to the
server for sorting.
- I may take out the calls to setCanSortClientOnly() as I'm not sure it buys
us anything.
- Also, I removed unused datasource field definition in a few places.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertCriteria.java
index 86f31c3..8bc1887 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertCriteria.java
@@ -50,6 +50,7 @@ public class AlertCriteria extends Criteria {
public static final String SORT_FIELD_NAME = "name";
public static final String SORT_FIELD_PRIORITY = "priority";
public static final String SORT_FIELD_RESOURCE_ID = "resourceId";
+ public static final String SORT_FIELD_RESOURCE_NAME = "resourceName";
private Integer filterId;
private String filterTriggeredOperationName; // requires overrides
@@ -76,6 +77,7 @@ public class AlertCriteria extends Criteria {
private PageOrdering sortName; // requires sort override
private PageOrdering sortPriority; // requires sort override
private PageOrdering sortResourceId; // requires sort override
+ private PageOrdering sortResourceName; // requires sort override
public AlertCriteria() {
@@ -99,6 +101,7 @@ public class AlertCriteria extends Criteria {
sortOverrides.put(SORT_FIELD_NAME, "alertDefinition.name");
sortOverrides.put(SORT_FIELD_PRIORITY, "alertDefinition.priority");
sortOverrides.put(SORT_FIELD_RESOURCE_ID, "alertDefinition.resource.id");
+ sortOverrides.put(SORT_FIELD_RESOURCE_NAME, "alertDefinition.resource.name");
}
@Override
@@ -207,4 +210,10 @@ public class AlertCriteria extends Criteria {
addSortField(SORT_FIELD_RESOURCE_ID);
this.sortResourceId = sortResourceId;
}
+
+ public void addSortResourceName(PageOrdering sortResourceName) {
+ addSortField(SORT_FIELD_RESOURCE_NAME);
+ this.sortResourceName = sortResourceName;
+ }
+
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertDefinitionCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertDefinitionCriteria.java
index 31f76a1..f029e7e 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertDefinitionCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/AlertDefinitionCriteria.java
@@ -42,6 +42,9 @@ import org.rhq.core.domain.util.PageOrdering;
public class AlertDefinitionCriteria extends Criteria {
private static final long serialVersionUID = 1L;
+ public static final String SORT_FIELD_RESOURCE_ID = "resourceId";
+ public static final String SORT_FIELD_RESOURCE_NAME = "resourceName";
+
private Integer filterId;
private List<Integer> filterIds;
private String filterName;
@@ -67,6 +70,8 @@ public class AlertDefinitionCriteria extends Criteria {
private PageOrdering sortName;
private PageOrdering sortPriority;
+ private PageOrdering sortResourceId; // requires sort override
+ private PageOrdering sortResourceName; // requires sort override
public AlertDefinitionCriteria() {
filterOverrides.put("alertTemplateOnly", "resourceType IS NOT NULL");
@@ -79,6 +84,9 @@ public class AlertDefinitionCriteria extends Criteria {
filterOverrides.put("notificationSenderNames", "id IN ("
+ "SELECT notif.alertDefinition.id FROM AlertNotification notif " + "WHERE notif.senderName IN ( ? ))");
filterOverrides.put("filterIds", "id IN ( ? )");
+
+ sortOverrides.put(SORT_FIELD_RESOURCE_ID, "resource.id");
+ sortOverrides.put(SORT_FIELD_RESOURCE_NAME, "resource.name");
}
@Override
@@ -194,4 +202,14 @@ public class AlertDefinitionCriteria extends Criteria {
return null != filterResourceGroupIds;
}
+ public void addSortResourceId(PageOrdering sortResourceId) {
+ addSortField(SORT_FIELD_RESOURCE_ID);
+ this.sortResourceId = sortResourceId;
+ }
+
+ public void addSortResourceName(PageOrdering sortResourceName) {
+ addSortField(SORT_FIELD_RESOURCE_NAME);
+ this.sortResourceName = sortResourceName;
+ }
+
}
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceOperationHistoryCriteria.java b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceOperationHistoryCriteria.java
index da9ada3..b804ad7 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceOperationHistoryCriteria.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/criteria/ResourceOperationHistoryCriteria.java
@@ -30,6 +30,7 @@ import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import org.rhq.core.domain.operation.ResourceOperationHistory;
+import org.rhq.core.domain.util.PageOrdering;
/**
* @author Joseph Marques
@@ -40,14 +41,22 @@ import org.rhq.core.domain.operation.ResourceOperationHistory;
public class ResourceOperationHistoryCriteria extends OperationHistoryCriteria {
private static final long serialVersionUID = 1L;
+ public static final String SORT_FIELD_RESOURCE_NAME = "resourceName";
+ public static final String SORT_FIELD_RESOURCE_ID = "resourceId";
+
private List<Integer> filterResourceIds; // requires override
private Integer filterGroupOperationHistoryId; // requires override
private boolean fetchResults;
+ private PageOrdering sortResourceName; // requires sort override
+ private PageOrdering sortResourceId; // requires sort override
+
public ResourceOperationHistoryCriteria() {
filterOverrides.put("resourceIds", "resource.id IN ( ? )");
filterOverrides.put("groupOperationHistoryId", "groupOperationHistory.id = ?");
+
+ sortOverrides.put(SORT_FIELD_RESOURCE_NAME, "resource.name");
}
@Override
@@ -66,4 +75,15 @@ public class ResourceOperationHistoryCriteria extends OperationHistoryCriteria {
public void fetchResults(boolean fetchResults) {
this.fetchResults = fetchResults;
}
+
+ public void addSortResourceName(PageOrdering sortName) {
+ addSortField(SORT_FIELD_RESOURCE_NAME);
+ this.sortResourceName = sortName;
+ }
+
+ public void addSortResourceId(PageOrdering sortResourceId) {
+ addSortField(SORT_FIELD_RESOURCE_ID);
+ this.sortResourceId = sortResourceId;
+ }
+
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDataSource.java
index 3ba8166..85027d2 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDataSource.java
@@ -21,7 +21,6 @@ package org.rhq.enterprise.gui.coregui.client.alert;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -31,9 +30,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.core.DataClass;
import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.data.DSResponse;
-import com.smartgwt.client.data.DataSourceField;
import com.smartgwt.client.data.Record;
-import com.smartgwt.client.data.fields.DataSourceTextField;
import com.smartgwt.client.rpc.RPCResponse;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.ListGridFieldType;
@@ -94,15 +91,6 @@ public class AlertDataSource extends RPCDataSource<Alert, AlertCriteria> {
addDataSourceFields();
}
- @Override
- protected List<DataSourceField> addDataSourceFields() {
- // for some reason, the client seems to crash if you don't specify any data source fields
- // even though we know we defined override ListGridFields for all columns.
- List<DataSourceField> fields = super.addDataSourceFields();
- fields.add(new DataSourceTextField("name"));
- return fields;
- }
-
/**
* The view that contains the list grid which will display this datasource's data will call this
* method to get the field information which is used to control the display of the data.
@@ -131,6 +119,8 @@ public class AlertDataSource extends RPCDataSource<Alert, AlertCriteria> {
fields.add(nameField);
ListGridField conditionField = new ListGridField("conditionText", MSG.view_alerts_field_condition_text());
+ // the cell value is formatted giventhe actual conditions. It can't be sorted server-side.
+ conditionField.setCanSortClientOnly(true);
fields.add(conditionField);
ListGridField priorityField = new ListGridField("priority", MSG.view_alerts_field_priority());
@@ -324,6 +314,24 @@ public class AlertDataSource extends RPCDataSource<Alert, AlertCriteria> {
}
@Override
+ protected String getSortFieldForColumn(String columnName) {
+ if (AncestryUtil.RESOURCE_ANCESTRY.equals(columnName)) {
+ return "alertDefinition.resource.ancestry";
+ }
+ if ("status".equals(columnName)) {
+ return "acknowledgeTime";
+ }
+ if ("conditionText".equals(columnName)) {
+ // Note: I don't think this should even be getting called, but it is. We already setCanSortClientOnly(true)
+ // on this ListGridField. To me that should mean any sorting done client side on this field should
+ // not be passed in on the Request, but it seems to be...
+ return null;
+ }
+
+ return super.getSortFieldForColumn(columnName);
+ }
+
+ @Override
public Alert copyValues(Record from) {
return null; // TODO: Implement this method.
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsDataSource.java
index de1ec1f..e1332e9 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsDataSource.java
@@ -42,6 +42,7 @@ import org.rhq.core.domain.criteria.AlertDefinitionCriteria;
import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.util.PageControl;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
/**
* @author John Mazzitelli
@@ -144,6 +145,18 @@ public class ResourceAlertDefinitionsDataSource extends AbstractAlertDefinitions
}
@Override
+ protected String getSortFieldForColumn(String columnName) {
+ if (AncestryUtil.RESOURCE_ANCESTRY.equals(columnName)) {
+ return "resource.ancestry";
+ }
+ if (FIELD_PARENT.equals(columnName)) {
+ return "parentId";
+ }
+
+ return super.getSortFieldForColumn(columnName);
+ }
+
+ @Override
protected AlertDefinitionCriteria getSimpleCriteriaForAll() {
AlertDefinitionCriteria criteria = new AlertDefinitionCriteria();
criteria.addFilterResourceIds(Integer.valueOf(this.resource.getId()));
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryDataSource.java
index 75c4bc4..b92fb94 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryDataSource.java
@@ -63,7 +63,7 @@ public abstract class AbstractConfigurationHistoryDataSource<T extends AbstractR
public static final String ID = "id";
public static final String CREATED_TIME = "createdTime";
public static final String STATUS = "status";
- public static final String SUBJECT = "subject";
+ public static final String SUBJECT = "subjectName";
public static final String CONFIGURATION = "configuration";
public static final String GROUP_CONFIG_UPDATE_ID = "groupConfigUpdateId";
public static final String GROUP_ID = "groupId"; // will only be non-null if group config update id is non-null
@@ -297,6 +297,18 @@ public abstract class AbstractConfigurationHistoryDataSource<T extends AbstractR
return record;
}
+ @Override
+ protected String getSortFieldForColumn(String columnName) {
+ if (Field.GROUP_CONFIG_UPDATE_ID.equals(columnName)) {
+ return "groupConfigurationUpdate.id";
+ }
+ if (AncestryUtil.RESOURCE_ANCESTRY.equals(columnName)) {
+ return "resource.ancestry";
+ }
+
+ return super.getSortFieldForColumn(columnName);
+ }
+
protected abstract String getConfigurationUpdateStatusIcon(ConfigurationUpdateStatus status);
protected abstract String getGroupConfigurationUpdateHistoryLink(Integer groupId, Number value);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDataSource.java
index 200c3a0..0735310 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDataSource.java
@@ -101,6 +101,15 @@ public class ResourceOperationHistoryDataSource extends
return criteria;
}
+ @Override
+ protected String getSortFieldForColumn(String columnName) {
+ if (AncestryUtil.RESOURCE_ANCESTRY.equals(columnName)) {
+ return "resource.ancestry";
+ }
+
+ return super.getSortFieldForColumn(columnName);
+ }
+
protected void dataRetrieved(final PageList<ResourceOperationHistory> result, final DSResponse response,
final DSRequest request) {
HashSet<Integer> typesSet = new HashSet<Integer>();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/OperationHistoryDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/OperationHistoryDataSource.java
index 43365fc..93a59a8 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/OperationHistoryDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/OperationHistoryDataSource.java
@@ -21,16 +21,13 @@ package org.rhq.enterprise.gui.coregui.client.operation;
import java.util.ArrayList;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.data.DSResponse;
-import com.smartgwt.client.data.DataSourceField;
import com.smartgwt.client.data.Record;
-import com.smartgwt.client.data.fields.DataSourceTextField;
import com.smartgwt.client.rpc.RPCResponse;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.Overflow;
@@ -84,7 +81,7 @@ public class OperationHistoryDataSource extends
public static final String STARTED_TIME = "startedTime";
public static final String CREATED_TIME = "createdTime";
public static final String DURATION = "duration";
- public static final String SUBJECT = "subject";
+ public static final String SUBJECT = "subjectName";
public static final String OPERATION_DEFINITION = "operationDefinition";
public static final String ERROR_MESSAGE = "errorMessage";
public static final String PARAMETERS = "parameters";
@@ -103,17 +100,6 @@ public class OperationHistoryDataSource extends
addDataSourceFields();
}
- @Override
- protected List<DataSourceField> addDataSourceFields() {
- // for some reason, the client seems to crash if you don't specify any data source fields
- // even though we know we defined override ListGridFields for all columns.
- List<DataSourceField> fields = super.addDataSourceFields();
- DataSourceTextField idField = new DataSourceTextField(Field.ID);
- idField.setPrimaryKey(true);
- fields.add(idField);
- return fields;
- }
-
/**
* The view that contains the list grid which will display this datasource's data will call this
* method to get the field information which is used to control the display of the data.
@@ -123,9 +109,6 @@ public class OperationHistoryDataSource extends
public ArrayList<ListGridField> getListGridFields() {
ArrayList<ListGridField> fields = new ArrayList<ListGridField>(7);
- ListGridField idField = new ListGridField(Field.ID, MSG.common_title_id());
- fields.add(idField);
-
ListGridField startTimeField = createStartedTimeField();
fields.add(startTimeField);
@@ -211,18 +194,18 @@ public class OperationHistoryDataSource extends
String statusStr = record.getAttribute(Field.STATUS);
OperationRequestStatus status = OperationRequestStatus.valueOf(statusStr);
switch (status) {
- case SUCCESS: {
- return MSG.common_status_success();
- }
- case FAILURE: {
- return MSG.common_status_failed();
- }
- case INPROGRESS: {
- return MSG.common_status_inprogress();
- }
- case CANCELED: {
- return MSG.common_status_canceled();
- }
+ case SUCCESS: {
+ return MSG.common_status_success();
+ }
+ case FAILURE: {
+ return MSG.common_status_failed();
+ }
+ case INPROGRESS: {
+ return MSG.common_status_inprogress();
+ }
+ case CANCELED: {
+ return MSG.common_status_canceled();
+ }
}
// should never get here
return MSG.common_status_unknown();
@@ -293,22 +276,22 @@ public class OperationHistoryDataSource extends
final long start = System.currentTimeMillis();
this.operationService.findResourceOperationHistoriesByCriteria(criteria,
- new AsyncCallback<PageList<ResourceOperationHistory>>() {
+ new AsyncCallback<PageList<ResourceOperationHistory>>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler()
- .handleError(MSG.view_operationHistoryDetails_error_fetchFailure(), caught);
- response.setStatus(RPCResponse.STATUS_FAILURE);
- processResponse(request.getRequestId(), response);
- }
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler()
+ .handleError(MSG.view_operationHistoryDetails_error_fetchFailure(), caught);
+ response.setStatus(RPCResponse.STATUS_FAILURE);
+ processResponse(request.getRequestId(), response);
+ }
- public void onSuccess(PageList<ResourceOperationHistory> result) {
- long fetchTime = System.currentTimeMillis() - start;
- Log.info(result.size() + " operation histories fetched in: " + fetchTime + "ms");
+ public void onSuccess(PageList<ResourceOperationHistory> result) {
+ long fetchTime = System.currentTimeMillis() - start;
+ Log.info(result.size() + " operation histories fetched in: " + fetchTime + "ms");
- dataRetrieved(result, response, request);
- }
- });
+ dataRetrieved(result, response, request);
+ }
+ });
}
/**
@@ -408,6 +391,15 @@ public class OperationHistoryDataSource extends
}
@Override
+ protected String getSortFieldForColumn(String columnName) {
+ if (AncestryUtil.RESOURCE_ANCESTRY.equals(columnName)) {
+ return "resource.ancestry";
+ }
+
+ return super.getSortFieldForColumn(columnName);
+ }
+
+ @Override
protected void executeRemove(Record recordToRemove, final DSRequest request, final DSResponse response) {
final ResourceOperationHistory operationHistoryToRemove = copyValues(recordToRemove);
Boolean forceValue = request.getAttributeAsBoolean("force");
@@ -427,9 +419,9 @@ public class OperationHistoryDataSource extends
public ResourceOperationHistory copyValues(Record from) {
Resource resource = new Resource();
resource.setId(from.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- ResourceOperationHistory resourceOperationHistory = new ResourceOperationHistory(null, null,
- from.getAttribute(Field.SUBJECT), (OperationDefinition)from.getAttributeAsObject(Field.OPERATION_DEFINITION),
- (Configuration)from.getAttributeAsObject(Field.PARAMETERS), resource, null);
+ ResourceOperationHistory resourceOperationHistory = new ResourceOperationHistory(null, null, from
+ .getAttribute(Field.SUBJECT), (OperationDefinition) from.getAttributeAsObject(Field.OPERATION_DEFINITION),
+ (Configuration) from.getAttributeAsObject(Field.PARAMETERS), resource, null);
resourceOperationHistory.setId(from.getAttributeAsInt(Field.ID));
return resourceOperationHistory;
}
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 f66b76e..fccff5b 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
@@ -91,6 +91,18 @@ public class AlertDefinitionReportView extends Table<AlertDefinitionReportView.D
}
@Override
+ protected String getSortFieldForColumn(String columnName) {
+ if (AncestryUtil.RESOURCE_ANCESTRY.equals(columnName)) {
+ return "resource.ancestry";
+ }
+ if (FIELD_PARENT.equals(columnName)) {
+ return "parentId";
+ }
+
+ return super.getSortFieldForColumn(columnName);
+ }
+
+ @Override
protected AlertDefinitionCriteria getSimpleCriteriaForAll() {
AlertDefinitionCriteria criteria = new AlertDefinitionCriteria();
criteria.addFilterResourceOnly(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBDataSource.java
index 49c05cf..1c772ac 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBDataSource.java
@@ -77,6 +77,7 @@ public class MeasurementOOBDataSource extends RPCDataSource<MeasurementOOBCompos
ArrayList<ListGridField> fields = new ArrayList<ListGridField>();
ListGridField resourceNameField = new ListGridField(AncestryUtil.RESOURCE_NAME, MSG.common_title_resource());
+ resourceNameField.setCanSortClientOnly(true);
resourceNameField.setCellFormatter(new CellFormatter() {
public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
String url = LinkManager.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
@@ -93,21 +94,26 @@ public class MeasurementOOBDataSource extends RPCDataSource<MeasurementOOBCompos
fields.add(resourceNameField);
ListGridField ancestryField = AncestryUtil.setupAncestryListGridField();
+ ancestryField.setCanSortClientOnly(true);
fields.add(ancestryField);
ListGridField scheduleNameField = new ListGridField("scheduleName", MSG
.dataSource_measurementOob_field_scheduleName());
+ scheduleNameField.setCanSortClientOnly(true);
fields.add(scheduleNameField);
ListGridField bandField = new ListGridField("formattedBaseband", MSG
.dataSource_measurementOob_field_formattedBaseband());
+ bandField.setCanSortClientOnly(true);
fields.add(bandField);
ListGridField outlierField = new ListGridField("formattedOutlier", MSG
.dataSource_measurementOob_field_formattedOutlier());
+ outlierField.setCanSortClientOnly(true);
fields.add(outlierField);
ListGridField factorField = new ListGridField("factor", MSG.dataSource_measurementOob_field_factor());
+ factorField.setCanSortClientOnly(true);
fields.add(factorField);
resourceNameField.setWidth("20%");
@@ -175,6 +181,16 @@ public class MeasurementOOBDataSource extends RPCDataSource<MeasurementOOBCompos
protected Criteria getFetchCriteria(DSRequest request) {
// we don't use criterias for this datasource, just return null
return null;
+
+ }
+
+ protected String getSortFieldForColumn(String columnName) {
+ // Note: I don't think this should even be getting called, but it is. We already setCanSortClientOnly(true)
+ // on all of the ListGridFields. To me that should mean any sorting done client side on those fields should
+ // not be passed in on the Request, but it seems to be...
+
+ // we don't use criterias for this datasource, just return null, don't try and apply any sort.
+ return null;
}
@Override
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/RPCDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/RPCDataSource.java
index 72f8c3d..2bd57d2 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/RPCDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/RPCDataSource.java
@@ -202,11 +202,28 @@ public abstract class RPCDataSource<T, C extends org.rhq.core.domain.criteria.Cr
for (String sort : sorts) {
PageOrdering ordering = (sort.startsWith("-")) ? PageOrdering.DESC : PageOrdering.ASC;
String columnName = (ordering == PageOrdering.DESC) ? sort.substring(1) : sort;
- pageControl.addDefaultOrderingField(columnName, ordering);
+ String sortField = getSortFieldForColumn(columnName);
+ if (null != sortField)
+ pageControl.addDefaultOrderingField(sortField, ordering);
}
}
}
+ /**
+ * By default, for a sortable column, the field name (usually a ListGridField name) is used as the
+ * OrderingField in the PageControl passed to the server. If for some reason the field name does not
+ * properly map to a sortable entity field, this method can be overrident to provide the proper maping.
+ * Note that certain columns may also leverage sort fields in the underlying (rhq) criteria class itself, but
+ * not every sortable column may be appropriate as a sort field in the criteria.
+ *
+ * @param columnName The column field name
+ * @return The entity field for the desired sort. By default just returns back the columnName. Can be null if
+ * there is no valid mapping.
+ */
+ protected String getSortFieldForColumn(String columnName) {
+ return columnName;
+ }
+
@Override
public void processResponse(String requestId, DSResponse responseProperties) {
super.processResponse(requestId, responseProperties);
@@ -564,8 +581,8 @@ public abstract class RPCDataSource<T, C extends org.rhq.core.domain.criteria.Cr
return result;
}
- protected static DataSourceTextField createTextField(String name, String title, Integer minLength, Integer maxLength,
- Boolean required) {
+ protected static DataSourceTextField createTextField(String name, String title, Integer minLength,
+ Integer maxLength, Boolean required) {
DataSourceTextField textField = new DataSourceTextField(name, title);
textField.setLength(maxLength);
textField.setRequired(required);
@@ -589,8 +606,8 @@ public abstract class RPCDataSource<T, C extends org.rhq.core.domain.criteria.Cr
return textField;
}
- protected static DataSourceIntegerField createIntegerField(String name, String title, Integer minValue, Integer maxValue,
- Boolean required) {
+ protected static DataSourceIntegerField createIntegerField(String name, String title, Integer minValue,
+ Integer maxValue, Boolean required) {
DataSourceIntegerField textField = new DataSourceIntegerField(name, title);
textField.setRequired(required);
if (minValue != null || maxValue != null) {
13 years, 1 month