modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDataSource.java
| 28 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertHistoryView.java
| 18 --
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentListView.java
| 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentView.java
| 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationListView.java
| 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundlesListView.java
| 9 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionListView.java
| 9 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/Link.java
| 65 ++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ViewLink.java
| 25 ++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/CanvasField.java
| 49 ++++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/EnhancedListGrid.java
| 15 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java
| 65 ++-----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/ViewLinkField.java
| 16 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/platform/PlatformSummaryPortlet.java
| 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/imported/RecentlyAddedResourcesPortlet.java
| 9 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationSchedulePortlet.java
| 32 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
| 14 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceConfigurationUpdatesPortlet.java
| 18 --
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryListView.java
| 19 +-
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/ResourceGroupListView.java
| 14 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
| 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationMembers.java
| 14 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationMembers.java
| 14 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/ResourceGroupMetricGraphView.java
| 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsDetailView.java
| 16 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsView.java
| 13 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupMemberResourceOperationHistoryListView.java
| 9 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/AncestryUtil.java
| 53 +++++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
| 13 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryDataSource.java
| 15 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryView.java
| 30 ++-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/ResourceMetricGraphView.java
| 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDetailsView.java
| 20 --
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
| 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/OperationHistoryDataSource.java
| 87 +++++-----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/AlertDefinitionReportView.java
| 39 +---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java
| 13 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBDataSource.java
| 14 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java
| 3
modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css
| 12
+
41 files changed, 454 insertions(+), 363 deletions(-)
New commits:
commit a4cd692a8893908fdc66a643830489886519ee78
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Fri Apr 29 10:04:06 2011 -0400
the work goes on...
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 6475640..0209680 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
@@ -36,6 +36,7 @@ import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.ListGridFieldType;
import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.HoverCustomizer;
+import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
@@ -53,7 +54,9 @@ import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
import org.rhq.enterprise.gui.coregui.client.gwt.AlertGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
@@ -61,7 +64,6 @@ import
org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTyp
import
org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository.TypesLoadedCallback;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementConverterClient;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Ian Springer
@@ -107,15 +109,14 @@ public class AlertDataSource extends RPCDataSource<Alert,
AlertCriteria> {
ctimeField.setHoverCustomizer(TimestampCellFormatter.getHoverCustomizer(AlertCriteria.SORT_FIELD_CTIME));
fields.add(ctimeField);
- ListGridField nameField = new ListGridField("name",
MSG.view_alerts_field_name());
- nameField.setCellFormatter(new CellFormatter() {
- public String format(Object o, ListGridRecord listGridRecord, int i, int i1)
{
- Integer resourceId =
listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
- Integer defId =
listGridRecord.getAttributeAsInt("definitionId");
+ ViewLinkField nameField = new ViewLinkField("name",
MSG.view_alerts_field_name()) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
+ Integer resourceId = record.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
+ Integer defId = record.getAttributeAsInt("definitionId");
String url = LinkManager.getSubsystemAlertDefinitionLink(resourceId,
defId);
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+ return new ViewLink(value.toString(), url);
}
- });
+ };
fields.add(nameField);
ListGridField conditionField = new ListGridField("conditionText",
MSG.view_alerts_field_condition_text());
@@ -175,14 +176,13 @@ public class AlertDataSource extends RPCDataSource<Alert,
AlertCriteria> {
fields.add(statusField);
if (this.entityContext.type != EntityContext.Type.Resource) {
- ListGridField resourceNameField = new
ListGridField(AncestryUtil.RESOURCE_NAME, MSG.common_title_resource());
- resourceNameField.setCellFormatter(new CellFormatter() {
- public String format(Object o, ListGridRecord listGridRecord, int i, int
i1) {
+ ViewLinkField resourceNameField = new
ViewLinkField(AncestryUtil.RESOURCE_NAME, MSG.common_title_resource()) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record,
Object value) {
String url = LinkManager
-
.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+
.getResourceLink(record.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
+ return new ViewLink(value.toString(), url);
}
- });
+ };
resourceNameField.setShowHover(true);
resourceNameField.setHoverCustomizer(new HoverCustomizer() {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertHistoryView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertHistoryView.java
index 45dd32c..01e7b7b 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertHistoryView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertHistoryView.java
@@ -41,8 +41,10 @@ import org.rhq.core.domain.criteria.AlertCriteria;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import org.rhq.enterprise.gui.coregui.client.components.form.EnumSelectItem;
import org.rhq.enterprise.gui.coregui.client.components.table.AbstractTableAction;
+import org.rhq.enterprise.gui.coregui.client.components.table.CanvasField;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
import org.rhq.enterprise.gui.coregui.client.components.table.TableActionEnablement;
import org.rhq.enterprise.gui.coregui.client.components.table.TableSection;
@@ -151,16 +153,12 @@ public class AlertHistoryView extends
TableSection<AlertDataSource> {
}
@Override
- protected CellFormatter getDetailsLinkColumnCellFormatter() {
- return new CellFormatter() {
- public String format(Object value, ListGridRecord record, int i, int i1) {
- Integer resourceId = record.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
- Integer alertHistoryId = getId(record);
- String url = LinkManager.getSubsystemAlertHistoryLink(resourceId,
alertHistoryId);
- String formattedValue = TimestampCellFormatter.format(value);
- return SeleniumUtility.getLocatableHref(url, formattedValue, null);
- }
- };
+ protected ViewLink createDetailsViewLink(ListGridRecord record, Object value) {
+ Integer resourceId = record.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
+ Integer alertHistoryId = getId(record);
+ String url = LinkManager.getSubsystemAlertHistoryLink(resourceId,
alertHistoryId);
+ String formattedValue = TimestampCellFormatter.format(value);
+ return new ViewLink(formattedValue, url);
}
protected void setupTableInteractions(final boolean hasWriteAccess) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentListView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentListView.java
index d9d2d3d..5c2f5b6 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentListView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentListView.java
@@ -66,7 +66,7 @@ public class BundleDeploymentListView extends
Table<BundleDeploymentDataSource>
// only users that are authorized can see deployments
if (canManageBundles) {
nameField = new ViewLinkField(BundleDeploymentDataSource.FIELD_NAME,
MSG.view_bundle_deploy_name()) {
- protected ViewLink getViewLink(ListGrid grid, ListGridRecord record) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record,
Object value) {
String linkText =
StringUtility.escapeHtml(record.getAttribute(BundleDeploymentDataSource.FIELD_NAME));
String viewPath = getBundleDeploymentLink(record);
return new ViewLink(extendLocatorId("ViewLink"), linkText,
viewPath);
@@ -81,7 +81,7 @@ public class BundleDeploymentListView extends
Table<BundleDeploymentDataSource>
.common_title_description());
ViewLinkField bundleVersionField = new
ViewLinkField(BundleDeploymentDataSource.FIELD_BUNDLE_VERSION_VERSION,
MSG.view_bundle_bundleVersion()) {
- protected ViewLink getViewLink(ListGrid grid, ListGridRecord record) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
String linkText =
record.getAttribute(BundleDeploymentDataSource.FIELD_BUNDLE_VERSION_VERSION);
String viewPath = LinkManager.getBundleVersionLink(record
.getAttributeAsInt(BundleDeploymentDataSource.FIELD_BUNDLE_ID),
record
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentView.java
index 58b5664..e0da95d 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentView.java
@@ -345,7 +345,7 @@ public class BundleDeploymentView extends LocatableVLayout implements
Bookmarkab
// resource field
ViewLinkField resource = new ViewLinkField("resource",
MSG.common_title_platform()) {
- protected ViewLink getViewLink(ListGrid grid, ListGridRecord record) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
String resourceUrl =
LinkManager.getResourceLink(record.getAttributeAsInt("resourceId"));
String linkText =
StringUtility.escapeHtml(record.getAttribute("resource"));
return new ViewLink(extendLocatorId("ViewLink"), linkText,
resourceUrl);
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationListView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationListView.java
index 2e94600..88867aa 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationListView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationListView.java
@@ -60,7 +60,7 @@ public class BundleDestinationListView extends
Table<BundleDestinationDataSource
protected void configureTable() {
ListGridField idField = new ListGridField(BundleDestinationDataSource.FIELD_ID,
MSG.common_title_id());
ViewLinkField nameField = new
ViewLinkField(BundleDestinationDataSource.FIELD_NAME, MSG.common_title_name()) {
- protected ViewLink getViewLink(ListGrid grid, ListGridRecord record) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
String bundleName =
record.getAttribute(BundleDestinationDataSource.FIELD_NAME);
String linkText = StringUtility.escapeHtml(bundleName);
String viewPath = getBundleDestinationLink(record);
@@ -71,7 +71,7 @@ public class BundleDestinationListView extends
Table<BundleDestinationDataSource
.common_title_description());
ViewLinkField bundleNameField = new
ViewLinkField(BundleDestinationDataSource.FIELD_BUNDLE_NAME, MSG
.view_bundle_bundle()) {
- protected ViewLink getViewLink(ListGrid grid, ListGridRecord record) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
String bundleName =
record.getAttribute(BundleDestinationDataSource.FIELD_BUNDLE_NAME);
String linkText = StringUtility.escapeHtml(bundleName);
Integer bundleId =
record.getAttributeAsInt(BundleDestinationDataSource.FIELD_BUNDLE_ID);
@@ -81,7 +81,7 @@ public class BundleDestinationListView extends
Table<BundleDestinationDataSource
};
ViewLinkField groupNameField = new
ViewLinkField(BundleDestinationDataSource.FIELD_GROUP_NAME, MSG
.view_bundle_dest_group()) {
- protected ViewLink getViewLink(ListGrid grid, ListGridRecord record) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
String groupName =
record.getAttribute(BundleDestinationDataSource.FIELD_GROUP_NAME);
String linkText = StringUtility.escapeHtml(groupName);
Integer groupId =
record.getAttributeAsInt(BundleDestinationDataSource.FIELD_GROUP_ID);
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 b0313bc..bc2ea3c 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
@@ -34,6 +34,7 @@ import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.authz.Permission;
import org.rhq.core.domain.bundle.Bundle;
import org.rhq.core.domain.bundle.composite.BundleWithLatestVersionComposite;
@@ -91,13 +92,13 @@ public class BundlesListView extends
Table<BundlesWithLatestVersionDataSource> {
CanvasField nameField = new
CanvasField(BundlesWithLatestVersionDataSource.FIELD_NAME, MSG
.common_title_name()) {
- protected Canvas createCanvas(ListGrid grid, ListGridRecord record) {
- HLayout hLayout = createHLayout(grid);
+ protected Canvas createCanvas(ListGrid grid, ListGridRecord record, Object
value) {
+ VLayout vLayout = createVLayout(grid);
String name =
record.getAttribute(BundlesWithLatestVersionDataSource.FIELD_NAME);
String nameLink =
record.getAttribute(BundlesWithLatestVersionDataSource.FIELD_NAMELINK);
ViewLink viewLink = new ViewLink(extendLocatorId("ViewLink"),
StringUtility.escapeHtml(name), nameLink);
- hLayout.addMember(viewLink);
- return hLayout;
+ vLayout.addMember(viewLink);
+ return vLayout;
}
};
nameField.setWidth("33%");
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionListView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionListView.java
index 29c9744..bbb38f8 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionListView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionListView.java
@@ -32,6 +32,7 @@ import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.bundle.list.BundleVersionDataSource;
@@ -65,13 +66,13 @@ public class BundleVersionListView extends
Table<BundleVersionDataSource> {
CanvasField versionField = new CanvasField(BundleVersionDataSource.FIELD_VERSION,
MSG
.common_title_version()) {
- protected Canvas createCanvas(ListGrid grid, ListGridRecord record) {
- HLayout hLayout = createHLayout(grid);
+ protected Canvas createCanvas(ListGrid grid, ListGridRecord record, Object
value) {
+ VLayout vLayout = createVLayout(grid);
String viewPath = getBundleVersionViewPath(record);
ViewLink viewLink = new ViewLink(extendLocatorId("ViewLink"),
record.getAttribute(BundleVersionDataSource.FIELD_VERSION),
viewPath);
- hLayout.addMember(viewLink);
- return hLayout;
+ vLayout.addMember(viewLink);
+ return vLayout;
}
};
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/Link.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/Link.java
index 240779a..553e2a0 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/Link.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/Link.java
@@ -33,48 +33,65 @@ import
org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableHTMLFlow;
*/
public class Link extends LocatableHTMLFlow {
- private static final String DEFAULT_MOUSE_OUT_STYLE_NAME = "viewLink";
- private static final String DEFAULT_MOUSE_OVER_STYLE_NAME =
"viewLinkHover";
+ private static final String DEFAULT_MOUSE_OVER_STYLE_NAME = "linkHover";
+ private static final String DEFAULT_MOUSE_OUT_STYLE_NAME = "link";
private String mouseOverStyleName;
private String mouseOutStyleName;
+ public Link(String linkText, ClickHandler clickHandler) {
+ this(linkText, linkText, clickHandler);
+ }
+
public Link(String locatorId, String linkText, ClickHandler clickHandler) {
super(locatorId);
- this.mouseOutStyleName = DEFAULT_MOUSE_OUT_STYLE_NAME;
this.mouseOverStyleName = DEFAULT_MOUSE_OVER_STYLE_NAME;
+ this.mouseOutStyleName = DEFAULT_MOUSE_OUT_STYLE_NAME;
- setWidth100();
- setHeight(25);
+ // TODO (ips, 04/28/11): This is lame - find a better way.
+ int width = 0;
+ for (int i = 0; i < linkText.length(); i++) {
+ int charWidth = (Character.isUpperCase(linkText.charAt(i))) ? 8 : 6;
+ width += charWidth;
+ }
+ setWidth(width);
+ //setAutoWidth();
setContents(linkText);
addClickHandler(clickHandler);
-
- addMouseOverHandler(new MouseOverHandler() {
- public void onMouseOver(MouseOverEvent event) {
- if (mouseOutStyleName != null && mouseOverStyleName != null) {
- setStyleName(mouseOverStyleName);
- markForRedraw();
- }
- }
- });
-
- addMouseOutHandler(new MouseOutHandler() {
- public void onMouseOut(MouseOutEvent event) {
- if (mouseOutStyleName != null && mouseOverStyleName != null) {
- setStyleName(mouseOutStyleName);
- markForRedraw();
- }
- }
- });
}
@Override
protected void onInit() {
super.onInit();
- setStyleName(getMouseOutStyleName());
+ if (this.mouseOverStyleName != null) {
+ addMouseOverHandler(new MouseOverHandler() {
+ public void onMouseOver(MouseOverEvent event) {
+ handleMouseOverEvent();
+ }
+ });
+ }
+
+ if (this.mouseOutStyleName != null) {
+ setStyleName(this.mouseOutStyleName);
+ addMouseOutHandler(new MouseOutHandler() {
+ public void onMouseOut(MouseOutEvent event) {
+ handleMouseOutEvent();
+ }
+ });
+ }
+ }
+
+ protected void handleMouseOverEvent() {
+ setStyleName(mouseOverStyleName);
+ markForRedraw();
+ }
+
+ protected void handleMouseOutEvent() {
+ setStyleName(mouseOutStyleName);
+ markForRedraw();
}
public String getMouseOverStyleName() {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ViewLink.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ViewLink.java
index 5446a8c..b8246e3 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ViewLink.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/ViewLink.java
@@ -19,14 +19,10 @@
*/
package org.rhq.enterprise.gui.coregui.client.components;
+import com.google.gwt.user.client.Window;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
-import com.smartgwt.client.widgets.events.MouseOutEvent;
-import com.smartgwt.client.widgets.events.MouseOutHandler;
-import com.smartgwt.client.widgets.events.MouseOverEvent;
-import com.smartgwt.client.widgets.events.MouseOverHandler;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableHTMLFlow;
/**
* A link to another view within coregui.war. Clicking on the link will navigate to the
view via the GWT history API
@@ -38,6 +34,10 @@ public class ViewLink extends Link {
private String viewPath;
+ public ViewLink(String linkText, final String viewPath) {
+ this(linkText, linkText, viewPath);
+ }
+
public ViewLink(String locatorId, String linkText, final String viewPath) {
super(locatorId, linkText, new ClickHandler() {
public void onClick(ClickEvent event) {
@@ -45,7 +45,20 @@ public class ViewLink extends Link {
}
});
- this.viewPath = viewPath;
+ this.viewPath = (viewPath.charAt(0) == '#') ? viewPath.substring(1) :
viewPath;
+ }
+
+ @Override
+ protected void handleMouseOverEvent() {
+ super.handleMouseOverEvent();
+ // NOTE: This doesn't work on Firefox :-(
+ Window.setStatus('#' + this.viewPath);
+ }
+
+ @Override
+ protected void handleMouseOutEvent() {
+ super.handleMouseOutEvent();
+ Window.setStatus("");
}
@Override
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/CanvasField.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/CanvasField.java
index b28e51f..b3ff1b5 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/CanvasField.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/CanvasField.java
@@ -20,12 +20,12 @@
package org.rhq.enterprise.gui.coregui.client.components.table;
import com.google.gwt.core.client.JavaScriptObject;
-import com.smartgwt.client.types.Overflow;
+import com.smartgwt.client.types.VerticalAlignment;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.VLayout;
/**
* Formats a cell value as a SmartGWT canvas.
@@ -59,7 +59,7 @@ public abstract class CanvasField extends ListGridField {
super(field.getName(), field.getTitle());
setWidth(field.getWidth());
- // TODO: clone other commonly used fields
+ // TODO (ips, 04/27/11): clone other commonly used fields
}
/**
@@ -67,18 +67,21 @@ public abstract class CanvasField extends ListGridField {
*
* @param grid
* @param record
+ * @param value
+ *
* @return
*/
- protected abstract Canvas createCanvas(ListGrid grid, ListGridRecord record);
-
- protected HLayout createHLayout(ListGrid grid) {
- HLayout component = new HLayout();
- component.setWidth100();
- // TODO: is this the best way to deal w/ height?
- component.setHeight(25);
- component.setMargin(grid.getCellPadding());
- component.setOverflow(Overflow.HIDDEN);
- return component;
+ protected abstract Canvas createCanvas(ListGrid grid, ListGridRecord record, Object
value);
+
+ protected VLayout createVLayout(ListGrid grid) {
+ VLayout vLayout = new CanvasFieldVLayout(grid);
+ /*vLayout.setWidth(grid.getFieldWidth(getName()));
+ vLayout.setHeight100();
+ //vLayout.setOverflow(Overflow.VISIBLE);
+ //vLayout.setAutoHeight();
+ vLayout.setMargin(grid.getCellPadding());
+ vLayout.setAlign(VerticalAlignment.CENTER);*/
+ return vLayout;
}
@Override
@@ -86,4 +89,24 @@ public abstract class CanvasField extends ListGridField {
return getClass().getName() + "[name=" + getName() + ",
title=" + getTitle() + "]";
}
+ class CanvasFieldVLayout extends VLayout {
+ private ListGrid grid;
+
+ CanvasFieldVLayout(ListGrid grid) {
+ this.grid = grid;
+ setWidth(grid.getFieldWidth(getName()));
+ setHeight100();
+ //setOverflow(Overflow.VISIBLE);
+ //setAutoHeight();
+ setMargin(grid.getCellPadding());
+ setAlign(VerticalAlignment.CENTER);
+ }
+
+ @Override
+ public void redraw() {
+ setWidth(this.grid.getFieldWidth(getName()));
+ super.redraw();
+ }
+ }
+
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/EnhancedListGrid.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/EnhancedListGrid.java
index b383443..972b2b0 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/EnhancedListGrid.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/EnhancedListGrid.java
@@ -19,6 +19,8 @@
*/
package org.rhq.enterprise.gui.coregui.client.components.table;
+import com.google.gwt.core.client.JavaScriptObject;
+import com.smartgwt.client.util.JSOHelper;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.ListGridField;
@@ -73,10 +75,19 @@ public class EnhancedListGrid extends LocatableListGrid {
}
ListGridField field = getField(colNum);
- ListGridField originalField = this.originalFields.get(field.getName());
+ String fieldName = field.getName();
+ ListGridField originalField = this.originalFields.get(fieldName);
if (originalField instanceof CanvasField) {
CanvasField canvasField = (CanvasField)originalField;
- return canvasField.createCanvas(this, record);
+ Object value;
+ try {
+ Object rawValue = record.getAttributeAsObject(fieldName);
+ value = (rawValue instanceof JavaScriptObject) ?
+ JSOHelper.convertToJava((JavaScriptObject) rawValue) : rawValue;
+ } catch (RuntimeException e) {
+ value = record.getAttribute(fieldName);
+ }
+ return canvasField.createCanvas(this, record, value);
} else {
return null;
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java
index 4b49302..3b6d11d 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/TableSection.java
@@ -27,18 +27,14 @@ import com.google.gwt.user.client.History;
import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.data.SortSpecifier;
import com.smartgwt.client.types.AnimationEffect;
-import com.smartgwt.client.types.Overflow;
import com.smartgwt.client.types.VerticalAlignment;
import com.smartgwt.client.widgets.AnimationCallback;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.events.DoubleClickEvent;
import com.smartgwt.client.widgets.events.DoubleClickHandler;
-import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import com.smartgwt.client.widgets.layout.HLayout;
-import com.smartgwt.client.widgets.layout.Layout;
import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
@@ -122,8 +118,8 @@ public abstract class TableSection<DS extends RPCDataSource>
extends Table<DS> i
}
/**
- * The default implementation wraps the {@link #getDetailsLinkColumnCellFormatter()}
column with the
- * {@link #getDetailsLinkColumnCellFormatter()}. This is typically the 'name'
column linking to the detail
+ * The default implementation renders each cell in the {@link
#getDetailsLinkColumnName()} column as a hyperlink
+ * to the details for the corresponding row. This is typically the 'name'
column linking to the detail
* view, given the 'id'. Also, establishes a double click handler for the row
which invokes
* {@link #showDetails(com.smartgwt.client.widgets.grid.ListGridRecord)}</br>
* </br>
@@ -137,28 +133,14 @@ public abstract class TableSection<DS extends RPCDataSource>
extends Table<DS> i
ListGrid grid = getListGrid();
- // Make the value of some specific field a link to the details view for the
corresponding record.
+ // Make the value of some specific field (typically the 'name' field)
a link to the details view for the
+ // corresponding record.
ListGridField field = (grid != null) ?
grid.getField(getDetailsLinkColumnName()) : null;
if (field != null) {
- //field.setCellFormatter(getDetailsLinkColumnCellFormatter());
-
- CanvasField canvasField = new CanvasField(field) {
- protected Canvas createCanvas(ListGrid grid, ListGridRecord record)
{
- HLayout hLayout = createHLayout(grid);
- Integer recordId = getId(record);
- String detailsViewPath = getBasePath() + "/" +
recordId;
- String recordValue =
record.getAttribute(getDetailsLinkColumnName());
- String formattedValue = (escapeHtmlInDetailsLinkColumn) ?
StringUtility.escapeHtml(recordValue.toString())
- : recordValue.toString();
- ViewLink viewLink = new
ViewLink(extendLocatorId("ViewLink"), formattedValue, detailsViewPath);
- hLayout.addMember(viewLink);
- return hLayout;
- }
- };
-
+ CanvasField detailsViewLinkField = createDetailsLinkField(field);
int fieldIndex = grid.getFieldNum(field.getName());
ListGridField[] fields = grid.getFields();
- fields[fieldIndex] = canvasField;
+ fields[fieldIndex] = detailsViewLinkField;
grid.setFields(fields);
}
@@ -175,6 +157,22 @@ public abstract class TableSection<DS extends RPCDataSource>
extends Table<DS> i
}
}
+ protected CanvasField createDetailsLinkField(final ListGridField field) {
+ return new ViewLinkField(field) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
+ return createDetailsViewLink(record, value);
+ }
+ };
+ }
+
+ protected ViewLink createDetailsViewLink(ListGridRecord record, Object value) {
+ Integer recordId = getId(record);
+ String detailsViewPath = getBasePath() + "/" + recordId;
+ String formattedValue = (this.escapeHtmlInDetailsLinkColumn) ?
StringUtility.escapeHtml(value.toString())
+ : value.toString();
+ return new ViewLink(formattedValue, detailsViewPath);
+ }
+
protected boolean isDetailsEnabled() {
return true;
}
@@ -192,25 +190,6 @@ public abstract class TableSection<DS extends RPCDataSource>
extends Table<DS> i
}
/**
- * Override if you don't want the detailsLinkColumn to have the default link
wrapper.
- * @return the desired CellFormatter.
- */
- protected CellFormatter getDetailsLinkColumnCellFormatter() {
- return new CellFormatter() {
- public String format(Object value, ListGridRecord record, int i, int i1) {
- if (value == null) {
- return "";
- }
- Integer recordId = getId(record);
- String detailsUrl = "#" + getBasePath() + "/" +
recordId;
- String formattedValue = (escapeHtmlInDetailsLinkColumn) ?
StringUtility.escapeHtml(value.toString())
- : value.toString();
- return SeleniumUtility.getLocatableHref(detailsUrl, formattedValue,
null);
- }
- };
- }
-
- /**
* Shows the details view for the given record of the table.
*
* The default implementation of this method assumes there is an
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/ViewLinkField.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/ViewLinkField.java
index b91d48c..31fcced 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/ViewLinkField.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/ViewLinkField.java
@@ -5,10 +5,12 @@ import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
/**
+ * A list grid field that is displayed as a link to another CoreGUI view.
+ *
* @author Ian Springer
*/
public abstract class ViewLinkField extends CanvasField {
@@ -38,14 +40,14 @@ public abstract class ViewLinkField extends CanvasField {
}
@Override
- protected Canvas createCanvas(ListGrid grid, ListGridRecord record) {
- HLayout hLayout = createHLayout(grid);
- ViewLink viewLink = getViewLink(grid, record);
- hLayout.addMember(viewLink);
- return hLayout;
+ protected Canvas createCanvas(ListGrid grid, ListGridRecord record, Object value) {
+ VLayout vLayout = createVLayout(grid);
+ ViewLink viewLink = getViewLink(grid, record, value);
+ vLayout.addMember(viewLink);
+ return vLayout;
}
- protected abstract ViewLink getViewLink(ListGrid grid, ListGridRecord record);
+ protected abstract ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value);
protected ViewLinkField(ListGridField field) {
super(field);
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/platform/PlatformSummaryPortlet.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/platform/PlatformSummaryPortlet.java
index 831993c..bc50d85 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/platform/PlatformSummaryPortlet.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/platform/PlatformSummaryPortlet.java
@@ -124,7 +124,7 @@ public class PlatformSummaryPortlet extends LocatableListGrid
implements Portlet
private void buildUI() {
ViewLinkField nameField = new
ViewLinkField(ResourceDataSourceField.NAME.propertyName(), MSG
.common_title_name()) {
- protected ViewLink getViewLink(ListGrid grid, ListGridRecord record) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
String resourceUrl =
LinkManager.getResourceLink(record.getAttributeAsInt("id"));
String linkText =
StringUtility.escapeHtml(record.getAttribute(ResourceDataSourceField.NAME.propertyName()));
return new ViewLink(extendLocatorId("ViewLink"), linkText,
resourceUrl);
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/imported/RecentlyAddedResourcesPortlet.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/imported/RecentlyAddedResourcesPortlet.java
index 91289ba..9ee0eca 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/imported/RecentlyAddedResourcesPortlet.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/imported/RecentlyAddedResourcesPortlet.java
@@ -34,6 +34,7 @@ import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.VLayout;
import com.smartgwt.client.widgets.tree.TreeGrid;
import org.rhq.core.domain.configuration.PropertySimple;
@@ -93,15 +94,15 @@ public class RecentlyAddedResourcesPortlet extends LocatableVLayout
implements C
treeGrid.setTreeFieldTitle("Resource Name");
CanvasField resourceNameField = new CanvasField("name",
MSG.common_title_resource_name()) {
- protected Canvas createCanvas(ListGrid grid, ListGridRecord record) {
- HLayout hLayout = createHLayout(grid);
+ protected Canvas createCanvas(ListGrid grid, ListGridRecord record, Object
value) {
+ VLayout vLayout = createVLayout(grid);
int resourceId = record.getAttributeAsInt("id");
String resourceName = record.getAttribute("name");
String resourceViewPath = LinkManager.getResourceLink(resourceId);
ViewLink viewLink = new ViewLink(extendLocatorId("ViewLink"),
StringUtility.escapeHtml(resourceName),
resourceViewPath);
- hLayout.addMember(viewLink);
- return hLayout;
+ vLayout.addMember(viewLink);
+ return vLayout;
}
};
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationSchedulePortlet.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationSchedulePortlet.java
index b26405b..3853ea7 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationSchedulePortlet.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationSchedulePortlet.java
@@ -31,6 +31,7 @@ import com.smartgwt.client.widgets.form.fields.events.ChangeEvent;
import com.smartgwt.client.widgets.form.fields.events.ChangeHandler;
import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.HoverCustomizer;
+import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.layout.VStack;
@@ -41,7 +42,10 @@ import
org.rhq.core.domain.configuration.definition.PropertyDefinitionSimple;
import org.rhq.core.domain.configuration.definition.PropertySimpleType;
import org.rhq.core.domain.dashboard.DashboardPortlet;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
+import org.rhq.enterprise.gui.coregui.client.components.table.CanvasField;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
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;
@@ -118,21 +122,20 @@ public class OperationSchedulePortlet extends LocatableVLayout
implements Custom
protected void onDraw() {
super.onDraw();
- ListGridField timeNext = new
ListGridField(ScheduledOperationsDataSource.Field.TIME.propertyName(),
- ScheduledOperationsDataSource.Field.TIME.title(), WIDTH_SCHEDULED_TIME);
- timeNext.setCellFormatter(new TimestampCellFormatter() {
- public String format(Object value, ListGridRecord record, int rowNum, int
colNum) {
+ CanvasField timeNext = new
CanvasField(ScheduledOperationsDataSource.Field.TIME.propertyName(),
+ ScheduledOperationsDataSource.Field.TIME.title(), WIDTH_SCHEDULED_TIME) {
+ protected Canvas createCanvas(ListGrid grid, ListGridRecord record, Object
value) {
if (value != null) {
- String timestamp = super.format(value, record, rowNum, colNum);
+ String timestamp = TimestampCellFormatter.format(value);
Integer resourceId =
record.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
Integer opScheduleId = record.getAttributeAsInt("id");
String url =
LinkManager.getSubsystemResourceOperationScheduleLink(resourceId, opScheduleId);
- return SeleniumUtility.getLocatableHref(url, timestamp, null);
+ return new ViewLink(timestamp, url);
} else {
- return "<i>" + MSG.common_label_none() +
"</i>";
+ return new HTMLFlow("<i>" + MSG.common_label_none() +
"</i>");
}
}
- });
+ };
timeNext.setShowHover(true);
timeNext.setHoverCustomizer(TimestampCellFormatter.getHoverCustomizer(ScheduledOperationsDataSource.Field.TIME
.propertyName()));
@@ -140,14 +143,13 @@ public class OperationSchedulePortlet extends LocatableVLayout
implements Custom
ListGridField operationNext = new
ListGridField(ScheduledOperationsDataSource.Field.OPERATION.propertyName(),
ScheduledOperationsDataSource.Field.OPERATION.title());
- ListGridField resourceNext = new
ListGridField(ScheduledOperationsDataSource.Field.RESOURCE.propertyName(),
- ScheduledOperationsDataSource.Field.RESOURCE.title());
- resourceNext.setCellFormatter(new CellFormatter() {
- public String format(Object o, ListGridRecord listGridRecord, int i, int i1)
{
- String url =
LinkManager.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+ ViewLinkField resourceNext = new
ViewLinkField(ScheduledOperationsDataSource.Field.RESOURCE.propertyName(),
+ ScheduledOperationsDataSource.Field.RESOURCE.title()) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
+ String url =
LinkManager.getResourceLink(record.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
+ return new ViewLink(value.toString(), url);
}
- });
+ };
resourceNext.setShowHover(true);
resourceNext.setHoverCustomizer(new HoverCustomizer() {
public String hoverHTML(Object value, ListGridRecord listGridRecord, int
rowNum, int colNum) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
index f3738d4..a512bab 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java
@@ -47,9 +47,11 @@ import
org.rhq.core.domain.configuration.definition.PropertyDefinitionSimple;
import org.rhq.core.domain.configuration.definition.PropertySimpleType;
import org.rhq.core.domain.dashboard.DashboardPortlet;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import org.rhq.enterprise.gui.coregui.client.components.table.IconField;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TableWidget;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
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;
@@ -120,13 +122,13 @@ public class ProblemResourcesPortlet extends
Table<ProblemResourcesDataSource> i
addExtraWidget(new TimeRange(extendLocatorId("TimeRange"), this),
false);
}
- ListGridField resourceField = new ListGridField(RESOURCE.propertyName(),
RESOURCE.title());
- resourceField.setCellFormatter(new CellFormatter() {
- public String format(Object o, ListGridRecord listGridRecord, int i, int i1)
{
- String url =
LinkManager.getResourceLink(listGridRecord.getAttributeAsInt("id"));
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+ ViewLinkField resourceField = new ViewLinkField(RESOURCE.propertyName(),
RESOURCE.title()) {
+ @Override
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
+ String url =
LinkManager.getResourceLink(record.getAttributeAsInt("id"));
+ return new ViewLink(value.toString(), url);
}
- });
+ };
resourceField.setShowHover(true);
resourceField.setHoverCustomizer(new HoverCustomizer() {
public String hoverHTML(Object value, ListGridRecord listGridRecord, int
rowNum, int colNum) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceConfigurationUpdatesPortlet.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceConfigurationUpdatesPortlet.java
index f9b2d9d..9f9a31a 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceConfigurationUpdatesPortlet.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceConfigurationUpdatesPortlet.java
@@ -41,6 +41,7 @@ import org.rhq.core.domain.util.PageControl;
import org.rhq.core.domain.util.PageList;
import org.rhq.core.domain.util.PageOrdering;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
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;
@@ -168,18 +169,11 @@ public class ResourceConfigurationUpdatesPortlet extends
GroupConfigurationUpdat
}
}
- /**
- * Override if you don't want the detailsLinkColumn to have the default link
wrapper.
- * @return the desired CellFormatter.
- */
- protected CellFormatter getDetailsLinkColumnCellFormatter() {
- return new CellFormatter() {
- public String format(Object value, ListGridRecord record, int i, int i1)
{
- Integer recordId = getId(record);
- String detailsUrl = "#" + getBasePath() + "/" +
recordId;
- return SeleniumUtility.getLocatableHref(detailsUrl, value.toString(),
null);
- }
- };
+ @Override
+ protected ViewLink createDetailsViewLink(ListGridRecord record, Object value) {
+ Integer recordId = getId(record);
+ String detailsUrl = getBasePath() + "/" + recordId;
+ return new ViewLink(value.toString(), detailsUrl);
}
@Override
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryListView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryListView.java
index 48fea33..c97a67e 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryListView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryListView.java
@@ -35,6 +35,7 @@ import com.smartgwt.client.widgets.events.CloseClickHandler;
import com.smartgwt.client.widgets.events.CloseClientEvent;
import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.HoverCustomizer;
+import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
@@ -46,9 +47,11 @@ import org.rhq.core.domain.operation.ResourceOperationHistory;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import org.rhq.enterprise.gui.coregui.client.components.table.TableAction;
import org.rhq.enterprise.gui.coregui.client.components.table.TableSection;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
import org.rhq.enterprise.gui.coregui.client.operation.OperationHistoryDataSource;
@@ -246,19 +249,17 @@ public abstract class AbstractOperationHistoryListView<T extends
AbstractOperati
return statusField;
}
- protected ListGridField createResourceField() {
- ListGridField resourceField = new ListGridField(AncestryUtil.RESOURCE_NAME,
MSG.common_title_resource());
+ protected ViewLinkField createResourceField() {
+ ViewLinkField resourceField = new ViewLinkField(AncestryUtil.RESOURCE_NAME,
MSG.common_title_resource()) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
+ String url =
LinkManager.getResourceLink(record.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
+ return new ViewLink(value.toString(), url);
+ }
+ };
resourceField.setAlign(Alignment.LEFT);
resourceField.setCellAlign(Alignment.LEFT);
- resourceField.setCellFormatter(new CellFormatter() {
- public String format(Object o, ListGridRecord listGridRecord, int i, int i1)
{
- String url =
LinkManager.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
- }
- });
resourceField.setShowHover(true);
resourceField.setHoverCustomizer(new HoverCustomizer() {
-
public String hoverHTML(Object value, ListGridRecord listGridRecord, int
rowNum, int colNum) {
return AncestryUtil.getResourceHoverHTML(listGridRecord, 0);
}
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 0965096..c70f4f4 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
@@ -44,6 +44,7 @@ import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import org.rhq.enterprise.gui.coregui.client.components.form.EnumSelectItem;
import org.rhq.enterprise.gui.coregui.client.components.table.AbstractTableAction;
import org.rhq.enterprise.gui.coregui.client.components.table.TableActionEnablement;
@@ -212,14 +213,11 @@ public class EventCompositeHistoryView extends
TableSection<EventCompositeDataso
return "timestamp";
}
- protected CellFormatter getDetailsLinkColumnCellFormatter() {
- return new CellFormatter() {
- public String format(Object value, ListGridRecord record, int rowNum, int
colNum) {
- Integer recordId = getId(record);
- String detailsUrl = "#" + getBasePath() + "/" +
recordId;
- return SeleniumUtility.getLocatableHref(detailsUrl,
TimestampCellFormatter.format(value), null);
- }
- };
+ @Override
+ protected ViewLink createDetailsViewLink(ListGridRecord record, Object value) {
+ Integer recordId = getId(record);
+ String detailsUrl = getBasePath() + "/" + recordId;
+ return new ViewLink(TimestampCellFormatter.format(value), detailsUrl);
}
private void setupTableInteractions() {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
index c0ae2d7..7ab79dd 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/ResourceGroupListView.java
@@ -46,10 +46,12 @@ import org.rhq.core.domain.search.SearchSubsystem;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import org.rhq.enterprise.gui.coregui.client.components.table.AbstractTableAction;
import org.rhq.enterprise.gui.coregui.client.components.table.AuthorizedTableAction;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TableActionEnablement;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGroupGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.inventory.groups.wizard.GroupCreateWizard;
@@ -136,16 +138,14 @@ public class ResourceGroupListView extends
Table<ResourceGroupCompositeDataSourc
}
});
- ListGridField nameField = new ListGridField(NAME.propertyName(), NAME.title());
- nameField.setWidth("40%");
-
- nameField.setCellFormatter(new CellFormatter() {
- public String format(Object value, ListGridRecord record, int i, int i1) {
+ ViewLinkField nameField = new ViewLinkField(NAME.propertyName(), NAME.title()) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
String groupId = record.getAttribute("id");
String groupUrl =
LinkManager.getResourceGroupLink(Integer.valueOf(groupId));
- return SeleniumUtility.getLocatableHref(groupUrl, value.toString(),
null);
+ return new ViewLink(value.toString(), groupUrl);
}
- });
+ };
+ nameField.setWidth("40%");
ListGridField descriptionField = new ListGridField(DESCRIPTION.propertyName(),
DESCRIPTION.title());
descriptionField.setWidth("30%");
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
index 3d2c15d..daf2c1a 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java
@@ -251,7 +251,7 @@ public class SingleGroupDefinitionView extends LocatableVLayout
implements Bookm
idField.setWidth("50");
ViewLinkField nameField = new ViewLinkField(NAME.propertyName(),
NAME.title()) {
- protected ViewLink getViewLink(ListGrid grid, ListGridRecord record) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record,
Object value) {
String linkName =
StringUtility.escapeHtml(record.getAttributeAsString(NAME.propertyName()));
String linkUrl =
LinkManager.getResourceGroupLink(record.getAttributeAsInt("id"));
return new ViewLink(extendLocatorId("ViewLink"), linkName,
linkUrl);
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationMembers.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationMembers.java
index 31520bd..c0692dd 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationMembers.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationMembers.java
@@ -50,9 +50,11 @@ import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ErrorMessageWindow;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import org.rhq.enterprise.gui.coregui.client.components.buttons.BackButton;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
import org.rhq.enterprise.gui.coregui.client.gwt.ConfigurationGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
@@ -103,17 +105,15 @@ public class HistoryGroupResourceConfigurationMembers extends
LocatableVLayout {
@Override
protected void configureTable() {
- ListGridField fieldResource = new ListGridField(AncestryUtil.RESOURCE_NAME,
MSG.common_title_resource());
- fieldResource.setCellFormatter(new CellFormatter() {
- public String format(Object o, ListGridRecord listGridRecord, int i, int
i1) {
+ ViewLinkField fieldResource = new ViewLinkField(AncestryUtil.RESOURCE_NAME,
MSG.common_title_resource()) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record,
Object value) {
String url = LinkManager
-
.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+
.getResourceLink(record.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
+ return new ViewLink(value.toString(), url);
}
- });
+ };
fieldResource.setShowHover(true);
fieldResource.setHoverCustomizer(new HoverCustomizer() {
-
public String hoverHTML(Object value, ListGridRecord listGridRecord, int
rowNum, int colNum) {
return AncestryUtil.getResourceHoverHTML(listGridRecord, 0);
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationMembers.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationMembers.java
index 2699dff..cdb8551 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationMembers.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationMembers.java
@@ -50,9 +50,11 @@ import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ErrorMessageWindow;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import org.rhq.enterprise.gui.coregui.client.components.buttons.BackButton;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
import org.rhq.enterprise.gui.coregui.client.gwt.ConfigurationGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
@@ -102,17 +104,15 @@ public class HistoryGroupPluginConfigurationMembers extends
LocatableVLayout {
@Override
protected void configureTable() {
- ListGridField fieldResource = new ListGridField(AncestryUtil.RESOURCE_NAME,
MSG.common_title_resource());
- fieldResource.setCellFormatter(new CellFormatter() {
- public String format(Object o, ListGridRecord listGridRecord, int i, int
i1) {
+ ViewLinkField fieldResource = new ViewLinkField(AncestryUtil.RESOURCE_NAME,
MSG.common_title_resource()) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record,
Object value) {
String url = LinkManager
-
.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+
.getResourceLink(record.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
+ return new ViewLink(value.toString(), url);
}
- });
+ };
fieldResource.setShowHover(true);
fieldResource.setHoverCustomizer(new HoverCustomizer() {
-
public String hoverHTML(Object value, ListGridRecord listGridRecord, int
rowNum, int colNum) {
return AncestryUtil.getResourceHoverHTML(listGridRecord, 0);
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/ResourceGroupMetricGraphView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/ResourceGroupMetricGraphView.java
index 61a30ce..ae11ac8 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/ResourceGroupMetricGraphView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/ResourceGroupMetricGraphView.java
@@ -32,11 +32,12 @@ import org.rhq.core.domain.resource.group.ResourceGroup;
import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGroupGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMetricGraphView;
import
org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
+import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
/**
* @author Greg Hinkle
@@ -44,7 +45,7 @@ import
org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
*/
public class ResourceGroupMetricGraphView extends AbstractMetricGraphView {
- private HTMLFlow resourceGroupTitle;
+ private ViewLink resourceGroupTitle;
public ResourceGroupMetricGraphView(String locatorId) {
super(locatorId);
@@ -84,7 +85,7 @@ public class ResourceGroupMetricGraphView extends
AbstractMetricGraphView {
final ResourceGroup group = result.get(0);
String url = LinkManager.getResourceGroupLink(group.getId());
- resourceGroupTitle = new
HTMLFlow(SeleniumUtility.getLocatableHref(url, group.getName(), null));
+ resourceGroupTitle = new
ViewLink(StringUtility.escapeHtml(group.getName()), url);
ResourceTypeRepository.Cache.getInstance().getResourceTypes(group.getResourceType().getId(),
EnumSet.of(ResourceTypeRepository.MetadataType.measurements),
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsDetailView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsDetailView.java
index e93a1cb..4d3122e 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsDetailView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsDetailView.java
@@ -19,17 +19,16 @@
package org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.monitoring.traits;
import com.smartgwt.client.data.Criteria;
-import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.HoverCustomizer;
import com.smartgwt.client.widgets.grid.ListGrid;
-import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.criteria.MeasurementDataTraitCriteria;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
import
org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMeasurementDataTraitListDetailView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* The detail view for the group Monitoring>Traits subtab.
@@ -47,13 +46,12 @@ public class TraitsDetailView extends
AbstractMeasurementDataTraitListDetailView
ListGrid listGrid = getListGrid();
- ListGridField resourceNameField =
listGrid.getField(MeasurementDataTraitCriteria.SORT_FIELD_RESOURCE_NAME);
- resourceNameField.setCellFormatter(new CellFormatter() {
- public String format(Object o, ListGridRecord listGridRecord, int i, int i1)
{
- String url =
LinkManager.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+ ViewLinkField resourceNameField = new
ViewLinkField(listGrid.getField(MeasurementDataTraitCriteria.SORT_FIELD_RESOURCE_NAME)) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
+ String url =
LinkManager.getResourceLink(record.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
+ return new ViewLink(value.toString(), url);
}
- });
+ };
resourceNameField.setShowHover(true);
resourceNameField.setHoverCustomizer(new HoverCustomizer() {
public String hoverHTML(Object value, ListGridRecord listGridRecord, int
rowNum, int colNum) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsView.java
index f1c7cfa..5de7e79 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsView.java
@@ -29,6 +29,8 @@ import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.criteria.MeasurementDataTraitCriteria;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
import
org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMeasurementDataTraitListView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
@@ -54,13 +56,12 @@ public class TraitsView extends AbstractMeasurementDataTraitListView
{
listGrid.setGroupStartOpen(GroupStartOpen.ALL);
listGrid.groupBy(MeasurementDataTraitCriteria.SORT_FIELD_DISPLAY_NAME);
- ListGridField resourceNameField =
listGrid.getField(MeasurementDataTraitCriteria.SORT_FIELD_RESOURCE_NAME);
- resourceNameField.setCellFormatter(new CellFormatter() {
- public String format(Object o, ListGridRecord listGridRecord, int i, int i1)
{
- String url =
LinkManager.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+ ViewLinkField resourceNameField = new
ViewLinkField(listGrid.getField(MeasurementDataTraitCriteria.SORT_FIELD_RESOURCE_NAME)) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
+ String url =
LinkManager.getResourceLink(record.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
+ return new ViewLink(value.toString(), url);
}
- });
+ };
resourceNameField.setShowHover(true);
resourceNameField.setHoverCustomizer(new HoverCustomizer() {
public String hoverHTML(Object value, ListGridRecord listGridRecord, int
rowNum, int colNum) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupMemberResourceOperationHistoryListView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupMemberResourceOperationHistoryListView.java
index b9eb6bb..59e4ac2 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupMemberResourceOperationHistoryListView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupMemberResourceOperationHistoryListView.java
@@ -13,6 +13,7 @@ import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
import
org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.history.AbstractOperationHistoryDataSource;
import
org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.history.AbstractOperationHistoryListView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
@@ -44,14 +45,8 @@ public class GroupMemberResourceOperationHistoryListView extends
idField.setWidth(38);
fields.add(idField);
- ListGridField resourceField = createResourceField();
+ ViewLinkField resourceField = createResourceField();
resourceField.setWidth("25%");
- resourceField.setCellFormatter(new CellFormatter() {
- public String format(Object o, ListGridRecord listGridRecord, int i, int i1)
{
- String url =
LinkManager.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
- }
- });
resourceField.setShowHover(true);
resourceField.setHoverCustomizer(new HoverCustomizer() {
public String hoverHTML(Object value, ListGridRecord listGridRecord, int
rowNum, int colNum) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/AncestryUtil.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/AncestryUtil.java
index b451c0e..5b8d1a3 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/AncestryUtil.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/AncestryUtil.java
@@ -24,16 +24,23 @@ import java.util.Map;
import com.smartgwt.client.data.Record;
import com.smartgwt.client.types.Alignment;
+import com.smartgwt.client.types.Overflow;
+import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.HTMLFlow;
import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.HoverCustomizer;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
+import com.smartgwt.client.widgets.layout.HStack;
+import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.resource.ResourceType;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
+import org.rhq.enterprise.gui.coregui.client.components.table.CanvasField;
import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
@@ -63,11 +70,53 @@ public abstract class AncestryUtil {
* @return ancestry field
*/
public static ListGridField setupAncestryListGridField() {
- ListGridField ancestryField = new ListGridField(AncestryUtil.RESOURCE_ANCESTRY,
CoreGUI.getMessages().common_title_ancestry());
+ CanvasField ancestryField = new CanvasField(AncestryUtil.RESOURCE_ANCESTRY,
+ CoreGUI.getMessages().common_title_ancestry()) {
+ protected Canvas createCanvas(ListGrid grid, ListGridRecord record, Object
value) {
+ VLayout vLayout = createVLayout(grid);
+
+ if (value == null) {
+ // no ancestry - render a blank cell
+ return vLayout;
+ }
+
+ HStack hStack = new HStack();
+ hStack.setMembersMargin(4);
+ hStack.setOverflow(Overflow.AUTO);
+ Integer resourceId = getResourceId(record);
+ String[] ancestryEntries =
value.toString().split(Resource.ANCESTRY_DELIM);
+ for (int i = 0; i < ancestryEntries.length; ++i) {
+ String[] entryTokens =
ancestryEntries[i].split(Resource.ANCESTRY_ENTRY_DELIM);
+ int ancestorResourceId = Integer.valueOf(entryTokens[1]);
+ String ancestorName = StringUtility.escapeHtml(entryTokens[2]);
+
+ if (i > 0) {
+ HTMLFlow html = new HTMLFlow("<");
+ html.setAutoWidth();
+ hStack.addMember(html);
+ }
+ boolean generateLinks = true; // TODO
+ if (generateLinks) {
+ String url = LinkManager.getResourceLink(ancestorResourceId);
+ String suffix = resourceId + "_" + entryTokens[1];
+ ViewLink viewLink = new ViewLink(ancestorName + suffix,
ancestorName, url);
+ hStack.addMember(viewLink);
+ } else {
+ HTMLFlow html = new HTMLFlow(ancestorName);
+ html.setAutoWidth();
+ hStack.addMember(html);
+ }
+ }
+
+ vLayout.addMember(hStack);
+ return vLayout;
+ }
+ };
+
ancestryField.setAlign(Alignment.LEFT);
ancestryField.setCellAlign(Alignment.LEFT);
- setupAncestryListGridFieldCellFormatter(ancestryField);
setupAncestryListGridFieldHover(ancestryField);
+
return ancestryField;
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
index 025ee97..a33b8be 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java
@@ -30,7 +30,6 @@ import com.smartgwt.client.data.Record;
import com.smartgwt.client.data.SortSpecifier;
import com.smartgwt.client.widgets.events.DoubleClickEvent;
import com.smartgwt.client.widgets.events.DoubleClickHandler;
-import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.HoverCustomizer;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
@@ -43,6 +42,7 @@ import org.rhq.core.domain.resource.ResourceCategory;
import org.rhq.core.domain.search.SearchSubsystem;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import org.rhq.enterprise.gui.coregui.client.components.table.EscapedHtmlCellFormatter;
import org.rhq.enterprise.gui.coregui.client.components.table.RecordExtractor;
import
org.rhq.enterprise.gui.coregui.client.components.table.ResourceAuthorizedTableAction;
@@ -51,6 +51,7 @@ import
org.rhq.enterprise.gui.coregui.client.components.table.ResourceCategoryCe
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.table.TableActionEnablement;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
@@ -58,7 +59,6 @@ import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.TableUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* The list view for {@link Resource}s.
@@ -193,14 +193,13 @@ public class ResourceSearchView extends Table {
});
fields.add(iconField);
- ListGridField nameField = new ListGridField(NAME.propertyName(), NAME.title(),
250);
- nameField.setCellFormatter(new CellFormatter() {
- public String format(Object value, ListGridRecord record, int rowNum, int
colNum) {
+ ViewLinkField nameField = new ViewLinkField(NAME.propertyName(), NAME.title(),
250) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
String url =
LinkManager.getResourceLink(record.getAttributeAsInt("id"));
String name = StringUtility.escapeHtml(value.toString());
- return SeleniumUtility.getLocatableHref(url, name, null);
+ return new ViewLink(name, url);
}
- });
+ };
nameField.setShowHover(true);
nameField.setHoverCustomizer(new HoverCustomizer() {
public String hoverHTML(Object value, ListGridRecord listGridRecord, int
rowNum, int colNum) {
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 7993957..05a00b6 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
@@ -47,6 +47,7 @@ import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import org.rhq.enterprise.gui.coregui.client.components.table.CanvasField;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
import org.rhq.enterprise.gui.coregui.client.gwt.ConfigurationGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
@@ -201,7 +202,7 @@ public abstract class AbstractConfigurationHistoryDataSource<T
extends AbstractR
CanvasField updateTypeField = new CanvasField(Field.GROUP_CONFIG_UPDATE_ID, MSG
.dataSource_configurationHistory_updateType()) {
- protected Canvas createCanvas(ListGrid grid, ListGridRecord record) {
+ protected Canvas createCanvas(ListGrid grid, ListGridRecord record, Object
value) {
Integer groupConfigUpdateId =
record.getAttributeAsInt(Field.GROUP_CONFIG_UPDATE_ID);
if (groupConfigUpdateId == null) {
return new
HTMLFlow(MSG.dataSource_configurationHistory_updateType_individual());
@@ -217,17 +218,15 @@ public abstract class AbstractConfigurationHistoryDataSource<T
extends AbstractR
// determine the widths of our columns
if (includeResourceFields) {
- ListGridField resourceNameField = new
ListGridField(AncestryUtil.RESOURCE_NAME, MSG.common_title_resource());
- resourceNameField.setCellFormatter(new CellFormatter() {
- public String format(Object o, ListGridRecord listGridRecord, int i, int
i1) {
+ ViewLinkField resourceNameField = new
ViewLinkField(AncestryUtil.RESOURCE_NAME, MSG.common_title_resource()) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record,
Object value) {
String url = LinkManager
-
.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+
.getResourceLink(record.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
+ return new ViewLink(value.toString(), url);
}
- });
+ };
resourceNameField.setShowHover(true);
resourceNameField.setHoverCustomizer(new HoverCustomizer() {
-
public String hoverHTML(Object value, ListGridRecord listGridRecord, int
rowNum, int colNum) {
return AncestryUtil.getResourceHoverHTML(listGridRecord, 0);
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryView.java
index 72966cf..0d848a7 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryView.java
@@ -23,21 +23,25 @@ import java.util.List;
import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.widgets.Canvas;
-import com.smartgwt.client.widgets.grid.CellFormatter;
+import com.smartgwt.client.widgets.Img;
+import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
+import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.configuration.AbstractResourceConfigurationUpdate;
import org.rhq.core.domain.criteria.AbstractResourceConfigurationUpdateCriteria;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import
org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationComparisonView;
import org.rhq.enterprise.gui.coregui.client.components.table.AbstractTableAction;
+import org.rhq.enterprise.gui.coregui.client.components.table.CanvasField;
import org.rhq.enterprise.gui.coregui.client.components.table.TableActionEnablement;
import org.rhq.enterprise.gui.coregui.client.components.table.TableSection;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* The superclass to the main plugin/resource views that lists all configuration history
items.
@@ -153,18 +157,24 @@ public abstract class AbstractConfigurationHistoryView<T extends
AbstractConfigu
}
@Override
- protected CellFormatter getDetailsLinkColumnCellFormatter() {
- return new CellFormatter() {
- public String format(Object value, ListGridRecord record, int i, int i1) {
- Integer recordId = getId(record);
- String detailsUrl = "#" + getBasePath() + "/" +
recordId;
- String cellHtml = SeleniumUtility.getLocatableHref(detailsUrl,
value.toString(), null);
+ protected CanvasField createDetailsLinkField(ListGridField field) {
+ return new CanvasField(field) {
+ protected Canvas createCanvas(ListGrid grid, ListGridRecord record, Object
value) {
+ VLayout vLayout = createVLayout(grid);
+ HLayout hLayout = new HLayout();
+
String isCurrentConfig = record
.getAttribute(AbstractConfigurationHistoryDataSource.Field.CURRENT_CONFIG);
if (Boolean.parseBoolean(isCurrentConfig)) {
- cellHtml = Canvas.imgHTML(ImageManager.getApproveIcon()) + cellHtml;
+ Img approveIcon = new Img(ImageManager.getApproveIcon());
+ hLayout.addMember(approveIcon);
}
- return cellHtml;
+
+ ViewLink detailsViewLink = createDetailsViewLink(record, value);
+ hLayout.addMember(detailsViewLink);
+
+ vLayout.addMember(hLayout);
+ return vLayout;
}
};
}
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/ResourceMetricGraphView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/ResourceMetricGraphView.java
index d051b92..def6455 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/ResourceMetricGraphView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/ResourceMetricGraphView.java
@@ -34,11 +34,13 @@ import org.rhq.core.domain.resource.ResourceType;
import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMetricGraphView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
import
org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
+import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -99,8 +101,7 @@ public class ResourceMetricGraphView extends AbstractMetricGraphView {
public void onTypesLoaded(Map<Integer, ResourceType>
types) {
String url =
LinkManager.getResourceLink(resource.getId());
- resourceTitle = new
HTMLFlow(SeleniumUtility.getLocatableHref(url, resource.getName(),
- null));
+ resourceTitle = new
ViewLink(StringUtility.escapeHtml(resource.getName()), url);
resourceTitle.setTooltip(AncestryUtil.getAncestryHoverHTMLForResource(resource, types,
0));
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDetailsView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDetailsView.java
index b94f59b..51f2027 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDetailsView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDetailsView.java
@@ -27,7 +27,6 @@ import com.smartgwt.client.widgets.HTMLFlow;
import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.form.fields.CanvasItem;
import com.smartgwt.client.widgets.form.fields.FormItem;
-import com.smartgwt.client.widgets.form.fields.StaticTextItem;
import com.smartgwt.client.widgets.layout.HLayout;
import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
@@ -45,15 +44,14 @@ import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import
org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import
org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.history.AbstractOperationHistoryDetailsView;
+import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Ian Springer
*/
public class ResourceOperationHistoryDetailsView extends
AbstractOperationHistoryDetailsView<ResourceOperationHistory> {
- private String disambiguatedResourceName;
private boolean showResourceField;
private ResourceComposite resourceComposite;
@@ -77,9 +75,11 @@ public class ResourceOperationHistoryDetailsView extends
AbstractOperationHistor
List<FormItem> items = super.createFields(operationHistory);
if (this.showResourceField) {
- StaticTextItem resourceItem = new
StaticTextItem(ResourceOperationHistoryDataSource.Field.RESOURCE,
- "Resource");
- resourceItem.setValue(this.disambiguatedResourceName);
+ CanvasItem resourceItem = new
CanvasItem(ResourceOperationHistoryDataSource.Field.RESOURCE, "Resource");
+ Resource resource = resourceComposite.getResource();
+ String url = LinkManager.getResourceLink(resource.getId());
+ ViewLink viewLink = new
ViewLink(StringUtility.escapeHtml(resource.getName()), url);
+ resourceItem.setCanvas(viewLink);
items.add(1, resourceItem);
}
@@ -120,14 +120,6 @@ public class ResourceOperationHistoryDetailsView extends
AbstractOperationHistor
public void onSuccess(PageList<ResourceOperationHistory> result) {
ResourceOperationHistory resourceOperationHistory = result.get(0);
-
- if (showResourceField) {
- Resource resource = resourceOperationHistory.getResource();
- String url = LinkManager.getResourceLink(resource.getId());
- disambiguatedResourceName = SeleniumUtility.getLocatableHref(url,
resource.getName(), String
- .valueOf(resource.getId()));
- }
-
displayDetails(resourceOperationHistory);
}
});
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
index 70fdc4c..0eff890 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java
@@ -155,9 +155,8 @@ public class MenuBarView extends LocatableVLayout {
viewLinkContainer.setAlign(VerticalAlignment.CENTER);
ViewLink viewLink = new ViewLink(extendLocatorId(sectionName.getName()),
sectionName.getTitle(),
sectionName.getName());
- viewLink.setStyleName(null);
- viewLink.setMouseOutStyleName(null);
- viewLink.setMouseOverStyleName(null);
+ viewLink.setMouseOutStyleName("menuBarLink");
+ viewLink.setMouseOverStyleName("menuBarLinkHover");
this.sectionNameToViewLinkMap.put(sectionName.getName(),
viewLinkContainer);
viewLinkContainer.addMember(viewLink);
updateViewLinkStyle(sectionName.getName());
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 93a59a8..c910b32 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
@@ -16,7 +16,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-
package org.rhq.enterprise.gui.coregui.client.operation;
import java.util.ArrayList;
@@ -32,11 +31,13 @@ import com.smartgwt.client.rpc.RPCResponse;
import com.smartgwt.client.types.Alignment;
import com.smartgwt.client.types.Overflow;
import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.HTMLFlow;
import com.smartgwt.client.widgets.Window;
import com.smartgwt.client.widgets.events.CloseClickHandler;
import com.smartgwt.client.widgets.events.CloseClientEvent;
import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.HoverCustomizer;
+import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
@@ -54,7 +55,10 @@ import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
+import org.rhq.enterprise.gui.coregui.client.components.table.CanvasField;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.OperationGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
@@ -63,7 +67,6 @@ import
org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTyp
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableHTMLPane;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableWindow;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Jay Shaughnessy
@@ -123,14 +126,13 @@ public class OperationHistoryDataSource extends
fields.add(statusField);
if (this.entityContext.type != EntityContext.Type.Resource) {
- ListGridField resourceNameField = new
ListGridField(AncestryUtil.RESOURCE_NAME, MSG.common_title_resource());
- resourceNameField.setCellFormatter(new CellFormatter() {
- public String format(Object o, ListGridRecord listGridRecord, int i, int
i1) {
+ ViewLinkField resourceNameField = new
ViewLinkField(AncestryUtil.RESOURCE_NAME, MSG.common_title_resource()) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record,
Object value) {
String url = LinkManager
-
.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+
.getResourceLink(record.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
+ return new ViewLink(value.toString(), url);
}
- });
+ };
resourceNameField.setShowHover(true);
resourceNameField.setHoverCustomizer(new HoverCustomizer() {
@@ -160,23 +162,22 @@ public class OperationHistoryDataSource extends
}
protected ListGridField createStartedTimeField() {
- ListGridField startedTimeField = new ListGridField(Field.STARTED_TIME, MSG
- .view_operationHistoryDetails_dateSubmitted());
- startedTimeField.setAlign(Alignment.LEFT);
- startedTimeField.setCellAlign(Alignment.LEFT);
- startedTimeField.setCellFormatter(new TimestampCellFormatter() {
- public String format(Object value, ListGridRecord record, int rowNum, int
colNum) {
+ CanvasField startedTimeField = new CanvasField(Field.STARTED_TIME, MSG
+ .view_operationHistoryDetails_dateSubmitted()) {
+ protected Canvas createCanvas(ListGrid grid, ListGridRecord record, Object
value) {
if (value != null) {
- String timestamp = super.format(value, record, rowNum, colNum);
+ String timestamp = TimestampCellFormatter.format(value);
Integer resourceId =
record.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
Integer opHistoryId = record.getAttributeAsInt("id");
String url =
LinkManager.getSubsystemResourceOperationHistoryLink(resourceId, opHistoryId);
- return SeleniumUtility.getLocatableHref(url, timestamp, null);
+ return new ViewLink(timestamp, url);
} else {
- return "<i>" +
MSG.view_operationHistoryList_notYetStarted() + "</i>";
+ return new HTMLFlow("<i>" +
MSG.view_operationHistoryList_notYetStarted() + "</i>");
}
}
- });
+ };
+ startedTimeField.setAlign(Alignment.LEFT);
+ startedTimeField.setCellAlign(Alignment.LEFT);
startedTimeField.setShowHover(true);
startedTimeField.setHoverCustomizer(TimestampCellFormatter.getHoverCustomizer(Field.STARTED_TIME));
@@ -194,18 +195,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();
@@ -276,22 +277,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);
+ }
+ });
}
/**
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 23c6546..f8dcdb4 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
@@ -22,7 +22,7 @@ import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.alert.AlertDefinition;
import org.rhq.core.domain.criteria.AlertDefinitionCriteria;
import org.rhq.core.domain.criteria.ResourceCriteria;
@@ -37,6 +37,7 @@ import org.rhq.enterprise.gui.coregui.client.components.Link;
import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
import org.rhq.enterprise.gui.coregui.client.components.table.CanvasField;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
@@ -127,27 +128,24 @@ public class AlertDefinitionReportView extends
Table<AlertDefinitionReportView.D
if (fieldName.equals(FIELD_CTIME) || fieldName.equals(FIELD_MTIME)) {
field.setHidden(true);
} else if (fieldName.equals(FIELD_NAME)) {
- CanvasField canvasField = new CanvasField(field) {
- protected Canvas createCanvas(ListGrid grid, ListGridRecord
record) {
- HLayout hLayout = createHLayout(grid);
+ ViewLinkField nameField = new ViewLinkField(field) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord
record, Object value) {
AlertDefinition alertDef = copyValues(record);
int resourceId = alertDef.getResource().getId();
int alertDefId = alertDef.getId();
String link =
LinkManager.getSubsystemAlertDefinitionLink(resourceId, alertDefId);
- ViewLink viewLink = new
ViewLink(extendLocatorId("ViewLink"),
- StringUtility.escapeHtml(alertDef.getName()), link);
- hLayout.addMember(viewLink);
- return hLayout;
+ String linkText =
StringUtility.escapeHtml(alertDef.getName());
+ return new ViewLink(linkText, link);
}
};
- fields.set(i, canvasField);
+ fields.set(i, nameField);
}
}
// add more columns
CanvasField parentField = new CanvasField(FIELD_PARENT,
MSG.view_alerts_field_parent(), 100) {
- protected Canvas createCanvas(ListGrid grid, final ListGridRecord record)
{
- HLayout hLayout = createHLayout(grid);
+ protected Canvas createCanvas(ListGrid grid, final ListGridRecord record,
Object value) {
+ VLayout vLayout = createVLayout(grid);
final AlertDefinition alertDef = copyValues(record);
boolean hasParent;
@@ -208,12 +206,12 @@ public class AlertDefinitionReportView extends
Table<AlertDefinitionReportView.D
}
}
});
- hLayout.addMember(link);
+ vLayout.addMember(link);
} else {
- hLayout.addMember(new HTMLFlow(MSG.common_val_na()));
+ vLayout.addMember(new HTMLFlow(MSG.common_val_na()));
}
- return hLayout;
+ return vLayout;
}
};
parentField.setShowHover(true);
@@ -228,15 +226,15 @@ public class AlertDefinitionReportView extends
Table<AlertDefinitionReportView.D
fields.add(parentField);
CanvasField resourceField = new CanvasField(FIELD_RESOURCE,
MSG.common_title_resource()) {
- protected Canvas createCanvas(ListGrid grid, ListGridRecord record) {
- HLayout hLayout = createHLayout(grid);
+ protected Canvas createCanvas(ListGrid grid, ListGridRecord record,
Object value) {
+ VLayout vLayout = createVLayout(grid);
Integer resourceId =
record.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
String url = LinkManager.getResourceLink(resourceId);
String resourceName = record.getAttribute(FIELD_RESOURCE);
ViewLink viewLink = new
ViewLink(extendLocatorId("ViewLink"),
StringUtility.escapeHtml(resourceName), url);
- hLayout.addMember(viewLink);
- return hLayout;
+ vLayout.addMember(viewLink);
+ return vLayout;
}
};
resourceField.setShowHover(true);
@@ -303,10 +301,7 @@ public class AlertDefinitionReportView extends
Table<AlertDefinitionReportView.D
}
/**
- * Additional processing to support a cross-resource view)
- * @param result
- * @param response
- * @param request
+ * Additional processing to support a cross-resource view.
*/
protected void dataRetrieved(final PageList<AlertDefinition> result, final
DSResponse response,
final DSRequest request) {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java
index caf8e8d..d03c62a 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java
@@ -18,7 +18,7 @@ import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.resource.ResourceCategory;
import org.rhq.core.domain.resource.composite.ResourceInstallCount;
import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
@@ -34,7 +34,6 @@ import
org.rhq.enterprise.gui.coregui.client.gwt.ResourceGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSearchView;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
/**
@@ -119,18 +118,18 @@ public class ResourceInstallReport extends LocatableVLayout
implements Bookmarka
@Override
protected void configureTable() {
CanvasField fieldTypeName = new CanvasField(DataSource.Field.TYPENAME,
MSG.common_title_resource_type()) {
- protected Canvas createCanvas(ListGrid grid, ListGridRecord record) {
- HLayout hLayout = createHLayout(grid);
+ protected Canvas createCanvas(ListGrid grid, ListGridRecord record,
Object value) {
+ VLayout vLayout = createVLayout(grid);
String typeName = record.getAttribute(DataSource.Field.TYPENAME);
String url = getResourceTypeTableUrl(record);
if (url != null) {
ViewLink viewLink = new
ViewLink(extendLocatorId("ViewLink"), typeName, url);
- hLayout.addMember(viewLink);
+ vLayout.addMember(viewLink);
} else {
HTMLFlow html = new HTMLFlow(typeName);
- hLayout.addMember(html);
+ vLayout.addMember(html);
}
- return hLayout;
+ return vLayout;
}
};
ListGridField fieldPlugin = new ListGridField(DataSource.Field.TYPEPLUGIN,
MSG.common_title_plugin());
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 d47b4f0..7794e3a 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
@@ -37,6 +37,7 @@ import com.smartgwt.client.data.Record;
import com.smartgwt.client.widgets.HTMLFlow;
import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.HoverCustomizer;
+import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
@@ -47,6 +48,8 @@ import org.rhq.core.domain.util.PageControl;
import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.ViewLink;
+import org.rhq.enterprise.gui.coregui.client.components.table.ViewLinkField;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
import
org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
@@ -76,13 +79,12 @@ public class MeasurementOOBDataSource extends
RPCDataSource<MeasurementOOBCompos
public ArrayList<ListGridField> getListGridFields() {
ArrayList<ListGridField> fields = new ArrayList<ListGridField>();
- ListGridField resourceNameField = new ListGridField(AncestryUtil.RESOURCE_NAME,
MSG.common_title_resource());
- resourceNameField.setCellFormatter(new CellFormatter() {
- public String format(Object o, ListGridRecord listGridRecord, int i, int i1)
{
- String url =
LinkManager.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+ ViewLinkField resourceNameField = new ViewLinkField(AncestryUtil.RESOURCE_NAME,
MSG.common_title_resource()) {
+ protected ViewLink getViewLink(ListGrid grid, ListGridRecord record, Object
value) {
+ String url =
LinkManager.getResourceLink(record.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
+ return new ViewLink(value.toString(), url);
}
- });
+ };
resourceNameField.setShowHover(true);
resourceNameField.setHoverCustomizer(new HoverCustomizer() {
diff --git
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java
index 60291bc..38df4b4 100644
---
a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java
+++
b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java
@@ -75,7 +75,8 @@ public class SeleniumUtility {
}
/**
- * A utility for assigning an ID to a gwt uiobject. For a smartgwt widget use {@link
setId(BaseWidget)}.
+ * A utility for assigning an ID to a gwt uiobject. For a smartgwt widget, use
+ * {@link #setID(com.smartgwt.client.widgets.BaseWidget, String)}.
* Any current ID will be overwritten. The algorithm is:
* <pre>
* If the unsafeId parameter is non-empty, the ID is set to the unsafeId, with
spaces removed.
diff --git a/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css
b/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css
index aebf32b..628c67c 100644
--- a/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css
+++ b/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css
@@ -22,13 +22,19 @@ hr {
width: 100%;
}
-a, a:link, a:visited, a:hover, .viewLink, .viewLinkHover {
- color: #4A5D75 !important;
+a, a:link, a:visited, a:hover, .link, .linkHover, .menuBarLink, .menuBarLinkHover {
font-weight: bold !important;
+}
+
+a, a:link, a:visited, a:hover, .link, .linkHover {
+ color: #4A5D75 !important;
+}
+
+a, a:link, a:visited, .link, .menuBarLink {
text-decoration: none !important;
}
-a:hover, .viewLinkHover {
+a:hover, .linkHover, .menuBarLinkHover {
text-decoration: underline !important;
}