[rhq] Branch 'jshaughn/selenium' - modules/enterprise
by Jay Shaughnessy
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java | 15 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java | 30 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentDetailView.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentTableView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/PartitionEventTableView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerDetailView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerTableView.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDataSource.java | 21 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/GroupAlertHistoryView.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/ResourceAlertHistoryView.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java | 18 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionView.java | 12
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/file/FileListView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTabSet.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTab.java | 41 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java | 22 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTabSet.java | 12
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/AbstractTableSection.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardView.java | 17 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortalLayout.java | 25 --
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/alerts/AbstractRecentAlertsPortlet.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationSchedulePortlet.java | 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/problems/ProblemResourcesPortlet.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceConfigurationUpdatesPortlet.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDataSource.java | 13 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java | 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java | 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftHistoryView.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryListView.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleListView.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDatasource.java | 3
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 | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java | 85 ++----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationMembers.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationMembers.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/ResourceGroupMetricGraphView.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMonitoringTablesView.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsDataSource.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsDetailView.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsView.java | 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupMemberResourceOperationHistoryListView.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleListView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/AncestryUtil.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceCompositeSearchView.java | 14 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceSearchView.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ChildHistoryView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java | 118 +++------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryDataSource.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryListView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceAgentView.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/ResourceMetricGraphView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/avail/ResourceAvailabilityView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MeasurementTableView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDetailsView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/schedule/ResourceOperationScheduleListView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/TimelineView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/operation/OperationHistoryDataSource.java | 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/AlertDefinitionReportView.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/measurement/MeasurementOOBDataSource.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TaggedView.java | 17 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java | 70 -----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTabSet.java | 114 ---------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/SeleniumUtility.java | 125 ----------
77 files changed, 313 insertions(+), 704 deletions(-)
New commits:
commit 5329450d550f9e80ee9c5a81f34934de7e89670e
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Fri Feb 22 14:30:16 2013 -0500
The witch is dead! No more Locatable* classes. Still a ways from getting home, though...
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
index 7b8f111..be3e2f6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
@@ -64,7 +64,6 @@ import org.rhq.enterprise.gui.coregui.client.util.ErrorHandler;
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.MessageCenter;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* The GWT {@link EntryPoint entry point} to the RHQ GUI.
@@ -131,11 +130,6 @@ public class CoreGUI implements EntryPoint, ValueChangeHandler<String>, Event.Na
return; // suppress loading this module if not using the new GWT app
}
- String enableLocators = Location.getParameter("enableLocators");
- if ((null != enableLocators) && Boolean.parseBoolean(enableLocators)) {
- SeleniumUtility.setUseDefaultIds(false);
- }
-
rpcTimeout = -1;
String rpcTimeoutParam = Location.getParameter("rpcTimeout");
if (rpcTimeoutParam != null) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java
index b3420f1..5513872 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java
@@ -249,8 +249,7 @@ public class LinkManager {
}
return link;
}
-
-
+
public static String getSubsystemGroupOperationScheduleLink(int groupId, int opScheduleId) {
return "#ResourceGroup/" + groupId + "/Operations/Schedules/" + opScheduleId;
}
@@ -565,4 +564,16 @@ public class LinkManager {
return "#Help";
}
+ /**
+ * Return an href element for links
+ *
+ * @param url the target url
+ * @param value the display value for the link
+ * @return
+ */
+ static public String getHref(String url, String value) {
+ String result = "<a href=\"" + url + "\">" + value + "</a>";
+ return result;
+ }
+
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java
index 77feb73..fd348ba 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java
@@ -32,6 +32,7 @@ import com.smartgwt.client.widgets.form.fields.FormItem;
import com.smartgwt.client.widgets.form.fields.TextItem;
import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.tab.Tab;
+import com.smartgwt.client.widgets.tab.TabSet;
import org.rhq.core.domain.auth.Subject;
import org.rhq.core.domain.authz.Permission;
@@ -51,8 +52,6 @@ import org.rhq.enterprise.gui.coregui.client.components.selector.AssignedItemsCh
import org.rhq.enterprise.gui.coregui.client.components.selector.AssignedItemsChangedHandler;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.selection.ResourceGroupSelector;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
@@ -64,16 +63,16 @@ public class RoleEditView extends AbstractRecordEditor<RolesDataSource> implemen
private static final String HEADER_ICON = "global/Role_24.png";
- private LocatableTab permissionsTab;
+ private Tab permissionsTab;
private PermissionsEditor permissionsEditor;
- private LocatableTab resourceGroupsTab;
+ private Tab resourceGroupsTab;
private ResourceGroupSelector resourceGroupSelector;
- private LocatableTab subjectsTab;
+ private Tab subjectsTab;
private RoleSubjectSelector subjectSelector;
- private LocatableTab ldapGroupsTab;
+ private Tab ldapGroupsTab;
private RoleLdapGroupSelector ldapGroupSelector;
private boolean hasManageSecurityPermission;
@@ -150,7 +149,7 @@ public class RoleEditView extends AbstractRecordEditor<RolesDataSource> implemen
contentPane.addMember(topPane);
- LocatableTabSet tabSet = new LocatableTabSet();
+ TabSet tabSet = new TabSet();
tabSet.setWidth100();
tabSet.setHeight100();
@@ -176,30 +175,29 @@ public class RoleEditView extends AbstractRecordEditor<RolesDataSource> implemen
return contentPane;
}
- private LocatableTab buildPermissionsTab(LocatableTabSet tabSet) {
- LocatableTab tab = new LocatableTab(MSG.common_title_permissions(), "global/Locked_16.png");
+ private Tab buildPermissionsTab(TabSet tabSet) {
+ Tab tab = new Tab(MSG.common_title_permissions(), "global/Locked_16.png");
// NOTE: We will set the tab content to the permissions editor later once the Role has been fetched.
return tab;
}
- private LocatableTab buildResourceGroupsTab(LocatableTabSet tabSet) {
- LocatableTab tab = new LocatableTab(MSG.common_title_resourceGroups(),
- ImageManager.getGroupIcon(GroupCategory.MIXED));
+ private Tab buildResourceGroupsTab(TabSet tabSet) {
+ Tab tab = new Tab(MSG.common_title_resourceGroups(), ImageManager.getGroupIcon(GroupCategory.MIXED));
// NOTE: We will set the tab content to the resource group selector later once the Role has been fetched.
return tab;
}
- private LocatableTab buildSubjectsTab(LocatableTabSet tabSet) {
- LocatableTab tab = new LocatableTab(MSG.common_title_users(), "global/User_16.png");
+ private Tab buildSubjectsTab(TabSet tabSet) {
+ Tab tab = new Tab(MSG.common_title_users(), "global/User_16.png");
// NOTE: We will set the tab content to the subject selector later once the Role has been fetched.
return tab;
}
- private LocatableTab buildLdapGroupsTab(LocatableTabSet tabSet) {
- LocatableTab tab = new LocatableTab(MSG.common_title_ldapGroups(), "global/Role_16.png");
+ private Tab buildLdapGroupsTab(TabSet tabSet) {
+ Tab tab = new Tab(MSG.common_title_ldapGroups(), "global/Role_16.png");
// NOTE: We will set the tab content to the LDAP group selector later once the Role has been fetched.
return tab;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentDetailView.java
index 927afb3..0fc2d7b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentDetailView.java
@@ -43,11 +43,11 @@ import org.rhq.core.domain.criteria.AgentCriteria;
import org.rhq.core.domain.resource.Agent;
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.table.TimestampCellFormatter;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* Shows details of an agent.
@@ -197,7 +197,7 @@ public class AgentDetailView extends EnhancedVLayout {
if (ag != null && ag.getName() != null && !ag.getName().isEmpty()) {
String detailsUrl = "#" + AffinityGroupTableView.VIEW_PATH + "/" + ag.getId();
String formattedValue = StringUtility.escapeHtml(ag.getName());
- affinityGroupItemText = SeleniumUtility.getLocatableHref(detailsUrl, formattedValue, null);
+ affinityGroupItemText = LinkManager.getHref(detailsUrl, formattedValue);
}
affinityGroupItem.setValue(affinityGroupItemText);
@@ -208,7 +208,7 @@ public class AgentDetailView extends EnhancedVLayout {
} else {
String detailsUrl = "#" + ServerTableView.VIEW_PATH + "/" + agent.getServer().getId();
String formattedValue = StringUtility.escapeHtml(agent.getServer().getName());
- serverValue = SeleniumUtility.getLocatableHref(detailsUrl, formattedValue, null);
+ serverValue = LinkManager.getHref(detailsUrl, formattedValue);
}
currentServerItem.setValue(serverValue);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentTableView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentTableView.java
index 8534a9a..8376594 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentTableView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentTableView.java
@@ -34,6 +34,7 @@ import com.smartgwt.client.widgets.grid.ListGridRecord;
import org.rhq.core.domain.authz.Permission;
import org.rhq.enterprise.gui.coregui.client.IconEnum;
+import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.admin.AdministrationView;
import org.rhq.enterprise.gui.coregui.client.components.table.AuthorizedTableAction;
import org.rhq.enterprise.gui.coregui.client.components.table.TableActionEnablement;
@@ -41,7 +42,6 @@ import org.rhq.enterprise.gui.coregui.client.components.table.TableSection;
import org.rhq.enterprise.gui.coregui.client.components.view.HasViewName;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* Shows the table of all agents.
@@ -86,7 +86,7 @@ public class AgentTableView extends TableSection<AgentDatasource> implements Has
}
String detailsUrl = "#" + VIEW_PATH + "/" + getId(record);
String formattedValue = StringUtility.escapeHtml(value.toString());
- return SeleniumUtility.getLocatableHref(detailsUrl, formattedValue, null);
+ return LinkManager.getHref(detailsUrl, formattedValue);
}
});
@@ -101,7 +101,7 @@ public class AgentTableView extends TableSection<AgentDatasource> implements Has
String detailsUrl = "#" + ServerTableView.VIEW_PATH + "/"
+ record.getAttributeAsString(FIELD_SERVER_ID.propertyName());
String formattedValue = StringUtility.escapeHtml(value.toString());
- return SeleniumUtility.getLocatableHref(detailsUrl, formattedValue, null);
+ return LinkManager.getHref(detailsUrl, formattedValue);
}
});
} else if (field.getName() == FIELD_AFFINITY_GROUP.propertyName()) {
@@ -115,7 +115,7 @@ public class AgentTableView extends TableSection<AgentDatasource> implements Has
String detailsUrl = "#" + AffinityGroupTableView.VIEW_PATH + "/"
+ record.getAttributeAsString(FIELD_AFFINITY_GROUP_ID.propertyName());
String formattedValue = StringUtility.escapeHtml(value.toString());
- return SeleniumUtility.getLocatableHref(detailsUrl, formattedValue, null);
+ return LinkManager.getHref(detailsUrl, formattedValue);
}
});
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/PartitionEventTableView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/PartitionEventTableView.java
index ef6d96c..98c4435 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/PartitionEventTableView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/PartitionEventTableView.java
@@ -40,6 +40,7 @@ import org.rhq.core.domain.cloud.PartitionEventType;
import org.rhq.core.domain.criteria.PartitionEventCriteria;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.IconEnum;
+import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.admin.AdministrationView;
import org.rhq.enterprise.gui.coregui.client.components.form.EnumSelectItem;
import org.rhq.enterprise.gui.coregui.client.components.table.AuthorizedTableAction;
@@ -50,7 +51,6 @@ 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.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* Shows the table of all partition events.
@@ -127,7 +127,7 @@ public class PartitionEventTableView extends TableSection<PartitionEventDatasour
}
String detailsUrl = "#" + VIEW_PATH + "/" + getId(record);
String formattedValue = StringUtility.escapeHtml(value.toString());
- return SeleniumUtility.getLocatableHref(detailsUrl, formattedValue, null);
+ return LinkManager.getHref(detailsUrl, formattedValue);
}
});
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerDetailView.java
index a27943a..7847215 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerDetailView.java
@@ -50,6 +50,7 @@ import org.rhq.core.domain.criteria.ServerCriteria;
import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.ViewPath;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
@@ -58,7 +59,6 @@ import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* Shows details of a server.
@@ -205,7 +205,7 @@ public class ServerDetailView extends EnhancedVLayout implements BookmarkableVie
if (ag != null && ag.getName() != null && !ag.getName().isEmpty()) {
String detailsUrl = "#" + AffinityGroupTableView.VIEW_PATH + "/" + ag.getId();
String formattedValue = StringUtility.escapeHtml(ag.getName());
- affinityGroupItemText = SeleniumUtility.getLocatableHref(detailsUrl, formattedValue, null);
+ affinityGroupItemText = LinkManager.getHref(detailsUrl, formattedValue);
}
affinityGroupItem.setValue(affinityGroupItemText);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerTableView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerTableView.java
index 09738a6..cdce529 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerTableView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerTableView.java
@@ -42,6 +42,7 @@ import org.rhq.core.domain.cloud.Server.OperationMode;
import org.rhq.core.domain.criteria.BaseCriteria;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.IconEnum;
+import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.admin.AdministrationView;
import org.rhq.enterprise.gui.coregui.client.components.table.AuthorizedTableAction;
import org.rhq.enterprise.gui.coregui.client.components.table.TableActionEnablement;
@@ -51,7 +52,6 @@ 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.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* Shows the table of all servers.
@@ -121,7 +121,7 @@ public class ServerTableView extends
}
String detailsUrl = "#" + VIEW_PATH + "/" + getId(record);
String formattedValue = StringUtility.escapeHtml(value.toString());
- return SeleniumUtility.getLocatableHref(detailsUrl, formattedValue, null);
+ return LinkManager.getHref(detailsUrl, formattedValue);
}
});
@@ -136,7 +136,7 @@ public class ServerTableView extends
String detailsUrl = "#" + AffinityGroupTableView.VIEW_PATH + "/"
+ record.getAttributeAsString(FIELD_AFFINITY_GROUP_ID.propertyName());
String formattedValue = StringUtility.escapeHtml(value.toString());
- return SeleniumUtility.getLocatableHref(detailsUrl, formattedValue, null);
+ return LinkManager.getHref(detailsUrl, formattedValue);
}
});
}
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 6141345..dddeb3e 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
@@ -18,6 +18,13 @@
*/
package org.rhq.enterprise.gui.coregui.client.alert;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.core.DataClass;
@@ -35,7 +42,12 @@ import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.HoverCustomizer;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
-import org.rhq.core.domain.alert.*;
+
+import org.rhq.core.domain.alert.Alert;
+import org.rhq.core.domain.alert.AlertCondition;
+import org.rhq.core.domain.alert.AlertConditionLog;
+import org.rhq.core.domain.alert.AlertDefinition;
+import org.rhq.core.domain.alert.AlertPriority;
import org.rhq.core.domain.alert.notification.AlertNotificationLog;
import org.rhq.core.domain.common.EntityContext;
import org.rhq.core.domain.criteria.AlertCriteria;
@@ -55,9 +67,6 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTyp
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementConverterClient;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
-
-import java.util.*;
/**
* @author Ian Springer
@@ -121,7 +130,7 @@ public class AlertDataSource extends RPCDataSource<Alert, AlertCriteria> {
Integer resourceId = listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
Integer defId = listGridRecord.getAttributeAsInt("definitionId");
String url = LinkManager.getSubsystemAlertDefinitionLink(resourceId, defId);
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+ return LinkManager.getHref(url, o.toString());
}
});
fields.add(nameField);
@@ -190,7 +199,7 @@ public class AlertDataSource extends RPCDataSource<Alert, AlertCriteria> {
resourceNameField.setCellFormatter(new CellFormatter() {
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
String url = LinkManager.getResourceLink(record.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, value.toString(), null);
+ return LinkManager.getHref(url, value.toString());
}
});
resourceNameField.setShowHover(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/GroupAlertHistoryView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/GroupAlertHistoryView.java
index 350eaee..0cd69ba 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/GroupAlertHistoryView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/GroupAlertHistoryView.java
@@ -26,14 +26,14 @@ import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
* @author Joseph Marques
*/
public class GroupAlertHistoryView extends AlertHistoryView {
- public static GroupAlertHistoryView get(String locatorId, ResourceGroupComposite composite) {
+ public static GroupAlertHistoryView get(ResourceGroupComposite composite) {
String tableTitle = MSG.view_alerts_table_title_group();
EntityContext context = EntityContext.forGroup(composite.getResourceGroup().getId());
boolean hasWriteAccess = composite.getResourcePermission().isAlert();
- return new GroupAlertHistoryView(locatorId, tableTitle, context, hasWriteAccess);
+ return new GroupAlertHistoryView(tableTitle, context, hasWriteAccess);
}
- private GroupAlertHistoryView(String locatorId, String tableTitle, EntityContext context, boolean hasWriteAccess) {
+ private GroupAlertHistoryView(String tableTitle, EntityContext context, boolean hasWriteAccess) {
super(tableTitle, context, hasWriteAccess);
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/ResourceAlertHistoryView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/ResourceAlertHistoryView.java
index 2a8ad59..f52b4de 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/ResourceAlertHistoryView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/ResourceAlertHistoryView.java
@@ -26,14 +26,15 @@ import org.rhq.core.domain.resource.composite.ResourceComposite;
* @author Jay Shaughnessy
*/
public class ResourceAlertHistoryView extends AlertHistoryView {
- public static ResourceAlertHistoryView get(String locatorId, ResourceComposite composite) {
+ public static ResourceAlertHistoryView get(ResourceComposite composite) {
+
String tableTitle = MSG.view_alerts_table_title_resource();
EntityContext context = EntityContext.forResource(composite.getResource().getId());
boolean hasWriteAccess = composite.getResourcePermission().isAlert();
- return new ResourceAlertHistoryView(locatorId, tableTitle, context, hasWriteAccess);
+ return new ResourceAlertHistoryView(tableTitle, context, hasWriteAccess);
}
- private ResourceAlertHistoryView(String locatorId, String tableTitle, EntityContext context, boolean hasWriteAccess) {
+ private ResourceAlertHistoryView(String tableTitle, EntityContext context, boolean hasWriteAccess) {
super(tableTitle, context, hasWriteAccess);
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java
index 5bff96a..824059c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java
@@ -29,12 +29,11 @@ import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.tab.Tab;
+import com.smartgwt.client.widgets.tab.TabSet;
import com.smartgwt.client.widgets.tab.events.TabDeselectedEvent;
import com.smartgwt.client.widgets.tab.events.TabDeselectedHandler;
import org.rhq.core.domain.alert.AlertDefinition;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
@@ -66,11 +65,10 @@ public class SingleAlertDefinitionView extends EnhancedVLayout {
this.alertDefinition = alertDefinition;
this.isAuthorizedToModifyAlertDefinitions = alertDefView.isAuthorizedToModifyAlertDefinitions();
- final LocatableTabSet tabSet = new LocatableTabSet();
+ final TabSet tabSet = new TabSet();
tabSet.setHeight100();
- final Tab generalPropertiesTab = new LocatableTab(tabSet.extendLocatorId("General"),
- MSG.view_alert_common_tab_general());
+ final Tab generalPropertiesTab = new Tab(MSG.view_alert_common_tab_general());
generalProperties = new GeneralPropertiesAlertDefinitionForm(alertDefinition);
generalPropertiesTab.setPane(generalProperties);
generalPropertiesTab.addTabDeselectedHandler(new TabDeselectedHandler() {
@@ -83,21 +81,19 @@ public class SingleAlertDefinitionView extends EnhancedVLayout {
}
});
- Tab conditionsTab = new LocatableTab(tabSet.extendLocatorId("Conditions"),
- MSG.view_alert_common_tab_conditions());
+ Tab conditionsTab = new Tab(MSG.view_alert_common_tab_conditions());
conditions = new ConditionsAlertDefinitionForm(alertDefView.getResourceType(), alertDefinition);
conditionsTab.setPane(conditions);
- Tab notificationsTab = new LocatableTab(tabSet.extendLocatorId("Notifications"),
- MSG.view_alert_common_tab_notifications());
+ Tab notificationsTab = new Tab(MSG.view_alert_common_tab_notifications());
notifications = new NotificationsAlertDefinitionForm(alertDefinition);
notificationsTab.setPane(notifications);
- Tab recoveryTab = new LocatableTab(tabSet.extendLocatorId("Recovery"), MSG.view_alert_common_tab_recovery());
+ Tab recoveryTab = new Tab(MSG.view_alert_common_tab_recovery());
recovery = new RecoveryAlertDefinitionForm(alertDefView.getAlertDefinitionDataSource(), alertDefinition);
recoveryTab.setPane(recovery);
- Tab dampeningTab = new LocatableTab(tabSet.extendLocatorId("Dampening"), MSG.view_alert_common_tab_dampening());
+ Tab dampeningTab = new Tab(MSG.view_alert_common_tab_dampening());
dampening = new DampeningAlertDefinitionForm(alertDefinition);
dampeningTab.setPane(dampening);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleView.java
index f0d0d92..5752f3e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleView.java
@@ -64,8 +64,6 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
public class BundleView extends EnhancedVLayout implements BookmarkableView {
@@ -99,7 +97,7 @@ public class BundleView extends EnhancedVLayout implements BookmarkableView {
BackButton backButton = new BackButton(MSG.view_bundle_list_backToAll(), BundleTopView.VIEW_ID.getTitle());
headerLabel = new HeaderLabel(IconEnum.BUNDLE.getIcon24x24Path(), StringUtility.escapeHtml(bundle.getName()));
- tabs = new LocatableTabSet();
+ tabs = new TabSet();
versionsTab = createVersionsTab();
destinationsTab = createDestinationsTab();
tabs.addTab(versionsTab);
@@ -147,7 +145,7 @@ public class BundleView extends EnhancedVLayout implements BookmarkableView {
}
private Tab createDestinationsTab() {
- LocatableTab destinationsTab = new LocatableTab(MSG.view_bundle_destinations());
+ Tab destinationsTab = new Tab(MSG.view_bundle_destinations());
Criteria criteria = new Criteria();
criteria.addCriteria("bundleId", bundle.getId());
destinationsTab.setPane(new BundleDestinationListView(criteria));
@@ -155,7 +153,7 @@ public class BundleView extends EnhancedVLayout implements BookmarkableView {
}
private Tab createVersionsTab() {
- LocatableTab versionsTab = new LocatableTab(MSG.view_bundle_versions());
+ Tab versionsTab = new Tab(MSG.view_bundle_versions());
Criteria criteria = new Criteria();
criteria.addCriteria("bundleId", bundleBeingViewed);
bundleVersionsTable = new BundleVersionListView(criteria);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionView.java
index 59ba0f3..e927c81 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionView.java
@@ -60,8 +60,6 @@ import org.rhq.enterprise.gui.coregui.client.gwt.BundleGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
@@ -100,7 +98,7 @@ public class BundleVersionView extends EnhancedVLayout implements BookmarkableVi
addMember(createSummaryForm());
- TabSet tabs = new LocatableTabSet();
+ TabSet tabs = new TabSet();
tabs.addTab(createRecipeTab());
tabs.addTab(createLiveDeploymentsTab());
tabs.addTab(createFilesTab());
@@ -220,7 +218,7 @@ public class BundleVersionView extends EnhancedVLayout implements BookmarkableVi
}
private Tab createRecipeTab() {
- LocatableTab tab = new LocatableTab(MSG.view_bundle_recipe());
+ Tab tab = new Tab(MSG.view_bundle_recipe());
DynamicForm form = new DynamicForm();
TextAreaItem recipeCanvas = new TextAreaItem("recipe", MSG.view_bundle_recipe());
@@ -245,7 +243,7 @@ public class BundleVersionView extends EnhancedVLayout implements BookmarkableVi
}
private Tab createLiveDeploymentsTab() {
- LocatableTab tab = new LocatableTab(MSG.view_bundle_deployments());
+ Tab tab = new Tab(MSG.view_bundle_deployments());
Criteria criteria = new Criteria();
criteria.setAttribute("bundleVersionId", version.getId());
tab.setPane(new BundleDeploymentListView(criteria, this.canManageBundles));
@@ -253,8 +251,8 @@ public class BundleVersionView extends EnhancedVLayout implements BookmarkableVi
}
private Tab createFilesTab() {
- LocatableTab tab = new LocatableTab(MSG.view_bundle_files());
- FileListView filesView = new FileListView(tab.getLocatorId(), version.getId());
+ Tab tab = new Tab(MSG.view_bundle_files());
+ FileListView filesView = new FileListView(version.getId());
tab.setPane(filesView);
return tab;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/file/FileListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/file/FileListView.java
index ea46c19..d374684 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/file/FileListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/file/FileListView.java
@@ -55,7 +55,7 @@ public class FileListView extends EnhancedVLayout {
private int bundleVersionId;
- public FileListView(String locatorId, int bundleVersionId) {
+ public FileListView(int bundleVersionId) {
super();
this.bundleVersionId = bundleVersionId;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java
index d54048e..56fa8f7 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java
@@ -1,17 +1,16 @@
package org.rhq.enterprise.gui.coregui.client.components.tab;
import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.tab.Tab;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab;
/**
- * A Wrapper for org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab allowing for a Tab that separates
- * internal naming and external title.
+ * A Wrapper for {@link Tab} allowing for a Tab that separates internal naming and external title.
*
* @author Jay Shaughnessy
*/
-public class NamedTab extends LocatableTab {
+public class NamedTab extends Tab {
private ViewName viewName;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTabSet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTabSet.java
index c828ca9..173345a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTabSet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTabSet.java
@@ -1,15 +1,14 @@
package org.rhq.enterprise.gui.coregui.client.components.tab;
import com.smartgwt.client.widgets.tab.Tab;
-
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet;
+import com.smartgwt.client.widgets.tab.TabSet;
/**
- * A Wrapper for org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet allowing for a Set of NamedTabs.
+ * A Wrapper for {@link TabSet} allowing for a Set of NamedTabs.
*
* @author Jay Shaughnessy
*/
-public class NamedTabSet extends LocatableTabSet {
+public class NamedTabSet extends TabSet {
public NamedTabSet() {
super();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTab.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTab.java
index e28b80d..4736f90 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTab.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTab.java
@@ -27,37 +27,33 @@ import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
import org.rhq.enterprise.gui.coregui.client.util.selenium.Enhanced;
/**
- * A Locatable SubTab associating a Button with a Canvas.
+ * A SubTab associating a Button with a Canvas. SubTabs for the same parent Tab must have different viewNames.
*
* @author Jay Shaughnessy
*/
public class SubTab implements Enhanced {
- private String locatorId;
+ private NamedTab parent;
private ViewName viewName;
private Canvas canvas;
private ViewFactory viewFactory;
private Button button;
+ private String id;
private SubTab actualNext;
private SubTab visibleNext;
- public SubTab(String locatorId, ViewName viewName, Canvas canvas) {
- this.locatorId = locatorId;
- this.viewName = viewName;
- this.canvas = canvas;
- this.button = null;
+ public SubTab(NamedTab parent, ViewName viewName, Canvas canvas) {
+ this(parent, viewName, canvas, null);
}
- public SubTab(String locatorId, ViewName viewName, Canvas initialCanvas, ViewFactory viewFactory) {
- this.locatorId = locatorId;
+ public SubTab(NamedTab parent, ViewName viewName, Canvas canvas, ViewFactory viewFactory) {
+ this.parent = parent;
this.viewName = viewName;
- this.canvas = initialCanvas;
+ this.canvas = canvas;
this.viewFactory = viewFactory;
this.button = null;
- }
- public String getLocatorId() {
- return locatorId;
+ this.id = parent.getViewName().getName() + "_:_" + viewName.getName();
}
public Canvas getCanvas() {
@@ -87,6 +83,10 @@ public class SubTab implements Enhanced {
this.button = button;
}
+ public NamedTab getParent() {
+ return parent;
+ }
+
public ViewName getViewName() {
return viewName;
}
@@ -100,6 +100,13 @@ public class SubTab implements Enhanced {
}
/**
+ * @return a unique identifier for the SubTab that combines the parent Tab viewName and the SubTab viewName.
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
* This is the successor or tab immediately to the right of this tab when all tabs
* are visible. The tab to which actualNext refers does not change whereas the tab to
* which {@link #getVisibleNext visibleNext} refers can change.
@@ -162,13 +169,9 @@ public class SubTab implements Enhanced {
destroyButton();
}
- public String extendLocatorId(String extension) {
- return this.locatorId + "_" + extension;
- }
-
@Override
public String toString() {
- return "SubTab[title=" + this.viewName.getTitle() + ", name=" + this.viewName.getName() + ", locatorId="
- + this.locatorId + "]";
+ return "SubTab[parent=" + parent.getName() + ", title=" + this.viewName.getTitle() + ", name=" + this.viewName
+ + "]";
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
index 95f786b..98a9503 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
@@ -43,9 +43,9 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
*/
public class SubTabLayout extends EnhancedVLayout {
- /** maps subTab locator IDs to SubTabs. Unlike names, locatorIDs are qualified by the Tab and therefore unique. */
+ /** maps subTab IDs to SubTabs. Unlike names, IDs are qualified by the Tab and therefore unique. */
private Map<String, SubTab> subTabs = new LinkedHashMap<String, SubTab>();
- /** locator IDs of subTabs that are disabled. Unlike names, locator IDs are qualified by the Tab and therefore unique. */
+ /** IDs of subTabs that are disabled. Unlike names, IDs are qualified by the Tab and therefore unique. */
private Set<String> disabledSubTabs = new HashSet<String>();
private SubTab currentlyDisplayed;
@@ -86,7 +86,7 @@ public class SubTabLayout extends EnhancedVLayout {
if (null == currentlySelected) {
SubTab initial = getDefaultSubTab();
if (null != initial) {
- currentlySelected = initial.getLocatorId();
+ currentlySelected = initial.getId();
}
}
if (null != currentlySelected) {
@@ -176,7 +176,7 @@ public class SubTabLayout extends EnhancedVLayout {
button.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
- SubTabLayout.this.currentlySelected = subTab.getLocatorId();
+ SubTabLayout.this.currentlySelected = subTab.getId();
fireSubTabSelection();
markForRedraw();
}
@@ -190,7 +190,7 @@ public class SubTabLayout extends EnhancedVLayout {
*/
public void enableSubTab(SubTab subTab) {
if (isSubTabVisible(subTab)) {
- disabledSubTabs.remove(subTab.getLocatorId());
+ disabledSubTabs.remove(subTab.getId());
subTab.getButton().enable();
subTab.getButton().show();
}
@@ -201,7 +201,7 @@ public class SubTabLayout extends EnhancedVLayout {
*/
public void disableSubTab(SubTab subTab) {
if (isSubTabVisible(subTab)) {
- disabledSubTabs.add(subTab.getLocatorId());
+ disabledSubTabs.add(subTab.getId());
subTab.getButton().disable();
subTab.getButton().show();
}
@@ -216,7 +216,7 @@ public class SubTabLayout extends EnhancedVLayout {
public void registerSubTabs(SubTab... tabs) {
for (SubTab subTab : tabs) {
- String locatorId = subTab.getLocatorId();
+ String locatorId = subTab.getId();
subTabs.put(locatorId, subTab);
}
buildSubTabList(tabs);
@@ -313,7 +313,7 @@ public class SubTabLayout extends EnhancedVLayout {
if (subTab == null) {
throw new IllegalArgumentException("subTab is null.");
}
- return selectSubTabByLocatorId(subTab.getLocatorId(), showCanvas);
+ return selectSubTabByLocatorId(subTab.getId(), showCanvas);
}
/**
@@ -375,12 +375,12 @@ public class SubTabLayout extends EnhancedVLayout {
if (subTab == null) {
return false;
} else {
- if (this.disabledSubTabs.contains(subTab.getLocatorId())) {
+ if (this.disabledSubTabs.contains(subTab.getId())) {
// Nice try - user tried to select a disabled tab, probably by going directly to a bookmark URL.
CoreGUI.getErrorHandler().handleError(MSG.view_subTab_error_disabled(subTab.getTitle()));
return false;
}
- this.currentlySelected = subTab.getLocatorId();
+ this.currentlySelected = subTab.getId();
setCurrentlySelected(showCanvas);
return true;
}
@@ -390,7 +390,7 @@ public class SubTabLayout extends EnhancedVLayout {
if (null == currentlySelected) {
SubTab current = getDefaultSubTab();
if (null != current) {
- currentlySelected = current.getLocatorId();
+ currentlySelected = current.getId();
}
return current;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java
index 813d638..3d4342b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java
@@ -35,7 +35,7 @@ public class TwoLevelTab extends NamedTab {
/**
* Use the more type safe version instead.<br/>
- * <code>TwoLevelTab(String locatorId, ViewName viewName, String icon)</code>
+ * <code>TwoLevelTab(ViewName viewName, String icon)</code>
* @param viewName
* @param icon String representation of Icon not as typesafe as IconEnum.
*/
@@ -76,10 +76,6 @@ public class TwoLevelTab extends NamedTab {
return this.layout.getSubTabByName(name);
}
- public SubTab getSubTabByLocatorId(String locatorId) {
- return this.layout.getSubTabByLocatorId(locatorId);
- }
-
public SubTab getDefaultSubTab() {
return this.layout.getDefaultSubTab();
}
@@ -137,6 +133,6 @@ public class TwoLevelTab extends NamedTab {
@Override
public String toString() {
- return "TwoLevelTab[title=" + getTitle() + ", locatorId=" + getLocatorId() + "]";
+ return "TwoLevelTab[title=" + getTitle() + ", viewName=" + getViewName() + "]";
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTabSet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTabSet.java
index 9cd0ca7..40a553c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTabSet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTabSet.java
@@ -101,7 +101,7 @@ public class TwoLevelTabSet extends NamedTabSet implements TabSelectedHandler, T
// the Tab structure in place while removing it from the TabSet
public void setTabHidden(TwoLevelTab tab, boolean hidden) {
if (hidden) {
- if (hiddenTabs.containsKey(tab.getLocatorId())) {
+ if (hiddenTabs.containsKey(tab.getName())) {
return;
}
@@ -127,13 +127,13 @@ public class TwoLevelTabSet extends NamedTabSet implements TabSelectedHandler, T
// Note that removing the tab does *not* destroy its content pane
// since we set the destroyPanes property to false in the
removeTab(tab);
- hiddenTabs.put(tab.getLocatorId(), tab);
+ hiddenTabs.put(tab.getName(), tab);
} else {
- if (!hiddenTabs.containsKey(tab.getLocatorId())) {
+ if (!hiddenTabs.containsKey(tab.getName())) {
return;
}
- hiddenTabs.remove(tab.getLocatorId());
+ hiddenTabs.remove(tab.getName());
TwoLevelTab successor = findClosestVisibleSuccessor(tab);
if (successor == null) {
// if successor is null then that means we are updating the tail
@@ -261,10 +261,6 @@ public class TwoLevelTabSet extends NamedTabSet implements TabSelectedHandler, T
return (TwoLevelTab) super.getTabByTitle(title);
}
- public TwoLevelTab getTabByLocatorId(String locatorId) {
- return (TwoLevelTab) super.getTabByLocatorId(locatorId);
- }
-
public void setTabEnabled(TwoLevelTab tab, boolean enabled) {
if (enabled) {
enableTab(tab);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/AbstractTableSection.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/AbstractTableSection.java
index 4a49067..f3244e7 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/AbstractTableSection.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/AbstractTableSection.java
@@ -40,6 +40,7 @@ import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.DetailsView;
import org.rhq.enterprise.gui.coregui.client.InitializableView;
+import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.ViewPath;
import org.rhq.enterprise.gui.coregui.client.components.buttons.BackButton;
import org.rhq.enterprise.gui.coregui.client.util.Log;
@@ -203,7 +204,7 @@ public abstract class AbstractTableSection<DS extends RPCDataSource, ID> extends
String detailsUrl = "#" + getBasePath() + "/" + convertIDToCurrentViewPath(recordId);
String formattedValue = (escapeHtmlInDetailsLinkColumn) ? StringUtility.escapeHtml(value.toString())
: value.toString();
- return SeleniumUtility.getLocatableHref(detailsUrl, formattedValue, null);
+ return LinkManager.getHref(detailsUrl, formattedValue);
}
};
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardView.java
index e96a08a..e7c811b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardView.java
@@ -77,7 +77,6 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.resource.Resourc
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Jay Shaughnessy
@@ -603,21 +602,7 @@ public class DashboardView extends EnhancedVLayout {
storedDashboard.removePortlet(portletWindow.getStoredPortlet());
this.portletWindows.remove(portletWindow);
- // portlet remove means the portlet locations may have changed. The selenium testing locators include
- // positioning info. So, in this case we have to take the hit and completely refresh the dash.
- AsyncCallback<Dashboard> callback = SeleniumUtility.getUseDefaultIds() ? null : new AsyncCallback<Dashboard>() {
-
- @Override
- public void onFailure(Throwable caught) {
- rebuild();
- }
-
- @Override
- public void onSuccess(Dashboard result) {
- rebuild();
- }
- };
- save(callback);
+ save();
}
public void save(Dashboard dashboard) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortalLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortalLayout.java
index 6b7abb6..a471f45 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortalLayout.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortalLayout.java
@@ -38,7 +38,6 @@ import org.rhq.core.domain.dashboard.Dashboard;
import org.rhq.core.domain.dashboard.DashboardPortlet;
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Greg Hinkle
@@ -110,29 +109,7 @@ public class PortalLayout extends EnhancedHLayout {
colNum++;
}
- // drop means the portlet location has changed. The selenium testing locators include positioning
- // info. So, in this case we have to take the hit and completely rebuild the dash.
- AsyncCallback<Dashboard> callback = SeleniumUtility.getUseDefaultIds() ? null
- : new AsyncCallback<Dashboard>() {
-
- @Override
- public void onFailure(Throwable caught) {
- rebuild();
- }
-
- @Override
- public void onSuccess(Dashboard result) {
- // for some reason the drag drop operation is leaving the target widget (the
- // portlet window) in the DOM, detached from its original parent (the PortalLayout),
- // and therefore not destroyed in the redraw(). So, kill it off manually to
- // avoid ID conflicts if the portlet is again dragged back its original position.
- target.removeFromParent();
- target.destroy();
-
- rebuild();
- }
- };
- save(callback);
+ save();
Log.info("Rearranged column indexes");
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/alerts/AbstractRecentAlertsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/alerts/AbstractRecentAlertsPortlet.java
index 44f7e79..b5a7383 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/alerts/AbstractRecentAlertsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/alerts/AbstractRecentAlertsPortlet.java
@@ -46,7 +46,6 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigura
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigurationEditorComponent.Constant;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* A base class for deriving recent alerts portlets for different entity contexts. In this way the
@@ -90,7 +89,7 @@ public abstract class AbstractRecentAlertsPortlet extends AlertHistoryView imple
public String format(Object value, ListGridRecord record, int i, int i1) {
String url = getAlertDetailLink(record);
String formattedValue = TimestampCellFormatter.format(value);
- return SeleniumUtility.getLocatableHref(url, formattedValue, null);
+ return LinkManager.getHref(url, formattedValue);
}
};
}
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 1890b5a..6df76c6 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
@@ -56,7 +56,6 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
import org.rhq.enterprise.gui.coregui.client.operation.ScheduledOperationsDataSource;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* A view that displays a live table of completed Operations and scheduled operations.
@@ -131,7 +130,7 @@ public class OperationSchedulePortlet extends EnhancedVLayout implements CustomS
} else {
url = LinkManager.getSubsystemResourceOperationScheduleLink(id, opScheduleId);
}
- return SeleniumUtility.getLocatableHref(url, timestamp, null);
+ return LinkManager.getHref(url, timestamp);
} else {
return "<i>" + MSG.common_label_none() + "</i>";
}
@@ -157,7 +156,7 @@ public class OperationSchedulePortlet extends EnhancedVLayout implements CustomS
} else {
url = LinkManager.getResourceLink(id);
}
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceNext.setShowHover(true);
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 bcf2370..4738366 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
@@ -62,7 +62,6 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
import org.rhq.enterprise.gui.coregui.client.resource.ProblemResourcesDataSource;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* A view that displays a paginated table of Resources with alerts,
@@ -126,7 +125,7 @@ public class ProblemResourcesPortlet extends Table<ProblemResourcesDataSource> i
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);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceField.setShowHover(true);
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 dfb4a0b..4bad15f 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
@@ -40,6 +40,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.LinkManager;
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;
@@ -50,7 +51,6 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.configura
import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.configuration.ResourceConfigurationHistoryListView;
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**This portlet allows the end user to customize the Package History display
*
@@ -166,7 +166,7 @@ public class ResourceConfigurationUpdatesPortlet extends GroupConfigurationUpdat
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);
+ return LinkManager.getHref(detailsUrl, value.toString());
}
};
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDataSource.java
index b603ec5..e2d9742 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDataSource.java
@@ -18,6 +18,13 @@
*/
package org.rhq.enterprise.gui.coregui.client.drift;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.DSRequest;
import com.smartgwt.client.data.DSResponse;
@@ -29,6 +36,7 @@ import com.smartgwt.client.widgets.grid.CellFormatter;
import com.smartgwt.client.widgets.grid.HoverCustomizer;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;
+
import org.rhq.core.domain.common.EntityContext;
import org.rhq.core.domain.criteria.GenericDriftCriteria;
import org.rhq.core.domain.drift.Drift;
@@ -49,9 +57,6 @@ 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.inventory.resource.type.ResourceTypeRepository.TypesLoadedCallback;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
-
-import java.util.*;
/**
* @author Jay Shaughnessy
@@ -143,7 +148,7 @@ public class DriftDataSource extends RPCDataSource<DriftComposite, GenericDriftC
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);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceNameField.setShowHover(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
index 6ba4f78..a82850c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
@@ -59,7 +59,6 @@ import org.rhq.enterprise.gui.coregui.client.gwt.DriftGWTServiceAsync;
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.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Jay Shaughnessy
@@ -207,7 +206,7 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
int typeId = def.getResource().getResourceType().getId();
int templateId = def.getTemplate().getId();
String link = LinkManager.getDriftTemplateLink(typeId, templateId);
- return SeleniumUtility.getLocatableHref(link, o.toString(), null);
+ return LinkManager.getHref(link, o.toString());
} else {
return o.toString();
@@ -250,7 +249,7 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
Integer resourceId = listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
String url = LinkManager.getResourceLink(resourceId);
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceNameField.setShowHover(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java
index 460371d..7c77f5c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java
@@ -63,7 +63,6 @@ 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.util.RPCDataSource;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* A list view that displays a paginated table of {@link org.rhq.core.domain.drift.DriftDefinitionTemplate}s. It
@@ -340,7 +339,7 @@ public class DriftDefinitionTemplatesView extends TableSection<DriftDefinitionTe
Integer resourceId = listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
Integer driftDefId = listGridRecord.getAttributeAsInt("id");
String url = LinkManager.getDriftDefinitionCarouselLink(resourceId, driftDefId);
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+ return LinkManager.getHref(url, o.toString());
}
});
fields.add(nameField);
@@ -387,7 +386,7 @@ public class DriftDefinitionTemplatesView extends TableSection<DriftDefinitionTe
public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
Integer resourceId = listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID);
String url = LinkManager.getResourceLink(resourceId);
- return SeleniumUtility.getLocatableHref(url, o.toString(), null);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceNameField.setShowHover(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftHistoryView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftHistoryView.java
index 798caf6..19c9316 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftHistoryView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftHistoryView.java
@@ -43,7 +43,6 @@ import org.rhq.enterprise.gui.coregui.client.components.table.StringIDTableSecti
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* A view that displays a paginated table of {@link org.rhq.core.domain.drift.JPADrift}s, along with the
@@ -174,7 +173,7 @@ public class DriftHistoryView extends StringIDTableSection<DriftDataSource> {
String driftId = getId(record);
String url = LinkManager.getDriftCarouselDriftLink(resourceId, driftDefId, driftId);
String formattedValue = TimestampCellFormatter.format(value);
- return SeleniumUtility.getLocatableHref(url, formattedValue, null);
+ return LinkManager.getHref(url, formattedValue);
}
};
}
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 5db648e..dfba2cb 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
@@ -57,7 +57,6 @@ import org.rhq.enterprise.gui.coregui.client.operation.OperationHistoryDataSourc
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.Message.Option;
import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Greg Hinkle
@@ -301,7 +300,7 @@ public abstract class AbstractOperationHistoryListView<T extends AbstractOperati
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);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceField.setShowHover(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleListView.java
index 01ae8ca..2aea953 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleListView.java
@@ -32,8 +32,7 @@ import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellForma
*/
public abstract class AbstractOperationScheduleListView extends TableSection<AbstractOperationScheduleDataSource> {
- public AbstractOperationScheduleListView(String locatorId, AbstractOperationScheduleDataSource dataSource,
- String title) {
+ public AbstractOperationScheduleListView(AbstractOperationScheduleDataSource dataSource, String title) {
super(title);
setDataSource(dataSource);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDatasource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDatasource.java
index 9be8b30..fc64667 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDatasource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDatasource.java
@@ -59,7 +59,6 @@ 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.inventory.resource.type.ResourceTypeRepository.TypesLoadedCallback;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Joseph Marques
@@ -167,7 +166,7 @@ public class EventCompositeDatasource extends RPCDataSource<EventComposite, Even
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);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceNameField.setShowHover(true);
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 ac7a6b9..1990805 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
@@ -43,6 +43,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.LinkManager;
import org.rhq.enterprise.gui.coregui.client.components.form.DateTimeFilterItem;
import org.rhq.enterprise.gui.coregui.client.components.form.EnumSelectItem;
import org.rhq.enterprise.gui.coregui.client.components.table.AbstractTableAction;
@@ -52,7 +53,6 @@ import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellForma
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
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;
/**
* @author Joseph Marques
@@ -78,21 +78,21 @@ public class EventCompositeHistoryView extends TableSection<EventCompositeDataso
INITIAL_CRITERIA.addCriteria(EventCompositeDatasource.FILTER_SEVERITIES, severityNames);
}
- public static EventCompositeHistoryView get(String locatorId, ResourceGroupComposite composite) {
+ public static EventCompositeHistoryView get(ResourceGroupComposite composite) {
String tableTitle = MSG.view_inventory_eventHistory_groupEventHistory();
EntityContext context = EntityContext.forGroup(composite.getResourceGroup().getId());
boolean hasWriteAccess = composite.getResourcePermission().isEvent();
- return new EventCompositeHistoryView(locatorId, tableTitle, context, hasWriteAccess);
+ return new EventCompositeHistoryView(tableTitle, context, hasWriteAccess);
}
- public static EventCompositeHistoryView get(String locatorId, ResourceComposite composite) {
+ public static EventCompositeHistoryView get(ResourceComposite composite) {
String tableTitle = MSG.view_inventory_eventHistory_resourceEventHistory();
EntityContext context = EntityContext.forResource(composite.getResource().getId());
boolean hasWriteAccess = composite.getResourcePermission().isEvent();
- return new EventCompositeHistoryView(locatorId, tableTitle, context, hasWriteAccess);
+ return new EventCompositeHistoryView(tableTitle, context, hasWriteAccess);
}
- private EventCompositeHistoryView(String locatorId, String tableTitle, EntityContext context, boolean hasWriteAccess) {
+ private EventCompositeHistoryView(String tableTitle, EntityContext context, boolean hasWriteAccess) {
super(tableTitle, INITIAL_CRITERIA, new SortSpecifier[] { DEFAULT_SORT_SPECIFIER });
this.context = context;
this.hasWriteAccess = hasWriteAccess;
@@ -156,7 +156,7 @@ public class EventCompositeHistoryView extends TableSection<EventCompositeDataso
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);
+ return LinkManager.getHref(detailsUrl, TimestampCellFormatter.format(value));
}
};
}
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 36b8094..846f8e9 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
@@ -59,7 +59,6 @@ import org.rhq.enterprise.gui.coregui.client.inventory.groups.wizard.GroupCreate
import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.inventory.ResourceResourceGroupsView;
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;
/**
* @author Greg Hinkle
@@ -150,7 +149,7 @@ public class ResourceGroupListView extends Table<ResourceGroupCompositeDataSourc
public String format(Object value, ListGridRecord record, int i, int i1) {
String groupId = record.getAttribute("id");
String groupUrl = LinkManager.getResourceGroupLink(Integer.valueOf(groupId));
- return SeleniumUtility.getLocatableHref(groupUrl, value.toString(), null);
+ return LinkManager.getHref(groupUrl, value.toString());
}
});
@@ -271,8 +270,7 @@ public class ResourceGroupListView extends Table<ResourceGroupCompositeDataSourc
// -------- Static Utility loaders ------------
- public static ResourceGroupListView getGroupsOf(String locatorId, int explicitResourceId,
- boolean canModifyMembership) {
+ public static ResourceGroupListView getGroupsOf(int explicitResourceId, boolean canModifyMembership) {
ResourceGroupListView view = new ResourceGroupListView(new Criteria("explicitResourceId",
String.valueOf(explicitResourceId)), MSG.common_title_resourceGroups());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
index 6ccbc9d..468b8e9 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
@@ -166,77 +166,64 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
summaryTab = new TwoLevelTab(new ViewName("Summary", MSG.common_title_summary()), ImageManager.getResourceIcon(
ResourceCategory.SERVICE, AvailabilityType.UP));
- summaryActivity = new SubTab(summaryTab.extendLocatorId("Activity"), new ViewName("Activity",
- MSG.view_tabs_common_activity()), null);
- summaryTimeline = new SubTab(summaryTab.extendLocatorId("Timeline"), new ViewName("Timeline",
- MSG.view_tabs_common_timeline()), null);
+ summaryActivity = new SubTab(summaryTab, new ViewName("Activity", MSG.view_tabs_common_activity()), null);
+ summaryTimeline = new SubTab(summaryTab, new ViewName("Timeline", MSG.view_tabs_common_timeline()), null);
summaryTab.registerSubTabs(summaryActivity, summaryTimeline);
tabs.add(summaryTab);
inventoryTab = new TwoLevelTab(new ViewName("Inventory", MSG.view_tabs_common_inventory()),
IconEnum.INVENTORY_SUMMARY);
- inventoryMembers = new SubTab(inventoryTab.extendLocatorId("Members"), new ViewName("Members",
- MSG.view_tabs_common_members()), null);
- inventoryConn = new SubTab(inventoryTab.extendLocatorId("ConnectionSettings"), new ViewName(
- "ConnectionSettings", MSG.view_tabs_common_connectionSettings()), null);
- inventoryConnHistory = new SubTab(inventoryTab.extendLocatorId("ConnectionSettingsHistory"), new ViewName(
- "ConnectionSettingsHistory", MSG.view_tabs_common_connectionSettingsHistory()), null);
+ inventoryMembers = new SubTab(inventoryTab, new ViewName("Members", MSG.view_tabs_common_members()), null);
+ inventoryConn = new SubTab(inventoryTab, new ViewName("ConnectionSettings",
+ MSG.view_tabs_common_connectionSettings()), null);
+ inventoryConnHistory = new SubTab(inventoryTab, new ViewName("ConnectionSettingsHistory",
+ MSG.view_tabs_common_connectionSettingsHistory()), null);
inventoryTab.registerSubTabs(this.inventoryMembers, this.inventoryConn, this.inventoryConnHistory);
tabs.add(inventoryTab);
alertsTab = new TwoLevelTab(new ViewName("Alerts", MSG.common_title_alerts()), IconEnum.ALERT_DEFINITIONS);
- this.alertHistory = new SubTab(alertsTab.extendLocatorId("History"), new ViewName("History",
- MSG.view_tabs_common_history()), null);
- this.alertDef = new SubTab(alertsTab.extendLocatorId("Definitions"), new ViewName("Definitions",
- MSG.common_title_definitions()), null);
+ this.alertHistory = new SubTab(alertsTab, new ViewName("History", MSG.view_tabs_common_history()), null);
+ this.alertDef = new SubTab(alertsTab, new ViewName("Definitions", MSG.common_title_definitions()), null);
alertsTab.registerSubTabs(alertHistory, alertDef);
tabs.add(alertsTab);
monitoringTab = new TwoLevelTab(new ViewName("Monitoring", MSG.view_tabs_common_monitoring()),
IconEnum.SUSPECT_METRICS);
- monitorGraphs = new SubTab(monitoringTab.extendLocatorId("Graphs"), new ViewName("Graphs",
- MSG.view_tabs_common_graphs()), null);
- monitorTables = new SubTab(monitoringTab.extendLocatorId("Tables"), new ViewName("Tables",
- MSG.view_tabs_common_tables()), null);
- monitorTraits = new SubTab(monitoringTab.extendLocatorId("Traits"), new ViewName("Traits",
- MSG.view_tabs_common_traits()), null);
-
- monitorSched = new SubTab(monitoringTab.extendLocatorId("Schedules"), new ViewName("Schedules",
- MSG.view_tabs_common_schedules()), null);
- monitorCallTime = new SubTab(monitoringTab.extendLocatorId("CallTime"), new ViewName("CallTime",
- MSG.view_tabs_common_calltime()), null);
+ monitorGraphs = new SubTab(monitoringTab, new ViewName("Graphs", MSG.view_tabs_common_graphs()), null);
+ monitorTables = new SubTab(monitoringTab, new ViewName("Tables", MSG.view_tabs_common_tables()), null);
+ monitorTraits = new SubTab(monitoringTab, new ViewName("Traits", MSG.view_tabs_common_traits()), null);
+
+ monitorSched = new SubTab(monitoringTab, new ViewName("Schedules", MSG.view_tabs_common_schedules()), null);
+ monitorCallTime = new SubTab(monitoringTab, new ViewName("CallTime", MSG.view_tabs_common_calltime()), null);
monitoringTab.registerSubTabs(monitorGraphs, monitorTables, monitorTraits, monitorSched, monitorCallTime);
tabs.add(monitoringTab);
eventsTab = new TwoLevelTab(new ViewName("Events", MSG.view_tabs_common_events()), IconEnum.EVENTS);
- this.eventHistory = new SubTab(eventsTab.extendLocatorId("History"), new ViewName("History",
- MSG.view_tabs_common_history()), null);
+ this.eventHistory = new SubTab(eventsTab, new ViewName("History", MSG.view_tabs_common_history()), null);
eventsTab.registerSubTabs(eventHistory);
tabs.add(eventsTab);
operationsTab = new TwoLevelTab(new ViewName("Operations", MSG.common_title_operations()),
IconEnum.RECENT_OPERATIONS);
- this.operationsSchedules = new SubTab(operationsTab.extendLocatorId("Schedules"), new ViewName("Schedules",
- MSG.view_tabs_common_schedules()), null);
- this.operationsHistory = new SubTab(operationsTab.extendLocatorId("History"), new ViewName("History",
- MSG.view_tabs_common_history()), null);
+ this.operationsSchedules = new SubTab(operationsTab,
+ new ViewName("Schedules", MSG.view_tabs_common_schedules()), null);
+ this.operationsHistory = new SubTab(operationsTab, new ViewName("History", MSG.view_tabs_common_history()),
+ null);
operationsTab.registerSubTabs(this.operationsSchedules, this.operationsHistory);
tabs.add(operationsTab);
configurationTab = new TwoLevelTab(new ViewName("Configuration", MSG.common_title_configuration()),
IconEnum.CONFIGURATION_HISTORY);
- this.configCurrent = new SubTab(configurationTab.extendLocatorId("Current"), new ViewName("Current",
- MSG.view_tabs_common_current()), null);
- this.configHistory = new SubTab(configurationTab.extendLocatorId("History"), new ViewName("History",
- MSG.view_tabs_common_history()), null);
+ this.configCurrent = new SubTab(configurationTab, new ViewName("Current", MSG.view_tabs_common_current()), null);
+ this.configHistory = new SubTab(configurationTab, new ViewName("History", MSG.view_tabs_common_history()), null);
configurationTab.registerSubTabs(this.configCurrent, this.configHistory);
tabs.add(configurationTab);
- // driftTab = new TwoLevelTab(getTabSet().extendLocatorId(Tab.DRIFT), new ViewName(Tab.DRIFT, MSG
+ // driftTab = new TwoLevelTab(getTabSet(), new ViewName(Tab.DRIFT, MSG
// .view_tabs_common_drift()), "subsystems/drift/Drift_16.png");
- // this.driftHistory = new SubTab(driftTab.extendLocatorId(DriftSubTab.HISTORY), new ViewName(DriftSubTab.HISTORY,
+ // this.driftHistory = new SubTab(driftTab, new ViewName(DriftSubTab.HISTORY,
// MSG.view_tabs_common_history()), null);
- // this.driftDefinition = new SubTab(driftTab.extendLocatorId(DriftSubTab.DEFINITIONS), new ViewName(
+ // this.driftDefinition = new SubTab(driftTab, new ViewName(
// DriftSubTab.DEFINITIONS, MSG.common_title_definitions()), null);
// driftTab.registerSubTabs(driftHistory, driftDefinition);
// tabs.add(driftTab);
@@ -278,8 +265,7 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
updateSubTab(this.summaryTab, this.summaryActivity, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return new ActivityView(summaryActivity.extendLocatorId("View"), groupComposite, isAutoCluster(),
- isAutoGroup());
+ return new ActivityView(groupComposite, isAutoCluster(), isAutoGroup());
}
});
// TODO (ips): Add Timeline subtab?
@@ -316,7 +302,7 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
// return new FullHTMLPane(monitorTables.extendLocatorId("View"),
// "/rhq/group/monitor/tables-plain.xhtml?groupId=" + groupId);
//gwt version of group table view.
- return new GroupMonitoringTablesView(monitorTables.extendLocatorId("monitorTable"), groupComposite);
+ return new GroupMonitoringTablesView(groupComposite);
}
};
updateSubTab(this.monitoringTab, this.monitorTables, visible, true, viewFactory);
@@ -366,15 +352,14 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
true, new ViewFactory() {
@Override
public Canvas createView() {
- return new GroupPluginConfigurationEditView(inventoryConn.extendLocatorId("View"), groupComposite);
+ return new GroupPluginConfigurationEditView(groupComposite);
}
});
updateSubTab(this.inventoryTab, this.inventoryConnHistory,
facets.contains(ResourceTypeFacet.PLUGIN_CONFIGURATION), true, new ViewFactory() {
@Override
public Canvas createView() {
- return new HistoryGroupPluginConfigurationView(inventoryConnHistory.extendLocatorId("View"),
- groupComposite);
+ return new HistoryGroupPluginConfigurationView(groupComposite);
}
});
}
@@ -385,8 +370,7 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
updateSubTab(this.operationsTab, this.operationsSchedules, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return new GroupOperationScheduleListView(operationsSchedules.extendLocatorId("View"),
- groupComposite);
+ return new GroupOperationScheduleListView(groupComposite);
}
});
updateSubTab(this.operationsTab, this.operationsHistory, true, true, new ViewFactory() {
@@ -405,7 +389,7 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
updateSubTab(this.alertsTab, this.alertHistory, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return GroupAlertHistoryView.get(alertHistory.extendLocatorId("View"), groupComposite);
+ return GroupAlertHistoryView.get(groupComposite);
}
});
// but alert definitions can only be created on compatible groups
@@ -428,14 +412,13 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
updateSubTab(this.configurationTab, this.configCurrent, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return new GroupResourceConfigurationEditView(configCurrent.extendLocatorId("View"), groupComposite);
+ return new GroupResourceConfigurationEditView(groupComposite);
}
});
updateSubTab(this.configurationTab, this.configHistory, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return new HistoryGroupResourceConfigurationView(configHistory.extendLocatorId("View"),
- groupComposite);
+ return new HistoryGroupResourceConfigurationView(groupComposite);
}
});
}
@@ -449,7 +432,7 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
updateSubTab(this.eventsTab, this.eventHistory, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return EventCompositeHistoryView.get(eventHistory.extendLocatorId("View"), groupComposite);
+ return EventCompositeHistoryView.get(groupComposite);
}
});
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java
index 43fe7e7..2223621 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java
@@ -78,7 +78,7 @@ public class GroupResourceConfigurationEditView extends EnhancedVLayout implemen
private boolean refreshing = false;
- public GroupResourceConfigurationEditView(String locatorId, ResourceGroupComposite groupComposite) {
+ public GroupResourceConfigurationEditView(ResourceGroupComposite groupComposite) {
super();
this.group = groupComposite.getResourceGroup();
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 5ccda50..151b9ed 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
@@ -61,7 +61,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.RPCDataSource;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* Shows a table of individual resource members that belonged to the group when the group configuration was updated.
@@ -108,7 +107,7 @@ public class HistoryGroupResourceConfigurationMembers extends EnhancedVLayout {
fieldResource.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);
+ return LinkManager.getHref(url, o.toString());
}
});
fieldResource.setShowHover(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationView.java
index 84fa545..28a720e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationView.java
@@ -35,7 +35,7 @@ public class HistoryGroupResourceConfigurationView extends EnhancedVLayout imple
private HistoryGroupResourceConfigurationTable groupHistoryTable;
private Canvas detailsCanvas = null;
- public HistoryGroupResourceConfigurationView(String locatorId, ResourceGroupComposite groupComposite) {
+ public HistoryGroupResourceConfigurationView(ResourceGroupComposite groupComposite) {
super();
this.groupComposite = groupComposite;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java
index b62ce64..c50ccd8 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java
@@ -76,7 +76,7 @@ public class GroupPluginConfigurationEditView extends EnhancedVLayout implements
private boolean refreshing = false;
- public GroupPluginConfigurationEditView(String locatorId, ResourceGroupComposite groupComposite) {
+ public GroupPluginConfigurationEditView(ResourceGroupComposite groupComposite) {
super();
this.group = groupComposite.getResourceGroup();
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 2a7033d..b28a013 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
@@ -61,7 +61,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.RPCDataSource;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* Shows a table of individual resource members that belonged to the group when the group configuration was updated.
@@ -108,7 +107,7 @@ public class HistoryGroupPluginConfigurationMembers extends EnhancedVLayout {
fieldResource.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);
+ return LinkManager.getHref(url, o.toString());
}
});
fieldResource.setShowHover(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationView.java
index a250498..da3c042 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationView.java
@@ -35,7 +35,7 @@ public class HistoryGroupPluginConfigurationView extends EnhancedVLayout impleme
private HistoryGroupPluginConfigurationTable groupHistoryTable;
private Canvas detailsCanvas = null;
- public HistoryGroupPluginConfigurationView(String locatorId, ResourceGroupComposite groupComposite) {
+ public HistoryGroupPluginConfigurationView(ResourceGroupComposite groupComposite) {
super();
this.groupComposite = groupComposite;
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 76be8c7..6bb346a 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
@@ -37,7 +37,6 @@ 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.MeasurementUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Greg Hinkle
@@ -85,7 +84,7 @@ public class ResourceGroupMetricGraphView extends AbstractMetricGraphView {
final ResourceGroup group = result.get(0);
String url = LinkManager.getResourceGroupLink(group);
- resourceGroupTitle = new HTMLFlow(SeleniumUtility.getLocatableHref(url, group.getName(), null));
+ resourceGroupTitle = new HTMLFlow(LinkManager.getHref(url, group.getName()));
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/table/GroupMonitoringTablesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMonitoringTablesView.java
index 97308cf..ed2060b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMonitoringTablesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMonitoringTablesView.java
@@ -32,13 +32,13 @@ public class GroupMonitoringTablesView extends EnhancedVLayout implements Refres
private GroupMeasurementTableView metrics;
private GroupMembersHealthView memberHealth;
-
+
/**
* @param locatorId
*/
- public GroupMonitoringTablesView(String locatorId, ResourceGroupComposite groupComposite) {
+ public GroupMonitoringTablesView(ResourceGroupComposite groupComposite) {
super();
-
+
metrics = new GroupMeasurementTableView(groupComposite, groupComposite.getResourceGroup().getId());
memberHealth = new GroupMembersHealthView(groupComposite.getResourceGroup().getId(), false);
addMember(metrics);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsDataSource.java
index 64b857b..bd6b0e5 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/traits/TraitsDataSource.java
@@ -43,7 +43,6 @@ import org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMeasuremen
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.inventory.resource.type.ResourceTypeRepository.TypesLoadedCallback;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* A DataSource for reading traits for the current group.
@@ -82,7 +81,7 @@ public class TraitsDataSource extends AbstractMeasurementDataTraitDataSource {
resourceNameField.setCellFormatter(new CellFormatter() {
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
String url = LinkManager.getResourceLink(record.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, value.toString(), null);
+ return LinkManager.getHref(url, value.toString());
}
});
resourceNameField.setShowHover(true);
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 4a5a906..3fa9705 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
@@ -29,7 +29,6 @@ import org.rhq.core.domain.criteria.MeasurementDataTraitCriteria;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
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.
@@ -51,7 +50,7 @@ public class TraitsDetailView extends AbstractMeasurementDataTraitListDetailView
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);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceNameField.setShowHover(true);
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 306bf30..5ed2a79 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
@@ -47,7 +47,6 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.common.AbstractMeasurementDataTraitDataSource;
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;
/**
* The group Monitoring>Traits subtab.
@@ -76,7 +75,7 @@ public class TraitsView extends AbstractMeasurementDataTraitListView {
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);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceNameField.setShowHover(true);
@@ -178,7 +177,7 @@ public class TraitsView extends AbstractMeasurementDataTraitListView {
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);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceNameField.setShowHover(true);
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 68de917..bedfdaf 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
@@ -18,7 +18,6 @@ import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.h
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.operation.history.ResourceOperationHistoryDataSource;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.operation.history.ResourceOperationHistoryDetailsView;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Ian Springer
@@ -49,7 +48,7 @@ public class GroupMemberResourceOperationHistoryListView extends
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);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceField.setShowHover(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleListView.java
index 1d634d7..985d5fd 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleListView.java
@@ -35,8 +35,8 @@ public class GroupOperationScheduleListView extends AbstractOperationScheduleLis
private ResourceGroupComposite groupComposite;
- public GroupOperationScheduleListView(String locatorId, ResourceGroupComposite groupComposite) {
- super(locatorId, new GroupOperationScheduleDataSource(groupComposite), TITLE);
+ public GroupOperationScheduleListView(ResourceGroupComposite groupComposite) {
+ super(new GroupOperationScheduleDataSource(groupComposite), TITLE);
this.groupComposite = groupComposite;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
index 8b47fbf..a6e0f0b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
@@ -91,8 +91,7 @@ public class ActivityView extends EnhancedVLayout implements DashboardContainer,
private int rowRight = 0;
private boolean displayLeft = false;
- public ActivityView(String locatorId, ResourceGroupComposite groupComposite, boolean isAutoCluster,
- boolean isAutoGroup) {
+ public ActivityView(ResourceGroupComposite groupComposite, boolean isAutoCluster, boolean isAutoGroup) {
super();
this.groupComposite = groupComposite;
this.isAutoCluster = isAutoCluster;
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 15e7bc3..fb8b854 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
@@ -35,7 +35,6 @@ 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.util.StringUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* A utility class for working with Resource ancestry values.
@@ -159,8 +158,7 @@ public abstract class AncestryUtil {
sbResources.append((i > 0) ? " < " : "");
//sbResources.append(" < ");
String url = LinkManager.getResourceLink(ancestorResourceId);
- String suffix = resourceId + "_" + entryTokens[1];
- String href = SeleniumUtility.getLocatableHref(url, ancestorName, suffix);
+ String href = LinkManager.getHref(url, ancestorName);
sbResources.append(href);
if (null != sbTypes) {
@@ -218,8 +216,7 @@ public abstract class AncestryUtil {
sbResources.append((i > 0) ? " < " : "");
if (generateLinks) {
String url = LinkManager.getResourceLink(ancestorResourceId);
- String suffix = resourceId + "_" + entryTokens[1];
- String href = SeleniumUtility.getLocatableHref(url, ancestorName, suffix);
+ String href = LinkManager.getHref(url, ancestorName);
sbResources.append(href);
} else {
sbResources.append(ancestorName);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceCompositeSearchView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceCompositeSearchView.java
index c09a703..aa9feb0 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceCompositeSearchView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceCompositeSearchView.java
@@ -71,17 +71,17 @@ public class ResourceCompositeSearchView extends ResourceSearchView {
private boolean hasImportableTypes;
private boolean canCreate;
- public ResourceCompositeSearchView(String locatorId, ResourceComposite parentResourceComposite, Criteria criteria,
- String title, SortSpecifier[] sortSpecifier, String[] excludeFields, String... headerIcons) {
+ public ResourceCompositeSearchView(ResourceComposite parentResourceComposite, Criteria criteria, String title,
+ SortSpecifier[] sortSpecifier, String[] excludeFields, String... headerIcons) {
super(criteria, title, sortSpecifier, excludeFields, headerIcons);
this.parentResourceComposite = parentResourceComposite;
this.canCreate = this.parentResourceComposite.getResourcePermission().isCreateChildResources();
setInitialCriteriaFixed(true);
}
- public ResourceCompositeSearchView(String locatorId, ResourceComposite parentResourceComposite, Criteria criteria,
- String title, String... headerIcons) {
- this(locatorId, parentResourceComposite, criteria, title, null, null, headerIcons);
+ public ResourceCompositeSearchView(ResourceComposite parentResourceComposite, Criteria criteria, String title,
+ String... headerIcons) {
+ this(parentResourceComposite, criteria, title, null, null, headerIcons);
}
@Override
@@ -379,8 +379,8 @@ public class ResourceCompositeSearchView extends ResourceSearchView {
// -------- Static Utility loaders ------------
- public static ResourceCompositeSearchView getChildrenOf(String locatorId, ResourceComposite parentResourceComposite) {
- return new ResourceCompositeSearchView(locatorId, parentResourceComposite, new Criteria("parentId",
+ public static ResourceCompositeSearchView getChildrenOf(ResourceComposite parentResourceComposite) {
+ return new ResourceCompositeSearchView(parentResourceComposite, new Criteria("parentId",
String.valueOf(parentResourceComposite.getResource().getId())), MSG.view_tabs_common_child_resources());
}
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 f30a49c..06a3469 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
@@ -76,7 +76,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. If not specified a default title is assigned. If not specified the list will
@@ -408,7 +407,7 @@ public class ResourceSearchView extends Table {
public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
String url = LinkManager.getResourceLink(record.getAttributeAsInt("id"));
String name = StringUtility.escapeHtml(value.toString());
- return SeleniumUtility.getLocatableHref(url, name, null);
+ return LinkManager.getHref(url, name);
}
});
nameField.setShowHover(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ChildHistoryView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ChildHistoryView.java
index 745f7af..a580b35 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ChildHistoryView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ChildHistoryView.java
@@ -72,8 +72,8 @@ public class ChildHistoryView extends Table<ChildHistoryView.DataSource> {
private final ResourceComposite resourceComposite;
private FormItem dateRangeItem;
- public ChildHistoryView(String locatorId, ResourceComposite resourceComposite) {
- super(locatorId, VIEW_ID.getTitle());
+ public ChildHistoryView(ResourceComposite resourceComposite) {
+ super(VIEW_ID.getTitle());
this.resourceComposite = resourceComposite;
setDataSource(new DataSource());
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
index 301583e..6acd5d0 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
@@ -168,101 +168,85 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
summaryTab = new TwoLevelTab(new ViewName("Summary", MSG.common_title_summary()), ImageManager.getResourceIcon(
ResourceCategory.SERVICE, AvailabilityType.UP));
- summaryActivity = new SubTab(summaryTab.extendLocatorId("Activity"), new ViewName("Activity",
- MSG.view_tabs_common_activity()), null);
- summaryTimeline = new SubTab(summaryTab.extendLocatorId("Timeline"), new ViewName("Timeline",
- MSG.view_tabs_common_timeline()), null);
+ summaryActivity = new SubTab(summaryTab, new ViewName("Activity", MSG.view_tabs_common_activity()), null);
+ summaryTimeline = new SubTab(summaryTab, new ViewName("Timeline", MSG.view_tabs_common_timeline()), null);
summaryTab.registerSubTabs(summaryActivity, summaryTimeline);
tabs.add(summaryTab);
inventoryTab = new TwoLevelTab(new ViewName("Inventory", MSG.view_tabs_common_inventory()),
IconEnum.INVENTORY_SUMMARY);
- inventoryChildren = new SubTab(inventoryTab.extendLocatorId("Children"), new ViewName("Children",
- MSG.view_tabs_common_child_resources()), null);
- inventoryChildHistory = new SubTab(inventoryTab.extendLocatorId("ChildHist"), new ViewName("ChildHistory",
+ inventoryChildren = new SubTab(inventoryTab, new ViewName("Children", MSG.view_tabs_common_child_resources()),
+ null);
+ inventoryChildHistory = new SubTab(inventoryTab, new ViewName("ChildHistory",
MSG.view_tabs_common_child_history()), null);
- inventoryConn = new SubTab(inventoryTab.extendLocatorId("ConnectionSettings"), new ViewName(
- "ConnectionSettings", MSG.view_tabs_common_connectionSettings()), null);
- inventoryConnHistory = new SubTab(inventoryTab.extendLocatorId("ConnSetHist"),
- PluginConfigurationHistoryListView.VIEW_ID, null);
- inventoryGroups = new SubTab(inventoryTab.extendLocatorId("Groups"), new ViewName("Groups",
- MSG.view_tabs_common_groups()), null);
- inventoryAgent = new SubTab(inventoryTab.extendLocatorId("Agent"), new ViewName("Agent",
- MSG.view_tabs_common_agent()), null);
+ inventoryConn = new SubTab(inventoryTab, new ViewName("ConnectionSettings",
+ MSG.view_tabs_common_connectionSettings()), null);
+ inventoryConnHistory = new SubTab(inventoryTab, PluginConfigurationHistoryListView.VIEW_ID, null);
+ inventoryGroups = new SubTab(inventoryTab, new ViewName("Groups", MSG.view_tabs_common_groups()), null);
+ inventoryAgent = new SubTab(inventoryTab, new ViewName("Agent", MSG.view_tabs_common_agent()), null);
inventoryTab.registerSubTabs(this.inventoryChildren, this.inventoryChildHistory, this.inventoryConn,
this.inventoryConnHistory, this.inventoryGroups, this.inventoryAgent);
tabs.add(inventoryTab);
alertsTab = new TwoLevelTab(new ViewName("Alerts", MSG.common_title_alerts()), IconEnum.ALERT_DEFINITIONS);
- this.alertHistory = new SubTab(alertsTab.extendLocatorId("History"), new ViewName("History",
- MSG.view_tabs_common_history()), null);
- this.alertDef = new SubTab(alertsTab.extendLocatorId("Definitions"), new ViewName("Definitions",
- MSG.common_title_definitions()), null);
+ this.alertHistory = new SubTab(alertsTab, new ViewName("History", MSG.view_tabs_common_history()), null);
+ this.alertDef = new SubTab(alertsTab, new ViewName("Definitions", MSG.common_title_definitions()), null);
alertsTab.registerSubTabs(alertHistory, alertDef);
tabs.add(alertsTab);
monitoringTab = new TwoLevelTab(new ViewName("Monitoring", MSG.view_tabs_common_monitoring()),
IconEnum.SUSPECT_METRICS);
- monitorGraphs = new SubTab(monitoringTab.extendLocatorId("Graphs"), new ViewName("Graphs",
- MSG.view_tabs_common_graphs()), null);
- monitorTables = new SubTab(monitoringTab.extendLocatorId("Tables"), new ViewName("Tables",
- MSG.view_tabs_common_tables()), null);
- monitorTraits = new SubTab(monitoringTab.extendLocatorId("Traits"), new ViewName("Traits",
- MSG.view_tabs_common_traits()), null);
- monitorAvail = new SubTab(monitoringTab.extendLocatorId("Availability"), new ViewName("Availability",
- MSG.view_tabs_common_availability()), null);
- monitorSched = new SubTab(monitoringTab.extendLocatorId("Schedules"), new ViewName("Schedules",
- MSG.view_tabs_common_schedules()), null);
- monitorCallTime = new SubTab(monitoringTab.extendLocatorId("CallTime"), new ViewName("CallTime",
- MSG.view_tabs_common_calltime()), null);
+ monitorGraphs = new SubTab(monitoringTab, new ViewName("Graphs", MSG.view_tabs_common_graphs()), null);
+ monitorTables = new SubTab(monitoringTab, new ViewName("Tables", MSG.view_tabs_common_tables()), null);
+ monitorTraits = new SubTab(monitoringTab, new ViewName("Traits", MSG.view_tabs_common_traits()), null);
+ monitorAvail = new SubTab(monitoringTab, new ViewName("Availability", MSG.view_tabs_common_availability()),
+ null);
+ monitorSched = new SubTab(monitoringTab, new ViewName("Schedules", MSG.view_tabs_common_schedules()), null);
+ monitorCallTime = new SubTab(monitoringTab, new ViewName("CallTime", MSG.view_tabs_common_calltime()), null);
monitoringTab.registerSubTabs(monitorTables, monitorGraphs, monitorTraits, monitorAvail, monitorSched,
monitorCallTime);
tabs.add(monitoringTab);
eventsTab = new TwoLevelTab(new ViewName("Events", MSG.view_tabs_common_events()), IconEnum.EVENTS);
- this.eventHistory = new SubTab(eventsTab.extendLocatorId("History"), new ViewName("History",
- MSG.view_tabs_common_history()), null);
+ this.eventHistory = new SubTab(eventsTab, new ViewName("History", MSG.view_tabs_common_history()), null);
eventsTab.registerSubTabs(eventHistory);
tabs.add(eventsTab);
operationsTab = new TwoLevelTab(new ViewName(Tab.OPERATIONS, MSG.common_title_operations()),
IconEnum.RECENT_OPERATIONS);
- this.operationsSchedules = new SubTab(operationsTab.extendLocatorId(OperationsSubTab.SCHEDULES), new ViewName(
- OperationsSubTab.SCHEDULES, MSG.view_tabs_common_schedules()), null);
- this.operationsHistory = new SubTab(operationsTab.extendLocatorId(OperationsSubTab.HISTORY), new ViewName(
- OperationsSubTab.HISTORY, MSG.view_tabs_common_history()), null);
+ this.operationsSchedules = new SubTab(operationsTab, new ViewName(OperationsSubTab.SCHEDULES,
+ MSG.view_tabs_common_schedules()), null);
+ this.operationsHistory = new SubTab(operationsTab, new ViewName(OperationsSubTab.HISTORY,
+ MSG.view_tabs_common_history()), null);
operationsTab.registerSubTabs(this.operationsSchedules, this.operationsHistory);
tabs.add(operationsTab);
configurationTab = new TwoLevelTab(new ViewName(Tab.CONFIGURATION, MSG.common_title_configuration()),
IconEnum.CONFIGURATION_HISTORY);
- this.configCurrent = new SubTab(configurationTab.extendLocatorId(ConfigurationSubTab.CURRENT), new ViewName(
- ConfigurationSubTab.CURRENT, MSG.view_tabs_common_current()), null);
- this.configHistory = new SubTab(configurationTab.extendLocatorId(ConfigurationSubTab.HISTORY), new ViewName(
- ConfigurationSubTab.HISTORY, MSG.view_tabs_common_history()), null);
+ this.configCurrent = new SubTab(configurationTab, new ViewName(ConfigurationSubTab.CURRENT,
+ MSG.view_tabs_common_current()), null);
+ this.configHistory = new SubTab(configurationTab, new ViewName(ConfigurationSubTab.HISTORY,
+ MSG.view_tabs_common_history()), null);
configurationTab.registerSubTabs(this.configCurrent, this.configHistory);
tabs.add(configurationTab);
driftTab = new TwoLevelTab(new ViewName(Tab.DRIFT, MSG.view_tabs_common_drift()), IconEnum.DRIFT_COMPLIANCE);
// TODO: Experimenting with not shoing a drift history tab and having all resource level drift viewing
// go through the comprehensive drift carousel view. Leave it in, but commented, in case we want it back.
- //this.driftHistory = new SubTab(driftTab.extendLocatorId(DriftSubTab.HISTORY), new ViewName(DriftSubTab.HISTORY,
+ //this.driftHistory = new SubTab(driftTab, new ViewName(DriftSubTab.HISTORY,
// MSG.view_tabs_common_history()), null);
- this.driftDefinitions = new SubTab(driftTab.extendLocatorId(DriftSubTab.DEFINITIONS), new ViewName(
- DriftSubTab.DEFINITIONS, MSG.common_title_definitions()), null);
+ this.driftDefinitions = new SubTab(driftTab, new ViewName(DriftSubTab.DEFINITIONS,
+ MSG.common_title_definitions()), null);
//driftTab.registerSubTabs(driftHistory, driftDefinitions);
driftTab.registerSubTabs(driftDefinitions);
tabs.add(driftTab);
contentTab = new TwoLevelTab(new ViewName("Content", MSG.view_tabs_common_content()), IconEnum.CONTENT);
- this.contentDeployed = new SubTab(contentTab.extendLocatorId("Deployed"), new ViewName("Deployed",
- MSG.view_tabs_common_deployed()), null);
- this.contentNew = new SubTab(contentTab.extendLocatorId("New"), new ViewName("New", MSG.common_button_new()),
- null);
- this.contentSubscrip = new SubTab(contentTab.extendLocatorId("Subscriptions"), new ViewName("Subscriptions",
+ this.contentDeployed = new SubTab(contentTab, new ViewName("Deployed", MSG.view_tabs_common_deployed()), null);
+ this.contentNew = new SubTab(contentTab, new ViewName("New", MSG.common_button_new()), null);
+ this.contentSubscrip = new SubTab(contentTab, new ViewName("Subscriptions",
MSG.view_tabs_common_subscriptions()), null);
- this.contentHistory = new SubTab(contentTab.extendLocatorId("History"), new ViewName("History",
- MSG.view_tabs_common_history()), null);
+ this.contentHistory = new SubTab(contentTab, new ViewName("History", MSG.view_tabs_common_history()), null);
contentTab.registerSubTabs(contentDeployed, contentNew, contentSubscrip, contentHistory);
tabs.add(contentTab);
@@ -311,14 +295,14 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
updateSubTab(this.summaryTab, this.summaryActivity, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return new ActivityView(summaryActivity.extendLocatorId("View"), resourceComposite);
+ return new ActivityView(resourceComposite);
}
});
updateSubTab(this.summaryTab, this.summaryTimeline, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return new TimelineView(summaryTimeline.extendLocatorId("View"), resourceComposite);
+ return new TimelineView(resourceComposite);
}
});
}
@@ -332,8 +316,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
ViewFactory viewFactory = (!visible) ? null : new ViewFactory() {
@Override
public Canvas createView() {
- return ResourceCompositeSearchView.getChildrenOf(inventoryTab.extendLocatorId("ChildrenView"),
- resourceComposite);
+ return ResourceCompositeSearchView.getChildrenOf(resourceComposite);
}
};
updateSubTab(this.inventoryTab, this.inventoryChildren, visible, true, viewFactory);
@@ -342,7 +325,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
viewFactory = (!visible) ? null : new ViewFactory() {
@Override
public Canvas createView() {
- return new ChildHistoryView(inventoryTab.extendLocatorId("ChildHistory"), resourceComposite);
+ return new ChildHistoryView(resourceComposite);
}
};
updateSubTab(this.inventoryTab, this.inventoryChildHistory, visible, true, viewFactory);
@@ -351,8 +334,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
viewFactory = (!visible) ? null : new ViewFactory() {
@Override
public Canvas createView() {
- return new PluginConfigurationEditView(inventoryTab.extendLocatorId("PluginConfigView"),
- resourceComposite);
+ return new PluginConfigurationEditView(resourceComposite);
}
};
updateSubTab(this.inventoryTab, this.inventoryConn, visible, true, viewFactory);
@@ -371,8 +353,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
updateSubTab(this.inventoryTab, this.inventoryGroups, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return ResourceGroupListView.getGroupsOf(inventoryTab.extendLocatorId("GroupsView"), resource.getId(),
- canModifyMembership);
+ return ResourceGroupListView.getGroupsOf(resource.getId(), canModifyMembership);
}
});
@@ -380,7 +361,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
viewFactory = (!enabled) ? null : new ViewFactory() {
@Override
public Canvas createView() {
- return new ResourceAgentView(inventoryTab.extendLocatorId("AgentView"), resourceId);
+ return new ResourceAgentView(resourceId);
}
};
updateSubTab(this.inventoryTab, this.inventoryAgent, true, enabled, viewFactory);
@@ -390,7 +371,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
updateSubTab(this.alertsTab, this.alertHistory, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return ResourceAlertHistoryView.get(alertHistory.extendLocatorId("View"), resourceComposite);
+ return ResourceAlertHistoryView.get(resourceComposite);
}
});
@@ -417,7 +398,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
viewFactory = (!visible) ? null : new ViewFactory() {
@Override
public Canvas createView() {
- return new MeasurementTableView(monitorTables.extendLocatorId("View"), resource.getId());
+ return new MeasurementTableView(resource.getId());
}
};
updateSubTab(this.monitoringTab, this.monitorTables, visible, true, viewFactory);
@@ -434,7 +415,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
updateSubTab(this.monitoringTab, this.monitorAvail, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return new ResourceAvailabilityView(monitoringTab.extendLocatorId("AvailView"), resourceComposite);
+ return new ResourceAvailabilityView(resourceComposite);
}
});
@@ -462,8 +443,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
updateSubTab(this.eventsTab, this.eventHistory, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return EventCompositeHistoryView.get(eventsTab.extendLocatorId("CompositeHistoryView"),
- resourceComposite);
+ return EventCompositeHistoryView.get(resourceComposite);
}
});
}
@@ -481,8 +461,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
updateSubTab(this.operationsTab, this.operationsSchedules, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return new ResourceOperationScheduleListView(operationsTab.extendLocatorId("SchedulesView"),
- resourceComposite);
+ return new ResourceOperationScheduleListView(resourceComposite);
}
});
@@ -503,8 +482,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
updateSubTab(this.configurationTab, this.configCurrent, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return new ResourceConfigurationEditView(configurationTab.extendLocatorId("ResourceConfigView"),
- resourceComposite);
+ return new ResourceConfigurationEditView(resourceComposite);
}
});
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 ac628cf..045e39a 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
@@ -50,7 +50,6 @@ 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;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* A superclass data source that loads information about all the plugin/resource configuration changes that happened
@@ -227,7 +226,7 @@ public abstract class AbstractConfigurationHistoryDataSource<T extends AbstractR
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);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceNameField.setShowHover(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryListView.java
index 40c2c0b..3d27035 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/AbstractConfigurationHistoryListView.java
@@ -35,13 +35,13 @@ 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.LinkManager;
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.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.
@@ -183,7 +183,7 @@ public abstract class AbstractConfigurationHistoryListView<T extends AbstractCon
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);
+ String cellHtml = LinkManager.getHref(detailsUrl, value.toString());
String isCurrentConfig = record
.getAttribute(AbstractConfigurationHistoryDataSource.Field.CURRENT_CONFIG);
if (Boolean.parseBoolean(isCurrentConfig)) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
index 7ea1368..58322c6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
@@ -68,7 +68,7 @@ public class ResourceConfigurationEditView extends EnhancedVLayout implements Pr
private IButton saveButton;
private boolean refreshing = false;
- public ResourceConfigurationEditView(String locatorId, ResourceComposite resourceComposite) {
+ public ResourceConfigurationEditView(ResourceComposite resourceComposite) {
super();
this.resource = resourceComposite.getResource();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
index feb2914..67a300e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
@@ -62,7 +62,7 @@ public class PluginConfigurationEditView extends EnhancedVLayout implements Prop
private boolean refreshingConfig = false;
private boolean refreshingConfigDef = false;
- public PluginConfigurationEditView(String locatorId, ResourceComposite resourceComposite) {
+ public PluginConfigurationEditView(ResourceComposite resourceComposite) {
super();
this.resource = resourceComposite.getResource();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceAgentView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceAgentView.java
index 259bcff..fe8ab29 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceAgentView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceAgentView.java
@@ -34,12 +34,12 @@ import com.smartgwt.client.widgets.form.fields.StaticTextItem;
import org.rhq.core.domain.resource.Agent;
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.RefreshableView;
import org.rhq.enterprise.gui.coregui.client.admin.topology.AgentTableView;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* The content pane for the Resource Inventory>Agent subtab.
@@ -61,7 +61,7 @@ public class ResourceAgentView extends EnhancedVLayout implements RefreshableVie
private boolean loading = false; // will be true if loadData is currently waiting for responses
- public ResourceAgentView(String locatorId, int resourceId) {
+ public ResourceAgentView(int resourceId) {
super();
this.resourceId = resourceId;
@@ -206,7 +206,7 @@ public class ResourceAgentView extends EnhancedVLayout implements RefreshableVie
// make clickable link for agent topology view
String detailsUrl = "#" + AgentTableView.VIEW_PATH + "/" + agent.getId();
String formattedValue = StringUtility.escapeHtml(MSG.common_label_link());
- String topologyViewItemText = SeleniumUtility.getLocatableHref(detailsUrl, formattedValue, null);
+ String topologyViewItemText = LinkManager.getHref(detailsUrl, formattedValue);
topologyViewItem.setValue(topologyViewItemText);
form.markForRedraw();
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 781caf6..5857251 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
@@ -39,7 +39,6 @@ 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.selenium.SeleniumUtility;
import org.rhq.enterprise.server.measurement.util.MeasurementUtils;
/**
@@ -100,8 +99,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 HTMLFlow(LinkManager.getHref(url, resource.getName()));
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/monitoring/avail/ResourceAvailabilityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/avail/ResourceAvailabilityView.java
index 912159c..cf42e46 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/avail/ResourceAvailabilityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/avail/ResourceAvailabilityView.java
@@ -80,7 +80,7 @@ public class ResourceAvailabilityView extends EnhancedVLayout {
private StaticTextItem unknownField;
private StaticTextItem currentTimeField;
- public ResourceAvailabilityView(String locatorId, ResourceComposite resourceComposite) {
+ public ResourceAvailabilityView(ResourceComposite resourceComposite) {
super();
this.resourceComposite = resourceComposite;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MeasurementTableView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MeasurementTableView.java
index 8a415ac..43af070 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MeasurementTableView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/table/MeasurementTableView.java
@@ -55,7 +55,7 @@ public class MeasurementTableView extends Table<MeasurementTableDataSource> {
private final int resourceId;
- public MeasurementTableView(String locatorId, int resourceId) {
+ public MeasurementTableView(int resourceId) {
super();
this.resourceId = resourceId;
setDataSource(new MeasurementTableDataSource(resourceId));
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 48694c0..a94a4c4 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
@@ -42,7 +42,6 @@ import org.rhq.enterprise.gui.coregui.client.components.configuration.Configurat
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.selenium.EnhancedVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Ian Springer
@@ -117,8 +116,7 @@ public class ResourceOperationHistoryDetailsView extends AbstractOperationHistor
if (showResourceField) {
Resource resource = resourceOperationHistory.getResource();
String url = LinkManager.getResourceLink(resource.getId());
- disambiguatedResourceName = SeleniumUtility.getLocatableHref(url, resource.getName(),
- String.valueOf(resource.getId()));
+ disambiguatedResourceName = LinkManager.getHref(url, resource.getName());
}
displayDetails(resourceOperationHistory);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/schedule/ResourceOperationScheduleListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/schedule/ResourceOperationScheduleListView.java
index 55be11a..bc68bc2 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/schedule/ResourceOperationScheduleListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/schedule/ResourceOperationScheduleListView.java
@@ -35,8 +35,8 @@ public class ResourceOperationScheduleListView extends AbstractOperationSchedule
private ResourceComposite resourceComposite;
- public ResourceOperationScheduleListView(String locatorId, ResourceComposite resourceComposite) {
- super(locatorId, new ResourceOperationScheduleDataSource(resourceComposite), TITLE);
+ public ResourceOperationScheduleListView(ResourceComposite resourceComposite) {
+ super(new ResourceOperationScheduleDataSource(resourceComposite), TITLE);
this.resourceComposite = resourceComposite;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
index b489db5..db9f3f4 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
@@ -65,7 +65,7 @@ public class ActivityView extends EnhancedVLayout implements DashboardContainer,
private boolean isInitialized = false;
- public ActivityView(String locatorId, ResourceComposite resourceComposite) {
+ public ActivityView(ResourceComposite resourceComposite) {
super();
this.resourceComposite = resourceComposite;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/TimelineView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/TimelineView.java
index 26a658e..99f9d4d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/TimelineView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/TimelineView.java
@@ -33,7 +33,7 @@ public class TimelineView extends EnhancedVLayout {
private final ResourceComposite resourceComposite;
- public TimelineView(String locatorId, ResourceComposite resourceComposite) {
+ public TimelineView(ResourceComposite resourceComposite) {
super();
this.resourceComposite = resourceComposite;
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 4d5fcbd..df1e09e 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
@@ -64,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.Log;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Jay Shaughnessy
@@ -128,7 +127,7 @@ public class OperationHistoryDataSource extends
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);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceNameField.setShowHover(true);
@@ -171,7 +170,7 @@ public class OperationHistoryDataSource extends
Integer opHistoryId = record.getAttributeAsInt("id");
String url = LinkManager.getEntityTabLink(entityContext, "Operations", "History") + "/"
+ opHistoryId;
- return SeleniumUtility.getLocatableHref(url, timestamp, null);
+ return LinkManager.getHref(url, timestamp);
} else {
return "<i>" + MSG.view_operationHistoryList_notYetStarted() + "</i>";
}
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 6b5f110..a812334 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
@@ -66,7 +66,6 @@ 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.inventory.resource.type.ResourceTypeRepository.TypesLoadedCallback;
import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* A tabular report that shows alert definitions on all resources in inventory.
@@ -261,7 +260,7 @@ public class AlertDefinitionReportView extends Table<AlertDefinitionReportView.D
resourceField.setCellFormatter(new CellFormatter() {
public String format(Object value, ListGridRecord listGridRecord, int i, int i1) {
String url = LinkManager.getResourceLink(listGridRecord.getAttributeAsInt(AncestryUtil.RESOURCE_ID));
- return SeleniumUtility.getLocatableHref(url, StringUtility.escapeHtml(value.toString()), null);
+ return LinkManager.getHref(url, StringUtility.escapeHtml(value.toString()));
}
});
resourceField.setShowHover(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java
index 5a6aa68..0fdc582 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java
@@ -54,7 +54,6 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.ResourceD
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
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.SeleniumUtility;
/**
* Extends the ResourceSearchView with drift compliance information.
@@ -99,7 +98,7 @@ public class DriftComplianceReportResourceSearchView extends ResourceSearchView
String url = LinkManager.getResourceTabLink(record.getAttributeAsInt("id"),
ResourceDetailView.Tab.DRIFT, null);
String name = StringUtility.escapeHtml(value.toString());
- return SeleniumUtility.getLocatableHref(url, name, null);
+ return LinkManager.getHref(url, name);
}
});
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..1b768ea 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
@@ -53,7 +53,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 Greg Hinkle
@@ -80,7 +79,7 @@ public class MeasurementOOBDataSource extends RPCDataSource<MeasurementOOBCompos
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);
+ return LinkManager.getHref(url, o.toString());
}
});
resourceNameField.setShowHover(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TaggedView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TaggedView.java
index fd17a80..04c948b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TaggedView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TaggedView.java
@@ -27,6 +27,7 @@ import java.util.Set;
import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.widgets.tab.Tab;
+import com.smartgwt.client.widgets.tab.TabSet;
import com.smartgwt.client.widgets.tab.events.TabSelectedEvent;
import com.smartgwt.client.widgets.tab.events.TabSelectedHandler;
@@ -47,8 +48,6 @@ import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.components.view.HasViewName;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSearchView;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
@@ -63,7 +62,7 @@ public class TaggedView extends EnhancedVLayout implements BookmarkableView, Has
public static final ViewName VIEW_ID = new ViewName("Tags", MSG.view_tags_tags(), IconEnum.TAGS);
private TagCloudView tagCloudView;
- private LocatableTabSet container;
+ private TabSet container;
private ArrayList<Table> viewsWithTags = new ArrayList<Table>();
private int selectedTabNum = 0;
private Set<Permission> globalPermissions;
@@ -106,7 +105,7 @@ public class TaggedView extends EnhancedVLayout implements BookmarkableView, Has
criteria.addCriteria("tagSemantic", tag.getSemantic());
criteria.addCriteria("tagName", tag.getName());
- container = new LocatableTabSet();
+ container = new TabSet();
container.setWidth100();
container.setHeight100();
container.setTabBarControls(tagCloudView.getDeleteButton());
@@ -121,14 +120,14 @@ public class TaggedView extends EnhancedVLayout implements BookmarkableView, Has
BundlesListView bundlesView = new BundlesListView(criteria, null);
viewsWithTags.add(bundlesView);
- tab = new LocatableTab(MSG.view_bundle_bundles());
+ tab = new Tab(MSG.view_bundle_bundles());
tab.setIcon(ImageManager.getBundleIcon());
tab.setPane(bundlesView);
container.addTab(tab);
BundleVersionListView bundleVersionListView = new BundleVersionListView(criteria);
viewsWithTags.add(bundleVersionListView);
- tab = new LocatableTab(MSG.view_bundle_bundleVersions());
+ tab = new Tab(MSG.view_bundle_bundleVersions());
tab.setIcon("subsystems/bundle/BundleVersion_16.png");
tab.setPane(bundleVersionListView);
container.addTab(tab);
@@ -136,21 +135,21 @@ public class TaggedView extends EnhancedVLayout implements BookmarkableView, Has
BundleDeploymentListView bundleDeploymentListView = new BundleDeploymentListView(criteria,
this.globalPermissions.contains(Permission.MANAGE_BUNDLE));
viewsWithTags.add(bundleDeploymentListView);
- tab = new LocatableTab(MSG.view_bundle_bundleDeployments());
+ tab = new Tab(MSG.view_bundle_bundleDeployments());
tab.setIcon("subsystems/bundle/BundleDeployment_16.png");
tab.setPane(bundleDeploymentListView);
container.addTab(tab);
BundleDestinationListView bundleDestinationListView = new BundleDestinationListView(criteria);
viewsWithTags.add(bundleDestinationListView);
- tab = new LocatableTab(MSG.view_bundle_bundleDestinations());
+ tab = new Tab(MSG.view_bundle_bundleDestinations());
tab.setIcon("subsystems/bundle/BundleDestination_16.png");
tab.setPane(bundleDestinationListView);
container.addTab(tab);
ResourceSearchView resourceView = new ResourceSearchView(criteria, MSG.view_taggedResources_title());
viewsWithTags.add(resourceView);
- tab = new LocatableTab(MSG.view_taggedResources_title());
+ tab = new Tab(MSG.view_taggedResources_title());
tab.setIcon(ImageManager.getResourceIcon(ResourceCategory.SERVICE));
tab.setPane(resourceView);
container.addTab(tab);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java
deleted file mode 100644
index 7777b6a..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright (C) 2005-2010 Red Hat, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.rhq.enterprise.gui.coregui.client.util.selenium;
-
-import com.smartgwt.client.widgets.tab.Tab;
-
-/**
- * Wrapper for com.smartgwt.client.widgets.tab.Tab that sets the ID for use with selenium scLocators.
- *
- * @author Jay Shaughnessy
- */
-public class LocatableTab extends Tab implements Enhanced {
-
- private String locatorId;
-
- /**
- * <pre>
- * ID Format: "simpleClassname_locatorId"
- * </pre>
- * @param locatorId not null or empty.
- */
- public LocatableTab(String title) {
- super(title);
- init("TODO!!!!");
- }
-
- /**
- * <pre>
- * ID Format: "Tab-locatorId"
- * </pre>
- * @param locatorId not null or empty.
- */
- public LocatableTab(String title, String icon) {
- super(title, icon);
- init("TODO!!!");
- }
-
- private void init(String locatorId) {
- this.locatorId = locatorId;
- if (!SeleniumUtility.isUseDefaultIds()) {
- String unsafeId = "Tab-" + locatorId;
- setID(SeleniumUtility.getSafeId(unsafeId));
- }
- }
-
- public String getLocatorId() {
- return locatorId;
- }
-
- public String extendLocatorId(String extension) {
- return this.locatorId + "_" + extension;
- }
-
-}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTabSet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTabSet.java
deleted file mode 100644
index 667a69b..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTabSet.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright (C) 2005-2010 Red Hat, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.rhq.enterprise.gui.coregui.client.util.selenium;
-
-import com.smartgwt.client.widgets.tab.Tab;
-import com.smartgwt.client.widgets.tab.TabSet;
-
-/**
- * Wrapper for com.smartgwt.client.widgets.tab.Tab that sets the ID for use with selenium scLocators.
- *
- * @author Jay Shaughnessy
- */
-public class LocatableTabSet extends TabSet {
-
- private String locatorId;
-
- /**
- * <pre>
- * ID Format: "simpleClassname_locatorId"
- * </pre>
- * @param locatorId not null or empty.
- */
- public LocatableTabSet(String locatorId) {
- super();
- this.locatorId = locatorId;
- SeleniumUtility.setID(this, locatorId);
- }
-
- public LocatableTabSet() {
- super();
- this.locatorId = "TODO";
- SeleniumUtility.setID(this, locatorId);
- }
-
- public void setTabs(LocatableTab... tabs) {
- super.setTabs(tabs);
- }
-
- public LocatableTab[] getTabs() {
- Tab[] tabs = super.getTabs();
- LocatableTab[] locatableTabs = new LocatableTab[tabs.length];
- for (int i = 0, tabsLength = tabs.length; i < tabsLength; i++) {
- Tab tab = tabs[i];
- if (!(tab instanceof LocatableTab)) {
- throw new IllegalStateException("LocatableTabSet contains a Tab that is not a LocatableTab.");
- }
- locatableTabs[i] = (LocatableTab) tab;
- }
- return locatableTabs;
- }
-
- /**
- * Returns the locatorId. This can be useful for constructing more granular locatorIds. For example, if
- * the widget contains sub-widgets. Note, this is the raw locatorId for the widget, to get the fully
- * formed ID, typically of the form "simpleClassname_locatorId", call
- * {@link com.smartgwt.client.widgets.Canvas#getID()}.
- *
- * @return the locatorId
- */
- public String getLocatorId() {
- return locatorId;
- }
-
- /**
- * Extends this widget's original locatorId with an extension. This can be useful for constructing more
- * granular locatorIds. For example, if the widget contains sub-widgets.
- * <pre>
- * ID Format: "getLocatorId()_extension"
- * </pre>
- *
- * @param extension not null or empty.
- *
- * @return the new, extended locatorId
- */
- public String extendLocatorId(String extension) {
- return this.locatorId + "_" + extension;
- }
-
- public LocatableTab getTabByTitle(String title) {
- LocatableTab[] tabs = getTabs();
- for (LocatableTab tab : tabs) {
- if (tab.getTitle().equals(title)) {
- return tab;
- }
- }
- return null;
- }
-
- public LocatableTab getTabByLocatorId(String locatorId) {
- LocatableTab[] tabs = getTabs();
- for (LocatableTab tab : tabs) {
- if (tab.getLocatorId().equals(locatorId)) {
- return tab;
- }
- }
- return null;
- }
-}
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..5c082dc 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
@@ -1,14 +1,8 @@
package org.rhq.enterprise.gui.coregui.client.util.selenium;
-import com.google.gwt.user.client.ui.UIObject;
-import com.smartgwt.client.widgets.BaseWidget;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.layout.Layout;
-import org.rhq.enterprise.gui.coregui.client.CoreGUI;
-import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
-
/**
* Utilities for assisting with Selenium Automation
*
@@ -16,45 +10,6 @@ import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
*/
public class SeleniumUtility {
- /** A default id that is not ecommended as it will clash with any other element set to the default */
- public static final String DEFAULT_ID = "DefaultID";
-
- /**
- * When true ignore any explicit locatorId assignment and use the standard
- * ids generated by smartgwt.
- */
- private static boolean useDefaultIds = true;
-
- /**
- * A utility for assigning an ID to a smartgwt widget. Any current ID will be overwritten. The algorithm is:
- * <pre>
- * ID Format: "simpleClassname_locatorId"
- * </pre>
- * @return the updated widget
- */
- static public <T extends BaseWidget> T setID(final T widget, String locatorId) {
- if (useDefaultIds) {
- return widget;
- }
-
- String unsafeId = getSimpleClassName(widget) + "_" + locatorId;
- String safeId = SeleniumUtility.getSafeId(unsafeId, DEFAULT_ID);
- Canvas canvasWithId = Canvas.getById(safeId);
- if (null != canvasWithId) {
- try {
- canvasWithId.destroy();
- CoreGUI.getMessageCenter().notify(
- new Message("ID Conflict resolved: " + safeId, getSmallStackTrace(null), Severity.Warning));
- } catch (Throwable t) {
- CoreGUI.getMessageCenter().notify(
- new Message("ID Conflict unresolved: " + getSmallStackTrace(t), Severity.Info));
- }
- }
- widget.setID(safeId);
-
- return widget;
- }
-
static public String getSimpleClassName(final Object widget) {
String className = widget.getClass().getName();
return className.substring(className.lastIndexOf(".") + 1);
@@ -74,43 +29,6 @@ public class SeleniumUtility {
return smallStack.toString();
}
- /**
- * A utility for assigning an ID to a gwt uiobject. For a smartgwt widget use {@link setId(BaseWidget)}.
- * 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.
- * Else the ID is set to the uiobject's hashcode
- * </pre>
- *
- * @param uiObject
- * @param unsafeId
- * @return the updated uiObject
- */
- static public <T extends UIObject> T setHtmlId(final T uiObject, String unsafeId) {
- if (useDefaultIds) {
- return uiObject;
- }
-
- String id = getSafeId(unsafeId, String.valueOf(uiObject.hashCode()));
- uiObject.getElement().setAttribute("id", id);
-
- return uiObject;
- }
-
- /**
- * Use only if you are sure the unsafeId is not null or empty, or if DEFAULT_ID is acceptable.
- * <pre>
- * Equivalent to:
- *
- * getSafeId( unsafeId, DEFAULT_ID );
- * </pre>
- * @param unsafeId The desired Id but with potential problems
- * @return a safe version of unsafeId, or, if unsafeId is null or empty, DEFAULT_ID
- */
- static public String getSafeId(String unsafeId) {
- return getSafeId(unsafeId, DEFAULT_ID);
- }
-
/**
* Currently performs the following:
* <pre>
@@ -131,8 +49,18 @@ public class SeleniumUtility {
return safeId;
}
- static public boolean isUseDefaultIds() {
- return useDefaultIds;
+ /**
+ * Use only if you are sure the unsafeId is not null or empty, or if DEFAULT_ID is acceptable.
+ * <pre>
+ * Equivalent to:
+ *
+ * getSafeId( unsafeId, DEFAULT_ID );
+ * </pre>
+ * @param unsafeId The desired Id but with potential problems
+ * @return a safe version of unsafeId, or, if unsafeId is null or empty, DEFAULT_ID
+ */
+ static public String getSafeId(String unsafeId) {
+ return getSafeId(unsafeId, "DEFAULTID");
}
/**
@@ -156,33 +84,4 @@ public class SeleniumUtility {
}
}
- public static boolean getUseDefaultIds() {
- return SeleniumUtility.useDefaultIds;
- }
-
- public static void setUseDefaultIds(boolean useDefaultIds) {
- SeleniumUtility.useDefaultIds = useDefaultIds;
- }
-
- /**
- * Return a locatable href element for locatable links: The return id will be:
- * <pre>
- * value[_suffix]
- *
- * Unsafe characters will be removed or converted as per getSafeId(). The "_suffix" is
- * added only if a non-null suffix is supplied. The suffix can be used a discriminator, if necessary,
- * for unique ids among duplicated values.
- * </pre>
- *
- * @param url the target url
- * @param value the display value for the link
- * @param suffix optional discriminator
- * @return
- */
- static public String getLocatableHref(String url, String value, String suffix) {
- String safeId = getSafeId(value + ((null == suffix) ? "" : ("_" + suffix)));
- String result = "<a id=\"" + safeId + "\" href=\"" + url + "\">" + value + "</a>";
- return result;
- }
-
}
11 years, 2 months
[rhq] Branch 'jshaughn/selenium' - 2 commits - modules/enterprise
by Jay Shaughnessy
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/Footer.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LoginView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AgentPluginDetailView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/DownloadsView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginControlView.java | 17 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginDetailView.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/PermissionsEditor.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java | 27 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleResourceGroupSelector.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/AlertDefinitionTemplateTypeView.java | 11 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/DriftDefinitionTemplateTypeView.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/MetricTemplateTypeView.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/ResourceTypeTreeView.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/TemplateSchedulesView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupDetailView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentDetailView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/PartitionEventDetailView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerDetailView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDetailsView.java | 13 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractNotificationSenderForm.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/CliNotificationSenderForm.java | 20 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsAlertDefinitionForm.java | 13 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsEditor.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/GroupAlertDefinitionsView.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NotificationsAlertDefinitionForm.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceOperationNotificationSenderForm.java | 15 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java | 11 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/TemplateAlertDefinitionsView.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDataStep.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/DeployStep.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentListView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleDeploymentView.java | 40 ++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleResourceDeploymentHistoryListView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationView.java | 42 ++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleView.java | 48 ++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/RevertStep.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionView.java | 53 +++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/file/FileListView.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/AboutModalWindow.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/TitleBar.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/BookmarkableCarousel.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java | 28 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java | 38 ++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/GroupConfigurationEditor.java | 27 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java | 18 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java | 17 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/sorter/ReorderableList.java | 16 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTab.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java | 11 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/AbstractTableSection.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java | 24 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tagging/TagEditorView.java | 11 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/trigger/JobTriggerEditor.java | 16 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/AbstractSectionedLeftNavigationView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardView.java | 15 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java | 15 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortalLayout.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupBundleDeploymentsPortlet.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupConfigurationUpdatesPortlet.java | 16 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupEventsPortlet.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOperationsPortlet.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupPkgHistoryPortlet.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/alerts/AbstractRecentAlertsPortlet.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/drift/AbstractRecentDriftsPortlet.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/imported/RecentlyAddedResourcesPortlet.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/AbstractOperationHistoryPortlet.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/OperationSchedulePortlet.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceEventsPortlet.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/summary/InventorySummaryPortlet.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionEditView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplateEditView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDetailsView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddDefinitionWizardConfigStep.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardInfoStep.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/InventoryView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMetricGraphView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractSchedulesView.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/monitoring/IFrameWithMeasurementRangeEditorView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDetailsView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDetailsView.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionExpressionBuilder.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/SingleGroupDefinitionView.java | 9 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/GeneralProperties.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java | 35 +---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTitleBar.java | 47 ++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTreeView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationMembers.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationSettings.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationTable.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationView.java | 12 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationMembers.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationSettings.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationTable.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationView.java | 9 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/MembersView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/ResourceGroupMembershipView.java | 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/ResourceGroupResourceSelector.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/ResourceGroupSchedulesView.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMeasurementTableView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMembersHealthView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMonitoringTablesView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryDetailsView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleDetailsView.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java | 13 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ChildHistoryDetails.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java | 36 +---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java | 44 ++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ConfigurationHistoryDetailView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationHistoryDetailView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceAgentView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceGroupSelector.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceGroupsView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/GraphListView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/LiveGraphView.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/ResourceMetricGraphView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/avail/ResourceAvailabilityView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/ResourceSchedulesView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/history/ResourceOperationHistoryDetailsView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java | 14 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/TimelineView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/discovery/ResourceAutodiscoveryView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryConfigurationStep.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourcePicker.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/SingleResourcePicker.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/PluginTypeTreeView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/ResourceTypeTreeView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/menu/MenuBarView.java | 8
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/inventory/DriftComplianceReport.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/inventory/ResourceInstallReport.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TagCloudView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TaggedView.java | 19 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestMessageCenterView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestNumberFormatView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestTopView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationView.java | 12 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestGroupConfigurationView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/Enhanced.java | 35 ++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedHLayout.java | 6
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedHStack.java | 51 +++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedIButton.java | 19 --
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedLayout.java | 27 +++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedToolStrip.java | 27 +++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedVLayout.java | 31 +++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedVStack.java | 31 +++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/Locatable.java | 36 ----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHStack.java | 86 ----------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLayout.java | 43 -----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java | 10 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableToolStrip.java | 43 -----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTransferImgButton.java | 59 ------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVLayout.java | 59 ------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVStack.java | 57 ------
177 files changed, 915 insertions(+), 1166 deletions(-)
New commits:
commit f9530e22303ee5f39f5b00c0a621e863f665d70a
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Fri Feb 22 12:15:00 2013 -0500
If I only had a brain... migrate more Locatables to Enhanced
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/Footer.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/Footer.java
index 8e6ade0..fef0d88 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/Footer.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/Footer.java
@@ -30,7 +30,7 @@ import org.rhq.enterprise.gui.coregui.client.util.message.MessageBar;
import org.rhq.enterprise.gui.coregui.client.util.message.MessageCenterView;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
@@ -75,8 +75,8 @@ public class Footer extends EnhancedHLayout {
addMember(createHSpacer(0));
}
- private LocatableVLayout getMessageCenterButton() {
- LocatableVLayout layout = new LocatableVLayout();
+ private EnhancedVLayout getMessageCenterButton() {
+ EnhancedVLayout layout = new EnhancedVLayout();
layout.setMembersMargin(5);
layout.setHeight100();
layout.setAlign(Alignment.CENTER);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LoginView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LoginView.java
index 8749176..5d3fb6e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LoginView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LoginView.java
@@ -70,7 +70,7 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTyp
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
@@ -238,7 +238,7 @@ public class LoginView extends Canvas {
int fieldWidth = 120;
//Build registration window.
- LocatableVLayout column = new LocatableVLayout();
+ EnhancedVLayout column = new EnhancedVLayout();
column.setMargin(25);
HeaderItem header = new HeaderItem();
//Locate product info for registration screen.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
index 80e521e..4e0ee4a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
@@ -47,7 +47,7 @@ import org.rhq.enterprise.gui.coregui.client.components.view.NavigationItem;
import org.rhq.enterprise.gui.coregui.client.components.view.NavigationSection;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewFactory;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* The Administration top-level view.
@@ -106,7 +106,7 @@ public class AdministrationView extends AbstractSectionedLeftNavigationView {
}
protected VLayout defaultView() {
- LocatableVLayout vLayout = new LocatableVLayout();
+ EnhancedVLayout vLayout = new EnhancedVLayout();
vLayout.setWidth100();
// TODO: Admin icon.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AgentPluginDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AgentPluginDetailView.java
index ea7cb67..4dfad2f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AgentPluginDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AgentPluginDetailView.java
@@ -36,14 +36,14 @@ import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.PluginGWTServiceAsync;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* Shows details of an agent plugin.
*
* @author John Mazzitelli
*/
-public class AgentPluginDetailView extends LocatableVLayout {
+public class AgentPluginDetailView extends EnhancedVLayout {
private final PluginGWTServiceAsync pluginManager = GWTServiceLookup.getPluginService();
private final int pluginId;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/DownloadsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/DownloadsView.java
index 74f34b5..5aef971 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/DownloadsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/DownloadsView.java
@@ -38,7 +38,7 @@ import org.rhq.enterprise.gui.coregui.client.IconEnum;
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.gwt.SystemGWTServiceAsync;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A simple page to view the downloads the server provides (like
@@ -46,7 +46,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
*
* @author John Mazzitelli
*/
-public class DownloadsView extends LocatableVLayout {
+public class DownloadsView extends EnhancedVLayout {
public static final ViewName VIEW_ID = new ViewName("Downloads", MSG.view_adminConfig_downloads(),
IconEnum.DOWNLOAD);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginControlView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginControlView.java
index c923a94..a098d54 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginControlView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginControlView.java
@@ -53,27 +53,26 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.PluginGWTServiceAsync;
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.LocatableVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVStack;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVStack;
/**
* A component used to invoke controls on a server plugin.
*
* @author John Mazzitelli
*/
-public class ServerPluginControlView extends LocatableVStack {
+public class ServerPluginControlView extends EnhancedVStack {
private final ServerPlugin plugin;
private final ArrayList<ServerPluginControlDefinition> controlDefinitions;
- private LocatableVLayout paramsLayout;
- private LocatableVLayout resultsLayout;
+ private EnhancedVLayout paramsLayout;
+ private EnhancedVLayout resultsLayout;
private String selectedControlName;
private ConfigurationDefinition selectedParamsDef;
private ConfigurationEditor selectedParamsEditor;
private ConfigurationDefinition selectedResultsDef;
- public ServerPluginControlView(String locatorId, ServerPlugin plugin,
- ArrayList<ServerPluginControlDefinition> controlDefs) {
+ public ServerPluginControlView(ServerPlugin plugin, ArrayList<ServerPluginControlDefinition> controlDefs) {
super();
this.plugin = plugin;
this.controlDefinitions = controlDefs;
@@ -88,11 +87,11 @@ public class ServerPluginControlView extends LocatableVStack {
DynamicForm form = new DynamicForm();
addMember(form);
- paramsLayout = new LocatableVLayout();
+ paramsLayout = new EnhancedVLayout();
paramsLayout.setVisible(false);
addMember(paramsLayout);
- resultsLayout = new LocatableVLayout();
+ resultsLayout = new EnhancedVLayout();
resultsLayout.setVisible(false);
addMember(resultsLayout);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginDetailView.java
index ae760ea..fedfa5a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginDetailView.java
@@ -55,14 +55,14 @@ import org.rhq.enterprise.gui.coregui.client.gwt.PluginGWTServiceAsync;
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.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* Shows details of a server plugin.
*
* @author John Mazzitelli
*/
-public class ServerPluginDetailView extends LocatableVLayout {
+public class ServerPluginDetailView extends EnhancedVLayout {
private final PluginGWTServiceAsync pluginManager = GWTServiceLookup.getPluginService();
private final int pluginId;
@@ -164,7 +164,7 @@ public class ServerPluginDetailView extends LocatableVLayout {
if (result != null && !result.isEmpty()) {
SectionStackSection section = new SectionStackSection(MSG.view_admin_plugins_serverControls());
section.setExpanded(false);
- section.addItem(new ServerPluginControlView(extendLocatorId("controlView"), plugin, result));
+ section.addItem(new ServerPluginControlView(plugin, result));
controlsSection = section;
}
@@ -183,7 +183,7 @@ public class ServerPluginDetailView extends LocatableVLayout {
pluginManager.getServerPluginConfigurationDefinition(pluginKey, new AsyncCallback<ConfigurationDefinition>() {
public void onSuccess(ConfigurationDefinition def) {
if (def != null) {
- LocatableVLayout layout = new LocatableVLayout(extendLocatorId("pcEditorLayout"));
+ EnhancedVLayout layout = new EnhancedVLayout();
ToolStrip buttons = new ToolStrip();
buttons.setWidth100();
@@ -269,7 +269,7 @@ public class ServerPluginDetailView extends LocatableVLayout {
pluginManager.getServerPluginScheduledJobsDefinition(pluginKey, new AsyncCallback<ConfigurationDefinition>() {
public void onSuccess(ConfigurationDefinition def) {
if (def != null) {
- LocatableVLayout layout = new LocatableVLayout(extendLocatorId("sjEditorLayout"));
+ EnhancedVLayout layout = new EnhancedVLayout();
ToolStrip buttons = new ToolStrip();
buttons.setWidth100();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java
index d0b9923..684693a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java
@@ -55,21 +55,21 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
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.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A simple form to view and edit the server system settings.
*
* @author John Mazzitelli
*/
-public class SystemSettingsView extends LocatableVLayout implements PropertyValueChangeListener {
+public class SystemSettingsView extends EnhancedVLayout implements PropertyValueChangeListener {
public static final ViewName VIEW_ID = new ViewName("SystemSettings", MSG.view_adminConfig_systemSettings(),
IconEnum.CONFIGURE);
public static final String VIEW_PATH = AdministrationView.VIEW_ID + "/"
+ AdministrationView.SECTION_CONFIGURATION_VIEW_ID + "/" + VIEW_ID;
- private LocatableVLayout canvas;
+ private EnhancedVLayout canvas;
private ConfigurationEditor editor;
private IButton saveButton;
private IButton dumpToLogButton;
@@ -79,7 +79,7 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
setHeight100();
setWidth100();
- canvas = new LocatableVLayout("innerLayout");
+ canvas = new EnhancedVLayout();
canvas.setHeight100();
canvas.setWidth100();
canvas.setMargin(15);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java
index bcc1d3a..a0fde34 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/agent/install/RemoteAgentInstallView.java
@@ -53,12 +53,12 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.RemoteInstallGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementConverterClient;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
*/
-public class RemoteAgentInstallView extends LocatableVLayout {
+public class RemoteAgentInstallView extends EnhancedVLayout {
public static final ViewName VIEW_ID = new ViewName("RemoteAgentInstall",
MSG.view_adminTopology_remoteAgentInstall(), IconEnum.AGENT);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/PermissionsEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/PermissionsEditor.java
index 58c7a52..7f1541e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/PermissionsEditor.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/PermissionsEditor.java
@@ -49,14 +49,14 @@ import org.rhq.core.domain.common.ProductInfo;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.Messages;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVStack;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVStack;
/**
* An editor for editing the set of RHQ {@link Permission permission}s associated with an RHQ {@link Role role}.
*
* @author Ian Springer
*/
-public class PermissionsEditor extends LocatableVStack {
+public class PermissionsEditor extends EnhancedVStack {
private static Messages MSG = CoreGUI.getMessages();
@@ -68,7 +68,7 @@ public class PermissionsEditor extends LocatableVStack {
private Object originalValue;
public PermissionsEditor(RoleEditView roleEditView, boolean isReadOnly) {
- super(roleEditView.extendLocatorId("Permissions"));
+ super();
this.roleEditView = roleEditView;
this.isReadOnly = isReadOnly;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java
index 0c2187c..77feb73 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleEditView.java
@@ -53,7 +53,7 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.selection.ResourceGroupSelector;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A form for viewing and/or editing an RHQ {@link Role role}.
@@ -134,8 +134,8 @@ public class RoleEditView extends AbstractRecordEditor<RolesDataSource> implemen
}
@Override
- protected LocatableVLayout buildContentPane() {
- LocatableVLayout contentPane = new LocatableVLayout(extendLocatorId("Content"));
+ protected EnhancedVLayout buildContentPane() {
+ EnhancedVLayout contentPane = new EnhancedVLayout();
contentPane.setWidth100();
contentPane.setHeight100();
contentPane.setOverflow(Overflow.AUTO);
@@ -143,14 +143,14 @@ public class RoleEditView extends AbstractRecordEditor<RolesDataSource> implemen
EnhancedDynamicForm form = buildForm();
setForm(form);
- LocatableVLayout topPane = new LocatableVLayout(extendLocatorId("Top"));
+ EnhancedVLayout topPane = new EnhancedVLayout();
topPane.setWidth100();
topPane.setHeight(80);
topPane.addMember(form);
contentPane.addMember(topPane);
- LocatableTabSet tabSet = new LocatableTabSet(contentPane.extendLocatorId("TabSet"));
+ LocatableTabSet tabSet = new LocatableTabSet();
tabSet.setWidth100();
tabSet.setHeight100();
@@ -177,32 +177,29 @@ public class RoleEditView extends AbstractRecordEditor<RolesDataSource> implemen
}
private LocatableTab buildPermissionsTab(LocatableTabSet tabSet) {
- LocatableTab tab = new LocatableTab(tabSet.extendLocatorId("Permissions"), MSG.common_title_permissions(),
- "global/Locked_16.png");
+ LocatableTab tab = new LocatableTab(MSG.common_title_permissions(), "global/Locked_16.png");
// NOTE: We will set the tab content to the permissions editor later once the Role has been fetched.
return tab;
}
private LocatableTab buildResourceGroupsTab(LocatableTabSet tabSet) {
- LocatableTab tab = new LocatableTab(tabSet.extendLocatorId("ResourceGroups"),
- MSG.common_title_resourceGroups(), ImageManager.getGroupIcon(GroupCategory.MIXED));
+ LocatableTab tab = new LocatableTab(MSG.common_title_resourceGroups(),
+ ImageManager.getGroupIcon(GroupCategory.MIXED));
// NOTE: We will set the tab content to the resource group selector later once the Role has been fetched.
return tab;
}
private LocatableTab buildSubjectsTab(LocatableTabSet tabSet) {
- LocatableTab tab = new LocatableTab(tabSet.extendLocatorId("Users"), MSG.common_title_users(),
- "global/User_16.png");
+ LocatableTab tab = new LocatableTab(MSG.common_title_users(), "global/User_16.png");
// NOTE: We will set the tab content to the subject selector later once the Role has been fetched.
return tab;
}
private LocatableTab buildLdapGroupsTab(LocatableTabSet tabSet) {
- LocatableTab tab = new LocatableTab(tabSet.extendLocatorId("LdapGroups"), MSG.common_title_ldapGroups(),
- "global/Role_16.png");
+ LocatableTab tab = new LocatableTab(MSG.common_title_ldapGroups(), "global/Role_16.png");
// NOTE: We will set the tab content to the LDAP group selector later once the Role has been fetched.
return tab;
@@ -241,8 +238,8 @@ public class RoleEditView extends AbstractRecordEditor<RolesDataSource> implemen
if (!this.isSystemRole) {
Record[] groupRecords = record.getAttributeAsRecordArray(RolesDataSource.Field.RESOURCE_GROUPS);
ListGridRecord[] groupListGridRecords = toListGridRecordArray(groupRecords);
- this.resourceGroupSelector = new RoleResourceGroupSelector(this.extendLocatorId("Groups"),
- groupListGridRecords, !this.hasManageSecurityPermission);
+ this.resourceGroupSelector = new RoleResourceGroupSelector(groupListGridRecords,
+ !this.hasManageSecurityPermission);
this.resourceGroupSelector.addAssignedItemsChangedHandler(new AssignedItemsChangedHandler() {
public void onSelectionChanged(AssignedItemsChangedEvent event) {
onItemChanged();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleResourceGroupSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleResourceGroupSelector.java
index 3b719da..a6b5154 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleResourceGroupSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/RoleResourceGroupSelector.java
@@ -31,9 +31,9 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.selection.Resour
*/
public class RoleResourceGroupSelector extends ResourceGroupSelector {
- public RoleResourceGroupSelector(String locatorId, ListGridRecord[] groupRecords, boolean isReadOnly) {
+ public RoleResourceGroupSelector(ListGridRecord[] groupRecords, boolean isReadOnly) {
super(isReadOnly);
-
+
setAssigned(groupRecords);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/AlertDefinitionTemplateTypeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/AlertDefinitionTemplateTypeView.java
index 78bca06..ecc9413 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/AlertDefinitionTemplateTypeView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/AlertDefinitionTemplateTypeView.java
@@ -45,14 +45,15 @@ import org.rhq.enterprise.gui.coregui.client.alert.definitions.TemplateAlertDefi
import org.rhq.enterprise.gui.coregui.client.components.TitleBar;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
import org.rhq.enterprise.gui.coregui.client.util.Log;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
*/
public class AlertDefinitionTemplateTypeView extends ResourceTypeTreeView {
- public static final ViewName VIEW_ID = new ViewName("AlertDefTemplates", MSG.view_adminConfig_alertDefTemplates(), IconEnum.ALERT_FLAG_BLUE);
+ public static final ViewName VIEW_ID = new ViewName("AlertDefTemplates", MSG.view_adminConfig_alertDefTemplates(),
+ IconEnum.ALERT_FLAG_BLUE);
public static final String VIEW_PATH = ResourceTypeTreeView.VIEW_PATH + VIEW_ID;
public static final String ATTR_ENABLED_TEMPLATES = "enabledTemplates";
@@ -110,9 +111,7 @@ public class AlertDefinitionTemplateTypeView extends ResourceTypeTreeView {
public void onPermissionsLoaded(Set<Permission> permissions) {
final Layout alertCanvas = getCanvas();
- String locatorId = extendLocatorId("alertTemplateDef");
- final TemplateAlertDefinitionsView defsView = new TemplateAlertDefinitionsView(locatorId, type,
- permissions);
+ final TemplateAlertDefinitionsView defsView = new TemplateAlertDefinitionsView(type, permissions);
renderTemplateAlertView(alertCanvas, defsView, viewPath);
}
});
@@ -150,7 +149,7 @@ public class AlertDefinitionTemplateTypeView extends ResourceTypeTreeView {
private Layout getCanvas() {
if (null == this.canvas) {
- LocatableVLayout layout = new LocatableVLayout(extendLocatorId("alertTemplateLayout"));
+ EnhancedVLayout layout = new EnhancedVLayout();
layout.setHeight100();
layout.setWidth100();
layout.setMargin(5);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/DriftDefinitionTemplateTypeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/DriftDefinitionTemplateTypeView.java
index 07c9ee3..ebeb516 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/DriftDefinitionTemplateTypeView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/DriftDefinitionTemplateTypeView.java
@@ -48,7 +48,7 @@ import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
import org.rhq.enterprise.gui.coregui.client.drift.DriftDefinitionTemplatesView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
import org.rhq.enterprise.gui.coregui.client.util.Log;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
@@ -57,7 +57,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
public class DriftDefinitionTemplateTypeView extends ResourceTypeTreeView {
public static final ViewName VIEW_ID = new ViewName("DriftDefTemplates", MSG.view_adminConfig_driftDefTemplates(),
- IconEnum.DRIFT_COMPLIANCE);
+ IconEnum.DRIFT_COMPLIANCE);
public static final String VIEW_PATH = ResourceTypeTreeView.VIEW_PATH + VIEW_ID;
public static final String ATTR_PLUGIN_TEMPLATES = "pluginTemplates";
@@ -113,8 +113,8 @@ public class DriftDefinitionTemplateTypeView extends ResourceTypeTreeView {
public void onPermissionsLoaded(Set<Permission> permissions) {
Layout templatesCanvas = getCanvas();
- DriftDefinitionTemplatesView view = new DriftDefinitionTemplatesView(extendLocatorId("DriftTemplates"),
- type, permissions.contains(Permission.MANAGE_SETTINGS));
+ DriftDefinitionTemplatesView view = new DriftDefinitionTemplatesView(type, permissions
+ .contains(Permission.MANAGE_SETTINGS));
renderTemplateView(templatesCanvas, view, viewPath);
}
@@ -159,7 +159,7 @@ public class DriftDefinitionTemplateTypeView extends ResourceTypeTreeView {
private Layout getCanvas() {
if (this.canvas == null) {
- LocatableVLayout layout = new LocatableVLayout(extendLocatorId("metricTemplateLayout"));
+ EnhancedVLayout layout = new EnhancedVLayout();
layout.setHeight100();
layout.setWidth100();
layout.setMargin(5);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/MetricTemplateTypeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/MetricTemplateTypeView.java
index d40d198..8f8e4ea 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/MetricTemplateTypeView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/MetricTemplateTypeView.java
@@ -43,7 +43,7 @@ import org.rhq.enterprise.gui.coregui.client.PermissionsLoader;
import org.rhq.enterprise.gui.coregui.client.ViewPath;
import org.rhq.enterprise.gui.coregui.client.components.TitleBar;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
@@ -109,8 +109,7 @@ public class MetricTemplateTypeView extends ResourceTypeTreeView {
public void onPermissionsLoaded(Set<Permission> permissions) {
Layout metricCanvas = getCanvas();
- TemplateSchedulesView templateSchedulesView = new TemplateSchedulesView(
- extendLocatorId("MetricTemplate"), type, permissions);
+ TemplateSchedulesView templateSchedulesView = new TemplateSchedulesView(type, permissions);
prepareSubCanvas(metricCanvas, templateSchedulesView, true);
switchToCanvas(MetricTemplateTypeView.this, metricCanvas);
}
@@ -119,7 +118,7 @@ public class MetricTemplateTypeView extends ResourceTypeTreeView {
private Layout getCanvas() {
if (this.canvas == null) {
- LocatableVLayout layout = new LocatableVLayout(extendLocatorId("metricTemplateLayout"));
+ EnhancedVLayout layout = new EnhancedVLayout();
layout.setHeight100();
layout.setWidth100();
layout.setMargin(5);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/ResourceTypeTreeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/ResourceTypeTreeView.java
index 21ae386..41b9f50 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/ResourceTypeTreeView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/ResourceTypeTreeView.java
@@ -50,7 +50,7 @@ import org.rhq.enterprise.gui.coregui.client.admin.AdministrationView;
import org.rhq.enterprise.gui.coregui.client.components.TitleBar;
import org.rhq.enterprise.gui.coregui.client.components.buttons.BackButton;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -60,7 +60,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
* @author Greg Hinkle
* @author John Mazzitelli
*/
-public abstract class ResourceTypeTreeView extends LocatableVLayout implements BookmarkableView {
+public abstract class ResourceTypeTreeView extends EnhancedVLayout implements BookmarkableView {
public static final String VIEW_PATH = AdministrationView.VIEW_ID + "/"
+ AdministrationView.SECTION_CONFIGURATION_VIEW_ID + "/";
@@ -118,7 +118,7 @@ public abstract class ResourceTypeTreeView extends LocatableVLayout implements B
private Canvas getGridCanvas() {
if (this.gridCanvas == null) {
- LocatableVLayout layout = new LocatableVLayout(extendLocatorId("gridLayout"));
+ EnhancedVLayout layout = new EnhancedVLayout();
TitleBar titleBar = getTitleBar();
titleBar.setExtraSpace(10);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/TemplateSchedulesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/TemplateSchedulesView.java
index b08a5a1..9c5a823 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/TemplateSchedulesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/templates/TemplateSchedulesView.java
@@ -41,8 +41,8 @@ public class TemplateSchedulesView extends AbstractSchedulesView {
private boolean updateExistingSchedules = true;
private String typeId;
- public TemplateSchedulesView(String locatorId, ResourceType type, Set<Permission> globalPermissions) {
- super(locatorId, getTitle(type), EntityContext.forTemplate(type.getId()), globalPermissions
+ public TemplateSchedulesView(ResourceType type, Set<Permission> globalPermissions) {
+ super(getTitle(type), EntityContext.forTemplate(type.getId()), globalPermissions
.contains(Permission.MANAGE_INVENTORY));
this.typeId = String.valueOf(type.getId());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupDetailView.java
index b9f308b..f79e640 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupDetailView.java
@@ -40,15 +40,15 @@ import org.rhq.enterprise.gui.coregui.client.ViewPath;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableToolStrip;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* Shows details of a affinity group.
*
* @author Jirka Kremser
*/
-public class AffinityGroupDetailView extends LocatableVLayout implements BookmarkableView {
+public class AffinityGroupDetailView extends EnhancedVLayout implements BookmarkableView {
private final int affinityGroupId;
@@ -166,7 +166,7 @@ public class AffinityGroupDetailView extends LocatableVLayout implements Bookmar
final TextItem nameItem = new TextItem(FIELD_NAME.propertyName(), FIELD_NAME.title());
nameItem.setValue(affinityGroup.getName());
- LocatableToolStrip footer = new LocatableToolStrip();
+ EnhancedToolStrip footer = new EnhancedToolStrip();
footer.setPadding(5);
footer.setWidth100();
footer.setMembersMargin(15);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentDetailView.java
index 2fc23ff..927afb3 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AgentDetailView.java
@@ -46,7 +46,7 @@ import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
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.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -54,7 +54,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
*
* @author Jirka Kremser
*/
-public class AgentDetailView extends LocatableVLayout {
+public class AgentDetailView extends EnhancedVLayout {
private final int agentId;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/PartitionEventDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/PartitionEventDetailView.java
index 99f7ef8..d224d01 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/PartitionEventDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/PartitionEventDetailView.java
@@ -50,14 +50,14 @@ import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellForma
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.TopologyGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.util.Log;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* Shows details of a partition event.
*
* @author Jirka Kremser
*/
-public class PartitionEventDetailView extends LocatableVLayout implements BookmarkableView {
+public class PartitionEventDetailView extends EnhancedVLayout implements BookmarkableView {
private final int partitionEventId;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerDetailView.java
index 383aaf7..a27943a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/ServerDetailView.java
@@ -56,8 +56,8 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableToolStrip;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -65,7 +65,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
*
* @author Jirka Kremser
*/
-public class ServerDetailView extends LocatableVLayout implements BookmarkableView {
+public class ServerDetailView extends EnhancedVLayout implements BookmarkableView {
private final int serverId;
@@ -248,7 +248,7 @@ public class ServerDetailView extends LocatableVLayout implements BookmarkableVi
form.setItems(nameItem, addressItem, portItem, securePortItem, operationModeItem, affinityGroupItem,
installationDateItem, lastUpdatetem);
- LocatableToolStrip footer = new LocatableToolStrip();
+ EnhancedToolStrip footer = new EnhancedToolStrip();
footer.setPadding(5);
footer.setWidth100();
footer.setMembersMargin(15);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDetailsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDetailsView.java
index ba6d079..5db8379 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDetailsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/AlertDetailsView.java
@@ -55,13 +55,13 @@ import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellForma
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.util.Log;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Joseph Marques
* @author Ian Springer
*/
-public class AlertDetailsView extends LocatableVLayout implements BookmarkableView {
+public class AlertDetailsView extends EnhancedVLayout implements BookmarkableView {
private int alertId;
@@ -105,16 +105,13 @@ public class AlertDetailsView extends LocatableVLayout implements BookmarkableVi
private TabSet getDetailsTabSet(Record record) {
TabSet tabset = new NamedTabSet();
- Tab generalTab = new NamedTab(extendLocatorId("general"), new ViewName("general",
- MSG.view_alert_common_tab_general()));
+ Tab generalTab = new NamedTab(new ViewName("general", MSG.view_alert_common_tab_general()));
generalTab.setPane(getDetailsTableForAlert(record));
- Tab conditionsTab = new NamedTab(extendLocatorId("conditions"), new ViewName("conditions",
- MSG.view_alert_common_tab_conditions()));
+ Tab conditionsTab = new NamedTab(new ViewName("conditions", MSG.view_alert_common_tab_conditions()));
conditionsTab.setPane(getConditionsForAlert(record));
- Tab notificationsTab = new NamedTab(extendLocatorId("notifications"), new ViewName("notifications",
- MSG.view_alert_common_tab_notifications()));
+ Tab notificationsTab = new NamedTab(new ViewName("notifications", MSG.view_alert_common_tab_notifications()));
notificationsTab.setPane(getNotificationsForAlert(record));
tabset.addTab(generalTab);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java
index 4eac915..a099c59 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractAlertDefinitionsView.java
@@ -47,7 +47,7 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
*/
public abstract class AbstractAlertDefinitionsView extends TableSection<AbstractAlertDefinitionsDataSource> {
- public AbstractAlertDefinitionsView(String locatorId, String tableTitle, Criteria initialCriteria) {
+ public AbstractAlertDefinitionsView(String tableTitle, Criteria initialCriteria) {
super(tableTitle, initialCriteria);
setEscapeHtmlInDetailsLinkColumn(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractNotificationSenderForm.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractNotificationSenderForm.java
index 51d98bc..dc3dae6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractNotificationSenderForm.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/AbstractNotificationSenderForm.java
@@ -26,7 +26,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
import org.rhq.core.domain.alert.notification.AlertNotification;
import org.rhq.core.domain.configuration.Configuration;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* Superclass to all alert senders' forms. Instances of this class
@@ -35,7 +35,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
*
* @author John Mazzitelli
*/
-public abstract class AbstractNotificationSenderForm extends LocatableVLayout {
+public abstract class AbstractNotificationSenderForm extends EnhancedVLayout {
private Configuration configuration;
private Configuration extraConfiguration;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/CliNotificationSenderForm.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/CliNotificationSenderForm.java
index 197ce11..9e89768 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/CliNotificationSenderForm.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/CliNotificationSenderForm.java
@@ -227,7 +227,7 @@ public class CliNotificationSenderForm extends AbstractNotificationSenderForm {
SectionItem userSection = new SectionItem("userSection");
userSection.setDefaultValue(MSG.view_alert_definition_notification_cliScript_editor_whichUser());
- repoSelector = new SortedSelectItem(extendLocatorId("repoSelector"),
+ repoSelector = new SortedSelectItem("repoSelector",
MSG.view_alert_definition_notification_cliScript_editor_selectRepo());
repoSelector.setDefaultToFirstOption(true);
repoSelector.setWrapTitle(false);
@@ -240,22 +240,20 @@ public class CliNotificationSenderForm extends AbstractNotificationSenderForm {
createExistingPackageForm());
packageSelectItems.put(MSG.view_alert_definition_notification_cliScript_editor_uploadNewScript(),
createUploadNewScriptForm());
- packageSelector = new RadioGroupWithComponentsItem(extendLocatorId("packageSelector"), "",
- packageSelectItems, form);
+ packageSelector = new RadioGroupWithComponentsItem("packageSelector", "", packageSelectItems, form);
packageSelector.setWidth("100%");
LinkedHashMap<String, DynamicForm> userSelectItems = new LinkedHashMap<String, DynamicForm>();
userSelectItems.put(MSG.view_alert_definition_notification_cliScript_editor_thisUser(), null);
userSelectItems.put(MSG.view_alert_definition_notification_cliScript_editor_anotherUser(),
createAnotherUserForm());
- userSelector = new RadioGroupWithComponentsItem(extendLocatorId("userSelector"), "",
- userSelectItems, form);
+ userSelector = new RadioGroupWithComponentsItem("userSelector", "", userSelectItems, form);
userSelector.setWidth("100%");
userSelector.setShowTitle(false);
- repoSection.setItemIds(extendLocatorId("repoSelector"));
- packageSection.setItemIds(extendLocatorId("packageSelector"));
- userSection.setItemIds(extendLocatorId("userSelector"));
+ repoSection.setItemIds("repoSelector");
+ packageSection.setItemIds("packageSelector");
+ userSection.setItemIds("userSelector");
form.setFields(userSection, userSelector, repoSection, repoSelector, packageSection,
packageSelector);
@@ -573,7 +571,7 @@ public class CliNotificationSenderForm extends AbstractNotificationSenderForm {
private DynamicForm createExistingPackageForm() {
DynamicForm form = new DynamicForm();
form.setTitleOrientation(TitleOrientation.TOP);
- existingPackageSelector = new SortedSelectItem(extendLocatorId("existingPackageSelector"), "");
+ existingPackageSelector = new SortedSelectItem("existingPackageSelector", "");
existingPackageSelector.setDefaultToFirstOption(true);
existingPackageSelector.setWrapTitle(false);
existingPackageSelector.setRedrawOnChange(true);
@@ -586,8 +584,8 @@ public class CliNotificationSenderForm extends AbstractNotificationSenderForm {
}
private DynamicForm createUploadNewScriptForm() {
- uploadForm = new PackageVersionFileUploadFormWithVersion(extendLocatorId("uploadForm"), cliScriptPackageType
- .getPackageType().getId());
+ uploadForm = new PackageVersionFileUploadFormWithVersion("uploadForm", cliScriptPackageType.getPackageType()
+ .getId());
uploadForm.setTitleOrientation(TitleOrientation.TOP);
uploadForm.setPackageTypeId(cliScriptPackageType.getPackageType().getId());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsAlertDefinitionForm.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsAlertDefinitionForm.java
index e309623..34fd622 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsAlertDefinitionForm.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsAlertDefinitionForm.java
@@ -42,12 +42,12 @@ import org.rhq.core.domain.resource.ResourceType;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
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.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author John Mazzitelli
*/
-public class ConditionsAlertDefinitionForm extends LocatableVLayout implements EditAlertDefinitionForm {
+public class ConditionsAlertDefinitionForm extends EnhancedVLayout implements EditAlertDefinitionForm {
private final ResourceType resourceType;
private AlertDefinition alertDefinition;
@@ -60,11 +60,11 @@ public class ConditionsAlertDefinitionForm extends LocatableVLayout implements E
private boolean formBuilt = false;
private boolean updated;
- public ConditionsAlertDefinitionForm(String locatorId, ResourceType resourceType) {
- this(locatorId, resourceType, null);
+ public ConditionsAlertDefinitionForm(ResourceType resourceType) {
+ this(resourceType, null);
}
- public ConditionsAlertDefinitionForm(String locatorId, ResourceType resourceType, AlertDefinition alertDefinition) {
+ public ConditionsAlertDefinitionForm(ResourceType resourceType, AlertDefinition alertDefinition) {
super();
this.resourceType = resourceType;
this.alertDefinition = alertDefinition;
@@ -176,8 +176,7 @@ public class ConditionsAlertDefinitionForm extends LocatableVLayout implements E
conditionExpressionForm.setFields(conditionExpression, conditionExpressionStatic);
- conditionsEditor = new ConditionsEditor(this.extendLocatorId("conditionsEditor"), conditionExpression,
- resourceType, null);
+ conditionsEditor = new ConditionsEditor(conditionExpression, resourceType, null);
conditionExpression.addChangeHandler(new ChangeHandler() {
@Override
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsEditor.java
index 5ce72ee..79aa1fb 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsEditor.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ConditionsEditor.java
@@ -51,12 +51,12 @@ import org.rhq.enterprise.gui.coregui.client.components.table.TableActionEnablem
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository.MetadataType;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author John Mazzitelli
*/
-public class ConditionsEditor extends LocatableVLayout {
+public class ConditionsEditor extends EnhancedVLayout {
private final ResourceType resourceType;
private HashSet<AlertCondition> conditions;
@@ -64,7 +64,7 @@ public class ConditionsEditor extends LocatableVLayout {
private final SelectItem conditionExpression;
private boolean updated;
- public ConditionsEditor(String locatorId, SelectItem conditionExpression, ResourceType resourceType,
+ public ConditionsEditor(SelectItem conditionExpression, ResourceType resourceType,
HashSet<AlertCondition> conditions) {
super();
this.conditionExpression = conditionExpression;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/GroupAlertDefinitionsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/GroupAlertDefinitionsView.java
index 4b8e072..5fc0ea8 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/GroupAlertDefinitionsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/GroupAlertDefinitionsView.java
@@ -52,8 +52,8 @@ public class GroupAlertDefinitionsView extends AbstractAlertDefinitionsView {
private ResourceGroup group;
private ResourcePermission permissions;
- public GroupAlertDefinitionsView(String locatorId, ResourceGroupComposite groupComposite) {
- super(locatorId, MSG.view_alert_definitions_table_title_group(), getCriteria(groupComposite));
+ public GroupAlertDefinitionsView(ResourceGroupComposite groupComposite) {
+ super(MSG.view_alert_definitions_table_title_group(), getCriteria(groupComposite));
this.group = groupComposite.getResourceGroup();
this.permissions = groupComposite.getResourcePermission();
@@ -198,7 +198,8 @@ public class GroupAlertDefinitionsView extends AbstractAlertDefinitionsView {
}
@Override
- protected void commitAlertDefinition(final AlertDefinition alertDefinition, boolean purgeInternals, final AsyncCallback<AlertDefinition> resultReceiver) {
+ protected void commitAlertDefinition(final AlertDefinition alertDefinition, boolean purgeInternals,
+ final AsyncCallback<AlertDefinition> resultReceiver) {
if (alertDefinition.getId() == 0) {
GWTServiceLookup.getGroupAlertDefinitionService().createGroupAlertDefinitions(alertDefinition,
Integer.valueOf(this.group.getId()), new AsyncCallback<Integer>() {
@@ -219,8 +220,7 @@ public class GroupAlertDefinitionsView extends AbstractAlertDefinitionsView {
});
} else {
GWTServiceLookup.getGroupAlertDefinitionService().updateGroupAlertDefinitions(alertDefinition,
- purgeInternals,
- new AsyncCallback<AlertDefinition>() {
+ purgeInternals, new AsyncCallback<AlertDefinition>() {
@Override
public void onSuccess(AlertDefinition result) {
CoreGUI.getMessageCenter().notify(
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NotificationsAlertDefinitionForm.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NotificationsAlertDefinitionForm.java
index 9fd52b8..b1299ff 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NotificationsAlertDefinitionForm.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/NotificationsAlertDefinitionForm.java
@@ -51,12 +51,12 @@ 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.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author John Mazzitelli
*/
-public class NotificationsAlertDefinitionForm extends LocatableVLayout implements EditAlertDefinitionForm {
+public class NotificationsAlertDefinitionForm extends EnhancedVLayout implements EditAlertDefinitionForm {
private static final String FIELD_OBJECT = "obj";
private static final String FIELD_SENDER = "sender";
private static final String FIELD_CONFIGURATION = "configuration";
@@ -68,7 +68,7 @@ public class NotificationsAlertDefinitionForm extends LocatableVLayout implement
private Table table;
- public NotificationsAlertDefinitionForm(String locatorId, AlertDefinition alertDefinition) {
+ public NotificationsAlertDefinitionForm(AlertDefinition alertDefinition) {
super();
this.alertDefinition = alertDefinition;
extractShallowCopyOfNotifications(this.alertDefinition);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java
index 5dfacc8..2cbe8c6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceAlertDefinitionsView.java
@@ -52,8 +52,8 @@ public class ResourceAlertDefinitionsView extends AbstractAlertDefinitionsView {
private Resource resource;
private ResourcePermission permissions;
- public ResourceAlertDefinitionsView(String locatorId, ResourceComposite resourceComposite) {
- super(locatorId, "Alert Definitions", getCriteria(resourceComposite));
+ public ResourceAlertDefinitionsView(ResourceComposite resourceComposite) {
+ super("Alert Definitions", getCriteria(resourceComposite));
this.resource = resourceComposite.getResource();
this.permissions = resourceComposite.getResourcePermission();
@@ -194,7 +194,8 @@ public class ResourceAlertDefinitionsView extends AbstractAlertDefinitionsView {
}
@Override
- protected void commitAlertDefinition(final AlertDefinition alertDefinition, boolean purgeInternals, final AsyncCallback<AlertDefinition> resultReceiver) {
+ protected void commitAlertDefinition(final AlertDefinition alertDefinition, boolean purgeInternals,
+ final AsyncCallback<AlertDefinition> resultReceiver) {
if (alertDefinition.getId() == 0) {
GWTServiceLookup.getAlertDefinitionService().createAlertDefinition(alertDefinition,
Integer.valueOf(resource.getId()), new AsyncCallback<Integer>() {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceOperationNotificationSenderForm.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceOperationNotificationSenderForm.java
index 194e06b..5062300 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceOperationNotificationSenderForm.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/ResourceOperationNotificationSenderForm.java
@@ -146,14 +146,13 @@ public class ResourceOperationNotificationSenderForm extends AbstractNotificatio
@Override
public void onClick(ClickEvent event) {
SingleResourcePicker singleResourcePicker;
- singleResourcePicker = new SingleResourcePicker(extendLocatorId("singleResourcePicker"),
- new OkHandler() {
- public boolean ok(Set<Integer> resourceIdSelection) {
- final int resourceId = resourceIdSelection.iterator().next().intValue();
- setSpecificResource(resourceId, null, null);
- return true;
- }
- }, null);
+ singleResourcePicker = new SingleResourcePicker(new OkHandler() {
+ public boolean ok(Set<Integer> resourceIdSelection) {
+ final int resourceId = resourceIdSelection.iterator().next().intValue();
+ setSpecificResource(resourceId, null, null);
+ return true;
+ }
+ }, null);
singleResourcePicker.show();
}
});
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java
index 3a5ee88..5bff96a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/SingleAlertDefinitionView.java
@@ -35,12 +35,12 @@ import com.smartgwt.client.widgets.tab.events.TabDeselectedHandler;
import org.rhq.core.domain.alert.AlertDefinition;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author John Mazzitelli
*/
-public class SingleAlertDefinitionView extends LocatableVLayout {
+public class SingleAlertDefinitionView extends EnhancedVLayout {
private AlertDefinition alertDefinition;
@@ -66,7 +66,7 @@ public class SingleAlertDefinitionView extends LocatableVLayout {
this.alertDefinition = alertDefinition;
this.isAuthorizedToModifyAlertDefinitions = alertDefView.isAuthorizedToModifyAlertDefinitions();
- final LocatableTabSet tabSet = new LocatableTabSet(this.getLocatorId());
+ final LocatableTabSet tabSet = new LocatableTabSet();
tabSet.setHeight100();
final Tab generalPropertiesTab = new LocatableTab(tabSet.extendLocatorId("General"),
@@ -85,13 +85,12 @@ public class SingleAlertDefinitionView extends LocatableVLayout {
Tab conditionsTab = new LocatableTab(tabSet.extendLocatorId("Conditions"),
MSG.view_alert_common_tab_conditions());
- conditions = new ConditionsAlertDefinitionForm(this.getLocatorId(), alertDefView.getResourceType(),
- alertDefinition);
+ conditions = new ConditionsAlertDefinitionForm(alertDefView.getResourceType(), alertDefinition);
conditionsTab.setPane(conditions);
Tab notificationsTab = new LocatableTab(tabSet.extendLocatorId("Notifications"),
MSG.view_alert_common_tab_notifications());
- notifications = new NotificationsAlertDefinitionForm(this.getLocatorId(), alertDefinition);
+ notifications = new NotificationsAlertDefinitionForm(alertDefinition);
notificationsTab.setPane(notifications);
Tab recoveryTab = new LocatableTab(tabSet.extendLocatorId("Recovery"), MSG.view_alert_common_tab_recovery());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/TemplateAlertDefinitionsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/TemplateAlertDefinitionsView.java
index 1218c3a..5400158 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/TemplateAlertDefinitionsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/alert/definitions/TemplateAlertDefinitionsView.java
@@ -51,8 +51,8 @@ public class TemplateAlertDefinitionsView extends AbstractAlertDefinitionsView {
private ResourceType resourceType;
private Set<Permission> globalPermissions;
- public TemplateAlertDefinitionsView(String locatorId, ResourceType resourceType, Set<Permission> globalPermissions) {
- super(locatorId, getTitle(resourceType), getCriteria(resourceType));
+ public TemplateAlertDefinitionsView(ResourceType resourceType, Set<Permission> globalPermissions) {
+ super(getTitle(resourceType), getCriteria(resourceType));
this.resourceType = resourceType;
this.globalPermissions = globalPermissions;
@@ -206,7 +206,8 @@ public class TemplateAlertDefinitionsView extends AbstractAlertDefinitionsView {
}
@Override
- protected void commitAlertDefinition(final AlertDefinition alertDefinition, boolean resetMatching, final AsyncCallback<AlertDefinition> resultReceiver) {
+ protected void commitAlertDefinition(final AlertDefinition alertDefinition, boolean resetMatching,
+ final AsyncCallback<AlertDefinition> resultReceiver) {
if (alertDefinition.getId() == 0) {
GWTServiceLookup.getAlertTemplateService().createAlertTemplate(alertDefinition,
Integer.valueOf(this.resourceType.getId()), new AsyncCallback<Integer>() {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDataStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDataStep.java
index db72369..0176c3f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDataStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/create/BundleUploadDataStep.java
@@ -42,7 +42,7 @@ import org.rhq.enterprise.gui.coregui.client.gwt.BundleGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
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.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
public class BundleUploadDataStep extends AbstractWizardStep {
@@ -56,7 +56,7 @@ public class BundleUploadDataStep extends AbstractWizardStep {
}
public Canvas getCanvas() {
- final LocatableVLayout mainLayout = new LocatableVLayout();
+ final EnhancedVLayout mainLayout = new EnhancedVLayout();
mainLayout.setMargin(20);
mainLayout.setWidth100();
mainLayout.setHeight(10);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/DeployStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/DeployStep.java
index 18c5ce5..999f852 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/DeployStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/DeployStep.java
@@ -35,7 +35,7 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.ErrorHandler;
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.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
@@ -58,7 +58,7 @@ public class DeployStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (canvas == null) {
- canvas = new LocatableVLayout();
+ canvas = new EnhancedVLayout();
canvas.setWidth100();
canvas.setHeight100();
canvas.setAlign(Alignment.CENTER);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java
index c08eadb..671d35e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deploy/GetDestinationStep.java
@@ -61,7 +61,7 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTyp
import org.rhq.enterprise.gui.coregui.client.util.FormUtility;
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.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
@@ -88,7 +88,7 @@ public class GetDestinationStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (this.form == null) {
- this.form = new LocatableVLayout();
+ this.form = new EnhancedVLayout();
this.valForm.setWidth100();
this.valForm.setNumCols(2);
this.valForm.setColWidths("50%", "*");
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 219eef5..1f5a360 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
@@ -53,7 +53,7 @@ public class BundleDeploymentListView extends Table<BundleDeploymentDataSource>
private final boolean canManageBundles;
- public BundleDeploymentListView(String locatorId, Criteria criteria, boolean canManageBundles) {
+ public BundleDeploymentListView(Criteria criteria, boolean canManageBundles) {
super(MSG.view_bundle_bundleDeployments(), criteria);
this.canManageBundles = canManageBundles;
setDataSource(new BundleDeploymentDataSource());
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 c32dabe..5bb3a91 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
@@ -81,12 +81,12 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
*/
-public class BundleDeploymentView extends LocatableVLayout implements BookmarkableView {
+public class BundleDeploymentView extends EnhancedVLayout implements BookmarkableView {
private BundleDeployment deployment;
private BundleVersion version;
private Bundle bundle;
@@ -96,7 +96,7 @@ public class BundleDeploymentView extends LocatableVLayout implements Bookmarkab
private final HashMap<String, String> statusIcons;
- public BundleDeploymentView(String locatorId, boolean canManageBundles) {
+ public BundleDeploymentView(boolean canManageBundles) {
super();
this.canManageBundles = canManageBundles;
setWidth100();
@@ -211,7 +211,7 @@ public class BundleDeploymentView extends LocatableVLayout implements Bookmarkab
}
private Canvas getActionLayout() {
- LocatableVLayout actionLayout = new LocatableVLayout(10);
+ EnhancedVLayout actionLayout = new EnhancedVLayout(10);
// we can only revert the live deployments, only show revert button when appropriate
// in addition, we provide a purge button if you are viewing the live deployment, so
@@ -309,23 +309,21 @@ public class BundleDeploymentView extends LocatableVLayout implements Bookmarkab
private TagEditorView createTagEditor() {
boolean readOnly = !this.canManageBundles;
- TagEditorView tagEditor = new TagEditorView(extendLocatorId("tagEditor"), version.getTags(), readOnly,
- new TagsChangedCallback() {
- public void tagsChanged(HashSet<Tag> tags) {
- GWTServiceLookup.getTagService().updateBundleDeploymentTags(deployment.getId(), tags,
- new AsyncCallback<Void>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler()
- .handleError(MSG.view_bundle_deploy_tagUpdateFailure(), caught);
- }
+ TagEditorView tagEditor = new TagEditorView(version.getTags(), readOnly, new TagsChangedCallback() {
+ public void tagsChanged(HashSet<Tag> tags) {
+ GWTServiceLookup.getTagService().updateBundleDeploymentTags(deployment.getId(), tags,
+ new AsyncCallback<Void>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError(MSG.view_bundle_deploy_tagUpdateFailure(), caught);
+ }
- public void onSuccess(Void result) {
- CoreGUI.getMessageCenter().notify(
- new Message(MSG.view_bundle_deploy_tagUpdateSuccessful(), Message.Severity.Info));
- }
- });
- }
- });
+ public void onSuccess(Void result) {
+ CoreGUI.getMessageCenter().notify(
+ new Message(MSG.view_bundle_deploy_tagUpdateSuccessful(), Message.Severity.Info));
+ }
+ });
+ }
+ });
tagEditor.setAutoHeight();
tagEditor.setExtraSpace(10);
return tagEditor;
@@ -333,7 +331,7 @@ public class BundleDeploymentView extends LocatableVLayout implements Bookmarkab
@SuppressWarnings("unchecked")
private Table addMemberDeploymentsTable() {
- Table table = new Table(extendLocatorId("Deployments"), MSG.view_bundle_deploy_deploymentPlatforms());
+ Table table = new Table(MSG.view_bundle_deploy_deploymentPlatforms());
table.setShowFooterRefresh(false);
TitleBar titleBar = new TitleBar(MSG.view_bundle_deploy_selectARow());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleResourceDeploymentHistoryListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleResourceDeploymentHistoryListView.java
index 94a3cb3..55d7db2 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleResourceDeploymentHistoryListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/deployment/BundleResourceDeploymentHistoryListView.java
@@ -54,12 +54,12 @@ import org.rhq.core.domain.bundle.BundleResourceDeployment;
import org.rhq.core.domain.bundle.BundleResourceDeploymentHistory;
import org.rhq.enterprise.gui.coregui.client.ErrorMessageWindow;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
*/
-public class BundleResourceDeploymentHistoryListView extends LocatableVLayout {
+public class BundleResourceDeploymentHistoryListView extends EnhancedVLayout {
private BundleResourceDeployment resourceDeployment;
private HashMap<String, String> statusIcons;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationView.java
index ec543ee..dda1101 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/destination/BundleDestinationView.java
@@ -63,12 +63,12 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
*/
-public class BundleDestinationView extends LocatableVLayout implements BookmarkableView {
+public class BundleDestinationView extends EnhancedVLayout implements BookmarkableView {
private BundleDestination destination;
private Bundle bundle;
@@ -76,7 +76,7 @@ public class BundleDestinationView extends LocatableVLayout implements Bookmarka
private boolean canManageBundles;
- public BundleDestinationView(String locatorId, boolean canManageBundles) {
+ public BundleDestinationView(boolean canManageBundles) {
super();
this.canManageBundles = canManageBundles;
setWidth100();
@@ -160,29 +160,28 @@ public class BundleDestinationView extends LocatableVLayout implements Bookmarka
private TagEditorView createTagEditor() {
boolean readOnly = !this.canManageBundles;
- TagEditorView tagEditor = new TagEditorView(extendLocatorId("Tags"), destination.getTags(), readOnly,
- new TagsChangedCallback() {
- public void tagsChanged(HashSet<Tag> tags) {
- GWTServiceLookup.getTagService().updateBundleDestinationTags(destination.getId(), tags,
- new AsyncCallback<Void>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError(MSG.view_bundle_dest_tagUpdateFailure(), caught);
- }
-
- public void onSuccess(Void result) {
- CoreGUI.getMessageCenter().notify(
- new Message(MSG.view_bundle_dest_tagUpdateSuccessful(), Message.Severity.Info));
- }
- });
- }
- });
+ TagEditorView tagEditor = new TagEditorView(destination.getTags(), readOnly, new TagsChangedCallback() {
+ public void tagsChanged(HashSet<Tag> tags) {
+ GWTServiceLookup.getTagService().updateBundleDestinationTags(destination.getId(), tags,
+ new AsyncCallback<Void>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError(MSG.view_bundle_dest_tagUpdateFailure(), caught);
+ }
+
+ public void onSuccess(Void result) {
+ CoreGUI.getMessageCenter().notify(
+ new Message(MSG.view_bundle_dest_tagUpdateSuccessful(), Message.Severity.Info));
+ }
+ });
+ }
+ });
tagEditor.setAutoHeight();
tagEditor.setExtraSpace(10);
return tagEditor;
}
private Canvas getActionLayout() {
- LocatableVLayout actionLayout = new LocatableVLayout(10);
+ EnhancedVLayout actionLayout = new EnhancedVLayout(10);
IButton deployButton = new EnhancedIButton(MSG.view_bundle_deploy());
deployButton.setIcon(IconEnum.BUNDLE_DEPLOY.getIcon16x16Path());
deployButton.addClickHandler(new ClickHandler() {
@@ -304,8 +303,7 @@ public class BundleDestinationView extends LocatableVLayout implements Bookmarka
private Table createDeploymentsTable() {
Criteria criteria = new Criteria();
criteria.addCriteria("bundleDestinationId", destination.getId());
- BundleDeploymentListView deployments = new BundleDeploymentListView(extendLocatorId("Deployments"), criteria,
- canManageBundles);
+ BundleDeploymentListView deployments = new BundleDeploymentListView(criteria, canManageBundles);
deployments.setHeight100();
deployments.setShowResizeBar(true);
return deployments;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleView.java
index f26ff64..f0d0d92 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/list/BundleView.java
@@ -66,9 +66,9 @@ import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
-public class BundleView extends LocatableVLayout implements BookmarkableView {
+public class BundleView extends EnhancedVLayout implements BookmarkableView {
private DynamicForm form;
private int bundleBeingViewed = 0;
@@ -99,7 +99,7 @@ public class BundleView extends LocatableVLayout implements BookmarkableView {
BackButton backButton = new BackButton(MSG.view_bundle_list_backToAll(), BundleTopView.VIEW_ID.getTitle());
headerLabel = new HeaderLabel(IconEnum.BUNDLE.getIcon24x24Path(), StringUtility.escapeHtml(bundle.getName()));
- tabs = new LocatableTabSet(getLocatorId());
+ tabs = new LocatableTabSet();
versionsTab = createVersionsTab();
destinationsTab = createDestinationsTab();
tabs.addTab(versionsTab);
@@ -127,29 +127,27 @@ public class BundleView extends LocatableVLayout implements BookmarkableView {
private TagEditorView createTagEditor() {
boolean readOnly = !this.canManageBundles;
- TagEditorView tagEditor = new TagEditorView(extendLocatorId("TagEditor"), bundle.getTags(), readOnly,
- new TagsChangedCallback() {
- public void tagsChanged(HashSet<Tag> tags) {
- GWTServiceLookup.getTagService().updateBundleTags(bundleBeingViewed, tags,
- new AsyncCallback<Void>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError(MSG.view_bundle_list_tagUpdateFailure(), caught);
- }
+ TagEditorView tagEditor = new TagEditorView(bundle.getTags(), readOnly, new TagsChangedCallback() {
+ public void tagsChanged(HashSet<Tag> tags) {
+ GWTServiceLookup.getTagService().updateBundleTags(bundleBeingViewed, tags, new AsyncCallback<Void>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError(MSG.view_bundle_list_tagUpdateFailure(), caught);
+ }
- public void onSuccess(Void result) {
- CoreGUI.getMessageCenter().notify(
- new Message(MSG.view_bundle_list_tagUpdateSuccessful(), Message.Severity.Info));
- }
- });
- }
- });
+ public void onSuccess(Void result) {
+ CoreGUI.getMessageCenter().notify(
+ new Message(MSG.view_bundle_list_tagUpdateSuccessful(), Message.Severity.Info));
+ }
+ });
+ }
+ });
tagEditor.setAutoHeight();
tagEditor.setExtraSpace(10);
return tagEditor;
}
private Tab createDestinationsTab() {
- LocatableTab destinationsTab = new LocatableTab(extendLocatorId("Destinations"), MSG.view_bundle_destinations());
+ LocatableTab destinationsTab = new LocatableTab(MSG.view_bundle_destinations());
Criteria criteria = new Criteria();
criteria.addCriteria("bundleId", bundle.getId());
destinationsTab.setPane(new BundleDestinationListView(criteria));
@@ -157,7 +155,7 @@ public class BundleView extends LocatableVLayout implements BookmarkableView {
}
private Tab createVersionsTab() {
- LocatableTab versionsTab = new LocatableTab(extendLocatorId("Versions"), MSG.view_bundle_versions());
+ LocatableTab versionsTab = new LocatableTab(MSG.view_bundle_versions());
Criteria criteria = new Criteria();
criteria.addCriteria("bundleId", bundleBeingViewed);
bundleVersionsTable = new BundleVersionListView(criteria);
@@ -200,7 +198,7 @@ public class BundleView extends LocatableVLayout implements BookmarkableView {
}
private Canvas getActionCanvas() {
- VLayout layout = new LocatableVLayout(10);
+ VLayout layout = new EnhancedVLayout(10);
IButton deployButton = new EnhancedIButton(MSG.view_bundle_deploy());
deployButton.setIcon(IconEnum.BUNDLE_DEPLOY.getIcon16x16Path());
@@ -315,7 +313,7 @@ public class BundleView extends LocatableVLayout implements BookmarkableView {
if (viewPath.getCurrent().getPath().equals("versions")) {
if (!viewPath.isEnd()) {
// a specific version
- BundleVersionView view = new BundleVersionView(extendLocatorId("Version"), canManageBundles);
+ BundleVersionView view = new BundleVersionView(canManageBundles);
addMember(view);
view.renderView(viewPath.next());
}
@@ -329,16 +327,14 @@ public class BundleView extends LocatableVLayout implements BookmarkableView {
} else {
// a specific deployment
//removeMembers(getMembers());
- BundleDeploymentView view = new BundleDeploymentView(extendLocatorId("Deployment"),
- canManageBundles);
+ BundleDeploymentView view = new BundleDeploymentView(canManageBundles);
addMember(view);
view.renderView(viewPath.next());
}
} else if (viewPath.getCurrent().getPath().equals("destinations")) {
if (!viewPath.isEnd()) {
// a specific destination
- BundleDestinationView view = new BundleDestinationView(extendLocatorId("Destination"),
- canManageBundles);
+ BundleDestinationView view = new BundleDestinationView(canManageBundles);
addMember(view);
view.renderView(viewPath.next());
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java
index 0b950fc..0e23d71 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/ConfirmationStep.java
@@ -37,7 +37,7 @@ import org.rhq.enterprise.gui.coregui.client.components.wizard.AbstractWizardSte
import org.rhq.enterprise.gui.coregui.client.gwt.BundleGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
@@ -60,7 +60,7 @@ public class ConfirmationStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (layout == null) {
- layout = new LocatableVLayout();
+ layout = new EnhancedVLayout();
layout.setMembersMargin(15);
// Get the Live Deployment
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/RevertStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/RevertStep.java
index 65f1ceb..cd93646 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/RevertStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/revert/RevertStep.java
@@ -33,7 +33,7 @@ import org.rhq.enterprise.gui.coregui.client.gwt.BundleGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
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.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
@@ -56,7 +56,7 @@ public class RevertStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (canvas == null) {
- canvas = new LocatableVLayout();
+ canvas = new EnhancedVLayout();
canvas.setWidth100();
canvas.setHeight100();
canvas.setAlign(Alignment.CENTER);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionView.java
index 38b5e4d..59ba0f3 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/BundleVersionView.java
@@ -62,18 +62,18 @@ import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
*/
-public class BundleVersionView extends LocatableVLayout implements BookmarkableView {
+public class BundleVersionView extends EnhancedVLayout implements BookmarkableView {
private BundleGWTServiceAsync bundleManager = GWTServiceLookup.getBundleService();
private BundleVersion version;
private boolean canManageBundles = false;
- public BundleVersionView(String locatorId, boolean canManageBundles) {
+ public BundleVersionView(boolean canManageBundles) {
super();
this.canManageBundles = canManageBundles;
setWidth100();
@@ -100,7 +100,7 @@ public class BundleVersionView extends LocatableVLayout implements BookmarkableV
addMember(createSummaryForm());
- TabSet tabs = new LocatableTabSet(extendLocatorId("Tabs"));
+ TabSet tabs = new LocatableTabSet();
tabs.addTab(createRecipeTab());
tabs.addTab(createLiveDeploymentsTab());
tabs.addTab(createFilesTab());
@@ -158,7 +158,7 @@ public class BundleVersionView extends LocatableVLayout implements BookmarkableV
}
private Canvas getActionLayout() {
- LocatableVLayout actionLayout = new LocatableVLayout(10);
+ EnhancedVLayout actionLayout = new EnhancedVLayout(10);
IButton deleteButton = new EnhancedIButton(MSG.common_button_delete());
deleteButton.setIcon("subsystems/bundle/BundleVersionAction_Delete_16.png");
deleteButton.addClickHandler(new ClickHandler() {
@@ -197,31 +197,30 @@ public class BundleVersionView extends LocatableVLayout implements BookmarkableV
private TagEditorView createTagEditor() {
boolean readOnly = !this.canManageBundles;
- TagEditorView tagEditor = new TagEditorView(extendLocatorId("Tags"), version.getTags(), readOnly,
- new TagsChangedCallback() {
- public void tagsChanged(HashSet<Tag> tags) {
- GWTServiceLookup.getTagService().updateBundleVersionTags(version.getId(), tags,
- new AsyncCallback<Void>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError(
- MSG.view_bundle_version_bundleVersionTagUpdateFailure(), caught);
- }
-
- public void onSuccess(Void result) {
- CoreGUI.getMessageCenter().notify(
- new Message(MSG.view_bundle_version_bundleVersionTagUpdateSuccessful(),
- Message.Severity.Info));
- }
- });
- }
- });
+ TagEditorView tagEditor = new TagEditorView(version.getTags(), readOnly, new TagsChangedCallback() {
+ public void tagsChanged(HashSet<Tag> tags) {
+ GWTServiceLookup.getTagService().updateBundleVersionTags(version.getId(), tags,
+ new AsyncCallback<Void>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError(
+ MSG.view_bundle_version_bundleVersionTagUpdateFailure(), caught);
+ }
+
+ public void onSuccess(Void result) {
+ CoreGUI.getMessageCenter().notify(
+ new Message(MSG.view_bundle_version_bundleVersionTagUpdateSuccessful(),
+ Message.Severity.Info));
+ }
+ });
+ }
+ });
tagEditor.setAutoHeight();
tagEditor.setExtraSpace(10);
return tagEditor;
}
private Tab createRecipeTab() {
- LocatableTab tab = new LocatableTab(extendLocatorId("Recipe"), MSG.view_bundle_recipe());
+ LocatableTab tab = new LocatableTab(MSG.view_bundle_recipe());
DynamicForm form = new DynamicForm();
TextAreaItem recipeCanvas = new TextAreaItem("recipe", MSG.view_bundle_recipe());
@@ -246,15 +245,15 @@ public class BundleVersionView extends LocatableVLayout implements BookmarkableV
}
private Tab createLiveDeploymentsTab() {
- LocatableTab tab = new LocatableTab(extendLocatorId("Deployments"), MSG.view_bundle_deployments());
+ LocatableTab tab = new LocatableTab(MSG.view_bundle_deployments());
Criteria criteria = new Criteria();
criteria.setAttribute("bundleVersionId", version.getId());
- tab.setPane(new BundleDeploymentListView(tab.getLocatorId(), criteria, this.canManageBundles));
+ tab.setPane(new BundleDeploymentListView(criteria, this.canManageBundles));
return tab;
}
private Tab createFilesTab() {
- LocatableTab tab = new LocatableTab(extendLocatorId("Files"), MSG.view_bundle_files());
+ LocatableTab tab = new LocatableTab(MSG.view_bundle_files());
FileListView filesView = new FileListView(tab.getLocatorId(), version.getId());
tab.setPane(filesView);
return tab;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/file/FileListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/file/FileListView.java
index f5bf1ff..ea46c19 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/file/FileListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/version/file/FileListView.java
@@ -39,12 +39,12 @@ import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementConverterClient;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
*/
-public class FileListView extends LocatableVLayout {
+public class FileListView extends EnhancedVLayout {
private static final String ID = "id";
private static final String NAME = "name";
@@ -62,7 +62,7 @@ public class FileListView extends LocatableVLayout {
private void viewFiles(PageList<BundleFile> files) {
- Table table = new Table(extendLocatorId("BundleFiles"), MSG.view_bundle_bundleFiles());
+ Table table = new Table(MSG.view_bundle_bundleFiles());
table.setShowFooterRefresh(false);
ListGridField id = new ListGridField(ID, MSG.common_title_id());
@@ -129,8 +129,8 @@ public class FileListView extends LocatableVLayout {
Long size = packageVersion.getFileSize();
if (size != null) {
- record.setAttribute(FILESIZE, MeasurementConverterClient.format(size.doubleValue(),
- MeasurementUnits.BYTES, true));
+ record.setAttribute(FILESIZE,
+ MeasurementConverterClient.format(size.doubleValue(), MeasurementUnits.BYTES, true));
} else {
record.setAttribute(FILESIZE, MSG.common_val_na());
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/AboutModalWindow.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/AboutModalWindow.java
index f0b44c0..e561cac 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/AboutModalWindow.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/AboutModalWindow.java
@@ -33,7 +33,7 @@ import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.Messages;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* The "About RHQ" modal window.
@@ -71,7 +71,7 @@ public class AboutModalWindow extends Window {
setTitle(MSG.view_aboutBox_title(productInfo.getFullName()));
- LocatableVLayout contentPane = new LocatableVLayout();
+ EnhancedVLayout contentPane = new EnhancedVLayout();
contentPane.setPadding(10);
// TODO (ips, 09/06/11): Convert this raw HTML to SmartGWT widgets.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/TitleBar.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/TitleBar.java
index 6eed341..feadc7b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/TitleBar.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/TitleBar.java
@@ -23,15 +23,15 @@ import com.smartgwt.client.types.VerticalAlignment;
import com.smartgwt.client.widgets.Label;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableToolStrip;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A title bar to be displayed at the top of a content view - contains a label and/or an icon.
*
* @author Ian Springer
*/
-public class TitleBar extends LocatableToolStrip {
+public class TitleBar extends EnhancedToolStrip {
private Label label;
public TitleBar() {
@@ -48,7 +48,7 @@ public class TitleBar extends LocatableToolStrip {
setWidth100();
setHeight(30);
- LocatableVLayout vLayout = new LocatableVLayout(extendLocatorId("VLayout"));
+ EnhancedVLayout vLayout = new EnhancedVLayout();
vLayout.setAlign(VerticalAlignment.CENTER);
vLayout.setLayoutMargin(6);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/BookmarkableCarousel.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/BookmarkableCarousel.java
index 636ae95..448aa5c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/BookmarkableCarousel.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/BookmarkableCarousel.java
@@ -32,7 +32,7 @@ import org.rhq.enterprise.gui.coregui.client.ViewPath;
import org.rhq.enterprise.gui.coregui.client.components.buttons.BackButton;
import org.rhq.enterprise.gui.coregui.client.components.table.AbstractTableSection;
import org.rhq.enterprise.gui.coregui.client.util.Log;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -66,7 +66,7 @@ public abstract class BookmarkableCarousel extends Carousel implements Bookmarka
this.initialDisplay = true;
- detailsHolder = new LocatableVLayout();
+ detailsHolder = new EnhancedVLayout();
detailsHolder.setAlign(VerticalAlignment.TOP);
detailsHolder.setMargin(4);
detailsHolder.hide();
@@ -169,7 +169,7 @@ public abstract class BookmarkableCarousel extends Carousel implements Bookmarka
// editable, a Cancel button should already be provided by the details view.
BackButton backButton = new BackButton(MSG.view_tableSection_backButton(), basePath);
detailsHolder.addMember(backButton);
- VLayout verticalSpacer = new LocatableVLayout();
+ VLayout verticalSpacer = new EnhancedVLayout();
verticalSpacer.setHeight(8);
detailsHolder.addMember(verticalSpacer);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java
index 0dbea46..a060473 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java
@@ -66,8 +66,8 @@ import org.rhq.enterprise.gui.coregui.client.components.buttons.BackButton;
import org.rhq.enterprise.gui.coregui.client.components.form.EnhancedSearchBarItem;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableToolStrip;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -83,7 +83,7 @@ public abstract class Carousel extends EnhancedHLayout implements RefreshableVie
private static final String FILTER_CAROUSEL_START = "CarouselStart";
private static final String FILTER_CAROUSEL_SIZE = "CarouselSize";
- private LocatableVLayout contents;
+ private EnhancedVLayout contents;
private HLayout titleLayout;
private Canvas titleComponent;
@@ -114,8 +114,8 @@ public abstract class Carousel extends EnhancedHLayout implements RefreshableVie
private boolean carouselActionDisableOverride = false;
protected List<Canvas> extraWidgetsAboveFooter = new ArrayList<Canvas>();
protected List<Canvas> extraWidgetsInMainFooter = new ArrayList<Canvas>();
- private LocatableToolStrip footer;
- private LocatableToolStrip footerExtraWidgets;
+ private EnhancedToolStrip footer;
+ private EnhancedToolStrip footerExtraWidgets;
private EnhancedIButton refreshButton;
private EnhancedIButton nextButton;
private EnhancedIButton previousButton;
@@ -175,7 +175,7 @@ public abstract class Carousel extends EnhancedHLayout implements RefreshableVie
protected void onInit() {
super.onInit();
- contents = new LocatableVLayout();
+ contents = new EnhancedVLayout();
contents.setWidth100();
contents.setHeight100();
@@ -243,14 +243,14 @@ public abstract class Carousel extends EnhancedHLayout implements RefreshableVie
// A second toolstrip that optionally appears before the main footer - it will contain extra widgets.
// This is hidden from view unless extra widgets are actually added to the carousel above the main footer.
- this.footerExtraWidgets = new LocatableToolStrip();
+ this.footerExtraWidgets = new EnhancedToolStrip();
footerExtraWidgets.setPadding(5);
footerExtraWidgets.setWidth100();
footerExtraWidgets.setMembersMargin(15);
footerExtraWidgets.hide();
contents.addMember(footerExtraWidgets);
- this.footer = new LocatableToolStrip();
+ this.footer = new EnhancedToolStrip();
footer.setPadding(5);
footer.setWidth100();
footer.setMembersMargin(15);
@@ -715,8 +715,7 @@ public abstract class Carousel extends EnhancedHLayout implements RefreshableVie
} else {
unqualifiedLocatorId = locatorId;
}
- CarouselActionInfo info = new CarouselActionInfo(this.footer.extendLocatorId(unqualifiedLocatorId), title,
- confirmation, valueMap, action);
+ CarouselActionInfo info = new CarouselActionInfo(title, confirmation, valueMap, action);
carouselActions.add(info);
}
@@ -946,26 +945,21 @@ public abstract class Carousel extends EnhancedHLayout implements RefreshableVie
}
public static class CarouselActionInfo {
- private String locatorId;
private String title;
private String confirmMessage;
private LinkedHashMap<String, ? extends Object> valueMap;
private CarouselAction action;
private Canvas actionCanvas;
- protected CarouselActionInfo(String locatorId, String title, String confirmMessage,
+ protected CarouselActionInfo(String title, String confirmMessage,
LinkedHashMap<String, ? extends Object> valueMap, CarouselAction action) {
- this.locatorId = locatorId;
+
this.title = title;
this.confirmMessage = confirmMessage;
this.valueMap = valueMap;
this.action = action;
}
- public String getLocatorId() {
- return locatorId;
- }
-
public String getTitle() {
return title;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
index 6e8f060..f57df59 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java
@@ -129,8 +129,8 @@ import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableToolStrip;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A SmartGWT widget for editing an RHQ {@link Configuration} that conforms to a {@link ConfigurationDefinition}.
@@ -143,7 +143,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
// but there were problems with having different editors active for different rows in the table at the same time.
// Smart says they're working on enhancing this area, but the DynamicForm might be a better option anyway. (ghinkle)
//
-public class ConfigurationEditor extends LocatableVLayout {
+public class ConfigurationEditor extends EnhancedVLayout {
static final LinkedHashMap<String, String> BOOLEAN_PROPERTY_ITEM_VALUE_MAP = new LinkedHashMap<String, String>();
static {
@@ -153,7 +153,7 @@ public class ConfigurationEditor extends LocatableVLayout {
private ConfigurationGWTServiceAsync configurationService = GWTServiceLookup.getConfigurationService();
- private LocatableToolStrip toolStrip;
+ private EnhancedToolStrip toolStrip;
private ConfigurationDefinition configurationDefinition;
private Configuration configuration;
@@ -395,7 +395,7 @@ public class ConfigurationEditor extends LocatableVLayout {
if (configurationDefinition.getConfigurationFormat() == ConfigurationFormat.STRUCTURED
|| configurationDefinition.getConfigurationFormat() == ConfigurationFormat.STRUCTURED_AND_RAW) {
Log.debug("Building structured configuration editor...");
- LocatableVLayout structuredConfigLayout = buildStructuredPane();
+ EnhancedVLayout structuredConfigLayout = buildStructuredPane();
addMember(structuredConfigLayout);
} else {
Label label = new Label("Structured configuration is not supported.");
@@ -411,8 +411,8 @@ public class ConfigurationEditor extends LocatableVLayout {
reload();
}
- protected LocatableVLayout buildStructuredPane() {
- LocatableVLayout layout = new LocatableVLayout(extendLocatorId("Structured"));
+ protected EnhancedVLayout buildStructuredPane() {
+ EnhancedVLayout layout = new EnhancedVLayout();
List<PropertyGroupDefinition> groupDefinitions = configurationDefinition.getGroupDefinitions();
if (groupDefinitions.isEmpty()) {
@@ -434,12 +434,12 @@ public class ConfigurationEditor extends LocatableVLayout {
sectionStack.setOverflow(Overflow.AUTO);
if (!configurationDefinition.getNonGroupedProperties().isEmpty()) {
- sectionStack.addSection(buildGroupSection(layout.extendLocatorId("NoGroup"), null));
+ sectionStack.addSection(buildGroupSection(null));
}
for (PropertyGroupDefinition definition : groupDefinitions) {
// com.allen_sauer.gwt.log.client.Log.info("building: " + definition.getDisplayName());
- sectionStack.addSection(buildGroupSection(layout.extendLocatorId(definition.getName()), definition));
+ sectionStack.addSection(buildGroupSection(definition));
}
this.toolStrip = buildToolStrip(layout, sectionStack);
@@ -468,8 +468,8 @@ public class ConfigurationEditor extends LocatableVLayout {
}
}
- private LocatableToolStrip buildToolStrip(LocatableVLayout layout, final SectionStack sectionStack) {
- LocatableToolStrip toolStrip = new LocatableToolStrip();
+ private EnhancedToolStrip buildToolStrip(EnhancedVLayout layout, final SectionStack sectionStack) {
+ EnhancedToolStrip toolStrip = new EnhancedToolStrip();
toolStrip.setBackgroundImage(null);
toolStrip.setWidth100();
toolStrip.setMembersMargin(3);
@@ -511,7 +511,7 @@ public class ConfigurationEditor extends LocatableVLayout {
return toolStrip;
}
- public SectionStackSection buildGroupSection(String locatorId, PropertyGroupDefinition group) {
+ public SectionStackSection buildGroupSection(PropertyGroupDefinition group) {
SectionStackSection section;
if (group == null) {
section = new SectionStackSection(MSG.common_title_generalProp());
@@ -765,7 +765,7 @@ public class ConfigurationEditor extends LocatableVLayout {
addMemberPropertyDefinitionsToDynamicPropertyMap(propertyDefinitionMapClone, propertyMap);
propertyDefinitionMap = propertyDefinitionMapClone;
}
- LocatableVLayout layout = new LocatableVLayout();
+ EnhancedVLayout layout = new EnhancedVLayout();
HTMLFlow description = new HTMLFlow(propertyDefinitionMap.getDescription());
layout.addMember(description);
@@ -777,7 +777,7 @@ public class ConfigurationEditor extends LocatableVLayout {
if (isDynamic && !isReadOnly(propertyDefinitionMap, propertyMap)) {
// Map is not read-only - add footer with New and Delete buttons to allow user to add or remove members.
- LocatableToolStrip buttonBar = new LocatableToolStrip();
+ EnhancedToolStrip buttonBar = new EnhancedToolStrip();
buttonBar.setPadding(5);
buttonBar.setMembersMargin(15);
@@ -826,7 +826,7 @@ public class ConfigurationEditor extends LocatableVLayout {
selectItem.setValueMap(propertyDefinitionMap.getMap().keySet()
.toArray(new String[propertyDefinitionMap.getMap().size()]));
- final EnhancedIButton okButton = new EnhancedIButton(buttonBar.extendLocatorId("OK"));
+ final EnhancedIButton okButton = new EnhancedIButton();
okButton.setTitle(MSG.common_button_ok());
okButton.setDisabled(true);
okButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() {
@@ -1019,7 +1019,7 @@ public class ConfigurationEditor extends LocatableVLayout {
ListGridRecord[] rows = buildSummaryRecords(propertyList, propertyDefinitions);
summaryTable.setData(rows);
- VLayout summaryTableHolder = new LocatableVLayout();
+ VLayout summaryTableHolder = new EnhancedVLayout();
ToolStrip toolStrip = new ToolStrip();
toolStrip.setWidth100();
@@ -1096,7 +1096,7 @@ public class ConfigurationEditor extends LocatableVLayout {
final PropertyList propertyList) {
Log.debug("Building list-of-simples field for " + propertyList + "...");
- LocatableVLayout vLayout = new LocatableVLayout();
+ EnhancedVLayout vLayout = new EnhancedVLayout();
final DynamicForm listGrid = new DynamicForm();
vLayout.addMember(listGrid);
@@ -1119,7 +1119,7 @@ public class ConfigurationEditor extends LocatableVLayout {
footer.setMembersMargin(15);
vLayout.addMember(footer);
- final IButton deleteButton = new EnhancedIButton(extendLocatorId("Delete"));
+ final IButton deleteButton = new EnhancedIButton();
deleteButton.setIcon(Window.getImgURL(ImageManager.getRemoveIcon()));
deleteButton.setTooltip(MSG.view_configEdit_tooltip_1());
deleteButton.setDisabled(true);
@@ -1688,7 +1688,7 @@ public class ConfigurationEditor extends LocatableVLayout {
final String title = (mapReadOnly) ? MSG.view_configEdit_viewRow() : MSG.view_configEdit_editRow();
final Window popup = createPopup(title, 800, 600);
- final LocatableVLayout layout = new LocatableVLayout();
+ final EnhancedVLayout layout = new EnhancedVLayout();
layout.setHeight100();
layout.setMargin(8);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/GroupConfigurationEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/GroupConfigurationEditor.java
index faf6e84..a9e408d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/GroupConfigurationEditor.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/GroupConfigurationEditor.java
@@ -73,8 +73,8 @@ import org.rhq.enterprise.gui.coregui.client.components.form.SortedSelectItem;
import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
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.LocatableToolStrip;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A SmartGWT widget for editing a group of RHQ {@link Configuration}s that conform to the same
@@ -193,8 +193,7 @@ public class GroupConfigurationEditor extends ConfigurationEditor {
icon.addFormItemClickHandler(new FormItemClickHandler() {
public void onFormItemClick(FormItemIconClickEvent event) {
// TODO: Pass the actual index, rather than null, if the prop is inside a list.
- displayMemberValuesEditor(extendLocatorId("MemberValuesEditor"), propertyDefinitionSimple,
- propertySimple, null, dynamicItem);
+ displayMemberValuesEditor(propertyDefinitionSimple, propertySimple, null, dynamicItem);
}
});
@@ -224,7 +223,7 @@ public class GroupConfigurationEditor extends ConfigurationEditor {
return unsetItem;
}
- private void displayMemberValuesEditor(String locatorId, final PropertyDefinitionSimple propertyDefinitionSimple,
+ private void displayMemberValuesEditor(final PropertyDefinitionSimple propertyDefinitionSimple,
final PropertySimple aggregatePropertySimple, Integer index, final FormItem aggregateValueItem) {
final PopupWindow popup = new PopupWindow(null);
@@ -232,28 +231,28 @@ public class GroupConfigurationEditor extends ConfigurationEditor {
popup.setWidth(800);
popup.setHeight(600);
- LocatableVLayout layout = buildMemberEditor(locatorId, propertyDefinitionSimple, aggregatePropertySimple,
- index, aggregateValueItem, popup);
+ EnhancedVLayout layout = buildMemberEditor(propertyDefinitionSimple, aggregatePropertySimple, index,
+ aggregateValueItem, popup);
popup.addItem(layout);
popup.show();
}
- private LocatableVLayout buildMemberEditor(String locatorId,
- final PropertyDefinitionSimple propertyDefinitionSimple, final PropertySimple aggregatePropertySimple,
- final Integer index, final FormItem aggregateValueItem, final PopupWindow popup) {
+ private EnhancedVLayout buildMemberEditor(final PropertyDefinitionSimple propertyDefinitionSimple,
+ final PropertySimple aggregatePropertySimple, final Integer index, final FormItem aggregateValueItem,
+ final PopupWindow popup) {
final boolean propertyIsReadOnly = isReadOnly(propertyDefinitionSimple, aggregatePropertySimple);
- LocatableVLayout layout = new LocatableVLayout(extendLocatorId(locatorId));
+ EnhancedVLayout layout = new EnhancedVLayout();
layout.setHeight100();
layout.setWidth100();
layout.setMargin(11);
// create the header strip - will contain "set all values to" form
- LocatableToolStrip headerStrip = null;
+ EnhancedToolStrip headerStrip = null;
if (!propertyIsReadOnly) {
- headerStrip = new LocatableToolStrip();
+ headerStrip = new EnhancedToolStrip();
headerStrip.setWidth100();
headerStrip.setPadding(5);
headerStrip.setMembersMargin(10);
@@ -356,7 +355,7 @@ public class GroupConfigurationEditor extends ConfigurationEditor {
layout.addMember(memberValuesGrid);
// create the footer strip - will contain ok and cancel buttons
- LocatableToolStrip footerStrip = new LocatableToolStrip();
+ EnhancedToolStrip footerStrip = new EnhancedToolStrip();
footerStrip.setWidth100();
footerStrip.setPadding(5);
footerStrip.setMembersMargin(10);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java
index 51aa001..b86f799 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/AbstractRecordEditor.java
@@ -51,8 +51,8 @@ import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableToolStrip;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* An editor for a SmartGWT {@link Record} backed by an {@link RPCDataSource}.
@@ -60,7 +60,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
* @author Ian Springer
*/
@SuppressWarnings("unchecked")
-public abstract class AbstractRecordEditor<DS extends RPCDataSource> extends LocatableVLayout implements
+public abstract class AbstractRecordEditor<DS extends RPCDataSource> extends EnhancedVLayout implements
BookmarkableView, DetailsView {
private static final Label LOADING_LABEL = new Label(MSG.common_msg_loading());
@@ -78,7 +78,7 @@ public abstract class AbstractRecordEditor<DS extends RPCDataSource> extends Loc
private String dataTypeName;
private String listViewPath;
private ButtonBar buttonBar;
- private LocatableVLayout contentPane;
+ private EnhancedVLayout contentPane;
private boolean postFetchHandlerExecutedAlready;
public AbstractRecordEditor(DS dataSource, int recordId, String dataTypeName, String headerIcon) {
@@ -143,8 +143,8 @@ public abstract class AbstractRecordEditor<DS extends RPCDataSource> extends Loc
}
}
- protected LocatableVLayout buildContentPane() {
- LocatableVLayout contentPane = new LocatableVLayout(extendLocatorId("Content"));
+ protected EnhancedVLayout buildContentPane() {
+ EnhancedVLayout contentPane = new EnhancedVLayout();
contentPane.setWidth100();
contentPane.setHeight100();
contentPane.setOverflow(Overflow.AUTO);
@@ -185,7 +185,7 @@ public abstract class AbstractRecordEditor<DS extends RPCDataSource> extends Loc
return this.isReadOnly;
}
- public LocatableVLayout getContentPane() {
+ public EnhancedVLayout getContentPane() {
return this.contentPane;
}
@@ -438,7 +438,7 @@ public abstract class AbstractRecordEditor<DS extends RPCDataSource> extends Loc
return Character.toUpperCase(itemTitle.charAt(ID_NEW)) + itemTitle.substring(1);
}
- protected class ButtonBar extends LocatableToolStrip {
+ protected class ButtonBar extends EnhancedToolStrip {
private IButton saveButton;
private IButton resetButton;
@@ -450,7 +450,7 @@ public abstract class AbstractRecordEditor<DS extends RPCDataSource> extends Loc
setWidth100();
setHeight(35);
- LocatableVLayout vLayout = new LocatableVLayout(extendLocatorId("VLayout"));
+ EnhancedVLayout vLayout = new EnhancedVLayout();
vLayout.setAlign(VerticalAlignment.CENTER);
vLayout.setLayoutMargin(4);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java
index 6f3e9f8..de9d362 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java
@@ -65,16 +65,15 @@ import com.smartgwt.client.widgets.layout.VStack;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTransferImgButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVStack;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVStack;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Greg Hinkle
* @author Ian Springer
*/
-public abstract class AbstractSelector<T, C extends org.rhq.core.domain.criteria.Criteria> extends LocatableVLayout {
+public abstract class AbstractSelector<T, C extends org.rhq.core.domain.criteria.Criteria> extends EnhancedVLayout {
private static final String SELECTOR_KEY = "id";
@@ -395,12 +394,12 @@ public abstract class AbstractSelector<T, C extends org.rhq.core.domain.criteria
}
private VStack buildButtonStack() {
- VStack moveButtonStack = new LocatableVStack(extendLocatorId("MoveButtons"), 6);
+ VStack moveButtonStack = new EnhancedVStack(6);
moveButtonStack.setWidth(42);
moveButtonStack.setHeight(250);
moveButtonStack.setAlign(VerticalAlignment.CENTER);
- this.addButton = new LocatableTransferImgButton(this.getLocatorId(), TransferImgButton.RIGHT);
+ this.addButton = new TransferImgButton(TransferImgButton.RIGHT);
this.addButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
addSelectedRows();
@@ -408,7 +407,7 @@ public abstract class AbstractSelector<T, C extends org.rhq.core.domain.criteria
});
moveButtonStack.addMember(this.addButton);
- this.removeButton = new LocatableTransferImgButton(this.getLocatorId(), TransferImgButton.LEFT);
+ this.removeButton = new TransferImgButton(TransferImgButton.LEFT);
this.removeButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
removeSelectedRows();
@@ -417,7 +416,7 @@ public abstract class AbstractSelector<T, C extends org.rhq.core.domain.criteria
});
moveButtonStack.addMember(this.removeButton);
- this.addAllButton = new LocatableTransferImgButton(this.getLocatorId(), TransferImgButton.RIGHT_ALL);
+ this.addAllButton = new TransferImgButton(TransferImgButton.RIGHT_ALL);
this.addAllButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
availableGrid.selectAllRecords();
@@ -426,7 +425,7 @@ public abstract class AbstractSelector<T, C extends org.rhq.core.domain.criteria
});
moveButtonStack.addMember(this.addAllButton);
- this.removeAllButton = new LocatableTransferImgButton(this.getLocatorId(), TransferImgButton.LEFT_ALL);
+ this.removeAllButton = new TransferImgButton(TransferImgButton.LEFT_ALL);
this.removeAllButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
assignedGrid.selectAllRecords();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/sorter/ReorderableList.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/sorter/ReorderableList.java
index f405d27..f0b61a7 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/sorter/ReorderableList.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/sorter/ReorderableList.java
@@ -36,12 +36,12 @@ import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.layout.SectionStack;
import com.smartgwt.client.widgets.layout.SectionStackSection;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Ian Springer
*/
-public class ReorderableList extends LocatableVLayout {
+public class ReorderableList extends EnhancedVLayout {
protected ListGridRecord[] initialSelection;
protected HLayout hlayout;
@@ -58,17 +58,17 @@ public class ReorderableList extends LocatableVLayout {
private HoverCustomizer nameHoverCustomizer;
- public ReorderableList(String locatorId, ListGridRecord[] records, String itemTitle, String itemIcon) {
- this(locatorId, false, records, itemTitle, itemIcon, null);
+ public ReorderableList(ListGridRecord[] records, String itemTitle, String itemIcon) {
+ this(false, records, itemTitle, itemIcon, null);
}
- public ReorderableList(String locatorId, ListGridRecord[] records, String itemTitle, String itemIcon,
+ public ReorderableList(ListGridRecord[] records, String itemTitle, String itemIcon,
HoverCustomizer nameHoverCustomizer) {
- this(locatorId, false, records, itemTitle, itemIcon, nameHoverCustomizer);
+ this(false, records, itemTitle, itemIcon, nameHoverCustomizer);
}
- public ReorderableList(String locatorId, boolean isReadOnly, ListGridRecord[] records, String itemTitle,
- String itemIcon, HoverCustomizer nameHoverCustomizer) {
+ public ReorderableList(boolean isReadOnly, ListGridRecord[] records, String itemTitle, String itemIcon,
+ HoverCustomizer nameHoverCustomizer) {
super();
this.isReadOnly = isReadOnly;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java
index c8ce710..d54048e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java
@@ -15,13 +15,13 @@ public class NamedTab extends LocatableTab {
private ViewName viewName;
- public NamedTab(String locatorId, ViewName viewName) {
- super(locatorId, viewName.getTitle());
+ public NamedTab(ViewName viewName) {
+ super(viewName.getTitle());
this.viewName = viewName;
}
- public NamedTab(String locatorId, ViewName viewName, String icon) {
- super(locatorId, viewName.getTitle(), icon);
+ public NamedTab(ViewName viewName, String icon) {
+ super(viewName.getTitle(), icon);
this.viewName = viewName;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTab.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTab.java
index a9c5ef7..e28b80d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTab.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTab.java
@@ -24,14 +24,14 @@ import com.smartgwt.client.widgets.Canvas;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewFactory;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.Locatable;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.Enhanced;
/**
* A Locatable SubTab associating a Button with a Canvas.
*
* @author Jay Shaughnessy
*/
-public class SubTab implements Locatable {
+public class SubTab implements Enhanced {
private String locatorId;
private ViewName viewName;
private Canvas canvas;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
index c7cd05e..95f786b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java
@@ -35,13 +35,13 @@ import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.toolbar.ToolStrip;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableToolStrip;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
*/
-public class SubTabLayout extends LocatableVLayout {
+public class SubTabLayout extends EnhancedVLayout {
/** maps subTab locator IDs to SubTabs. Unlike names, locatorIDs are qualified by the Tab and therefore unique. */
private Map<String, SubTab> subTabs = new LinkedHashMap<String, SubTab>();
@@ -70,7 +70,7 @@ public class SubTabLayout extends LocatableVLayout {
setMargin(0);
setPadding(0);
- buttonBar = new LocatableToolStrip();
+ buttonBar = new EnhancedToolStrip();
buttonBar.setBackgroundColor("grey");
buttonBar.setWidth100();
buttonBar.setBorder(null);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java
index 922ec35..813d638 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java
@@ -29,26 +29,25 @@ import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
*/
public class TwoLevelTab extends NamedTab {
private SubTabLayout layout;
-
+
private TwoLevelTab actualNext;
private TwoLevelTab visibleNext;
/**
* Use the more type safe version instead.<br/>
* <code>TwoLevelTab(String locatorId, ViewName viewName, String icon)</code>
- * @param locatorId
* @param viewName
* @param icon String representation of Icon not as typesafe as IconEnum.
*/
@Deprecated
- public TwoLevelTab(String locatorId, ViewName viewName, String icon) {
- super(locatorId, viewName, icon);
+ public TwoLevelTab(ViewName viewName, String icon) {
+ super(viewName, icon);
layout = new SubTabLayout();
}
- public TwoLevelTab(String locatorId, ViewName viewName, IconEnum iconEnum) {
- super(locatorId, viewName, iconEnum.getIcon16x16DisabledPath());
+ public TwoLevelTab(ViewName viewName, IconEnum iconEnum) {
+ super(viewName, iconEnum.getIcon16x16DisabledPath());
layout = new SubTabLayout();
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/AbstractTableSection.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/AbstractTableSection.java
index 9735e2b..4a49067 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/AbstractTableSection.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/AbstractTableSection.java
@@ -45,7 +45,7 @@ import org.rhq.enterprise.gui.coregui.client.components.buttons.BackButton;
import org.rhq.enterprise.gui.coregui.client.util.Log;
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;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -109,7 +109,7 @@ public abstract class AbstractTableSection<DS extends RPCDataSource, ID> extends
this.initialDisplay = true;
- detailsHolder = new LocatableVLayout();
+ detailsHolder = new EnhancedVLayout();
detailsHolder.setAlign(VerticalAlignment.TOP);
//detailsHolder.setWidth100();
//detailsHolder.setHeight100();
@@ -388,7 +388,7 @@ public abstract class AbstractTableSection<DS extends RPCDataSource, ID> extends
// editable, a Cancel button should already be provided by the details view.
BackButton backButton = new BackButton(MSG.view_tableSection_backButton(), basePath);
detailsHolder.addMember(backButton);
- VLayout verticalSpacer = new LocatableVLayout();
+ VLayout verticalSpacer = new EnhancedVLayout();
verticalSpacer.setHeight(8);
detailsHolder.addMember(verticalSpacer);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java
index 0df8621..d7f83f1 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/table/Table.java
@@ -85,8 +85,8 @@ import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableToolStrip;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -109,11 +109,11 @@ public class Table<DS extends RPCDataSource> extends EnhancedHLayout implements
protected static final String FIELD_ID = "id";
protected static final String FIELD_NAME = "name";
- private LocatableVLayout contents;
+ private EnhancedVLayout contents;
private HTMLFlow titleCanvas;
- private LocatableVLayout titleLayout;
+ private EnhancedVLayout titleLayout;
private TitleBar titleBar;
private String titleIcon;
@@ -146,8 +146,8 @@ public class Table<DS extends RPCDataSource> extends EnhancedHLayout implements
private boolean tableActionDisableOverride = false;
protected List<Canvas> extraWidgetsAboveFooter = new ArrayList<Canvas>();
protected List<Canvas> extraWidgetsInMainFooter = new ArrayList<Canvas>();
- private LocatableToolStrip footer;
- private LocatableToolStrip footerExtraWidgets;
+ private EnhancedToolStrip footer;
+ private EnhancedToolStrip footerExtraWidgets;
private EnhancedIButton refreshButton;
private boolean initialized;
@@ -245,9 +245,9 @@ public class Table<DS extends RPCDataSource> extends EnhancedHLayout implements
* @return the Layout for all of the Table contents
* @see #configureTableContents(Layout)
*/
- protected LocatableVLayout createTableContents() {
+ protected EnhancedVLayout createTableContents() {
if (null == contents) {
- contents = new LocatableVLayout();
+ contents = new EnhancedVLayout();
}
return contents;
@@ -270,7 +270,7 @@ public class Table<DS extends RPCDataSource> extends EnhancedHLayout implements
contents.setOverflow(Overflow.AUTO);
}
- public LocatableVLayout getTableContents() {
+ public EnhancedVLayout getTableContents() {
return contents;
}
@@ -422,7 +422,7 @@ public class Table<DS extends RPCDataSource> extends EnhancedHLayout implements
if (showHeader) {
// titleLayout not really needed now as TitleBar has a LocatableVLayout
- titleLayout = new LocatableVLayout(contents.extendLocatorId("Title"));
+ titleLayout = new EnhancedVLayout();
titleLayout.setAutoHeight();
titleLayout.setAlign(VerticalAlignment.BOTTOM);
contents.addMember(titleLayout, 0);
@@ -438,14 +438,14 @@ public class Table<DS extends RPCDataSource> extends EnhancedHLayout implements
// A second toolstrip that optionally appears before the main footer - it will contain extra widgets.
// This is hidden from view unless extra widgets are actually added to the table above the main footer.
- this.footerExtraWidgets = new LocatableToolStrip();
+ this.footerExtraWidgets = new EnhancedToolStrip();
footerExtraWidgets.setPadding(5);
footerExtraWidgets.setWidth100();
footerExtraWidgets.setMembersMargin(15);
footerExtraWidgets.hide();
contents.addMember(footerExtraWidgets);
- this.footer = new LocatableToolStrip();
+ this.footer = new EnhancedToolStrip();
footer.setPadding(5);
footer.setWidth100();
footer.setMembersMargin(15);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tagging/TagEditorView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tagging/TagEditorView.java
index e626457..4f6b037 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tagging/TagEditorView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tagging/TagEditorView.java
@@ -55,7 +55,7 @@ import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedLayout;
/**
* A reusable component that shows a set of tags and, if not read only, allows the user
@@ -64,7 +64,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableLayout;
* @author Greg Hinkle
* @author John Mazzitelli
*/
-public class TagEditorView extends LocatableLayout {
+public class TagEditorView extends EnhancedLayout {
private LinkedHashSet<Tag> tags = new LinkedHashSet<Tag>();
private boolean readOnly;
@@ -74,12 +74,11 @@ public class TagEditorView extends LocatableLayout {
private Img addImg;
private TagInputDialog tagInputDialog;
- public TagEditorView(String locatorId, Set<Tag> tags, boolean readOnly, TagsChangedCallback callback) {
- this(locatorId, tags, readOnly, callback, false);
+ public TagEditorView(Set<Tag> tags, boolean readOnly, TagsChangedCallback callback) {
+ this(tags, readOnly, callback, false);
}
- public TagEditorView(String locatorId, Set<Tag> tags, boolean readOnly, TagsChangedCallback callback,
- boolean vertical) {
+ public TagEditorView(Set<Tag> tags, boolean readOnly, TagsChangedCallback callback, boolean vertical) {
super();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/trigger/JobTriggerEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/trigger/JobTriggerEditor.java
index e613674..83702f9 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/trigger/JobTriggerEditor.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/trigger/JobTriggerEditor.java
@@ -49,7 +49,7 @@ import org.rhq.enterprise.gui.coregui.client.components.form.EnhancedDynamicForm
import org.rhq.enterprise.gui.coregui.client.components.form.TimeUnit;
import org.rhq.enterprise.gui.coregui.client.components.form.UnitType;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A SmartGWT widget that provides the ability to create a new {@link JobTrigger job trigger}, or view or edit an
@@ -57,7 +57,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
*
* @author Ian Springer
*/
-public class JobTriggerEditor extends LocatableVLayout {
+public class JobTriggerEditor extends EnhancedVLayout {
// Field Names
private static final String FIELD_MODE = "mode";
@@ -73,8 +73,8 @@ public class JobTriggerEditor extends LocatableVLayout {
private JobTrigger jobTrigger;
private boolean isReadOnly;
- private LocatableVLayout calendarModeLayout;
- private LocatableVLayout cronModeLayout;
+ private EnhancedVLayout calendarModeLayout;
+ private EnhancedVLayout cronModeLayout;
private EnhancedDynamicForm modeForm;
private EnhancedDynamicForm calendarTypeForm;
@@ -95,7 +95,7 @@ public class JobTriggerEditor extends LocatableVLayout {
*
* @param locatorId
*/
- public JobTriggerEditor(String locatorId, boolean isReadOnly) {
+ public JobTriggerEditor(boolean isReadOnly) {
super();
this.isReadOnly = isReadOnly;
@@ -107,7 +107,7 @@ public class JobTriggerEditor extends LocatableVLayout {
* @param locatorId
* @param jobTrigger
*/
- public JobTriggerEditor(String locatorId, JobTrigger jobTrigger) {
+ public JobTriggerEditor(JobTrigger jobTrigger) {
super();
this.jobTrigger = jobTrigger;
@@ -192,7 +192,7 @@ public class JobTriggerEditor extends LocatableVLayout {
this.modeForm.setFields(modeItem);
addMember(this.modeForm);
- this.calendarModeLayout = new LocatableVLayout(extendLocatorId("CalendarModeLayout"));
+ this.calendarModeLayout = new EnhancedVLayout();
this.calendarTypeForm = new EnhancedDynamicForm(this.isReadOnly);
@@ -213,7 +213,7 @@ public class JobTriggerEditor extends LocatableVLayout {
this.calendarModeLayout.addMember(this.calendarTypeForm);
addMember(this.calendarModeLayout);
- this.cronModeLayout = new LocatableVLayout(extendLocatorId("CronModeLayout"));
+ this.cronModeLayout = new EnhancedVLayout();
this.cronModeLayout.setVisible(false);
this.cronForm = new DynamicForm();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/AbstractSectionedLeftNavigationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/AbstractSectionedLeftNavigationView.java
index a623f54..c5860f7 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/AbstractSectionedLeftNavigationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/AbstractSectionedLeftNavigationView.java
@@ -49,7 +49,7 @@ import org.rhq.enterprise.gui.coregui.client.components.TitleBar;
import org.rhq.enterprise.gui.coregui.client.components.tree.EnhancedTreeNode;
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* The base class for the various top-level views which have a sectioned navigation menu on the left side and a content
@@ -195,7 +195,7 @@ public abstract class AbstractSectionedLeftNavigationView extends EnhancedHLayou
public void setContent(Canvas newContent) {
if (newContent instanceof HasViewName) {
- LocatableVLayout decoratedContent = decorateWithTitleBar(((HasViewName) newContent).getViewName(),
+ EnhancedVLayout decoratedContent = decorateWithTitleBar(((HasViewName) newContent).getViewName(),
newContent);
contentCanvas.addChild(decoratedContent);
} else {
@@ -294,8 +294,8 @@ public abstract class AbstractSectionedLeftNavigationView extends EnhancedHLayou
return globalPermissions;
}
- private LocatableVLayout decorateWithTitleBar(ViewName viewName, Canvas pageBody){
- LocatableVLayout vLayout = new LocatableVLayout();
+ private EnhancedVLayout decorateWithTitleBar(ViewName viewName, Canvas pageBody){
+ EnhancedVLayout vLayout = new EnhancedVLayout();
vLayout.setWidth100();
vLayout.setHeight100();
// default to 24x24 otherwise use 16x16
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java
index a89873d..9b2126b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/wizard/WizardView.java
@@ -40,12 +40,12 @@ import com.smartgwt.client.widgets.toolbar.ToolStrip;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.Messages;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
*/
-public class WizardView extends LocatableVLayout {
+public class WizardView extends EnhancedVLayout {
static private final Messages MSG = CoreGUI.getMessages();
@@ -79,7 +79,7 @@ public class WizardView extends LocatableVLayout {
HashSet<Canvas> createdCanvases = new HashSet<Canvas>();
public WizardView(Wizard wizard) {
- super("WizardView", 10);
+ super(10);
this.wizard = wizard;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardView.java
index f0693d6..e96a08a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardView.java
@@ -76,7 +76,7 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.resource.Resourc
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.resource.ResourcePkgHistoryPortlet;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -84,7 +84,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
* @author Greg Hinkle
* @author Simeon Pinder
*/
-public class DashboardView extends LocatableVLayout {
+public class DashboardView extends EnhancedVLayout {
private DashboardContainer dashboardContainer;
private Dashboard storedDashboard;
@@ -128,9 +128,9 @@ public class DashboardView extends LocatableVLayout {
* @param dashboardContainer
* @param storedDashboard
*/
- public DashboardView(String locatorId, DashboardContainer dashboardContainer, Dashboard storedDashboard) {
+ public DashboardView(DashboardContainer dashboardContainer, Dashboard storedDashboard) {
- this(locatorId, dashboardContainer, storedDashboard, EntityContext.forSubsystemView(), null);
+ this(dashboardContainer, storedDashboard, EntityContext.forSubsystemView(), null);
}
/**
@@ -140,8 +140,8 @@ public class DashboardView extends LocatableVLayout {
* @param context
* @param composite ResourceComposite, ResourceGroupComposite or null depending on context
*/
- public DashboardView(String locatorId, DashboardContainer dashboardContainer, Dashboard storedDashboard,
- EntityContext context, Object composite) {
+ public DashboardView(DashboardContainer dashboardContainer, Dashboard storedDashboard, EntityContext context,
+ Object composite) {
super();
@@ -208,8 +208,7 @@ public class DashboardView extends LocatableVLayout {
public void buildPortlets() {
this.setBackgroundColor(storedDashboard.getConfiguration().getSimpleValue(Dashboard.CFG_BACKGROUND, "white"));
- portalLayout = new PortalLayout(extendLocatorId("PortalLayout"), this, storedDashboard.getColumns(),
- storedDashboard.getColumnWidths());
+ portalLayout = new PortalLayout(this, storedDashboard.getColumns(), storedDashboard.getColumnWidths());
portalLayout.setOverflow(Overflow.AUTO);
portalLayout.setWidth100();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
index 3ac6274..d71aa2d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
@@ -72,13 +72,13 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.util.MessagePort
import org.rhq.enterprise.gui.coregui.client.gwt.DashboardGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
* @author Greg Hinkle
*/
-public class DashboardsView extends LocatableVLayout implements DashboardContainer, BookmarkableView, InitializableView {
+public class DashboardsView extends EnhancedVLayout implements DashboardContainer, BookmarkableView, InitializableView {
public static final ViewName VIEW_ID = new ViewName("Dashboards", MSG.view_dashboards_title());
@@ -234,9 +234,8 @@ public class DashboardsView extends LocatableVLayout implements DashboardContain
String dashboardName = String.valueOf(dashboard.getId());
String dashboardTitle = dashboard.getName();
String dashboardLocatorId = getDashboardLocatorId(dashboardTitle);
- String locatorId = extendLocatorId(dashboardLocatorId);
- DashboardView dashboardView = new DashboardView(locatorId, this, dashboard);
- Tab tab = new NamedTab(locatorId, new ViewName(dashboardName, dashboardTitle), null);
+ DashboardView dashboardView = new DashboardView(this, dashboard);
+ Tab tab = new NamedTab(new ViewName(dashboardName, dashboardTitle), null);
tab.setPane(dashboardView);
tab.setCanClose(true);
@@ -391,10 +390,8 @@ public class DashboardsView extends LocatableVLayout implements DashboardContain
String dashboardTitle = result.getName();
dashboardsByName.put(dashboardTitle, result); // update map so name can not be reused
String dashboardLocatorId = getDashboardLocatorId(dashboardTitle);
- DashboardView dashboardView = new DashboardView(extendLocatorId(dashboardLocatorId),
- DashboardsView.this, result);
- NamedTab tab = new NamedTab(extendLocatorId(dashboardLocatorId), new ViewName(dashboardName,
- dashboardTitle), null);
+ DashboardView dashboardView = new DashboardView(DashboardsView.this, result);
+ NamedTab tab = new NamedTab(new ViewName(dashboardName, dashboardTitle), null);
tab.setPane(dashboardView);
tab.setCanClose(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortalLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortalLayout.java
index 3da3145..6b7abb6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortalLayout.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortalLayout.java
@@ -56,7 +56,7 @@ public class PortalLayout extends EnhancedHLayout {
* @param columnWidths Currently only the first column width is set, others are ignored and share the remaining space
* evenly. If null column 0 defaults to 30%.
*/
- public PortalLayout(String locatorId, DashboardView dashboardView, int numColumns, String[] columnWidths) {
+ public PortalLayout(DashboardView dashboardView, int numColumns, String[] columnWidths) {
super();
if (numColumns < 1) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupBundleDeploymentsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupBundleDeploymentsPortlet.java
index 10b3ac5..d29154a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupBundleDeploymentsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupBundleDeploymentsPortlet.java
@@ -55,13 +55,13 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView;
import org.rhq.enterprise.gui.coregui.client.util.GwtRelativeDurationConverter;
import org.rhq.enterprise.gui.coregui.client.util.Log;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**This portlet allows the end user to customize the Bundle Deployment display
*
* @author Simeon Pinder
*/
-public class GroupBundleDeploymentsPortlet extends LocatableVLayout implements CustomSettingsPortlet,
+public class GroupBundleDeploymentsPortlet extends EnhancedVLayout implements CustomSettingsPortlet,
AutoRefreshPortlet {
private int groupId = -1;
@@ -156,7 +156,7 @@ public class GroupBundleDeploymentsPortlet extends LocatableVLayout implements C
final Configuration portletConfig = storedPortlet.getConfiguration();
DynamicForm customSettings = new DynamicForm();
- LocatableVLayout page = new LocatableVLayout();
+ EnhancedVLayout page = new EnhancedVLayout();
//build editor form container
final DynamicForm form = new DynamicForm();
form.setMargin(5);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupConfigurationUpdatesPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupConfigurationUpdatesPortlet.java
index e575fc6..cdf1a9e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupConfigurationUpdatesPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupConfigurationUpdatesPortlet.java
@@ -64,12 +64,12 @@ import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.configurati
import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.configuration.HistoryGroupResourceConfigurationTable;
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Simeon Pinder
*/
-public class GroupConfigurationUpdatesPortlet extends LocatableVLayout implements CustomSettingsPortlet,
+public class GroupConfigurationUpdatesPortlet extends EnhancedVLayout implements CustomSettingsPortlet,
AutoRefreshPortlet {
// A non-displayed, persisted identifier for the portlet
@@ -163,7 +163,7 @@ public class GroupConfigurationUpdatesPortlet extends LocatableVLayout implement
final DashboardPortlet storedPortlet = this.portletWindow.getStoredPortlet();
final Configuration portletConfig = storedPortlet.getConfiguration();
DynamicForm customSettings = new DynamicForm();
- LocatableVLayout page = new LocatableVLayout();
+ EnhancedVLayout page = new EnhancedVLayout();
//build editor form container
final DynamicForm form = new DynamicForm();
form.setMargin(5);
@@ -316,16 +316,14 @@ public class GroupConfigurationUpdatesPortlet extends LocatableVLayout implement
filterResourceGroupIds.add(context.getGroupId());
criteria.addFilterResourceGroupIds(filterResourceGroupIds);
- groupHistoryTable = new GroupConfigurationHistoryCriteriaTable(extendLocatorId("Table"),
- groupComposite);
+ groupHistoryTable = new GroupConfigurationHistoryCriteriaTable(groupComposite);
} else {
ResourceGroup emptyGroup = new ResourceGroup("");
emptyGroup.setId(-1);
Long zero = new Long(0);
groupComposite = new ResourceGroupComposite(zero, zero, zero, zero, zero, zero, zero, zero,
emptyGroup);
- groupHistoryTable = new GroupConfigurationHistoryCriteriaTable(extendLocatorId("Table"),
- groupComposite);
+ groupHistoryTable = new GroupConfigurationHistoryCriteriaTable(groupComposite);
}
//update table for portlet display.
@@ -347,8 +345,8 @@ public class GroupConfigurationUpdatesPortlet extends LocatableVLayout implement
class GroupConfigurationHistoryCriteriaTable extends HistoryGroupResourceConfigurationTable {
- public GroupConfigurationHistoryCriteriaTable(String locatorId, ResourceGroupComposite groupComposite) {
- super(locatorId, groupComposite);
+ public GroupConfigurationHistoryCriteriaTable(ResourceGroupComposite groupComposite) {
+ super(groupComposite);
}
@Override
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupEventsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupEventsPortlet.java
index 52ed212..daf29b4 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupEventsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupEventsPortlet.java
@@ -52,13 +52,13 @@ import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.Abs
import org.rhq.enterprise.gui.coregui.client.util.GwtTuple;
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**This portlet allows the end user to customize the Events display
*
* @author Simeon Pinder
*/
-public class GroupEventsPortlet extends LocatableVLayout implements CustomSettingsPortlet, AutoRefreshPortlet {
+public class GroupEventsPortlet extends EnhancedVLayout implements CustomSettingsPortlet, AutoRefreshPortlet {
// A non-displayed, persisted identifier for the portlet
public static final String KEY = "GroupEvents";
@@ -155,7 +155,7 @@ public class GroupEventsPortlet extends LocatableVLayout implements CustomSettin
@Override
public DynamicForm getCustomSettingsForm() {
final DynamicForm customSettings = new DynamicForm();
- LocatableVLayout page = new LocatableVLayout();
+ EnhancedVLayout page = new EnhancedVLayout();
final DashboardPortlet storedPortlet = this.portletWindow.getStoredPortlet();
final Configuration portletConfig = storedPortlet.getConfiguration();
@@ -246,7 +246,7 @@ public class GroupEventsPortlet extends LocatableVLayout implements CustomSettin
}
}
//build display
- LocatableVLayout column = new LocatableVLayout();
+ EnhancedVLayout column = new EnhancedVLayout();
column.setHeight(10);
if (!results.isEmpty()) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
index f6ed358..8aee857 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
@@ -70,13 +70,13 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTyp
import org.rhq.enterprise.gui.coregui.client.util.BrowserUtility;
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**This portlet allows the end user to customize the metric display
*
* @author Simeon Pinder
*/
-public class GroupMetricsPortlet extends LocatableVLayout implements CustomSettingsPortlet, AutoRefreshPortlet {
+public class GroupMetricsPortlet extends EnhancedVLayout implements CustomSettingsPortlet, AutoRefreshPortlet {
private int groupId = -1;
private boolean isAutoCluster;
@@ -184,7 +184,7 @@ public class GroupMetricsPortlet extends LocatableVLayout implements CustomSetti
//root form.
DynamicForm customSettings = new DynamicForm();
//embed range editor in it own container
- LocatableVLayout page = new LocatableVLayout();
+ EnhancedVLayout page = new EnhancedVLayout();
final DashboardPortlet storedPortlet = this.portletWindow.getStoredPortlet();
final Configuration portletConfig = storedPortlet.getConfiguration();
final CustomConfigMeasurementRangeEditor measurementRangeEditor = PortletConfigurationEditorComponent
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java
index a41594a..96d5520 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOobsPortlet.java
@@ -55,13 +55,13 @@ import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.Abs
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView.ChartViewWindow;
import org.rhq.enterprise.gui.coregui.client.util.GwtRelativeDurationConverter;
import org.rhq.enterprise.gui.coregui.client.util.Log;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**This portlet allows the end user to customize the OOB display
*
* @author Simeon Pinder
*/
-public class GroupOobsPortlet extends LocatableVLayout implements CustomSettingsPortlet, AutoRefreshPortlet {
+public class GroupOobsPortlet extends EnhancedVLayout implements CustomSettingsPortlet, AutoRefreshPortlet {
// A non-displayed, persisted identifier for the portlet
public static final String KEY = "GroupOobs";
@@ -155,7 +155,7 @@ public class GroupOobsPortlet extends LocatableVLayout implements CustomSettings
final Configuration portletConfig = storedPortlet.getConfiguration();
DynamicForm customSettings = new DynamicForm();
- LocatableVLayout page = new LocatableVLayout();
+ EnhancedVLayout page = new EnhancedVLayout();
//build editor form container
final DynamicForm form = new DynamicForm();
form.setMargin(5);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOperationsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOperationsPortlet.java
index 3e1f428..1e5946b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOperationsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOperationsPortlet.java
@@ -62,12 +62,12 @@ import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.operation.h
import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.operation.history.GroupOperationHistoryListView;
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Simeon Pinder
*/
-public class GroupOperationsPortlet extends LocatableVLayout implements CustomSettingsPortlet, AutoRefreshPortlet {
+public class GroupOperationsPortlet extends EnhancedVLayout implements CustomSettingsPortlet, AutoRefreshPortlet {
// A non-displayed, persisted identifier for the portlet
public static final String KEY = "GroupOperations";
@@ -235,7 +235,7 @@ public class GroupOperationsPortlet extends LocatableVLayout implements CustomSe
final Configuration portletConfig = storedPortlet.getConfiguration();
DynamicForm customSettings = new DynamicForm();
- LocatableVLayout page = new LocatableVLayout();
+ EnhancedVLayout page = new EnhancedVLayout();
//build editor form container
final DynamicForm form = new DynamicForm();
form.setMargin(5);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupPkgHistoryPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupPkgHistoryPortlet.java
index 520cd0d..7ed8a80 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupPkgHistoryPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupPkgHistoryPortlet.java
@@ -53,13 +53,13 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView;
import org.rhq.enterprise.gui.coregui.client.util.GwtRelativeDurationConverter;
import org.rhq.enterprise.gui.coregui.client.util.Log;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**This portlet allows the end user to customize the Package History display
*
* @author Simeon Pinder
*/
-public class GroupPkgHistoryPortlet extends LocatableVLayout implements CustomSettingsPortlet, AutoRefreshPortlet {
+public class GroupPkgHistoryPortlet extends EnhancedVLayout implements CustomSettingsPortlet, AutoRefreshPortlet {
// A non-displayed, persisted identifier for the portlet
public static final String KEY = "GroupPackageHistory";
@@ -153,7 +153,7 @@ public class GroupPkgHistoryPortlet extends LocatableVLayout implements CustomSe
final Configuration portletConfig = storedPortlet.getConfiguration();
DynamicForm customSettings = new DynamicForm();
- LocatableVLayout page = new LocatableVLayout();
+ EnhancedVLayout page = new EnhancedVLayout();
//build editor form container
final DynamicForm form = new DynamicForm();
form.setMargin(5);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/alerts/AbstractRecentAlertsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/alerts/AbstractRecentAlertsPortlet.java
index 1fbf7aa..44f7e79 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/alerts/AbstractRecentAlertsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/alerts/AbstractRecentAlertsPortlet.java
@@ -45,7 +45,7 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.PortletWindow;
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigurationEditorComponent;
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigurationEditorComponent.Constant;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -163,7 +163,7 @@ public abstract class AbstractRecentAlertsPortlet extends AlertHistoryView imple
public DynamicForm getCustomSettingsForm() {
DynamicForm customSettingsForm = new DynamicForm();
- LocatableVLayout page = new LocatableVLayout();
+ EnhancedVLayout page = new EnhancedVLayout();
DynamicForm filterForm = new DynamicForm();
filterForm.setMargin(5);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/drift/AbstractRecentDriftsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/drift/AbstractRecentDriftsPortlet.java
index b695984..63ba856 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/drift/AbstractRecentDriftsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/drift/AbstractRecentDriftsPortlet.java
@@ -42,7 +42,7 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigura
import org.rhq.enterprise.gui.coregui.client.drift.DriftDataSource;
import org.rhq.enterprise.gui.coregui.client.drift.DriftHistoryView;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A base class for deriving recent drift portlets for different entity contexts. In this way the
@@ -129,7 +129,7 @@ public abstract class AbstractRecentDriftsPortlet extends DriftHistoryView imple
public DynamicForm getCustomSettingsForm() {
DynamicForm customSettingsForm = new DynamicForm();
- LocatableVLayout page = new LocatableVLayout();
+ EnhancedVLayout page = new EnhancedVLayout();
DynamicForm filterForm = new DynamicForm();
filterForm.setMargin(5);
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 2e4f279..5941428 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
@@ -46,9 +46,9 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.CustomSettingsPortlet;
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.PortletWindow;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
-public class RecentlyAddedResourcesPortlet extends LocatableVLayout implements CustomSettingsPortlet,
+public class RecentlyAddedResourcesPortlet extends EnhancedVLayout implements CustomSettingsPortlet,
AutoRefreshPortlet {
// A non-displayed, persisted identifier for the portlet
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/AbstractOperationHistoryPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/AbstractOperationHistoryPortlet.java
index 3eeb1cb..2b310f4 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/AbstractOperationHistoryPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/recent/operations/AbstractOperationHistoryPortlet.java
@@ -41,7 +41,7 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigura
import org.rhq.enterprise.gui.coregui.client.operation.OperationHistoryDataSource;
import org.rhq.enterprise.gui.coregui.client.operation.OperationHistoryView;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A base class for deriving recent resource operations portlets for different entity contexts. In this way the
@@ -135,7 +135,7 @@ public abstract class AbstractOperationHistoryPortlet extends OperationHistoryVi
public DynamicForm getCustomSettingsForm() {
DynamicForm customSettingsForm = new DynamicForm();
- LocatableVLayout page = new LocatableVLayout();
+ EnhancedVLayout page = new EnhancedVLayout();
DynamicForm filterForm = new DynamicForm();
filterForm.setMargin(5);
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 77cfb60..1890b5a 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
@@ -55,7 +55,7 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.PortletWindow;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
import org.rhq.enterprise.gui.coregui.client.operation.ScheduledOperationsDataSource;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -63,7 +63,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
*
* @author Simeon Pinder
*/
-public class OperationSchedulePortlet extends LocatableVLayout implements CustomSettingsPortlet, AutoRefreshPortlet {
+public class OperationSchedulePortlet extends EnhancedVLayout implements CustomSettingsPortlet, AutoRefreshPortlet {
// A non-displayed, persisted identifier for the portlet
public static final String KEY = "OperationSchedule";
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceEventsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceEventsPortlet.java
index 1d0265e..b44fe46 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceEventsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceEventsPortlet.java
@@ -43,7 +43,7 @@ import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.Abs
import org.rhq.enterprise.gui.coregui.client.util.GwtTuple;
import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**This portlet allows the end user to customize the Events display
*
@@ -137,7 +137,7 @@ public class ResourceEventsPortlet extends GroupEventsPortlet {
}
}
//build display
- LocatableVLayout column = new LocatableVLayout();
+ EnhancedVLayout column = new EnhancedVLayout();
column.setHeight(10);
if (!results.isEmpty()) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/summary/InventorySummaryPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/summary/InventorySummaryPortlet.java
index 379580e..65be45f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/summary/InventorySummaryPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/summary/InventorySummaryPortlet.java
@@ -49,9 +49,9 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.PortletViewFactory;
import org.rhq.enterprise.gui.coregui.client.dashboard.PortletWindow;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceBossGWTServiceAsync;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
-public class InventorySummaryPortlet extends LocatableVLayout implements AutoRefreshPortlet {
+public class InventorySummaryPortlet extends EnhancedVLayout implements AutoRefreshPortlet {
// A non-displayed, persisted identifier for the portlet
public static final String KEY = "InventorySummary";
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionEditView.java
index 4ee32db..2a3b7ff 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionEditView.java
@@ -44,14 +44,14 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.ResourceD
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.MessageCenter;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A view for editing a Resource's configuration.
*
* @author Jay Shaughnessy
*/
-public class DriftDefinitionEditView extends LocatableVLayout implements PropertyValueChangeListener, RefreshableView {
+public class DriftDefinitionEditView extends EnhancedVLayout implements PropertyValueChangeListener, RefreshableView {
private EntityContext context;
private int driftDefId;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplateEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplateEditView.java
index d057a9c..1ec90bb 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplateEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplateEditView.java
@@ -43,14 +43,14 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.MessageCenter;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A view for editing a Resource's configuration.
*
* @author Jay Shaughnessy
*/
-public class DriftDefinitionTemplateEditView extends LocatableVLayout implements PropertyValueChangeListener,
+public class DriftDefinitionTemplateEditView extends EnhancedVLayout implements PropertyValueChangeListener,
RefreshableView {
private int driftTemplateId;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java
index 38bb2d4..460371d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java
@@ -97,12 +97,11 @@ public class DriftDefinitionTemplatesView extends TableSection<DriftDefinitionTe
}
// for subsystem views
- public DriftDefinitionTemplatesView(String locatorId, ResourceType type, boolean hasWriteAccess) {
- this(locatorId, getTitle(type), type, hasWriteAccess);
+ public DriftDefinitionTemplatesView(ResourceType type, boolean hasWriteAccess) {
+ this(getTitle(type), type, hasWriteAccess);
}
- protected DriftDefinitionTemplatesView(String locatorId, String tableTitle, ResourceType type,
- boolean hasWriteAccess) {
+ protected DriftDefinitionTemplatesView(String tableTitle, ResourceType type, boolean hasWriteAccess) {
super(tableTitle, null, new SortSpecifier[] { DEFAULT_SORT_SPECIFIER });
this.type = type;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDetailsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDetailsView.java
index 5eae9e5..891a197 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDetailsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDetailsView.java
@@ -49,12 +49,12 @@ import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellForma
import org.rhq.enterprise.gui.coregui.client.drift.util.DiffUtility;
import org.rhq.enterprise.gui.coregui.client.gwt.DriftGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
*/
-public class DriftDetailsView extends LocatableVLayout {
+public class DriftDetailsView extends EnhancedVLayout {
private String driftId;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddDefinitionWizardConfigStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddDefinitionWizardConfigStep.java
index 998e625..f4f0f96 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddDefinitionWizardConfigStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddDefinitionWizardConfigStep.java
@@ -29,14 +29,14 @@ import org.rhq.core.domain.drift.DriftConfigurationDefinition;
import org.rhq.core.domain.drift.DriftDefinitionTemplate;
import org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
import org.rhq.enterprise.gui.coregui.client.components.wizard.AbstractWizardStep;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
*/
public class DriftAddDefinitionWizardConfigStep extends AbstractWizardStep {
- private LocatableVLayout vLayout;
+ private EnhancedVLayout vLayout;
private ConfigurationEditor editor;
AbstractDriftAddDefinitionWizard wizard;
private Configuration startingConfig;
@@ -50,7 +50,7 @@ public class DriftAddDefinitionWizardConfigStep extends AbstractWizardStep {
// be able to see the wizard's next/cancel buttons. This vlayout also provides for easier expansion if we add more items.
if (vLayout == null || !wizard.getNewStartingConfiguration().equals(startingConfig)) {
- vLayout = new LocatableVLayout();
+ vLayout = new EnhancedVLayout();
vLayout.setOverflow(Overflow.AUTO);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java
index a624d34..13d7f3b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java
@@ -30,14 +30,14 @@ import org.rhq.core.domain.drift.DriftConfigurationDefinition;
import org.rhq.core.domain.drift.DriftDefinitionTemplate;
import org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
import org.rhq.enterprise.gui.coregui.client.components.wizard.AbstractWizardStep;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
*/
public class DriftPinTemplateWizardConfigStep extends AbstractWizardStep {
- private LocatableVLayout vLayout;
+ private EnhancedVLayout vLayout;
private ConfigurationEditor editor;
AbstractDriftPinTemplateWizard wizard;
private boolean isConfirmed;
@@ -56,7 +56,7 @@ public class DriftPinTemplateWizardConfigStep extends AbstractWizardStep {
// be able to see the wizard's next/cancel buttons. This vlayout also provides for easier expansion if we add more items.
if (vLayout == null) {
- vLayout = new LocatableVLayout();
+ vLayout = new EnhancedVLayout();
vLayout.setOverflow(Overflow.AUTO);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardInfoStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardInfoStep.java
index a21132a..79874e6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardInfoStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardInfoStep.java
@@ -44,7 +44,7 @@ import org.rhq.core.domain.drift.DriftDefinitionTemplate;
import org.rhq.enterprise.gui.coregui.client.components.form.SortedSelectItem;
import org.rhq.enterprise.gui.coregui.client.components.wizard.AbstractWizardStep;
import org.rhq.enterprise.gui.coregui.client.util.FormUtility;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
@@ -54,7 +54,7 @@ public class DriftPinTemplateWizardInfoStep extends AbstractWizardStep {
static private final String CREATE_TEMPLATE = "create";
static private final String SELECT_TEMPLATE = "select";
- private LocatableVLayout canvas;
+ private EnhancedVLayout canvas;
private DynamicForm radioForm;
private AbstractDriftPinTemplateWizard wizard;
@@ -67,7 +67,7 @@ public class DriftPinTemplateWizardInfoStep extends AbstractWizardStep {
public Canvas getCanvas() {
if (null == canvas) {
- canvas = new LocatableVLayout();
+ canvas = new EnhancedVLayout();
canvas.setWidth100();
radioForm = new DynamicForm();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java
index 7f58d37..53b64d3 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java
@@ -41,7 +41,7 @@ import org.rhq.enterprise.gui.coregui.client.components.view.NavigationItem;
import org.rhq.enterprise.gui.coregui.client.components.view.NavigationSection;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewFactory;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* The Help top-level view.
@@ -76,8 +76,8 @@ public class HelpView extends AbstractSectionedLeftNavigationView {
}
@Override
- protected LocatableVLayout defaultView() {
- LocatableVLayout vLayout = new LocatableVLayout();
+ protected EnhancedVLayout defaultView() {
+ EnhancedVLayout vLayout = new EnhancedVLayout();
vLayout.setWidth100();
// TODO: Help icon.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/InventoryView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/InventoryView.java
index 69b7c94..95f2257 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/InventoryView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/InventoryView.java
@@ -49,7 +49,7 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSour
import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDatasource;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSearchView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.discovery.ResourceAutodiscoveryView;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* The Inventory top-level view.
@@ -109,7 +109,7 @@ public class InventoryView extends AbstractSectionedLeftNavigationView {
}
protected Canvas defaultView() {
- LocatableVLayout vLayout = new LocatableVLayout();
+ EnhancedVLayout vLayout = new EnhancedVLayout();
vLayout.setWidth100();
// TODO: Admin icon.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMetricGraphView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMetricGraphView.java
index f91962d..677b9fb 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMetricGraphView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractMetricGraphView.java
@@ -56,13 +56,13 @@ import org.rhq.core.domain.measurement.MeasurementDefinition;
import org.rhq.core.domain.measurement.composite.MeasurementDataNumericHighLowComposite;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementConverterClient;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
* @author Jay Shaughnessy
*/
-public abstract class AbstractMetricGraphView extends LocatableVLayout {
+public abstract class AbstractMetricGraphView extends EnhancedVLayout {
private static final String INSTRUCTIONS = MSG.view_resource_monitor_graph_instructions();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractSchedulesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractSchedulesView.java
index c85bbc8..5bca807 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractSchedulesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/AbstractSchedulesView.java
@@ -52,8 +52,7 @@ public abstract class AbstractSchedulesView extends Table<SchedulesDataSource> {
protected SchedulesDataSource dataSource;
- public AbstractSchedulesView(String locatorId, String tableTitle, EntityContext entityContext,
- boolean hasWriteAccess) {
+ public AbstractSchedulesView(String tableTitle, EntityContext entityContext, boolean hasWriteAccess) {
super(tableTitle, SORT_SPECIFIERS);
this.entityContext = entityContext;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java
index e6f408a..1fa8e72 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java
@@ -43,13 +43,13 @@ import org.rhq.enterprise.gui.coregui.client.components.tab.TwoLevelTabSelectedH
import org.rhq.enterprise.gui.coregui.client.components.tab.TwoLevelTabSet;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewFactory;
import org.rhq.enterprise.gui.coregui.client.util.Log;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
* @author Ian Springer
*/
-public abstract class AbstractTwoLevelTabSetView<T, U extends Layout> extends LocatableVLayout implements
+public abstract class AbstractTwoLevelTabSetView<T, U extends Layout> extends EnhancedVLayout implements
BookmarkableView, TwoLevelTabSelectedHandler {
private String baseViewPath;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/monitoring/IFrameWithMeasurementRangeEditorView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/monitoring/IFrameWithMeasurementRangeEditorView.java
index efe107d..27ffc4e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/monitoring/IFrameWithMeasurementRangeEditorView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/monitoring/IFrameWithMeasurementRangeEditorView.java
@@ -24,15 +24,15 @@ import com.smartgwt.client.widgets.HTMLPane;
import org.rhq.enterprise.gui.coregui.client.RefreshableView;
import org.rhq.enterprise.gui.coregui.client.components.measurement.UserPreferencesMeasurementRangeEditor;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableToolStrip;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
*
*
* @author Lukas Krejci
*/
-public class IFrameWithMeasurementRangeEditorView extends LocatableVLayout implements RefreshableView {
+public class IFrameWithMeasurementRangeEditorView extends EnhancedVLayout implements RefreshableView {
UserPreferencesMeasurementRangeEditor editor;
HTMLPane iframe;
@@ -47,7 +47,7 @@ public class IFrameWithMeasurementRangeEditorView extends LocatableVLayout imple
addMember(iframe);
- LocatableToolStrip footer = new LocatableToolStrip();
+ EnhancedToolStrip footer = new EnhancedToolStrip();
footer.setWidth100();
addMember(footer);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDetailsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDetailsView.java
index 0308564..71adf52 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDetailsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDetailsView.java
@@ -47,13 +47,13 @@ import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.ViewPath;
import org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVStack;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVStack;
/**
* @author Greg Hinkle
*/
-public abstract class AbstractOperationHistoryDetailsView<T extends OperationHistory> extends LocatableVStack implements
+public abstract class AbstractOperationHistoryDetailsView<T extends OperationHistory> extends EnhancedVStack implements
BookmarkableView {
private T operationHistory;
@@ -104,7 +104,7 @@ public abstract class AbstractOperationHistoryDetailsView<T extends OperationHis
// Parameters (if applicable)
if (operationHistory.getParameters() != null) {
- LocatableVLayout parametersSection = new LocatableVLayout(extendLocatorId("ParametersSection"));
+ EnhancedVLayout parametersSection = new EnhancedVLayout();
Label title = new Label("<h4>" + MSG.view_operationHistoryDetails_parameters() + "</h4>");
title.setHeight(27);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java
index ab0bbf1..2513a9f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java
@@ -71,7 +71,7 @@ import org.rhq.enterprise.gui.coregui.client.util.FormUtility;
import org.rhq.enterprise.gui.coregui.client.util.TypeConversionUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A view for viewing or editing an RHQ {@link org.rhq.core.domain.operation.bean.OperationSchedule operation schedule}.
@@ -233,8 +233,8 @@ public abstract class AbstractOperationScheduleDetailsView extends
}
@Override
- protected LocatableVLayout buildContentPane() {
- LocatableVLayout contentPane = super.buildContentPane();
+ protected EnhancedVLayout buildContentPane() {
+ EnhancedVLayout contentPane = super.buildContentPane();
this.operationParametersConfigurationHolder = new EnhancedHLayout();
this.operationParametersConfigurationHolder.setVisible(false);
@@ -243,7 +243,7 @@ public abstract class AbstractOperationScheduleDetailsView extends
HTMLFlow hr = new HTMLFlow("<hr/>");
contentPane.addMember(hr);
- this.triggerEditor = new JobTriggerEditor(extendLocatorId("TriggerEditor"), isReadOnly());
+ this.triggerEditor = new JobTriggerEditor(isReadOnly());
contentPane.addMember(this.triggerEditor);
hr = new HTMLFlow("<hr/>");
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
index 09a7963..f8cf38c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/summary/AbstractActivityView.java
@@ -69,13 +69,13 @@ import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
import org.rhq.enterprise.gui.coregui.client.util.measurement.GwtMonitorUtils;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
* @author Simeon Pinder
*/
-public abstract class AbstractActivityView extends LocatableVLayout implements RefreshableView {
+public abstract class AbstractActivityView extends EnhancedVLayout implements RefreshableView {
//contains the activity display region
private EnhancedHLayout columnSection = new EnhancedHLayout();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDetailsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDetailsView.java
index eef423c..a28531b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDetailsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/event/EventCompositeDetailsView.java
@@ -38,24 +38,24 @@ import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.ViewPath;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Joseph Marques
*/
-public class EventCompositeDetailsView extends LocatableVLayout implements BookmarkableView {
+public class EventCompositeDetailsView extends EnhancedVLayout implements BookmarkableView {
private int eventId;
- private static EventCompositeDetailsView INSTANCE = new EventCompositeDetailsView("eventCompositeDetailsView");
+ private static EventCompositeDetailsView INSTANCE = new EventCompositeDetailsView();
public static EventCompositeDetailsView getInstance() {
return INSTANCE;
}
- private EventCompositeDetailsView(String id) {
+ private EventCompositeDetailsView() {
// access through the static singleton only
- super(id);
+ super();
}
private void show(int eventId) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionExpressionBuilder.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionExpressionBuilder.java
index 8d6e861..01c2bb7 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionExpressionBuilder.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/definitions/GroupDefinitionExpressionBuilder.java
@@ -56,7 +56,7 @@ import org.rhq.enterprise.gui.coregui.client.Messages;
import org.rhq.enterprise.gui.coregui.client.components.form.SortedSelectItem;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.GroupDefinitionExpressionBuilderGWTServiceAsync;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A dialog window that lets you build custom dynagroup expressions.
@@ -336,7 +336,7 @@ public class GroupDefinitionExpressionBuilder extends Window {
this.pluginItem, this.resourceTypeItem, this.propertyNameItem, this.unsetItem, this.compareTypeItem,
this.valueItem, addButton, closeButton);
- LocatableVLayout layout = new LocatableVLayout();
+ EnhancedVLayout layout = new EnhancedVLayout();
layout.setLayoutMargin(5);
layout.setAutoHeight();
layout.setAutoWidth();
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 93ee568..916f11b 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
@@ -85,12 +85,12 @@ import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
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.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Joseph Marques
*/
-public class SingleGroupDefinitionView extends LocatableVLayout implements BookmarkableView {
+public class SingleGroupDefinitionView extends EnhancedVLayout implements BookmarkableView {
private static final String TEMPLATE_JBOSSAS4_CLUSTERS = MSG.view_dynagroup_template_jbossas4_clusters();
private static final String TEMPLATE_JBOSSAS5_CLUSTERS = MSG.view_dynagroup_template_jbossas5_clusters(); // true for AS 5 and 6
@@ -147,8 +147,7 @@ public class SingleGroupDefinitionView extends LocatableVLayout implements Bookm
: DSOperationType.UPDATE;
form.setSaveOperationType(saveOperationType);
- final DynaGroupChildrenView dynaGroupChildrenView = new DynaGroupChildrenView(extendLocatorId("DynaGroups"),
- groupDefinitionId);
+ final DynaGroupChildrenView dynaGroupChildrenView = new DynaGroupChildrenView(groupDefinitionId);
// button setup
IButton saveButton = new EnhancedIButton(MSG.common_button_save());
@@ -257,7 +256,7 @@ public class SingleGroupDefinitionView extends LocatableVLayout implements Bookm
}
class DynaGroupChildrenView extends Table<ResourceGroupsDataSource> {
- public DynaGroupChildrenView(String locatorId, int groupDefinitionId) {
+ public DynaGroupChildrenView(int groupDefinitionId) {
super(MSG.view_dynagroup_children(), new Criteria("groupDefinitionId", String.valueOf(groupDefinition
.getId())));
setDataSource(ResourceGroupsDataSource.getInstance());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/GeneralProperties.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/GeneralProperties.java
index bc13894..a82659f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/GeneralProperties.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/GeneralProperties.java
@@ -44,7 +44,7 @@ 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.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A canvas that shows basic information/properties on a specific group.
@@ -52,14 +52,13 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
* @author Ian Springer
* @author John Mazzitelli
*/
-public class GeneralProperties extends LocatableVLayout {
+public class GeneralProperties extends EnhancedVLayout {
private ResourceGroupGWTServiceAsync resourceGroupService = GWTServiceLookup.getResourceGroupService();
private ResourceGroupComposite groupComposite;
private final ResourceGroupTitleBar titleBar;
private boolean isEditable;
- public GeneralProperties(String locatorId, ResourceGroupComposite groupComposite, ResourceGroupTitleBar titleBar,
- boolean isEditable) {
+ public GeneralProperties(ResourceGroupComposite groupComposite, ResourceGroupTitleBar titleBar, boolean isEditable) {
super();
this.groupComposite = groupComposite;
this.titleBar = titleBar;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
index d3fc036..6ccbc9d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java
@@ -157,14 +157,14 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
@Override
protected ResourceGroupTitleBar createTitleBar() {
- return new ResourceGroupTitleBar(getLocatorId(), isAutoGroup(), isAutoCluster());
+ return new ResourceGroupTitleBar(isAutoGroup(), isAutoCluster());
}
protected List<TwoLevelTab> createTabs() {
List<TwoLevelTab> tabs = new ArrayList<TwoLevelTab>();
- summaryTab = new TwoLevelTab(getTabSet().extendLocatorId("Summary"), new ViewName("Summary",
- MSG.common_title_summary()), ImageManager.getResourceIcon(ResourceCategory.SERVICE, AvailabilityType.UP));
+ summaryTab = new TwoLevelTab(new ViewName("Summary", MSG.common_title_summary()), ImageManager.getResourceIcon(
+ ResourceCategory.SERVICE, AvailabilityType.UP));
summaryActivity = new SubTab(summaryTab.extendLocatorId("Activity"), new ViewName("Activity",
MSG.view_tabs_common_activity()), null);
@@ -173,8 +173,8 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
summaryTab.registerSubTabs(summaryActivity, summaryTimeline);
tabs.add(summaryTab);
- inventoryTab = new TwoLevelTab(getTabSet().extendLocatorId("Inventory"), new ViewName("Inventory",
- MSG.view_tabs_common_inventory()), IconEnum.INVENTORY_SUMMARY);
+ inventoryTab = new TwoLevelTab(new ViewName("Inventory", MSG.view_tabs_common_inventory()),
+ IconEnum.INVENTORY_SUMMARY);
inventoryMembers = new SubTab(inventoryTab.extendLocatorId("Members"), new ViewName("Members",
MSG.view_tabs_common_members()), null);
inventoryConn = new SubTab(inventoryTab.extendLocatorId("ConnectionSettings"), new ViewName(
@@ -184,8 +184,7 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
inventoryTab.registerSubTabs(this.inventoryMembers, this.inventoryConn, this.inventoryConnHistory);
tabs.add(inventoryTab);
- alertsTab = new TwoLevelTab(getTabSet().extendLocatorId("Alerts"), new ViewName("Alerts",
- MSG.common_title_alerts()), IconEnum.ALERT_DEFINITIONS);
+ alertsTab = new TwoLevelTab(new ViewName("Alerts", MSG.common_title_alerts()), IconEnum.ALERT_DEFINITIONS);
this.alertHistory = new SubTab(alertsTab.extendLocatorId("History"), new ViewName("History",
MSG.view_tabs_common_history()), null);
this.alertDef = new SubTab(alertsTab.extendLocatorId("Definitions"), new ViewName("Definitions",
@@ -193,8 +192,8 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
alertsTab.registerSubTabs(alertHistory, alertDef);
tabs.add(alertsTab);
- monitoringTab = new TwoLevelTab(getTabSet().extendLocatorId("Monitoring"), new ViewName("Monitoring",
- MSG.view_tabs_common_monitoring()), IconEnum.SUSPECT_METRICS);
+ monitoringTab = new TwoLevelTab(new ViewName("Monitoring", MSG.view_tabs_common_monitoring()),
+ IconEnum.SUSPECT_METRICS);
monitorGraphs = new SubTab(monitoringTab.extendLocatorId("Graphs"), new ViewName("Graphs",
MSG.view_tabs_common_graphs()), null);
monitorTables = new SubTab(monitoringTab.extendLocatorId("Tables"), new ViewName("Tables",
@@ -209,15 +208,14 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
monitoringTab.registerSubTabs(monitorGraphs, monitorTables, monitorTraits, monitorSched, monitorCallTime);
tabs.add(monitoringTab);
- eventsTab = new TwoLevelTab(getTabSet().extendLocatorId("Events"), new ViewName("Events",
- MSG.view_tabs_common_events()), IconEnum.EVENTS);
+ eventsTab = new TwoLevelTab(new ViewName("Events", MSG.view_tabs_common_events()), IconEnum.EVENTS);
this.eventHistory = new SubTab(eventsTab.extendLocatorId("History"), new ViewName("History",
MSG.view_tabs_common_history()), null);
eventsTab.registerSubTabs(eventHistory);
tabs.add(eventsTab);
- operationsTab = new TwoLevelTab(getTabSet().extendLocatorId("Operations"), new ViewName("Operations",
- MSG.common_title_operations()), IconEnum.RECENT_OPERATIONS);
+ operationsTab = new TwoLevelTab(new ViewName("Operations", MSG.common_title_operations()),
+ IconEnum.RECENT_OPERATIONS);
this.operationsSchedules = new SubTab(operationsTab.extendLocatorId("Schedules"), new ViewName("Schedules",
MSG.view_tabs_common_schedules()), null);
this.operationsHistory = new SubTab(operationsTab.extendLocatorId("History"), new ViewName("History",
@@ -225,8 +223,8 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
operationsTab.registerSubTabs(this.operationsSchedules, this.operationsHistory);
tabs.add(operationsTab);
- configurationTab = new TwoLevelTab(getTabSet().extendLocatorId("Configuration"), new ViewName("Configuration",
- MSG.common_title_configuration()), IconEnum.CONFIGURATION_HISTORY);
+ configurationTab = new TwoLevelTab(new ViewName("Configuration", MSG.common_title_configuration()),
+ IconEnum.CONFIGURATION_HISTORY);
this.configCurrent = new SubTab(configurationTab.extendLocatorId("Current"), new ViewName("Current",
MSG.view_tabs_common_current()), null);
this.configHistory = new SubTab(configurationTab.extendLocatorId("History"), new ViewName("History",
@@ -336,7 +334,7 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
viewFactory = (!visible) ? null : new ViewFactory() {
@Override
public Canvas createView() {
- return new ResourceGroupSchedulesView(monitorSched.extendLocatorId("View"), groupComposite);
+ return new ResourceGroupSchedulesView(groupComposite);
}
};
updateSubTab(this.monitoringTab, this.monitorSched, visible, true, viewFactory);
@@ -361,8 +359,7 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
updateSubTab(this.inventoryTab, this.inventoryMembers, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return new MembersView(inventoryMembers.extendLocatorId("View"), groupComposite.getResourceGroup()
- .getId(), canModifyMembers);
+ return new MembersView(groupComposite.getResourceGroup().getId(), canModifyMembers);
}
});
updateSubTab(this.inventoryTab, this.inventoryConn, facets.contains(ResourceTypeFacet.PLUGIN_CONFIGURATION),
@@ -416,7 +413,7 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
ViewFactory viewFactory = (!visible) ? null : new ViewFactory() {
@Override
public Canvas createView() {
- return new GroupAlertDefinitionsView(alertDef.extendLocatorId("View"), groupComposite);
+ return new GroupAlertDefinitionsView(groupComposite);
}
};
updateSubTab(this.alertsTab, this.alertDef, visible, true, viewFactory);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTitleBar.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTitleBar.java
index 404607d..12fb3fd 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTitleBar.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTitleBar.java
@@ -46,13 +46,13 @@ import org.rhq.enterprise.gui.coregui.client.components.tagging.TagsChangedCallb
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
* @author Ian Springer
*/
-public class ResourceGroupTitleBar extends LocatableVLayout {
+public class ResourceGroupTitleBar extends EnhancedVLayout {
private static final String FAV_ICON = "Favorite_24_Selected.png";
private static final String NOT_FAV_ICON = "Favorite_24.png";
@@ -72,7 +72,7 @@ public class ResourceGroupTitleBar extends LocatableVLayout {
private boolean supportsFavorite;
private GeneralProperties generalProperties;
- public ResourceGroupTitleBar(String locatorId, boolean isAutoGroup, boolean isAutoCluster) {
+ public ResourceGroupTitleBar(boolean isAutoGroup, boolean isAutoCluster) {
super();
this.isAutoGroup = isAutoGroup;
@@ -142,8 +142,8 @@ public class ResourceGroupTitleBar extends LocatableVLayout {
resultComposite.getResourceGroup().setName(group.getName());
}
- generalProperties = new GeneralProperties(extendLocatorId("genProps"), resultComposite,
- ResourceGroupTitleBar.this, (!(isAutoGroup || isAutoCluster)));
+ generalProperties = new GeneralProperties(resultComposite, ResourceGroupTitleBar.this,
+ (!(isAutoGroup || isAutoCluster)));
generalProperties.setVisible(false);
ResourceGroupTitleBar.this.addMember(generalProperties);
expandCollapseArrow.addClickHandler(new ClickHandler() {
@@ -176,26 +176,25 @@ public class ResourceGroupTitleBar extends LocatableVLayout {
badge = new Img(ImageManager.getGroupLargeIcon(GroupCategory.MIXED), 24, 24);
- TagEditorView tagEditorView = new TagEditorView(extendLocatorId("Editor"), group.getTags(), false,
- new TagsChangedCallback() {
- public void tagsChanged(final HashSet<Tag> tags) {
- GWTServiceLookup.getTagService().updateResourceGroupTags(group.getId(), tags,
- new AsyncCallback<Void>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError(
- MSG.view_titleBar_common_updateTagsFailure(group.getName()), caught);
- }
+ TagEditorView tagEditorView = new TagEditorView(group.getTags(), false, new TagsChangedCallback() {
+ public void tagsChanged(final HashSet<Tag> tags) {
+ GWTServiceLookup.getTagService().updateResourceGroupTags(group.getId(), tags,
+ new AsyncCallback<Void>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError(
+ MSG.view_titleBar_common_updateTagsFailure(group.getName()), caught);
+ }
- public void onSuccess(Void result) {
- CoreGUI.getMessageCenter().notify(
- new Message(MSG.view_titleBar_common_updateTagsSuccessful(group.getName()),
- Message.Severity.Info));
- // update what is essentially our local cache
- group.setTags(tags);
- }
- });
- }
- });
+ public void onSuccess(Void result) {
+ CoreGUI.getMessageCenter().notify(
+ new Message(MSG.view_titleBar_common_updateTagsSuccessful(group.getName()),
+ Message.Severity.Info));
+ // update what is essentially our local cache
+ group.setTags(tags);
+ }
+ });
+ }
+ });
loadTags(tagEditorView);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTreeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTreeView.java
index 763ba9d..057d3bb 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTreeView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTreeView.java
@@ -66,7 +66,7 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
import org.rhq.enterprise.gui.coregui.client.util.Log;
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.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -89,7 +89,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
* @author Ian Springer
* @author John Mazzitelli
*/
-public class ResourceGroupTreeView extends LocatableVLayout implements BookmarkableView {
+public class ResourceGroupTreeView extends EnhancedVLayout implements BookmarkableView {
private static final String FAKE_ROOT_ID = "__fakeRoot__"; // id of the parent node of our real root node
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java
index dc76e9b..43fe7e7 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/GroupResourceConfigurationEditView.java
@@ -56,14 +56,14 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTyp
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.MessageCenter;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A view for editing a group's configuration.
*
* @author Ian Springer
*/
-public class GroupResourceConfigurationEditView extends LocatableVLayout implements PropertyValueChangeListener,
+public class GroupResourceConfigurationEditView extends EnhancedVLayout implements PropertyValueChangeListener,
RefreshableView {
private final ConfigurationGWTServiceAsync configurationService = GWTServiceLookup.getConfigurationService();
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 664c8dd..5ccda50 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
@@ -60,7 +60,7 @@ 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.inventory.resource.type.ResourceTypeRepository.TypesLoadedCallback;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -68,14 +68,13 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
*
* @author John Mazzitelli
*/
-public class HistoryGroupResourceConfigurationMembers extends LocatableVLayout {
+public class HistoryGroupResourceConfigurationMembers extends EnhancedVLayout {
private final ResourceGroup group;
@SuppressWarnings("unused")
private final ResourcePermission groupPerms;
private final int groupUpdateId;
- public HistoryGroupResourceConfigurationMembers(String locatorId, ResourceGroupComposite groupComposite,
- int updateId) {
+ public HistoryGroupResourceConfigurationMembers(ResourceGroupComposite groupComposite, int updateId) {
super();
this.group = groupComposite.getResourceGroup();
this.groupPerms = groupComposite.getResourcePermission();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationSettings.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationSettings.java
index 80aa5d0..b6199a5 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationSettings.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationSettings.java
@@ -43,7 +43,7 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
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.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* Read only view that shows group resource configuration properties. These are properties
@@ -51,7 +51,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
*
* @author John Mazzitelli
*/
-public class HistoryGroupResourceConfigurationSettings extends LocatableVLayout {
+public class HistoryGroupResourceConfigurationSettings extends EnhancedVLayout {
private final ResourceGroup group;
private final ResourcePermission groupPerms;
private final int groupUpdateId;
@@ -59,8 +59,7 @@ public class HistoryGroupResourceConfigurationSettings extends LocatableVLayout
private List<GroupMemberConfiguration> memberConfigurations;
private GroupConfigurationEditor editor;
- public HistoryGroupResourceConfigurationSettings(String locatorId, ResourceGroupComposite groupComposite,
- int updateId) {
+ public HistoryGroupResourceConfigurationSettings(ResourceGroupComposite groupComposite, int updateId) {
super();
this.group = groupComposite.getResourceGroup();
this.groupPerms = groupComposite.getResourcePermission();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationTable.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationTable.java
index 2997047..091ef6d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationTable.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationTable.java
@@ -58,8 +58,8 @@ public class HistoryGroupResourceConfigurationTable extends Table<GroupResourceC
private final ResourceGroup group;
private final ResourcePermission groupPerms;
- public HistoryGroupResourceConfigurationTable(String locatorId, ResourceGroupComposite groupComposite) {
- super(locatorId, MSG.view_group_resConfig_table_title());
+ public HistoryGroupResourceConfigurationTable(ResourceGroupComposite groupComposite) {
+ super(MSG.view_group_resConfig_table_title());
this.group = groupComposite.getResourceGroup();
this.groupPerms = groupComposite.getResourcePermission();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationView.java
index 7c2ba98..84fa545 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/configuration/HistoryGroupResourceConfigurationView.java
@@ -23,14 +23,14 @@ import com.smartgwt.client.widgets.Canvas;
import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
import org.rhq.enterprise.gui.coregui.client.ViewPath;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A view for group resource configuration history.
*
* @author John Mazzitelli
*/
-public class HistoryGroupResourceConfigurationView extends LocatableVLayout implements BookmarkableView {
+public class HistoryGroupResourceConfigurationView extends EnhancedVLayout implements BookmarkableView {
private final ResourceGroupComposite groupComposite;
private HistoryGroupResourceConfigurationTable groupHistoryTable;
private Canvas detailsCanvas = null;
@@ -39,7 +39,7 @@ public class HistoryGroupResourceConfigurationView extends LocatableVLayout impl
super();
this.groupComposite = groupComposite;
- groupHistoryTable = new HistoryGroupResourceConfigurationTable(extendLocatorId("Table"), groupComposite);
+ groupHistoryTable = new HistoryGroupResourceConfigurationTable(groupComposite);
addMember(groupHistoryTable);
}
@@ -73,11 +73,9 @@ public class HistoryGroupResourceConfigurationView extends LocatableVLayout impl
}
if (configView) {
- detailsCanvas = new HistoryGroupResourceConfigurationSettings(extendLocatorId("SettingsView"),
- this.groupComposite, groupHistoryId);
+ detailsCanvas = new HistoryGroupResourceConfigurationSettings(this.groupComposite, groupHistoryId);
} else {
- detailsCanvas = new HistoryGroupResourceConfigurationMembers(extendLocatorId("MembersView"),
- this.groupComposite, groupHistoryId);
+ detailsCanvas = new HistoryGroupResourceConfigurationMembers(this.groupComposite, groupHistoryId);
}
addMember(detailsCanvas);
setVisibleMember(detailsCanvas);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java
index bd1d5e8..b62ce64 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/GroupPluginConfigurationEditView.java
@@ -53,7 +53,7 @@ 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.message.MessageCenter;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A view for editing a group's current plugin configuration.
@@ -61,7 +61,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
* @author Ian Springer
* @author John Mazzitelli
*/
-public class GroupPluginConfigurationEditView extends LocatableVLayout implements PropertyValueChangeListener,
+public class GroupPluginConfigurationEditView extends EnhancedVLayout implements PropertyValueChangeListener,
RefreshableView {
private final ConfigurationGWTServiceAsync configurationService = GWTServiceLookup.getConfigurationService();
private final ResourceGWTServiceAsync resourceService = GWTServiceLookup.getResourceService();
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 5e6ca96..2a7033d 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
@@ -60,7 +60,7 @@ 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.inventory.resource.type.ResourceTypeRepository.TypesLoadedCallback;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -68,7 +68,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
*
* @author John Mazzitelli
*/
-public class HistoryGroupPluginConfigurationMembers extends LocatableVLayout {
+public class HistoryGroupPluginConfigurationMembers extends EnhancedVLayout {
private final ResourceGroup group;
@SuppressWarnings("unused")
private final ResourcePermission groupPerms;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationSettings.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationSettings.java
index eb5937a..a3227d5 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationSettings.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationSettings.java
@@ -43,7 +43,7 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
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.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* Read only view that shows group plugin configuration properties. These are properties
@@ -51,7 +51,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
*
* @author John Mazzitelli
*/
-public class HistoryGroupPluginConfigurationSettings extends LocatableVLayout {
+public class HistoryGroupPluginConfigurationSettings extends EnhancedVLayout {
private final ResourceGroup group;
private final ResourcePermission groupPerms;
private final int groupUpdateId;
@@ -59,7 +59,7 @@ public class HistoryGroupPluginConfigurationSettings extends LocatableVLayout {
private List<GroupMemberConfiguration> memberConfigurations;
private GroupConfigurationEditor editor;
- public HistoryGroupPluginConfigurationSettings(String locatorId, ResourceGroupComposite groupComposite, int updateId) {
+ public HistoryGroupPluginConfigurationSettings(ResourceGroupComposite groupComposite, int updateId) {
super();
this.group = groupComposite.getResourceGroup();
this.groupPerms = groupComposite.getResourcePermission();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationTable.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationTable.java
index 5453b6c..cdbf282 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationTable.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationTable.java
@@ -66,8 +66,8 @@ public class HistoryGroupPluginConfigurationTable extends Table<HistoryGroupPlug
private final ResourceGroup group;
private final ResourcePermission groupPerms;
- public HistoryGroupPluginConfigurationTable(String locatorId, ResourceGroupComposite groupComposite) {
- super(locatorId, MSG.view_group_pluginConfig_table_title());
+ public HistoryGroupPluginConfigurationTable(ResourceGroupComposite groupComposite) {
+ super(MSG.view_group_pluginConfig_table_title());
this.group = groupComposite.getResourceGroup();
this.groupPerms = groupComposite.getResourcePermission();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationView.java
index 1420859..a250498 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationView.java
@@ -23,14 +23,14 @@ import com.smartgwt.client.widgets.Canvas;
import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
import org.rhq.enterprise.gui.coregui.client.ViewPath;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A view for group plugin configuration history.
*
* @author John Mazzitelli
*/
-public class HistoryGroupPluginConfigurationView extends LocatableVLayout implements BookmarkableView {
+public class HistoryGroupPluginConfigurationView extends EnhancedVLayout implements BookmarkableView {
private final ResourceGroupComposite groupComposite;
private HistoryGroupPluginConfigurationTable groupHistoryTable;
private Canvas detailsCanvas = null;
@@ -39,7 +39,7 @@ public class HistoryGroupPluginConfigurationView extends LocatableVLayout implem
super();
this.groupComposite = groupComposite;
- groupHistoryTable = new HistoryGroupPluginConfigurationTable(extendLocatorId("Table"), groupComposite);
+ groupHistoryTable = new HistoryGroupPluginConfigurationTable(groupComposite);
addMember(groupHistoryTable);
}
@@ -73,8 +73,7 @@ public class HistoryGroupPluginConfigurationView extends LocatableVLayout implem
}
if (configView) {
- detailsCanvas = new HistoryGroupPluginConfigurationSettings(extendLocatorId("SettingsView"),
- this.groupComposite, groupHistoryId);
+ detailsCanvas = new HistoryGroupPluginConfigurationSettings(this.groupComposite, groupHistoryId);
} else {
detailsCanvas = new HistoryGroupPluginConfigurationMembers(this.groupComposite, groupHistoryId);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/MembersView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/MembersView.java
index a4292c6..f246d79 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/MembersView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/MembersView.java
@@ -45,7 +45,7 @@ public class MembersView extends ResourceSearchView {
private int groupId;
private boolean canModifyMembers;
- public MembersView(String locatorId, int groupId, boolean canModifyMembers) {
+ public MembersView(int groupId, boolean canModifyMembers) {
super(new Criteria(ResourceDatasource.FILTER_GROUP_ID, String.valueOf(groupId)), MSG
.view_inventory_resources_members());
setInitialCriteriaFixed(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/ResourceGroupMembershipView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/ResourceGroupMembershipView.java
index 8aef886..0da6cfb 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/ResourceGroupMembershipView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/ResourceGroupMembershipView.java
@@ -35,12 +35,12 @@ import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
*/
-public class ResourceGroupMembershipView extends LocatableVLayout {
+public class ResourceGroupMembershipView extends EnhancedVLayout {
private int resourceGroupId;
private ResourceGroup resourceGroup;
@@ -128,7 +128,6 @@ public class ResourceGroupMembershipView extends LocatableVLayout {
ResourceGroup group = result.get(0);
ResourceGroupMembershipView.this.resourceGroup = group;
ResourceGroupMembershipView.this.selector = new ResourceGroupResourceSelector(
- ResourceGroupMembershipView.this.getLocatorId(),
group.getExplicitResources(),
(GroupCategory.COMPATIBLE == ResourceGroupMembershipView.this.resourceGroup.getGroupCategory()) ? group
.getResourceType() : null, false);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/ResourceGroupResourceSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/ResourceGroupResourceSelector.java
index 2b7f7db..0882ce2 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/ResourceGroupResourceSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/ResourceGroupResourceSelector.java
@@ -45,8 +45,8 @@ public class ResourceGroupResourceSelector extends ResourceSelector {
Collection<Resource> resources;
- public ResourceGroupResourceSelector(String locatorId, Collection<Resource> resources,
- ResourceType resourceTypeFilter, boolean forceResourceTypeFilter) {
+ public ResourceGroupResourceSelector(Collection<Resource> resources, ResourceType resourceTypeFilter,
+ boolean forceResourceTypeFilter) {
super(resourceTypeFilter, forceResourceTypeFilter);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/ResourceGroupSchedulesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/ResourceGroupSchedulesView.java
index 001cd91..61fab35 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/ResourceGroupSchedulesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/schedules/ResourceGroupSchedulesView.java
@@ -41,9 +41,9 @@ public class ResourceGroupSchedulesView extends AbstractSchedulesView {
private ResourceGroupComposite resourceGroupComposite;
private int groupId;
- public ResourceGroupSchedulesView(String locatorId, ResourceGroupComposite resourceGroupComposite) {
- super(locatorId, TITLE, EntityContext.forGroup(resourceGroupComposite.getResourceGroup().getId()),
- resourceGroupComposite.getResourcePermission().isMeasure());
+ public ResourceGroupSchedulesView(ResourceGroupComposite resourceGroupComposite) {
+ super(TITLE, EntityContext.forGroup(resourceGroupComposite.getResourceGroup().getId()), resourceGroupComposite
+ .getResourcePermission().isMeasure());
this.resourceGroupComposite = resourceGroupComposite;
this.groupId = resourceGroupComposite.getResourceGroup().getId();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMeasurementTableView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMeasurementTableView.java
index b33af08..4589b0f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMeasurementTableView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMeasurementTableView.java
@@ -42,7 +42,7 @@ public class GroupMeasurementTableView extends Table<GroupMeasurementTableDataSo
private final int groupId;
- public GroupMeasurementTableView(String locatorId, ResourceGroupComposite groupComposite, int groupId) {
+ public GroupMeasurementTableView(ResourceGroupComposite groupComposite, int groupId) {
super();
this.groupId = groupId;
setDataSource(new GroupMeasurementTableDataSource(groupComposite, groupId));
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMembersHealthView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMembersHealthView.java
index f2d8814..4559411 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMembersHealthView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMembersHealthView.java
@@ -40,8 +40,8 @@ public class GroupMembersHealthView extends MembersView {
private int groupId;
private boolean canModifyMembers;
- public GroupMembersHealthView(String locatorId, int groupId, boolean canModifyMembers) {
- super(locatorId, groupId, false);
+ public GroupMembersHealthView(int groupId, boolean canModifyMembers) {
+ super(groupId, false);
this.canModifyMembers = canModifyMembers;
this.groupId = groupId;
setShowFilterForm(false);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMonitoringTablesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMonitoringTablesView.java
index b65bf0b..97308cf 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMonitoringTablesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/monitoring/table/GroupMonitoringTablesView.java
@@ -21,14 +21,14 @@ package org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.monitoring
import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
import org.rhq.enterprise.gui.coregui.client.RefreshableView;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
*
*
* @author Lukas Krejci
*/
-public class GroupMonitoringTablesView extends LocatableVLayout implements RefreshableView {
+public class GroupMonitoringTablesView extends EnhancedVLayout implements RefreshableView {
private GroupMeasurementTableView metrics;
private GroupMembersHealthView memberHealth;
@@ -39,8 +39,8 @@ public class GroupMonitoringTablesView extends LocatableVLayout implements Refre
public GroupMonitoringTablesView(String locatorId, ResourceGroupComposite groupComposite) {
super();
- metrics = new GroupMeasurementTableView(extendLocatorId("ViewMetrics"), groupComposite, groupComposite.getResourceGroup().getId());
- memberHealth = new GroupMembersHealthView(extendLocatorId("ViewHealth"), groupComposite.getResourceGroup().getId(), false);
+ metrics = new GroupMeasurementTableView(groupComposite, groupComposite.getResourceGroup().getId());
+ memberHealth = new GroupMembersHealthView(groupComposite.getResourceGroup().getId(), false);
addMember(metrics);
addMember(memberHealth);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryDetailsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryDetailsView.java
index 8622d98..fd3b445 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryDetailsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupOperationHistoryDetailsView.java
@@ -31,7 +31,7 @@ import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
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.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Ian Springer
@@ -70,7 +70,7 @@ public class GroupOperationHistoryDetailsView extends AbstractOperationHistoryDe
@Override
protected Canvas buildResultsSection(GroupOperationHistory operationHistory) {
- LocatableVLayout resultsSection = new LocatableVLayout(extendLocatorId("ResultsSection"));
+ EnhancedVLayout resultsSection = new EnhancedVLayout();
Label title = new Label("<h4>" + MSG.view_operationHistoryDetails_results() + "</h4>");
title.setHeight(27);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleDetailsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleDetailsView.java
index 936e554..33e4eaf 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleDetailsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleDetailsView.java
@@ -30,7 +30,7 @@ import org.rhq.enterprise.gui.coregui.client.components.sorter.ReorderableList;
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.schedule.AbstractOperationScheduleDetailsView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.AncestryUtil;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDatasource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* The details view of the Group Operations>Schedules subtab.
@@ -92,8 +92,8 @@ public class GroupOperationScheduleDetailsView extends AbstractOperationSchedule
}
@Override
- protected LocatableVLayout buildContentPane() {
- LocatableVLayout contentPane = super.buildContentPane();
+ protected EnhancedVLayout buildContentPane() {
+ EnhancedVLayout contentPane = super.buildContentPane();
HTMLFlow hr = new HTMLFlow("<hr/>");
contentPane.addMember(hr);
@@ -133,8 +133,8 @@ public class GroupOperationScheduleDetailsView extends AbstractOperationSchedule
return AncestryUtil.getAncestryHoverHTML(listGridRecord, 0);
}
};
- this.memberExecutionOrderer = new ReorderableList(extendLocatorId("MemberExecutionOrderer"),
- this.memberResourceRecords, null, memberIcon, nameHoverCustomizer);
+ this.memberExecutionOrderer = new ReorderableList(this.memberResourceRecords, null, memberIcon,
+ nameHoverCustomizer);
this.memberExecutionOrderer.setVisible(false);
this.memberExecutionOrderer.setNameFieldTitle(MSG.view_group_operationScheduleDetails_memberResource());
hLayout.addMember(this.memberExecutionOrderer);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
index 344fffb..8b47fbf 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
@@ -54,8 +54,8 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.groups.GroupOper
import org.rhq.enterprise.gui.coregui.client.gwt.DashboardGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableToolStrip;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* The content pane for the group Summary>Activity subtab.
@@ -63,7 +63,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
* @author Simeon Pinder
* @author Jay Shaughnessy
*/
-public class ActivityView extends LocatableVLayout implements DashboardContainer, InitializableView {
+public class ActivityView extends EnhancedVLayout implements DashboardContainer, InitializableView {
private static final String DASHBOARD_NAME_PREFIX = "GroupDashboard_";
@@ -75,7 +75,7 @@ public class ActivityView extends LocatableVLayout implements DashboardContainer
private DashboardView dashboardView;
- private LocatableToolStrip footer;
+ private EnhancedToolStrip footer;
private IButton editButton;
private IButton resetButton;
@@ -142,11 +142,10 @@ public class ActivityView extends LocatableVLayout implements DashboardContainer
//pass in the group information
EntityContext context = EntityContext.forGroup(groupComposite.getResourceGroup().getId(), isAutoCluster,
isAutoGroup);
- dashboardView = new DashboardView(extendLocatorId(dashboard.getName()), this, dashboard, context,
- groupComposite);
+ dashboardView = new DashboardView(this, dashboard, context, groupComposite);
addMember(dashboardView);
- footer = new LocatableToolStrip();
+ footer = new EnhancedToolStrip();
footer.setPadding(5);
footer.setWidth100();
footer.setMembersMargin(15);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ChildHistoryDetails.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ChildHistoryDetails.java
index 49b1dbb..467d6e2 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ChildHistoryDetails.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ChildHistoryDetails.java
@@ -28,14 +28,14 @@ import com.smartgwt.client.widgets.form.fields.TextAreaItem;
import org.rhq.core.domain.resource.CreateResourceHistory;
import org.rhq.core.domain.resource.DeleteResourceHistory;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* Details view for a single child history entity.
*
* @author John Mazzitelli
*/
-public class ChildHistoryDetails extends LocatableVLayout {
+public class ChildHistoryDetails extends EnhancedVLayout {
private CreateResourceHistory createHistory;
private DeleteResourceHistory deleteHistory;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
index 917bc57..301583e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
@@ -166,8 +166,8 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
protected List<TwoLevelTab> createTabs() {
List<TwoLevelTab> tabs = new ArrayList<TwoLevelTab>();
- summaryTab = new TwoLevelTab(getTabSet().extendLocatorId("Summary"), new ViewName("Summary",
- MSG.common_title_summary()), ImageManager.getResourceIcon(ResourceCategory.SERVICE, AvailabilityType.UP));
+ summaryTab = new TwoLevelTab(new ViewName("Summary", MSG.common_title_summary()), ImageManager.getResourceIcon(
+ ResourceCategory.SERVICE, AvailabilityType.UP));
summaryActivity = new SubTab(summaryTab.extendLocatorId("Activity"), new ViewName("Activity",
MSG.view_tabs_common_activity()), null);
summaryTimeline = new SubTab(summaryTab.extendLocatorId("Timeline"), new ViewName("Timeline",
@@ -175,8 +175,8 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
summaryTab.registerSubTabs(summaryActivity, summaryTimeline);
tabs.add(summaryTab);
- inventoryTab = new TwoLevelTab(getTabSet().extendLocatorId("Inventory"), new ViewName("Inventory",
- MSG.view_tabs_common_inventory()), IconEnum.INVENTORY_SUMMARY);
+ inventoryTab = new TwoLevelTab(new ViewName("Inventory", MSG.view_tabs_common_inventory()),
+ IconEnum.INVENTORY_SUMMARY);
inventoryChildren = new SubTab(inventoryTab.extendLocatorId("Children"), new ViewName("Children",
MSG.view_tabs_common_child_resources()), null);
inventoryChildHistory = new SubTab(inventoryTab.extendLocatorId("ChildHist"), new ViewName("ChildHistory",
@@ -193,8 +193,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
this.inventoryConnHistory, this.inventoryGroups, this.inventoryAgent);
tabs.add(inventoryTab);
- alertsTab = new TwoLevelTab(getTabSet().extendLocatorId("Alerts"), new ViewName("Alerts",
- MSG.common_title_alerts()), IconEnum.ALERT_DEFINITIONS);
+ alertsTab = new TwoLevelTab(new ViewName("Alerts", MSG.common_title_alerts()), IconEnum.ALERT_DEFINITIONS);
this.alertHistory = new SubTab(alertsTab.extendLocatorId("History"), new ViewName("History",
MSG.view_tabs_common_history()), null);
this.alertDef = new SubTab(alertsTab.extendLocatorId("Definitions"), new ViewName("Definitions",
@@ -202,8 +201,8 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
alertsTab.registerSubTabs(alertHistory, alertDef);
tabs.add(alertsTab);
- monitoringTab = new TwoLevelTab(getTabSet().extendLocatorId("Monitoring"), new ViewName("Monitoring",
- MSG.view_tabs_common_monitoring()), IconEnum.SUSPECT_METRICS);
+ monitoringTab = new TwoLevelTab(new ViewName("Monitoring", MSG.view_tabs_common_monitoring()),
+ IconEnum.SUSPECT_METRICS);
monitorGraphs = new SubTab(monitoringTab.extendLocatorId("Graphs"), new ViewName("Graphs",
MSG.view_tabs_common_graphs()), null);
monitorTables = new SubTab(monitoringTab.extendLocatorId("Tables"), new ViewName("Tables",
@@ -220,15 +219,14 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
monitorCallTime);
tabs.add(monitoringTab);
- eventsTab = new TwoLevelTab(getTabSet().extendLocatorId("Events"), new ViewName("Events",
- MSG.view_tabs_common_events()), IconEnum.EVENTS);
+ eventsTab = new TwoLevelTab(new ViewName("Events", MSG.view_tabs_common_events()), IconEnum.EVENTS);
this.eventHistory = new SubTab(eventsTab.extendLocatorId("History"), new ViewName("History",
MSG.view_tabs_common_history()), null);
eventsTab.registerSubTabs(eventHistory);
tabs.add(eventsTab);
- operationsTab = new TwoLevelTab(getTabSet().extendLocatorId(Tab.OPERATIONS), new ViewName(Tab.OPERATIONS,
- MSG.common_title_operations()), IconEnum.RECENT_OPERATIONS);
+ operationsTab = new TwoLevelTab(new ViewName(Tab.OPERATIONS, MSG.common_title_operations()),
+ IconEnum.RECENT_OPERATIONS);
this.operationsSchedules = new SubTab(operationsTab.extendLocatorId(OperationsSubTab.SCHEDULES), new ViewName(
OperationsSubTab.SCHEDULES, MSG.view_tabs_common_schedules()), null);
this.operationsHistory = new SubTab(operationsTab.extendLocatorId(OperationsSubTab.HISTORY), new ViewName(
@@ -236,8 +234,8 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
operationsTab.registerSubTabs(this.operationsSchedules, this.operationsHistory);
tabs.add(operationsTab);
- configurationTab = new TwoLevelTab(getTabSet().extendLocatorId(Tab.CONFIGURATION), new ViewName(
- Tab.CONFIGURATION, MSG.common_title_configuration()), IconEnum.CONFIGURATION_HISTORY);
+ configurationTab = new TwoLevelTab(new ViewName(Tab.CONFIGURATION, MSG.common_title_configuration()),
+ IconEnum.CONFIGURATION_HISTORY);
this.configCurrent = new SubTab(configurationTab.extendLocatorId(ConfigurationSubTab.CURRENT), new ViewName(
ConfigurationSubTab.CURRENT, MSG.view_tabs_common_current()), null);
this.configHistory = new SubTab(configurationTab.extendLocatorId(ConfigurationSubTab.HISTORY), new ViewName(
@@ -245,8 +243,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
configurationTab.registerSubTabs(this.configCurrent, this.configHistory);
tabs.add(configurationTab);
- driftTab = new TwoLevelTab(getTabSet().extendLocatorId(Tab.DRIFT), new ViewName(Tab.DRIFT,
- MSG.view_tabs_common_drift()), IconEnum.DRIFT_COMPLIANCE);
+ driftTab = new TwoLevelTab(new ViewName(Tab.DRIFT, MSG.view_tabs_common_drift()), IconEnum.DRIFT_COMPLIANCE);
// TODO: Experimenting with not shoing a drift history tab and having all resource level drift viewing
// go through the comprehensive drift carousel view. Leave it in, but commented, in case we want it back.
//this.driftHistory = new SubTab(driftTab.extendLocatorId(DriftSubTab.HISTORY), new ViewName(DriftSubTab.HISTORY,
@@ -257,8 +254,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
driftTab.registerSubTabs(driftDefinitions);
tabs.add(driftTab);
- contentTab = new TwoLevelTab(getTabSet().extendLocatorId("Content"), new ViewName("Content",
- MSG.view_tabs_common_content()), IconEnum.CONTENT);
+ contentTab = new TwoLevelTab(new ViewName("Content", MSG.view_tabs_common_content()), IconEnum.CONTENT);
this.contentDeployed = new SubTab(contentTab.extendLocatorId("Deployed"), new ViewName("Deployed",
MSG.view_tabs_common_deployed()), null);
this.contentNew = new SubTab(contentTab.extendLocatorId("New"), new ViewName("New", MSG.common_button_new()),
@@ -401,7 +397,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
updateSubTab(this.alertsTab, this.alertDef, true, true, new ViewFactory() {
@Override
public Canvas createView() {
- return new ResourceAlertDefinitionsView(alertsTab.extendLocatorId("AlertDefView"), resourceComposite);
+ return new ResourceAlertDefinitionsView(resourceComposite);
}
});
}
@@ -446,7 +442,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
new ViewFactory() {
@Override
public Canvas createView() {
- return new ResourceSchedulesView(monitoringTab.extendLocatorId("SchedulesView"), resourceComposite);
+ return new ResourceSchedulesView(resourceComposite);
}
});
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
index fb111b5..23058c9 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
@@ -55,13 +55,13 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHLayout;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
* @author Ian Springer
*/
-public class ResourceTitleBar extends LocatableVLayout {
+public class ResourceTitleBar extends EnhancedVLayout {
//represents row of Resource title details[icon,title,show-details,tags,availability,favorites]
private EnhancedHLayout top;
@@ -133,26 +133,24 @@ public class ResourceTitleBar extends LocatableVLayout {
badge = new Img(ImageManager.getResourceLargeIcon(ResourceCategory.SERVICE), 24, 24);
- TagEditorView tagEditorView = new TagEditorView(extendLocatorId("TagEdit"), resource.getTags(),
- !resourceComposite.getResourcePermission().isInventory(), new TagsChangedCallback() {
- public void tagsChanged(final HashSet<Tag> tags) {
- GWTServiceLookup.getTagService().updateResourceTags(resource.getId(), tags,
- new AsyncCallback<Void>() {
- public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler()
- .handleError(MSG.view_resource_title_tagUpdateFailed(), caught);
- }
-
- public void onSuccess(Void result) {
- CoreGUI.getMessageCenter().notify(
- new Message(MSG.view_titleBar_common_updateTagsSuccessful(resource.getName()),
- Message.Severity.Info));
- // update what is essentially our local cache
- resource.setTags(tags);
- }
- });
- }
- });
+ TagEditorView tagEditorView = new TagEditorView(resource.getTags(), !resourceComposite.getResourcePermission()
+ .isInventory(), new TagsChangedCallback() {
+ public void tagsChanged(final HashSet<Tag> tags) {
+ GWTServiceLookup.getTagService().updateResourceTags(resource.getId(), tags, new AsyncCallback<Void>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError(MSG.view_resource_title_tagUpdateFailed(), caught);
+ }
+
+ public void onSuccess(Void result) {
+ CoreGUI.getMessageCenter().notify(
+ new Message(MSG.view_titleBar_common_updateTagsSuccessful(resource.getName()),
+ Message.Severity.Info));
+ // update what is essentially our local cache
+ resource.setTags(tags);
+ }
+ });
+ }
+ });
loadTags(tagEditorView);
@@ -207,7 +205,7 @@ public class ResourceTitleBar extends LocatableVLayout {
disposalReminder.setValign(VerticalAlignment.CENTER);
disposalReminder.setContents(MSG.view_resource_title_component_errors_cleanup());
- LocatableVLayout form = new LocatableVLayout(extendLocatorId("_Modal_Form"));
+ EnhancedVLayout form = new EnhancedVLayout();
form.setAlign(VerticalAlignment.CENTER);
form.setLayoutMargin(10);
form.setWidth100();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java
index 102dfc9..01afb85 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java
@@ -102,13 +102,13 @@ import org.rhq.enterprise.gui.coregui.client.util.Log;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.preferences.MeasurementUserPreferences;
import org.rhq.enterprise.gui.coregui.client.util.preferences.UserPreferences;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
* @author Greg Hinkle
*/
-public class ResourceTreeView extends LocatableVLayout {
+public class ResourceTreeView extends EnhancedVLayout {
private TreeGrid treeGrid;
private String selectedNodeId;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ConfigurationHistoryDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ConfigurationHistoryDetailView.java
index c6ac7d9..007255b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ConfigurationHistoryDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ConfigurationHistoryDetailView.java
@@ -33,12 +33,12 @@ import org.rhq.enterprise.gui.coregui.client.ViewPath;
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.resource.type.ResourceTypeRepository;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
*/
-public class ConfigurationHistoryDetailView extends LocatableVLayout implements BookmarkableView {
+public class ConfigurationHistoryDetailView extends EnhancedVLayout implements BookmarkableView {
public ConfigurationHistoryDetailView() {
super();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
index 22104ab..7ea1368 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/configuration/ResourceConfigurationEditView.java
@@ -50,7 +50,7 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTyp
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.MessageCenter;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A view for editing a Resource's configuration.
@@ -58,7 +58,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
* @author Greg Hinkle
* @author Ian Springer
*/
-public class ResourceConfigurationEditView extends LocatableVLayout implements PropertyValueChangeListener,
+public class ResourceConfigurationEditView extends EnhancedVLayout implements PropertyValueChangeListener,
RefreshableView {
private Resource resource;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
index 37eb27b..feb2914 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java
@@ -42,7 +42,7 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.MessageCenter;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A view for editing a Resource's plugin configuration (aka connection settings).
@@ -50,7 +50,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
* @author Greg Hinkle
* @author Ian Springer
*/
-public class PluginConfigurationEditView extends LocatableVLayout implements PropertyValueChangeListener,
+public class PluginConfigurationEditView extends EnhancedVLayout implements PropertyValueChangeListener,
RefreshableView {
private Resource resource;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationHistoryDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationHistoryDetailView.java
index 4c6cc43..1dde8d8 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationHistoryDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationHistoryDetailView.java
@@ -33,12 +33,12 @@ import org.rhq.enterprise.gui.coregui.client.ViewPath;
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.resource.type.ResourceTypeRepository;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author John Mazzitelli
*/
-public class PluginConfigurationHistoryDetailView extends LocatableVLayout implements BookmarkableView {
+public class PluginConfigurationHistoryDetailView extends EnhancedVLayout implements BookmarkableView {
public PluginConfigurationHistoryDetailView() {
super();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceAgentView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceAgentView.java
index 5cfadc2..259bcff 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceAgentView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceAgentView.java
@@ -38,7 +38,7 @@ import org.rhq.enterprise.gui.coregui.client.RefreshableView;
import org.rhq.enterprise.gui.coregui.client.admin.topology.AgentTableView;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
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.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -46,7 +46,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
*
* @author Simeon Pinder
*/
-public class ResourceAgentView extends LocatableVLayout implements RefreshableView {
+public class ResourceAgentView extends EnhancedVLayout implements RefreshableView {
private int resourceId;
private DynamicForm form;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceGroupSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceGroupSelector.java
index d99d583..df66589 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceGroupSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceGroupSelector.java
@@ -36,7 +36,7 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.selection.Resour
*/
public class ResourceResourceGroupSelector extends ResourceGroupSelector {
- public ResourceResourceGroupSelector(String locatorId, Collection<ResourceGroup> resourceGroups) {
+ public ResourceResourceGroupSelector(Collection<ResourceGroup> resourceGroups) {
super();
@@ -47,5 +47,5 @@ public class ResourceResourceGroupSelector extends ResourceGroupSelector {
this.setOverflow(Overflow.AUTO);
}
-
+
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceGroupsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceGroupsView.java
index 6f1a7a8..e5662d0 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceGroupsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceGroupsView.java
@@ -34,12 +34,12 @@ import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Jay Shaughnessy
*/
-public class ResourceResourceGroupsView extends LocatableVLayout {
+public class ResourceResourceGroupsView extends EnhancedVLayout {
private int resourceId;
private Resource resource;
@@ -100,8 +100,8 @@ public class ResourceResourceGroupsView extends LocatableVLayout {
public void onSuccess(PageList<Resource> result) {
resource = result.get(0);
- ResourceResourceGroupsView.this.selector = new ResourceResourceGroupSelector(
- ResourceResourceGroupsView.this.getLocatorId(), resource.getExplicitGroups());
+ ResourceResourceGroupsView.this.selector = new ResourceResourceGroupSelector(resource
+ .getExplicitGroups());
addMember(ResourceResourceGroupsView.this.selector);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/GraphListView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/GraphListView.java
index 81c3e1a..e18e5b5 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/GraphListView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/GraphListView.java
@@ -41,13 +41,13 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSelectListener;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.monitoring.avail.AvailabilityBarView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.server.measurement.util.MeasurementUtils;
/**
* @author Greg Hinkle
*/
-public class GraphListView extends LocatableVLayout implements ResourceSelectListener {
+public class GraphListView extends EnhancedVLayout implements ResourceSelectListener {
private Resource resource;
private Label loadingLabel = new Label(MSG.common_msg_loading());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/LiveGraphView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/LiveGraphView.java
index 841afc3..5ce9c2e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/LiveGraphView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/LiveGraphView.java
@@ -64,12 +64,12 @@ import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.MeasurementDataGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementConverterClient;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
*/
-public class LiveGraphView extends LocatableVLayout {
+public class LiveGraphView extends EnhancedVLayout {
private static final String INSTRUCTIONS = MSG.view_resource_monitor_graph_instructions();
@@ -90,7 +90,7 @@ public class LiveGraphView extends LocatableVLayout {
super();
}
- public LiveGraphView(String locatorId, int resourceId, MeasurementDefinition def) {
+ public LiveGraphView(int resourceId, MeasurementDefinition def) {
super();
this.resourceId = resourceId;
this.definition = def;
@@ -268,8 +268,8 @@ public class LiveGraphView extends LocatableVLayout {
}
- public static void displayAsDialog(String locatorId, int resourceId, MeasurementDefinition def) {
- final LiveGraphView graph = new LiveGraphView(locatorId, resourceId, def);
+ public static void displayAsDialog(int resourceId, MeasurementDefinition def) {
+ final LiveGraphView graph = new LiveGraphView(resourceId, def);
final Window graphPopup = new Window();
graphPopup.setTitle(MSG.view_resource_monitor_detailed_graph_label());
graphPopup.setWidth(800);
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 e16f2a0..781caf6 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
@@ -144,7 +144,7 @@ public class ResourceMetricGraphView extends AbstractMetricGraphView {
}
protected void displayLiveGraphViewDialog() {
- LiveGraphView.displayAsDialog(getLocatorId(), getEntityId(), getDefinition());
+ LiveGraphView.displayAsDialog(getEntityId(), getDefinition());
}
@Override
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/avail/ResourceAvailabilityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/avail/ResourceAvailabilityView.java
index 45a169f..912159c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/avail/ResourceAvailabilityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/avail/ResourceAvailabilityView.java
@@ -55,7 +55,7 @@ import org.rhq.enterprise.gui.coregui.client.gwt.AvailabilityGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
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.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* This shows the availability history for a resource.
@@ -63,7 +63,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
* @author Jay Shaughnessy
* @author John Mazzitelli
*/
-public class ResourceAvailabilityView extends LocatableVLayout {
+public class ResourceAvailabilityView extends EnhancedVLayout {
private ResourceComposite resourceComposite;
private StaticTextItem currentField;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/ResourceSchedulesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/ResourceSchedulesView.java
index 8690d23..5b26e48 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/ResourceSchedulesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/monitoring/schedules/ResourceSchedulesView.java
@@ -41,8 +41,8 @@ public class ResourceSchedulesView extends AbstractSchedulesView {
private ResourceComposite resourceComposite;
private int resourceId;
- public ResourceSchedulesView(String locatorId, ResourceComposite resourceComposite) {
- super(locatorId, TITLE, EntityContext.forResource(resourceComposite.getResource().getId()), resourceComposite
+ public ResourceSchedulesView(ResourceComposite resourceComposite) {
+ super(TITLE, EntityContext.forResource(resourceComposite.getResource().getId()), resourceComposite
.getResourcePermission().isMeasure());
this.resourceComposite = resourceComposite;
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 ea0ac97..48694c0 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
@@ -41,7 +41,7 @@ import org.rhq.enterprise.gui.coregui.client.LinkManager;
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.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
/**
@@ -130,7 +130,7 @@ public class ResourceOperationHistoryDetailsView extends AbstractOperationHistor
protected Canvas buildResultsSection(ResourceOperationHistory operationHistory) {
OperationRequestStatus status = operationHistory.getStatus();
if (status == OperationRequestStatus.SUCCESS) {
- LocatableVLayout resultsSection = new LocatableVLayout(extendLocatorId("ResultsSection"));
+ EnhancedVLayout resultsSection = new EnhancedVLayout();
Label title = new Label("<h4>" + MSG.view_operationHistoryDetails_results() + "</h4>");
title.setHeight(27);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
index 2dda7b6..b489db5 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
@@ -36,15 +36,15 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.resource.Resourc
import org.rhq.enterprise.gui.coregui.client.gwt.DashboardGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableToolStrip;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* The content pane for the resource Summary>Activity subtab.
*
* @author Jay Shaughnessy
*/
-public class ActivityView extends LocatableVLayout implements DashboardContainer, InitializableView {
+public class ActivityView extends EnhancedVLayout implements DashboardContainer, InitializableView {
private static final String DASHBOARD_NAME_PREFIX = "ResourceDashboard_";
@@ -54,7 +54,7 @@ public class ActivityView extends LocatableVLayout implements DashboardContainer
private DashboardView dashboardView;
- private LocatableToolStrip footer;
+ private EnhancedToolStrip footer;
private IButton editButton;
private IButton resetButton;
@@ -111,11 +111,11 @@ public class ActivityView extends LocatableVLayout implements DashboardContainer
Canvas[] members = getMembers();
removeMembers(members);
//pass in the resource information
- dashboardView = new DashboardView(extendLocatorId(dashboard.getName()), this, dashboard,
- EntityContext.forResource(resourceComposite.getResource().getId()), resourceComposite);
+ dashboardView = new DashboardView(this, dashboard, EntityContext.forResource(resourceComposite.getResource()
+ .getId()), resourceComposite);
addMember(dashboardView);
- footer = new LocatableToolStrip();
+ footer = new EnhancedToolStrip();
footer.setPadding(5);
footer.setWidth100();
footer.setMembersMargin(15);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/TimelineView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/TimelineView.java
index 87057c9..26a658e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/TimelineView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/TimelineView.java
@@ -23,12 +23,12 @@ import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.enterprise.gui.coregui.client.components.FullHTMLPane;
import org.rhq.enterprise.gui.coregui.client.components.measurement.UserPreferencesMeasurementRangeEditor;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author John Mazzitelli
*/
-public class TimelineView extends LocatableVLayout {
+public class TimelineView extends EnhancedVLayout {
public static final ViewName VIEW_ID = new ViewName("ResourceTimeline", MSG.view_tabs_common_timeline());
private final ResourceComposite resourceComposite;
@@ -48,7 +48,7 @@ public class TimelineView extends LocatableVLayout {
// we create a simple subclass because we need to know when a new range has been set in order to refresh the timeline
class RangeEditor extends UserPreferencesMeasurementRangeEditor {
- RangeEditor(String editorLocatorId) {
+ RangeEditor() {
super();
}
@@ -59,7 +59,7 @@ public class TimelineView extends LocatableVLayout {
}
}
- RangeEditor range = new RangeEditor(extendLocatorId("TimeRangeEditor"));
+ RangeEditor range = new RangeEditor();
addMember(range); // put it at the top above the timeline's filters
addMember(timelinePane);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/discovery/ResourceAutodiscoveryView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/discovery/ResourceAutodiscoveryView.java
index 309b8f5..5fc2d77 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/discovery/ResourceAutodiscoveryView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/discovery/ResourceAutodiscoveryView.java
@@ -59,12 +59,12 @@ import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGWTServiceAsync;
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.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
*/
-public class ResourceAutodiscoveryView extends LocatableVLayout implements RefreshableView, HasViewName {
+public class ResourceAutodiscoveryView extends EnhancedVLayout implements RefreshableView, HasViewName {
public static final ViewName VIEW_ID = new ViewName("AutodiscoveryQueue", MSG.view_inventory_adq(),
IconEnum.DISCOVERY_QUEUE);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryConfigurationStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryConfigurationStep.java
index dd30dca..2f44cc4 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryConfigurationStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryConfigurationStep.java
@@ -37,7 +37,7 @@ import org.rhq.enterprise.gui.coregui.client.components.wizard.AbstractWizardSte
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.common.detail.operation.schedule.AbstractOperationScheduleDataSource;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* This step displays a config editor for the user to enter the new Resource's initial Resource or plugin configuration.
@@ -47,7 +47,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
*/
public class ResourceFactoryConfigurationStep extends AbstractWizardStep implements PropertyValueChangeListener {
- private LocatableVLayout vLayout;
+ private EnhancedVLayout vLayout;
private ConfigurationEditor editor;
private Configuration startingConfig;
private DurationItem timeoutItem;
@@ -61,7 +61,7 @@ public class ResourceFactoryConfigurationStep extends AbstractWizardStep impleme
boolean newCanvas = this.vLayout == null;
if (newCanvas) {
- this.vLayout = new LocatableVLayout();
+ this.vLayout = new EnhancedVLayout();
// only create the timeout member 1 time, even if we end up recreating the config editor
TreeSet<TimeUnit> supportedUnits = new TreeSet<TimeUnit>();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourcePicker.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourcePicker.java
index d5ed7e9..d635c67 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourcePicker.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/ResourcePicker.java
@@ -34,7 +34,7 @@ import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.Messages;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A window dialog box that lets you pick one or more resources.
@@ -80,7 +80,7 @@ public class ResourcePicker extends Window {
}
});
- LocatableVLayout layout = new LocatableVLayout();
+ EnhancedVLayout layout = new EnhancedVLayout();
layout.setLayoutAlign(Alignment.CENTER);
layout.setLayoutMargin(10);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/SingleResourcePicker.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/SingleResourcePicker.java
index 62b07e0..7968806 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/SingleResourcePicker.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/selection/SingleResourcePicker.java
@@ -27,7 +27,7 @@ import java.util.Set;
*/
public class SingleResourcePicker extends ResourcePicker {
- public SingleResourcePicker(String locatorId, OkHandler okHandler, CancelHandler cancelHandler) {
+ public SingleResourcePicker(OkHandler okHandler, CancelHandler cancelHandler) {
super(okHandler, cancelHandler);
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/PluginTypeTreeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/PluginTypeTreeView.java
index b29a93a..bdf3a6d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/PluginTypeTreeView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/PluginTypeTreeView.java
@@ -32,12 +32,12 @@ import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceTypeGWTServiceAsync;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
*/
-public class PluginTypeTreeView extends LocatableVLayout {
+public class PluginTypeTreeView extends EnhancedVLayout {
private ResourceTypeGWTServiceAsync resourceTypeService = GWTServiceLookup.getResourceTypeGWTService();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/ResourceTypeTreeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/ResourceTypeTreeView.java
index 8e9b5f5..3c2593e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/ResourceTypeTreeView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/type/ResourceTypeTreeView.java
@@ -32,12 +32,12 @@ import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.gwt.ResourceTypeGWTServiceAsync;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
*/
-public class ResourceTypeTreeView extends LocatableVLayout {
+public class ResourceTypeTreeView extends EnhancedVLayout {
private ResourceTypeGWTServiceAsync resourceTypeService = GWTServiceLookup.getResourceTypeGWTService();
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 02aabbd..9425099 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
@@ -45,15 +45,15 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.DashboardsView;
import org.rhq.enterprise.gui.coregui.client.help.HelpView;
import org.rhq.enterprise.gui.coregui.client.inventory.InventoryView;
import org.rhq.enterprise.gui.coregui.client.report.ReportTopView;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableHStack;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedHStack;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Greg Hinkle
* @author Joseph Marques
* @author Ian Springer
*/
-public class MenuBarView extends LocatableVLayout {
+public class MenuBarView extends EnhancedVLayout {
public static final ViewName[] SECTIONS = { DashboardsView.VIEW_ID, InventoryView.VIEW_ID, ReportTopView.VIEW_ID,
BundleTopView.VIEW_ID, AdministrationView.VIEW_ID, HelpView.VIEW_ID };
@@ -142,7 +142,7 @@ public class MenuBarView extends LocatableVLayout {
return layout;
}
- class LinkBar extends LocatableHStack implements ValueChangeHandler<String> {
+ class LinkBar extends EnhancedHStack implements ValueChangeHandler<String> {
private final Map<String, VLayout> sectionNameToLinkVLayoutMap = new HashMap<String, VLayout>();
LinkBar() {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java
index 26aa7a3..5a6aa68 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java
@@ -66,7 +66,7 @@ public class DriftComplianceReportResourceSearchView extends ResourceSearchView
private final int resourceTypeId;
- public DriftComplianceReportResourceSearchView(String locatorId, Criteria criteria, boolean exportable) {
+ public DriftComplianceReportResourceSearchView(Criteria criteria, boolean exportable) {
super(criteria, exportable);
setInitialCriteriaFixed(true);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java
index 55fa1a6..b4f1161 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java
@@ -51,7 +51,7 @@ import org.rhq.enterprise.gui.coregui.client.report.inventory.ResourceInstallRep
import org.rhq.enterprise.gui.coregui.client.report.measurement.MeasurementOOBView;
import org.rhq.enterprise.gui.coregui.client.report.operation.SubsystemOperationHistoryListView;
import org.rhq.enterprise.gui.coregui.client.report.tag.TaggedView;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* The Reports top-level view.
@@ -86,7 +86,7 @@ public class ReportTopView extends AbstractSectionedLeftNavigationView {
@Override
protected VLayout defaultView() {
- LocatableVLayout vLayout = new LocatableVLayout();
+ EnhancedVLayout vLayout = new EnhancedVLayout();
vLayout.setWidth100();
TitleBar titleBar = new TitleBar(MSG.view_reportsTop_title(), IconEnum.REPORT.getIcon24x24Path());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/inventory/DriftComplianceReport.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/inventory/DriftComplianceReport.java
index c659a18..148c939 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/inventory/DriftComplianceReport.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/inventory/DriftComplianceReport.java
@@ -32,7 +32,7 @@ import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
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.report.DriftComplianceReportResourceSearchView;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A tweaked version of the InventorySummary report that narrows the relevant types to those that support Drift
@@ -40,7 +40,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
*
* @author Jay Shaughnessy
*/
-public class DriftComplianceReport extends LocatableVLayout implements BookmarkableView, HasViewName {
+public class DriftComplianceReport extends EnhancedVLayout implements BookmarkableView, HasViewName {
public static final ViewName VIEW_ID = new ViewName("DriftCompliance", MSG.view_reports_driftCompliance(),
IconEnum.DRIFT_COMPLIANCE);
@@ -92,7 +92,7 @@ public class DriftComplianceReport extends LocatableVLayout implements Bookmarka
private void showResourceList(Criteria criteria) {
hideResourceList();
- resourceList = new DriftComplianceReportResourceSearchView(extendLocatorId("resourceList"), criteria, true);
+ resourceList = new DriftComplianceReportResourceSearchView(criteria, true);
addMember(resourceList);
markForRedraw();
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/inventory/ResourceInstallReport.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/inventory/ResourceInstallReport.java
index abe2051..9674561 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/inventory/ResourceInstallReport.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/inventory/ResourceInstallReport.java
@@ -31,7 +31,7 @@ import org.rhq.enterprise.gui.coregui.client.components.view.HasViewName;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
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.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* A tabular report that shows the types of resources are installed and how many
@@ -39,7 +39,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
*
* @author John Mazzitelli
*/
-public class ResourceInstallReport extends LocatableVLayout implements BookmarkableView, HasViewName {
+public class ResourceInstallReport extends EnhancedVLayout implements BookmarkableView, HasViewName {
public static final ViewName VIEW_ID = new ViewName("InventorySummary", MSG.common_title_inventorySummary(),
IconEnum.INVENTORY_SUMMARY);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TagCloudView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TagCloudView.java
index 1bc199e..d9d26b9 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TagCloudView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TagCloudView.java
@@ -43,7 +43,7 @@ import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
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.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* Shows the tags in a large HTML block, where the most used tags are shown in bigger fonts.
@@ -51,7 +51,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
* @author Greg Hinkle
* @author John Mazzitelli
*/
-public class TagCloudView extends LocatableVLayout {
+public class TagCloudView extends EnhancedVLayout {
private static final String REMOVE_ICON = "[skin]/images/actions/remove.png";
private static final int MIN_FONTSIZE = 8;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TaggedView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TaggedView.java
index 543be5b..fd17a80 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TaggedView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/tag/TaggedView.java
@@ -49,7 +49,7 @@ import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSearchView;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* The main tag cloud view which will show the actual tag cloud with a tabbed view
@@ -58,7 +58,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
* @author Greg Hinkle
* @author John Mazzitelli
*/
-public class TaggedView extends LocatableVLayout implements BookmarkableView, HasViewName {
+public class TaggedView extends EnhancedVLayout implements BookmarkableView, HasViewName {
public static final ViewName VIEW_ID = new ViewName("Tags", MSG.view_tags_tags(), IconEnum.TAGS);
@@ -106,7 +106,7 @@ public class TaggedView extends LocatableVLayout implements BookmarkableView, Ha
criteria.addCriteria("tagSemantic", tag.getSemantic());
criteria.addCriteria("tagName", tag.getName());
- container = new LocatableTabSet(extendLocatorId("tags"));
+ container = new LocatableTabSet();
container.setWidth100();
container.setHeight100();
container.setTabBarControls(tagCloudView.getDeleteButton());
@@ -121,37 +121,36 @@ public class TaggedView extends LocatableVLayout implements BookmarkableView, Ha
BundlesListView bundlesView = new BundlesListView(criteria, null);
viewsWithTags.add(bundlesView);
- tab = new LocatableTab(extendLocatorId("bundleList"), MSG.view_bundle_bundles());
+ tab = new LocatableTab(MSG.view_bundle_bundles());
tab.setIcon(ImageManager.getBundleIcon());
tab.setPane(bundlesView);
container.addTab(tab);
BundleVersionListView bundleVersionListView = new BundleVersionListView(criteria);
viewsWithTags.add(bundleVersionListView);
- tab = new LocatableTab(extendLocatorId("bundleVersionList"), MSG.view_bundle_bundleVersions());
+ tab = new LocatableTab(MSG.view_bundle_bundleVersions());
tab.setIcon("subsystems/bundle/BundleVersion_16.png");
tab.setPane(bundleVersionListView);
container.addTab(tab);
- BundleDeploymentListView bundleDeploymentListView = new BundleDeploymentListView(
- extendLocatorId("bundleDeploymentListView"), criteria,
+ BundleDeploymentListView bundleDeploymentListView = new BundleDeploymentListView(criteria,
this.globalPermissions.contains(Permission.MANAGE_BUNDLE));
viewsWithTags.add(bundleDeploymentListView);
- tab = new LocatableTab(extendLocatorId("bundleDeploymentsList"), MSG.view_bundle_bundleDeployments());
+ tab = new LocatableTab(MSG.view_bundle_bundleDeployments());
tab.setIcon("subsystems/bundle/BundleDeployment_16.png");
tab.setPane(bundleDeploymentListView);
container.addTab(tab);
BundleDestinationListView bundleDestinationListView = new BundleDestinationListView(criteria);
viewsWithTags.add(bundleDestinationListView);
- tab = new LocatableTab(extendLocatorId("bundleDestinationsList"), MSG.view_bundle_bundleDestinations());
+ tab = new LocatableTab(MSG.view_bundle_bundleDestinations());
tab.setIcon("subsystems/bundle/BundleDestination_16.png");
tab.setPane(bundleDestinationListView);
container.addTab(tab);
ResourceSearchView resourceView = new ResourceSearchView(criteria, MSG.view_taggedResources_title());
viewsWithTags.add(resourceView);
- tab = new LocatableTab(extendLocatorId("resourceList"), MSG.view_taggedResources_title());
+ tab = new LocatableTab(MSG.view_taggedResources_title());
tab.setIcon(ImageManager.getResourceIcon(ResourceCategory.SERVICE));
tab.setPane(resourceView);
container.addTab(tab);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestMessageCenterView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestMessageCenterView.java
index 26c5511..6ac7487 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestMessageCenterView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestMessageCenterView.java
@@ -35,9 +35,9 @@ import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.Message.Option;
import org.rhq.enterprise.gui.coregui.client.util.message.Message.Severity;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
-public class TestMessageCenterView extends LocatableVLayout {
+public class TestMessageCenterView extends EnhancedVLayout {
public TestMessageCenterView() {
super();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestNumberFormatView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestNumberFormatView.java
index 5797bf1..ee9f395 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestNumberFormatView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestNumberFormatView.java
@@ -33,9 +33,9 @@ import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
import org.rhq.core.domain.measurement.MeasurementUnits;
import org.rhq.core.domain.measurement.composite.MeasurementNumericValueAndUnits;
import org.rhq.enterprise.gui.coregui.client.util.measurement.MeasurementParser;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
-public class TestNumberFormatView extends LocatableVLayout {
+public class TestNumberFormatView extends EnhancedVLayout {
public TestNumberFormatView() {
super();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestTopView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestTopView.java
index 9cb8320..276724d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestTopView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/TestTopView.java
@@ -38,7 +38,7 @@ import org.rhq.enterprise.gui.coregui.client.test.configuration.TestGroupConfigu
import org.rhq.enterprise.gui.coregui.client.test.configuration.TestReadOnlyConfigurationView;
import org.rhq.enterprise.gui.coregui.client.test.configuration.TestReadOnlyGroupConfigurationView;
import org.rhq.enterprise.gui.coregui.client.test.inventory.TestSearchBarView;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* The Test top-level view. This view is "hidden", i.e. there are no links to it, so the user must go to the URL
@@ -85,7 +85,7 @@ public class TestTopView extends AbstractSectionedLeftNavigationView {
}
protected Canvas defaultView() {
- LocatableVLayout vLayout = new LocatableVLayout();
+ EnhancedVLayout vLayout = new EnhancedVLayout();
vLayout.setWidth100();
// TODO: Help icon.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationView.java
index ac67975..7cd5286 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestConfigurationView.java
@@ -40,17 +40,17 @@ import org.rhq.enterprise.gui.coregui.client.components.configuration.PropertyVa
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.MessageCenter;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableToolStrip;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedToolStrip;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Ian Springer
*/
-public class TestConfigurationView extends LocatableVLayout implements PropertyValueChangeListener {
+public class TestConfigurationView extends EnhancedVLayout implements PropertyValueChangeListener {
private ConfigurationEditor editor;
private EnhancedIButton saveButton;
- private LocatableToolStrip buttonBar;
+ private EnhancedToolStrip buttonBar;
private ConfigurationDefinition configurationDefinition;
private Configuration configuration;
@@ -76,8 +76,8 @@ public class TestConfigurationView extends LocatableVLayout implements PropertyV
reloadConfiguration();
}
- private LocatableToolStrip createButtonBar() {
- LocatableToolStrip toolStrip = new LocatableToolStrip();
+ private EnhancedToolStrip createButtonBar() {
+ EnhancedToolStrip toolStrip = new EnhancedToolStrip();
toolStrip.setWidth100();
toolStrip.addMember(new LayoutSpacer());
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestGroupConfigurationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestGroupConfigurationView.java
index c313821..19387f6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestGroupConfigurationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/configuration/TestGroupConfigurationView.java
@@ -41,12 +41,12 @@ import org.rhq.enterprise.gui.coregui.client.components.configuration.PropertyVa
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.MessageCenter;
import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedIButton;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.EnhancedVLayout;
/**
* @author Ian Springer
*/
-public class TestGroupConfigurationView extends LocatableVLayout implements PropertyValueChangeListener {
+public class TestGroupConfigurationView extends EnhancedVLayout implements PropertyValueChangeListener {
private static final int GROUP_SIZE = 2;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/Enhanced.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/Enhanced.java
new file mode 100644
index 0000000..3c3b0bc
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/Enhanced.java
@@ -0,0 +1,35 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2011 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, version 2, as
+ * published by the Free Software Foundation, and/or the GNU Lesser
+ * General Public License, version 2.1, also as published by the Free
+ * Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License and the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * and the GNU Lesser General Public License along with this program;
+ * if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+package org.rhq.enterprise.gui.coregui.client.util.selenium;
+
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.Messages;
+
+/**
+ * Interface to all Enhanced components.
+ */
+public interface Enhanced {
+
+ Messages MSG = CoreGUI.getMessages();
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedHLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedHLayout.java
index e7c0f73..ffa6f56 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedHLayout.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedHLayout.java
@@ -3,11 +3,13 @@ package org.rhq.enterprise.gui.coregui.client.util.selenium;
import com.smartgwt.client.widgets.layout.HLayout;
/**
- * Wrapper for a SmartGWT {@link HLayout} that sets the ID for use with Selenium scLocators.
+ * Wrapper for a SmartGWT {@link HLayout} that adds some destroy logic.
+ *
+ * TODO: Ensure this added destroy logic is necessary now that Selenium support has been removed.
*
* @author Jay Shaughnessy
*/
-public class EnhancedHLayout extends HLayout implements Locatable {
+public class EnhancedHLayout extends HLayout implements Enhanced {
public EnhancedHLayout() {
super();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedHStack.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedHStack.java
new file mode 100644
index 0000000..2973998
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedHStack.java
@@ -0,0 +1,51 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2011 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, version 2, as
+ * published by the Free Software Foundation, and/or the GNU Lesser
+ * General Public License, version 2.1, also as published by the Free
+ * Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License and the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * and the GNU Lesser General Public License along with this program;
+ * if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.rhq.enterprise.gui.coregui.client.util.selenium;
+
+import com.smartgwt.client.widgets.layout.HStack;
+
+/**
+ * Wrapper for a SmartGWT {@link HStack} that adds some destroy logic.
+ *
+ * TODO: Ensure this added destroy logic is necessary now that Selenium support has been removed.
+ *
+ * @author Ian Springer
+ */
+
+public class EnhancedHStack extends HStack implements Enhanced {
+
+ public EnhancedHStack() {
+ super();
+ }
+
+ public void destroyMembers() {
+ SeleniumUtility.destroyMembers(this);
+ }
+
+ @Override
+ public void destroy() {
+ destroyMembers();
+ super.destroy();
+ }
+
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedLayout.java
new file mode 100644
index 0000000..f051440
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedLayout.java
@@ -0,0 +1,27 @@
+package org.rhq.enterprise.gui.coregui.client.util.selenium;
+
+import com.smartgwt.client.widgets.layout.Layout;
+
+/**
+ * Wrapper for a SmartGWT {@link Layout} that adds some destroy logic.
+ *
+ * TODO: Ensure this added destroy logic is necessary now that Selenium support has been removed.
+ *
+ * @author Jay Shaughnessy
+ */
+public class EnhancedLayout extends Layout implements Enhanced {
+
+ public EnhancedLayout() {
+ super();
+ }
+
+ public void destroyMembers() {
+ SeleniumUtility.destroyMembers(this);
+ }
+
+ @Override
+ public void destroy() {
+ destroyMembers();
+ super.destroy();
+ }
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedToolStrip.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedToolStrip.java
new file mode 100644
index 0000000..7c5898c
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedToolStrip.java
@@ -0,0 +1,27 @@
+package org.rhq.enterprise.gui.coregui.client.util.selenium;
+
+import com.smartgwt.client.widgets.toolbar.ToolStrip;
+
+/**
+ * Wrapper for a SmartGWT {@link ToolStrip} that adds some destroy logic.
+ *
+ * TODO: Ensure this added destroy logic is necessary now that Selenium support has been removed.
+ *
+ * @author Jay Shaughnessy
+ */
+public class EnhancedToolStrip extends ToolStrip implements Enhanced {
+
+ public EnhancedToolStrip() {
+ super();
+ }
+
+ public void destroyMembers() {
+ SeleniumUtility.destroyMembers(this);
+ }
+
+ @Override
+ public void destroy() {
+ destroyMembers();
+ super.destroy();
+ }
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedVLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedVLayout.java
new file mode 100644
index 0000000..dff1c88
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedVLayout.java
@@ -0,0 +1,31 @@
+package org.rhq.enterprise.gui.coregui.client.util.selenium;
+
+import com.smartgwt.client.widgets.layout.VLayout;
+
+/**
+ * Wrapper for a SmartGWT {@link VLayout} that adds some destroy logic.
+ *
+ * TODO: Ensure this added destroy logic is necessary now that Selenium support has been removed.
+ *
+ * @author Jay Shaughnessy
+ */
+public class EnhancedVLayout extends VLayout implements Enhanced {
+
+ public EnhancedVLayout() {
+ super();
+ }
+
+ public EnhancedVLayout(int membersMargin) {
+ super(membersMargin);
+ }
+
+ public void destroyMembers() {
+ SeleniumUtility.destroyMembers(this);
+ }
+
+ @Override
+ public void destroy() {
+ destroyMembers();
+ super.destroy();
+ }
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedVStack.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedVStack.java
new file mode 100644
index 0000000..ed9b35a
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedVStack.java
@@ -0,0 +1,31 @@
+package org.rhq.enterprise.gui.coregui.client.util.selenium;
+
+import com.smartgwt.client.widgets.layout.VStack;
+
+/**
+ * Wrapper for a SmartGWT {@link VStack} that adds some destroy logic.
+ *
+ * TODO: Ensure this added destroy logic is necessary now that Selenium support has been removed.
+ *
+ * @author Jay Shaughnessy
+ */
+public class EnhancedVStack extends VStack implements Enhanced {
+
+ public EnhancedVStack() {
+ super();
+ }
+
+ public EnhancedVStack(int membersMargin) {
+ super(membersMargin);
+ }
+
+ public void destroyMembers() {
+ SeleniumUtility.destroyMembers(this);
+ }
+
+ @Override
+ public void destroy() {
+ destroyMembers();
+ super.destroy();
+ }
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/Locatable.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/Locatable.java
deleted file mode 100644
index 3947cc2..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/Locatable.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright (C) 2005-2011 Red Hat, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2, as
- * published by the Free Software Foundation, and/or the GNU Lesser
- * General Public License, version 2.1, also as published by the Free
- * Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License and the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU General Public License
- * and the GNU Lesser General Public License along with this program;
- * if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-package org.rhq.enterprise.gui.coregui.client.util.selenium;
-
-import org.rhq.enterprise.gui.coregui.client.CoreGUI;
-import org.rhq.enterprise.gui.coregui.client.Messages;
-
-/**
- * Interface to all locatable components.
- * Implement this to ensure Selenium testability for the implementing component.
- */
-public interface Locatable {
-
- Messages MSG = CoreGUI.getMessages();
-}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHStack.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHStack.java
deleted file mode 100644
index 8706352..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableHStack.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright (C) 2011 Red Hat, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2, as
- * published by the Free Software Foundation, and/or the GNU Lesser
- * General Public License, version 2.1, also as published by the Free
- * Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License and the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU General Public License
- * and the GNU Lesser General Public License along with this program;
- * if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.rhq.enterprise.gui.coregui.client.util.selenium;
-
-import com.smartgwt.client.widgets.layout.HStack;
-
-/**
- * Wrapper for a SmartGWT {@link HStack} that sets the ID for use with Selenium scLocators.
- *
- * @author Ian Springer
- */
-public class LocatableHStack extends HStack implements Locatable {
-
- private String locatorId;
-
- public LocatableHStack() {
- super();
- }
-
- /**
- * <pre>
- * ID Format: "simpleClassname_locatorId"
- * </pre>
- * @param locatorId not null or empty.
- */
- public LocatableHStack(String locatorId) {
- super();
- init(locatorId);
- }
-
- /**
- * <pre>
- * ID Format: "simpleClassname_locatorId"
- * </pre>
- * @param locatorId not null or empty.
- * @param membersMargin
- */
- public LocatableHStack(String locatorId, int membersMargin) {
- super(membersMargin);
- init(locatorId);
- }
-
- private void init(String locatorId) {
- this.locatorId = locatorId;
- SeleniumUtility.setID(this, locatorId);
- }
-
- public String getLocatorId() {
- return locatorId;
- }
-
- public String extendLocatorId(String extension) {
- return this.locatorId + "_" + extension;
- }
-
- public void destroyMembers() {
- SeleniumUtility.destroyMembers(this);
- }
-
- @Override
- public void destroy() {
- destroyMembers();
- super.destroy();
- }
-
-}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLayout.java
deleted file mode 100644
index 2139960..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableLayout.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.rhq.enterprise.gui.coregui.client.util.selenium;
-
-import com.smartgwt.client.widgets.layout.Layout;
-
-/**
- * Wrapper for com.smartgwt.client.widgets.layout.HLayout that sets the ID for use with selenium scLocators.
- *
- * @author Jay Shaughnessy
- */
-public class LocatableLayout extends Layout implements Locatable {
-
- private String locatorId;
-
- /**
- * <pre>
- * ID Format: "simpleClassname_locatorId"
- * </pre>
- * @param locatorId not null or empty.
- */
- public LocatableLayout() {
- super();
- this.locatorId = locatorId;
- SeleniumUtility.setID(this, locatorId);
- }
-
- public String getLocatorId() {
- return locatorId;
- }
-
- public String extendLocatorId(String extension) {
- return this.locatorId + "_" + extension;
- }
-
- public void destroyMembers() {
- SeleniumUtility.destroyMembers(this);
- }
-
- @Override
- public void destroy() {
- destroyMembers();
- super.destroy();
- }
-}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java
index 197a1be..7777b6a 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTab.java
@@ -25,7 +25,7 @@ import com.smartgwt.client.widgets.tab.Tab;
*
* @author Jay Shaughnessy
*/
-public class LocatableTab extends Tab implements Locatable {
+public class LocatableTab extends Tab implements Enhanced {
private String locatorId;
@@ -35,9 +35,9 @@ public class LocatableTab extends Tab implements Locatable {
* </pre>
* @param locatorId not null or empty.
*/
- public LocatableTab(String locatorId, String title) {
+ public LocatableTab(String title) {
super(title);
- init(locatorId);
+ init("TODO!!!!");
}
/**
@@ -46,9 +46,9 @@ public class LocatableTab extends Tab implements Locatable {
* </pre>
* @param locatorId not null or empty.
*/
- public LocatableTab(String locatorId, String title, String icon) {
+ public LocatableTab(String title, String icon) {
super(title, icon);
- init(locatorId);
+ init("TODO!!!");
}
private void init(String locatorId) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableToolStrip.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableToolStrip.java
deleted file mode 100644
index 0af562a..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableToolStrip.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.rhq.enterprise.gui.coregui.client.util.selenium;
-
-import com.smartgwt.client.widgets.toolbar.ToolStrip;
-
-/**
- * Wrapper for com.smartgwt.client.widgets.toolbar.ToolStrip that sets the ID for use with selenium scLocators.
- *
- * @author Jay Shaughnessy
- */
-public class LocatableToolStrip extends ToolStrip implements Locatable {
-
- private String locatorId;
-
- /**
- * <pre>
- * ID Format: "simpleClassname_locatorId"
- * </pre>
- * @param locatorId not null or empty.
- */
- public LocatableToolStrip() {
- super();
- this.locatorId = locatorId;
- SeleniumUtility.setID(this, locatorId);
- }
-
- public String getLocatorId() {
- return locatorId;
- }
-
- public String extendLocatorId(String extension) {
- return this.locatorId + "_" + extension;
- }
-
- public void destroyMembers() {
- SeleniumUtility.destroyMembers(this);
- }
-
- @Override
- public void destroy() {
- destroyMembers();
- super.destroy();
- }
-}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTransferImgButton.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTransferImgButton.java
deleted file mode 100644
index efbd818..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTransferImgButton.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.rhq.enterprise.gui.coregui.client.util.selenium;
-
-import com.smartgwt.client.widgets.TransferImgButton;
-
-/**
- * Wrapper for com.smartgwt.client.widgets.TransferImgButton that sets the ID for use with selenium scLocators.
- *
- * @author Jay Shaughnessy
- */
-public class LocatableTransferImgButton extends TransferImgButton implements Locatable {
-
- private String locatorId;
-
- /**
- * <pre>
- * ID Format: "simpleClassname_locatorId_imgName"
- * </pre>
- * @param locatorId not null.
- * @param img not null or empty.
- */
- public LocatableTransferImgButton(String locatorId, TransferImg img) {
- super(img);
- this.locatorId = locatorId;
- this.locatorId = extendLocatorId(getSuffix(img));
- SeleniumUtility.setID(this, this.locatorId);
- }
-
- static private String getSuffix(TransferImg img) {
- if (TransferImgButton.LEFT == img)
- return "LEFT";
- if (TransferImgButton.LEFT_ALL == img)
- return "LEFT_ALL";
- if (TransferImgButton.RIGHT == img)
- return "RIGHT";
- if (TransferImgButton.RIGHT_ALL == img)
- return "RIGHT_ALL";
- if (TransferImgButton.UP == img)
- return "UP";
- if (TransferImgButton.UP_FIRST == img)
- return "UP_FIRST";
- if (TransferImgButton.DOWN == img)
- return "DOWN";
- if (TransferImgButton.DOWN_LAST == img)
- return "DOWN_LAST";
- if (TransferImgButton.DELETE == img)
- return "DELETE";
-
- return img.toString();
- }
-
- public String getLocatorId() {
- return locatorId;
- }
-
- public String extendLocatorId(String extension) {
- return this.locatorId + "_" + extension;
- }
-
-}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVLayout.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVLayout.java
deleted file mode 100644
index 2dcf267..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVLayout.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.rhq.enterprise.gui.coregui.client.util.selenium;
-
-import com.smartgwt.client.widgets.layout.VLayout;
-
-/**
- * Wrapper for a SmartGWT {@link VLayout} that sets the ID for use with Selenium scLocators.
- *
- * @author Jay Shaughnessy
- */
-public class LocatableVLayout extends VLayout implements Locatable {
-
- public LocatableVLayout() {
- super();
- }
-
- public LocatableVLayout(int membersMargin) {
- super(membersMargin);
- }
-
- /**
- * <pre>
- * ID Format: "simpleClassname_locatorId"
- * </pre>
- * @param locatorId not null or empty.
- */
- public LocatableVLayout(String locatorId) {
- super();
- }
-
- /**
- * <pre>
- * ID Format: "simpleClassname_locatorId"
- * </pre>
- * @param locatorId not null or empty.
- * @param membersMargin
- */
- public LocatableVLayout(String locatorId, int membersMargin) {
- super(membersMargin);
- }
-
-
- public String getLocatorId() {
- return "";
- }
-
- public String extendLocatorId(String extension) {
- return extension;
- }
-
- public void destroyMembers() {
- SeleniumUtility.destroyMembers(this);
- }
-
- @Override
- public void destroy() {
- destroyMembers();
- super.destroy();
- }
-}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVStack.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVStack.java
deleted file mode 100644
index e13b0c9..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableVStack.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.rhq.enterprise.gui.coregui.client.util.selenium;
-
-import com.smartgwt.client.widgets.layout.VStack;
-
-/**
- * Wrapper for a SmartGWT {@link VStack} that sets the ID for use with Selenium scLocators.
- *
- * @author Jay Shaughnessy
- */
-public class LocatableVStack extends VStack implements Locatable {
-
- private String locatorId;
-
- /**
- * <pre>
- * ID Format: "simpleClassname_locatorId"
- * </pre>
- * @param locatorId not null or empty.
- */
- public LocatableVStack(String locatorId) {
- super();
- }
-
- public LocatableVStack() {
- super();
- }
-
- /**
- * <pre>
- * ID Format: "simpleClassname_locatorId"
- * </pre>
- * @param locatorId not null or empty.
- * @param membersMargin
- */
- public LocatableVStack(String locatorId, int membersMargin) {
- super(membersMargin);
- }
-
-
- public String getLocatorId() {
- return locatorId;
- }
-
- public String extendLocatorId(String extension) {
- return this.locatorId + "_" + extension;
- }
-
- public void destroyMembers() {
- SeleniumUtility.destroyMembers(this);
- }
-
- @Override
- public void destroy() {
- destroyMembers();
- super.destroy();
- }
-}
commit 8cb84c647ba9d985035d9323f9d64b8e1badce9f
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Fri Feb 22 10:50:23 2013 -0500
merge in NPE fix made in master's LocatableIButton class
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedIButton.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedIButton.java
index 4de985f..150fd70 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedIButton.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/EnhancedIButton.java
@@ -7,31 +7,18 @@ import com.smartgwt.client.widgets.IButton;
*/
public class EnhancedIButton extends IButton {
- /**
- * <pre>
- * ID Format: "simpleClassname_locatorId"
- * </pre>
- * @param locatorId not null or empty.
- */
public EnhancedIButton() {
- super();
- init();
+ this(null);
}
- /**
- * <pre>
- * ID Format: "simpleClassname_locatorId"
- * </pre>
- * @param locatorId not null or empty.
- * @param title
- */
public EnhancedIButton(String title) {
super(title);
init();
}
private void init() {
- if (getTitle().length() > 15) {
+ String title = getTitle();
+ if (title != null && title.length() > 15) {
setAutoFit(true);
}
}
11 years, 2 months
[rhq] modules/enterprise
by Jiri Kremser
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AgentPluginTableView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginTableView.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/SimpleCollapsiblePanel.java | 78 ----------
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java | 1
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java | 2
6 files changed, 88 deletions(-)
New commits:
commit ad131fe3d7a38287857fcf5d34e6b3d3983acc96
Author: Jirka Kremser <jkremser(a)redhat.com>
Date: Fri Feb 22 11:40:25 2013 +0100
Unifying the width of buttons in the toolstrip (removing autoFit by default, autoFit property is set if the title length is greater than 15 characters) and removing unused class SimpleCollapsiblePanel.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AgentPluginTableView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AgentPluginTableView.java
index b9b16ed..d7b8c81 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AgentPluginTableView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AgentPluginTableView.java
@@ -223,7 +223,6 @@ public class AgentPluginTableView extends TableSection<AgentPluginDataSource> {
IButton scanForUpdatesButton = new LocatableIButton(extendLocatorId("scanButton"),
MSG.view_admin_plugins_scan());
- scanForUpdatesButton.setAutoFit(true);
scanForUpdatesButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
GWTServiceLookup.getPluginService().scanAndRegister(new AsyncCallback<Void>() {
@@ -246,7 +245,6 @@ public class AgentPluginTableView extends TableSection<AgentPluginDataSource> {
final IButton showDeletedButton = new LocatableIButton(extendLocatorId("showDeletedButton"),
MSG.view_admin_plugins_showDeleted());
- showDeletedButton.setAutoFit(true);
showDeletedButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
showDeleted = !showDeleted;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginTableView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginTableView.java
index c83d93f..f3f72f4 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginTableView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/ServerPluginTableView.java
@@ -223,7 +223,6 @@ public class ServerPluginTableView extends TableSection<ServerPluginDataSource>
IButton scanForUpdatesButton = new LocatableIButton(extendLocatorId("scanButton"),
MSG.view_admin_plugins_scan());
- scanForUpdatesButton.setAutoFit(true);
scanForUpdatesButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
GWTServiceLookup.getPluginService().scanAndRegister(new AsyncCallback<Void>() {
@@ -246,7 +245,6 @@ public class ServerPluginTableView extends TableSection<ServerPluginDataSource>
IButton restartMasterPCButton = new LocatableIButton(extendLocatorId("restartMasterPCButton"),
MSG.view_admin_plugins_restartMasterPC());
- restartMasterPCButton.setAutoFit(true);
restartMasterPCButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
Message msg = new Message(MSG.view_admin_plugins_restartMasterPCStarted(), Severity.Info);
@@ -272,7 +270,6 @@ public class ServerPluginTableView extends TableSection<ServerPluginDataSource>
final IButton showUndeployedButton = new LocatableIButton(extendLocatorId("showUndeployedButton"),
MSG.view_admin_plugins_showUndeployed());
- showUndeployedButton.setAutoFit(true);
showUndeployedButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
showUndeployed = !showUndeployed;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/SimpleCollapsiblePanel.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/SimpleCollapsiblePanel.java
deleted file mode 100644
index ed9163d..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/SimpleCollapsiblePanel.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright (C) 2005-2010 Red Hat, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-package org.rhq.enterprise.gui.coregui.client.components;
-
-import com.smartgwt.client.types.SelectionType;
-import com.smartgwt.client.widgets.Button;
-import com.smartgwt.client.widgets.Canvas;
-import com.smartgwt.client.widgets.events.ClickEvent;
-import com.smartgwt.client.widgets.events.ClickHandler;
-import com.smartgwt.client.widgets.layout.VLayout;
-
-/**
- * TODO: Not Quite Working. For some reason the icon is not clickable.
- *
- * @author Greg Hinkle
- */
-public class SimpleCollapsiblePanel extends VLayout {
-
- private Canvas content;
- private String title;
-
- private boolean expanded = true;
-
- public SimpleCollapsiblePanel(String title, Canvas content) {
- this.content = content;
- this.title = title;
- setWidth100();
- }
-
- @Override
- protected void onInit() {
- super.onInit();
-
- final Button button = new Button(title);
- button.setShowRollOver(false);
- button.setActionType(SelectionType.RADIO);
- //button.setBorder(null);
- button.setAutoFit(true);
-
- button.setIcon("[skin]/images/SectionHeader/opener_opened.png");
- //button.setBaseStyle("SimpleButton");
-
- button.addClickHandler(new ClickHandler() {
- public void onClick(ClickEvent clickEvent) {
- expanded = !expanded;
- if (expanded) {
- button.setIcon("[skin]/images/SectionHeader/opener_opened.png");
- content.show();
- } else {
- button.setIcon("[skin]/images/SectionHeader/opener_closed.png");
- content.hide();
- setHeight(30);
- }
- getParentElement().markForRedraw();
- markForRedraw();
- }
- });
-
- addMember(button);
- addMember(content);
- }
-}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java
index d82d2ee..cd1a396 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java
@@ -362,7 +362,6 @@ public abstract class Carousel extends LocatableHLayout implements RefreshableVi
.getTitle());
menuButton.setMenu(menu);
menuButton.setDisabled(true);
- menuButton.setAutoFit(true); // this makes it pretty tight, but maybe better than the default, which is pretty wide
menuButton.setOverflow(Overflow.VISIBLE);
menuButton.setShowMenuBelow(false);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
index 991098e..8cdb741 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
@@ -153,7 +153,6 @@ public class ActivityView extends LocatableVLayout implements DashboardContainer
editButton = new LocatableIButton(footer.extendLocatorId("Mode"), editMode ? MSG.common_title_view_mode() : MSG
.common_title_edit_mode());
- editButton.setAutoFit(true);
editButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
editMode = !editMode;
@@ -163,7 +162,6 @@ public class ActivityView extends LocatableVLayout implements DashboardContainer
});
resetButton = new LocatableIButton(footer.extendLocatorId("Reset"), MSG.common_button_reset());
- resetButton.setAutoFit(true);
resetButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
String message = MSG.view_summaryDashboard_resetConfirm();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
index 77a729d..ceca886 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
@@ -122,7 +122,6 @@ public class ActivityView extends LocatableVLayout implements DashboardContainer
editButton = new LocatableIButton(footer.extendLocatorId("Mode"), editMode ? MSG.common_title_view_mode() : MSG
.common_title_edit_mode());
- editButton.setAutoFit(true);
editButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
editMode = !editMode;
@@ -132,7 +131,6 @@ public class ActivityView extends LocatableVLayout implements DashboardContainer
});
resetButton = new LocatableIButton(footer.extendLocatorId("Reset"), MSG.common_button_reset());
- resetButton.setAutoFit(true);
resetButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
String message = MSG.view_summaryDashboard_resetConfirm();
11 years, 2 months
[rhq] modules/enterprise
by lkrejci
modules/enterprise/binding/pom.xml | 18 ++++++++++
modules/enterprise/binding/src/main/java/org/rhq/bindings/StandardBindings.java | 10 +++--
modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManager.java | 11 +++++-
3 files changed, 35 insertions(+), 4 deletions(-)
New commits:
commit 29b87752782a07869894b5c3eccb8d47dd11f46a
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Thu Feb 21 23:56:16 2013 +0100
Adding the API checks to the script bindings.
Also corrected a minor incompatible change that was introduced since 4.5.1.
diff --git a/modules/enterprise/binding/pom.xml b/modules/enterprise/binding/pom.xml
index 08cfdd4..709a213 100644
--- a/modules/enterprise/binding/pom.xml
+++ b/modules/enterprise/binding/pom.xml
@@ -12,6 +12,7 @@
<properties>
<filtered.location>src/main/java</filtered.location>
+ <rhq.internal>false</rhq.internal>
</properties>
<dependencies>
@@ -240,6 +241,23 @@
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>clirr-maven-plugin</artifactId>
+ <configuration>
+ <includes>
+ <!-- Hand picked stuff that corresponds to what is the script context initialized to
+ in the org/rhq/bindings/StandardBindings. -->
+ <include>org/rhq/bindings/client/*</include>
+ <include>org/rhq/bindings/export/*</include>
+ <include>org/rhq/bindings/output/*</include>
+ <include>org/rhq/bindings/util/ScriptAssert</include>
+ <include>org/rhq/bindings/util/ScriptAssertException</include>
+ <include>org/rhq/bindings/util/ScriptUtil</include>
+ </includes>
+ </configuration>
+ </plugin>
+
</plugins>
</build>
diff --git a/modules/enterprise/binding/src/main/java/org/rhq/bindings/StandardBindings.java b/modules/enterprise/binding/src/main/java/org/rhq/bindings/StandardBindings.java
index 3e1e137..e0e794c 100644
--- a/modules/enterprise/binding/src/main/java/org/rhq/bindings/StandardBindings.java
+++ b/modules/enterprise/binding/src/main/java/org/rhq/bindings/StandardBindings.java
@@ -46,6 +46,10 @@ import org.rhq.core.domain.util.PageControl;
* is available for all the users of this class. The user is however able to later modify these defaults to provide
* use-case specific overrides (for example the CLI might want to supply impls that hook into the console to provide
* interactivity with user in some workflows, which, generically, is not possible in a common case).
+ * <p>
+ * *NOTE*: any change in what is exposed to the scripting clients needs to be reflected in the API check configuration
+ * in the pom.xml of the corresponding modules, because any class that gets exposed in the script context essentially
+ * becomes a public API.
*
* @author Lukas Krejci
*/
@@ -118,10 +122,10 @@ public class StandardBindings extends HashMap<String, Object> {
/**
* If you want to preserve non-client-dependent bindings when the facade changes, call this as opposed to
- * constructing new StandardBindings.
+ * constructing new StandardBindings.
*/
public void setFacade(PrintWriter output, RhqFacade rhqFacade) {
- // remove any existing managers
+ // remove any existing managers
if (null != managers) {
for (RhqManager manager : managers.keySet()) {
remove(manager.name());
@@ -204,7 +208,7 @@ public class StandardBindings extends HashMap<String, Object> {
}
public Map<RhqManager, Object> getManagers() {
- //XXX ideally this should be a projection into our map
+ //XXX ideally this should be a projection into our map
return (null == managers) ? managers = Collections.emptyMap() : managers;
}
diff --git a/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManager.java b/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManager.java
index 32832b2..2c781a1 100644
--- a/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManager.java
+++ b/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManager.java
@@ -101,7 +101,7 @@ public enum RhqManager {
this.beanName = this.name() + "Bean";
localInterfaceClassName = getLocalInterfaceClassName(remote);
- //defaults and evaluates to TRUE unless the string contains "false". Done to defend against
+ //defaults and evaluates to TRUE unless the string contains "false". Done to defend against
//possible errors in string replacement during rhq build.
this.enabled = true;
if ((enable != null) && (enable.trim().length() > 0)) {
@@ -123,6 +123,15 @@ public enum RhqManager {
return this.remote;
}
+ /**
+ * @deprecated since 4.6.0, use the {@link #remote()} method instead
+ * @return the class name of the remote interface
+ */
+ @Deprecated
+ public String remoteName() {
+ return this.remote.getName();
+ }
+
public String localInterfaceClassName() {
return localInterfaceClassName;
}
11 years, 2 months
[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
New commits:
commit 6f71c2d100c564e2f52894eca3238a6f5c7b73d7
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Feb 21 21:22:24 2013 -0500
[BZ 913778] fix NPE
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java
index 6fdaf95..0aecd4d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableIButton.java
@@ -37,7 +37,8 @@ public class LocatableIButton extends IButton implements Locatable {
private void init(String locatorId) {
this.locatorId = locatorId;
SeleniumUtility.setID(this, locatorId);
- if (getTitle().length() > 15) {
+ String title = getTitle();
+ if (title != null && title.length() > 15) {
setAutoFit(true);
}
}
11 years, 2 months
[rhq] Branch 'spinder/criteriaUsage' - 2 commits - modules/enterprise
by Simeon Pinder
modules/enterprise/binding/src/main/java/org/rhq/bindings/util/ScriptUtil.java | 19 +++++
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/ScriptableAbstractEJB3Test.java | 37 ++++++++++
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java | 22 -----
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java | 4 -
4 files changed, 60 insertions(+), 22 deletions(-)
New commits:
commit a9352d74a8eff4e9517af200d5f81b2f6f7b9f2b
Author: Simeon Pinder <spinder(a)fulliautomatix.conchfritter.com>
Date: Thu Feb 21 16:36:29 2013 -0500
refactor to expose the ScriptEngine for these and other tests.
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/ScriptableAbstractEJB3Test.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/ScriptableAbstractEJB3Test.java
new file mode 100644
index 0000000..1cc66c5
--- /dev/null
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/ScriptableAbstractEJB3Test.java
@@ -0,0 +1,37 @@
+package org.rhq.enterprise.client;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.security.PermissionCollection;
+import java.util.Collections;
+
+import javax.script.ScriptEngine;
+import javax.script.ScriptException;
+
+import org.testng.annotations.Test;
+
+import org.rhq.bindings.ScriptEngineFactory;
+import org.rhq.bindings.StandardBindings;
+import org.rhq.bindings.StandardScriptPermissions;
+import org.rhq.bindings.util.PackageFinder;
+import org.rhq.core.domain.auth.Subject;
+import org.rhq.enterprise.server.test.AbstractEJB3Test;
+
+/**
+ *
+ * @author Simeon Pinder
+ *
+ */
+@Test
+public class ScriptableAbstractEJB3Test extends AbstractEJB3Test {
+
+ protected ScriptEngine getEngine(Subject subject) throws ScriptException, IOException {
+ StandardBindings bindings = new StandardBindings(new PrintWriter(System.out), new LocalClient(subject));
+
+ PermissionCollection perms = new StandardScriptPermissions();
+
+ return ScriptEngineFactory.getSecuredScriptEngine("javascript",
+ new PackageFinder(Collections.<File> emptyList()), bindings, perms);
+ }
+}
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java
index 8489f1d..349a8ce 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java
@@ -18,11 +18,7 @@
*/
package org.rhq.enterprise.client.security.test;
-import java.io.File;
import java.io.IOException;
-import java.io.PrintWriter;
-import java.security.PermissionCollection;
-import java.util.Collections;
import javax.naming.Context;
import javax.script.ScriptEngine;
@@ -31,15 +27,10 @@ import javax.script.ScriptException;
import org.testng.Assert;
import org.testng.annotations.Test;
-import org.rhq.bindings.ScriptEngineFactory;
-import org.rhq.bindings.StandardBindings;
-import org.rhq.bindings.StandardScriptPermissions;
-import org.rhq.bindings.util.PackageFinder;
import org.rhq.core.domain.auth.Subject;
-import org.rhq.enterprise.client.LocalClient;
+import org.rhq.enterprise.client.ScriptableAbstractEJB3Test;
import org.rhq.enterprise.server.RHQConstants;
import org.rhq.enterprise.server.system.SystemManagerBean;
-import org.rhq.enterprise.server.test.AbstractEJB3Test;
import org.rhq.enterprise.server.util.LookupUtil;
/**
@@ -48,7 +39,7 @@ import org.rhq.enterprise.server.util.LookupUtil;
* @author Lukas Krejci
*/
@Test
-public class JndiAccessTest extends AbstractEJB3Test {
+public class JndiAccessTest extends ScriptableAbstractEJB3Test {
public void testScriptCantOverrideSystemProperties() throws Exception {
Subject overlord = LookupUtil.getSubjectManager().getOverlord();
@@ -272,15 +263,6 @@ public class JndiAccessTest extends AbstractEJB3Test {
// }
// }
- protected ScriptEngine getEngine(Subject subject) throws ScriptException, IOException {
- StandardBindings bindings = new StandardBindings(new PrintWriter(System.out), new LocalClient(subject));
-
- PermissionCollection perms = new StandardScriptPermissions();
-
- return ScriptEngineFactory.getSecuredScriptEngine("javascript",
- new PackageFinder(Collections.<File> emptyList()), bindings, perms);
- }
-
private static void checkIsDesiredSecurityException(ScriptException e) {
String message = e.getMessage();
String permissionTrace = "org.rhq.allow.server.internals.access";
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java
index 98ad38c..6768021 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java
@@ -17,7 +17,7 @@ import org.testng.annotations.Test;
import org.rhq.core.domain.auth.Subject;
import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.util.PageList;
-import org.rhq.enterprise.client.security.test.JndiAccessTest;
+import org.rhq.enterprise.client.ScriptableAbstractEJB3Test;
import org.rhq.enterprise.server.util.LookupUtil;
import org.rhq.enterprise.server.util.SessionTestHelper;
@@ -26,7 +26,7 @@ import org.rhq.enterprise.server.util.SessionTestHelper;
* @author Simeon Pinder
*/
@Test
-public class ScriptTest extends JndiAccessTest {
+public class ScriptTest extends ScriptableAbstractEJB3Test {
/** Exercise the ScriptUtil.findResoruces
*
commit 0d130abb277d988190ac2577879d6eb40ea0814a
Author: Simeon Pinder <spinder(a)fulliautomatix.conchfritter.com>
Date: Thu Feb 21 16:29:01 2013 -0500
Deprecate ScriptUtil.findResources() usage as does not properly support paging
and can produce result sets difficult to parse for large result sets.
diff --git a/modules/enterprise/binding/src/main/java/org/rhq/bindings/util/ScriptUtil.java b/modules/enterprise/binding/src/main/java/org/rhq/bindings/util/ScriptUtil.java
index 6b86b61..7d64eab 100644
--- a/modules/enterprise/binding/src/main/java/org/rhq/bindings/util/ScriptUtil.java
+++ b/modules/enterprise/binding/src/main/java/org/rhq/bindings/util/ScriptUtil.java
@@ -70,6 +70,25 @@ public class ScriptUtil {
this.scriptEngine = scriptEngine;
}
+ /** This convenience method has been deprecated as it was not designed to support paging
+ * which is a requirement to efficiently handle large results sets. This methods returns
+ * all inexact matches to the String parameter passed in. Clients may have difficulty
+ * retrieving all results.
+ *
+ * Instead to page through large/small result sets you should create
+ * i)ResourceCriteria instances to be passed into
+ * ii)ResourceManager.findResourcesByCriteria(ResourceCriteria criteria)
+ *
+ * NOTE: ResourceCriteria by default has a page size of 200 and starts on page 0. Ex. criteria.setPaging(0,200);
+ *
+ * To iterate over a larger result set you can
+ * i)get access to the total number of resources, as the PageList<Resource> return includes a getTotalSize() method
+ * ii)iterate through the pages of results by using Ex. criteria.setPaging(1,200), criteria.setPaging(2,200), [N,PageSize]
+ *
+ * @param string
+ * @return PageList<Resource> Resources with inexact name matches to the string passed in.
+ */
+ @Deprecated
public PageList<Resource> findResources(String string) {
if (remoteClient == null) {
throw new IllegalStateException("The findResources() method requires a connection to the RHQ server.");
11 years, 2 months
[rhq] modules/core modules/enterprise
by mazz
modules/core/client-api/src/main/java/org/rhq/core/clientapi/server/core/ConnectAgentResults.java | 23 ++++++++--
modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java | 12 +++++
modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/i18n/AgentI18NResourceKeys.java | 3 +
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/CoreServerServiceImpl.java | 3 -
4 files changed, 36 insertions(+), 5 deletions(-)
New commits:
commit 277c8b1fc4379e6a652931b7db1bbdd4ce3ce5ac
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Feb 21 16:25:40 2013 -0500
[BZ 913606] agent will send a full avail report if the server tells it at connect time that it has been backfilled.
the server will also update the last ping time of the agent when the connect comes in.
diff --git a/modules/core/client-api/src/main/java/org/rhq/core/clientapi/server/core/ConnectAgentResults.java b/modules/core/client-api/src/main/java/org/rhq/core/clientapi/server/core/ConnectAgentResults.java
index 47be78b..3bcf47b 100644
--- a/modules/core/client-api/src/main/java/org/rhq/core/clientapi/server/core/ConnectAgentResults.java
+++ b/modules/core/client-api/src/main/java/org/rhq/core/clientapi/server/core/ConnectAgentResults.java
@@ -32,10 +32,12 @@ import java.io.Serializable;
public class ConnectAgentResults implements Serializable {
private static final long serialVersionUID = 1L;
- private long serverTime;
+ private final long serverTime;
+ private final boolean isDown;
- public ConnectAgentResults(long serverTime) {
+ public ConnectAgentResults(long serverTime, boolean isDown) {
this.serverTime = serverTime;
+ this.isDown = isDown;
}
/**
@@ -49,10 +51,23 @@ public class ConnectAgentResults implements Serializable {
}
/**
- * @see java.lang.Object#toString()
+ * If true, this indicates if the server thinks the agent is down. This happens if the agent
+ * hasn't connected in a long time and the server had "backfilled" the agent's resources
+ * as DOWN/UNKNOWN.
+ *
+ * When an agent connects to a server, and the server thinks that agent was down, the agent needs
+ * to prepare to notify the server of its state - for example, the agent should soon send up
+ * a full availability report so the server can get the up-to-date availability statuses of all
+ * resources.
+ *
+ * @return true if the server had this agent's resources marked as DOWN/UNKNOWN.
*/
+ public boolean isDown() {
+ return isDown;
+ }
+
@Override
public String toString() {
- return "ConnectAgentResults: [server-time=" + this.serverTime + "]";
+ return "ConnectAgentResults: [server-time=" + this.serverTime + ", is-down=" + this.isDown + "]";
}
}
\ No newline at end of file
diff --git a/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java b/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java
index 6c01d67..0c95199 100644
--- a/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java
+++ b/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/AgentMain.java
@@ -2146,6 +2146,18 @@ public class AgentMain {
ConnectAgentResults results = (ConnectAgentResults) connectResponse.getResults();
long serverTime = results.getServerTime();
serverClockNotification(serverTime);
+
+ // If the server thinks we are down, we need to do some things to get this agent in sync with the server.
+ // Anything we do in here should be very fast.
+ boolean serverThinksWeAreDown = results.isDown();
+ if (serverThinksWeAreDown) {
+ LOG.warn(AgentI18NResourceKeys.SERVER_THINKS_AGENT_IS_DOWN);
+ PluginContainer plugin_container = PluginContainer.getInstance();
+ if (plugin_container.isStarted()) {
+ // tell the plugin container to send a full avail report up so the server knows we are UP
+ plugin_container.getInventoryManager().requestFullAvailabilityReport();
+ }
+ }
} catch (Throwable t) {
// should never happen, should always cast to non-null ConnectAgentResults
LOG.error(AgentI18NResourceKeys.TIME_UNKNOWN, ThrowableUtil.getAllMessages(t));
diff --git a/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/i18n/AgentI18NResourceKeys.java b/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/i18n/AgentI18NResourceKeys.java
index 57f427c..10761ff 100644
--- a/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/i18n/AgentI18NResourceKeys.java
+++ b/modules/enterprise/agent/src/main/java/org/rhq/enterprise/agent/i18n/AgentI18NResourceKeys.java
@@ -170,6 +170,9 @@ public interface AgentI18NResourceKeys {
@I18NMessage("Failed to determine the server time. Cause: {0}")
String TIME_UNKNOWN = "AgentMain.time-unknown";
+ @I18NMessage("The server thinks this agent is down. Will notify the server of up-to-date information when possible.")
+ String SERVER_THINKS_AGENT_IS_DOWN = "AgentMain.server-thinks-agent-is-down";
+
@I18NMessage("Timed out waiting for the connectAgent R/W lock to avoid a possible deadlock")
String TIMEOUT_WAITING_FOR_CONNECT_LOCK = "AgentMain.connect-lock-timeout";
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/CoreServerServiceImpl.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/CoreServerServiceImpl.java
index 23bcbcf..9818ac3 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/CoreServerServiceImpl.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/CoreServerServiceImpl.java
@@ -320,6 +320,7 @@ public class CoreServerServiceImpl implements CoreServerService {
Server server = getServerManager().getServer();
agent.setServer(server);
+ agent.setLastAvailabilityPing(Long.valueOf(System.currentTimeMillis()));
getAgentManager().updateAgent(agent);
getAlertConditionCacheManager().reloadCachesForAgent(agent.getId());
@@ -328,7 +329,7 @@ public class CoreServerServiceImpl implements CoreServerService {
PartitionEventType.AGENT_CONNECT, agentName + " - " + server.getName());
log.info("Agent [" + agentName + "] has connected to this server at " + new Date());
- return new ConnectAgentResults(System.currentTimeMillis());
+ return new ConnectAgentResults(System.currentTimeMillis(), agent.isBackFilled());
}
/**
11 years, 3 months
[rhq] Branch 'spinder/criteriaUsage' - 18 commits - .classpath modules/core modules/enterprise modules/integration-tests modules/plugins
by Simeon Pinder
.classpath | 36
modules/core/client-api/src/main/java/org/rhq/core/clientapi/server/configuration/ConfigurationServerService.java | 4
modules/core/dbutils/src/main/java/org/rhq/core/db/DatabaseType.java | 13
modules/core/dbutils/src/main/java/org/rhq/core/db/OracleDatabaseType.java | 15
modules/core/domain/pom.xml | 26
modules/core/domain/src/main/java/org/rhq/core/domain/configuration/ResourceConfigurationUpdate.java | 17
modules/core/domain/src/test/resources/arquillian.xml | 4
modules/core/util/src/main/java/org/rhq/core/util/StringUtil.java | 20
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java | 24
modules/enterprise/server/appserver/src/main/scripts/rhq-container.build.xml | 1
modules/enterprise/server/itests-2/pom.xml | 18
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java | 2
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java | 81 +
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBeanTest.java | 96 +-
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceStorageTest.java | 7
modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/TestServerCommunicationsService.java | 7
modules/enterprise/server/itests-2/src/test/resources/arquillian.xml | 4
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java | 123 +-
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerLocal.java | 7
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java | 8
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/AgentManagerLocal.java | 14
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsService.java | 12
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsServiceMBean.java | 17
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java | 12
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AlertHandlerBean.java | 35
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/BadArgumentException.java | 3
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/ResourceHandlerBean.java | 8
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBeanUnitTest.java | 10
modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/util/CriteriaQueryTest.java | 9
modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/AlertTest.java | 301 ++++++
modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/GroupTest.java | 24
modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/ResourcesTest.java | 55 +
modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/d/Availability.java | 64 +
modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseServerComponent.java | 117 +-
modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml | 7
modules/plugins/jboss-as-7/src/test/java/org/rhq/modules/plugins/jbossas7/itest/AbstractServerComponentTest.java | 1
modules/plugins/netservices/pom.xml | 468 ++++------
modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponent.java | 214 +++-
modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponentConfiguration.java | 57 +
modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceDiscoveryComponent.java | 51 -
modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PingNetServiceComponent.java | 77 -
modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PingNetServiceDiscoveryComponent.java | 41
modules/plugins/netservices/src/main/resources/META-INF/rhq-plugin.xml | 37
modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/HTTPNetServiceDiscoveryComponentTest.java | 178 +++
modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/PingNetServiceDiscoveryComponentTest.java | 105 ++
modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/HTTPNetServiceComponentTest.java | 162 +++
modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/NetServiceComponentTest.java | 154 +++
modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/PingNetServiceComponentTest.java | 98 ++
modules/plugins/netservices/src/test/resources/log4j.xml | 32
modules/plugins/rhq-server/src/main/resources/META-INF/rhq-plugin.xml | 7
50 files changed, 2253 insertions(+), 630 deletions(-)
New commits:
commit bf664e0f63aabbd22b242450d0f673c4064c4215
Merge: 76458a3 b452250
Author: Simeon Pinder <spinder(a)fulliautomatix.conchfritter.com>
Date: Thu Feb 21 14:49:53 2013 -0500
Merge branch 'track_master' into spinder/criteriaUsage
commit 76458a3ca5762cec0512e8ed6b607cdafeddf71a
Author: Simeon Pinder <spinder(a)fulliautomatix.conchfritter.com>
Date: Thu Feb 21 14:16:16 2013 -0500
Add integration test to exercise some CLI functionality specifically findResources.
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java
index fabe6ae..8489f1d 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/security/test/JndiAccessTest.java
@@ -272,7 +272,7 @@ public class JndiAccessTest extends AbstractEJB3Test {
// }
// }
- private ScriptEngine getEngine(Subject subject) throws ScriptException, IOException {
+ protected ScriptEngine getEngine(Subject subject) throws ScriptException, IOException {
StandardBindings bindings = new StandardBindings(new PrintWriter(System.out), new LocalClient(subject));
PermissionCollection perms = new StandardScriptPermissions();
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java
new file mode 100644
index 0000000..98ad38c
--- /dev/null
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/client/util/ScriptTest.java
@@ -0,0 +1,81 @@
+package org.rhq.enterprise.client.util;
+
+import java.io.IOException;
+import java.util.Random;
+
+import javax.persistence.EntityManager;
+import javax.script.ScriptEngine;
+import javax.script.ScriptException;
+import javax.transaction.HeuristicMixedException;
+import javax.transaction.HeuristicRollbackException;
+import javax.transaction.NotSupportedException;
+import javax.transaction.RollbackException;
+import javax.transaction.SystemException;
+
+import org.testng.annotations.Test;
+
+import org.rhq.core.domain.auth.Subject;
+import org.rhq.core.domain.resource.Resource;
+import org.rhq.core.domain.util.PageList;
+import org.rhq.enterprise.client.security.test.JndiAccessTest;
+import org.rhq.enterprise.server.util.LookupUtil;
+import org.rhq.enterprise.server.util.SessionTestHelper;
+
+/**Exercise some of the methods available via cli an integration tests/using a running server.
+
+ * @author Simeon Pinder
+ */
+@Test
+public class ScriptTest extends JndiAccessTest {
+
+ /** Exercise the ScriptUtil.findResoruces
+ *
+ * @throws ScriptException
+ * @throws IOException
+ * @throws NotSupportedException
+ * @throws SystemException
+ * @throws SecurityException
+ * @throws IllegalStateException
+ * @throws RollbackException
+ * @throws HeuristicMixedException
+ * @throws HeuristicRollbackException
+ */
+ @Test
+ public void testScriptUtilFindResources() throws ScriptException, IOException, NotSupportedException,
+ SystemException,
+ SecurityException, IllegalStateException, RollbackException, HeuristicMixedException,
+ HeuristicRollbackException {
+
+ //Instantiate ScriptEngine.
+ Subject overlord = LookupUtil.getSubjectManager().getOverlord();
+ ScriptEngine engine = getEngine(overlord);
+
+ //create resources to query.
+ getTransactionManager().begin();
+ EntityManager entityMgr = getEntityManager();
+ String tuid = "" + new Random().nextInt();
+ String prefix = "CLI-TEST-" + tuid + "-";
+ int resourceCount = 201; //assuming 200 per page at least 2 pages of results.
+ int[] resourceIds = new int[resourceCount];
+ try {
+ System.out.println("-------- Creating " + resourceCount + " resource(s). This may take a while ....");
+ long start = System.currentTimeMillis();
+ for (int i = 0; i < resourceCount; i++) {
+ String name = prefix + i;
+ Resource r = SessionTestHelper.createNewResource(entityMgr, name);
+ resourceIds[i] = r.getId();
+ }
+ entityMgr.flush();
+
+ System.out.println("----------- Created " + resourceCount + " resource(s) in "
+ + (System.currentTimeMillis() - start) + " ms.");
+
+ //now get the Resources back by CLI
+ PageList<Resource> result = (PageList<Resource>) engine.eval("findResources('" + prefix + "');");
+ assert result.size() == resourceCount : "Expected to get '" + resourceCount
+ + "' result(s) from across two pages but instead got '" + result.size() + "'.";
+ } finally {
+ getTransactionManager().rollback();
+ }
+ }
+}
commit b4522507d1a18a20cabff9cd2097c730c5d5f42e
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Thu Feb 21 11:21:27 2013 -0500
This should allow us to run Arquillian's spawned AS7 instances (for
domain and server jar itests) on non-default ports. This can be helpful
in environments where you want to run multiple AS7 instances at the same
time.
Arquillian will now inspect, through the AS7 management port (assumed to be on
the local machine for now), to find out what ports it needs to deal with.
diff --git a/modules/core/domain/pom.xml b/modules/core/domain/pom.xml
index 3eec8ad..21af6e4 100644
--- a/modules/core/domain/pom.xml
+++ b/modules/core/domain/pom.xml
@@ -235,6 +235,16 @@
<echo>Will now add test configuration to JBossAS config file: ${jboss.conf}</echo>
<replace file="${jboss.conf}">
<replacefilter>
+ <replacetoken></extensions></replacetoken>
+ <replacevalue><![CDATA[
+ </extensions>
+
+ <!-- FOR RHQ TESTING -->
+ <system-properties>
+ <property name="jboss.socket.binding.port-offset" value="${jboss.socket.binding.port-offset}" />
+ </system-properties>]]></replacevalue>
+ </replacefilter>
+ <replacefilter>
<replacetoken></drivers></replacetoken>
<replacevalue><![CDATA[
<!-- FOR RHQ TESTING -->
@@ -681,6 +691,22 @@
<jboss.vm.args.debug>-Xrunjdwp:transport=dt_socket,address=8798,server=y,suspend=y</jboss.vm.args.debug>
</properties>
</profile>
+
+ <!-- These two properties allow Arquillian to inspect AS7 through the mgmt port, to determine the ports it needs to interact
+ with when spawning the AS7 instance. This allows the AS7 to run on non-default ports. If these properties are not set (for
+ example, in settings.xml) then we must set the defaults here. The offset is then provided via the standalone.xml properties -->
+ <profile>
+ <id>arquillian-ports</id>
+ <activation>
+ <property>
+ <name>!jboss.socket.binding.port-offset</name>
+ </property>
+ </activation>
+ <properties>
+ <jboss.socket.binding.port-offset>0</jboss.socket.binding.port-offset>
+ <jboss.management.native.port>9999</jboss.management.native.port>
+ </properties>
+ </profile>
</profiles>
diff --git a/modules/core/domain/src/test/resources/arquillian.xml b/modules/core/domain/src/test/resources/arquillian.xml
index 368ce23..d0744f3 100644
--- a/modules/core/domain/src/test/resources/arquillian.xml
+++ b/modules/core/domain/src/test/resources/arquillian.xml
@@ -21,6 +21,10 @@
<configuration>
<property name="jbossHome">${jboss.unzip.location}</property>
+ <!-- These two properties allow Arquillian to inspect AS7 through the mgmt port, to determine the ports it needs
+ to interact with when spawning the AS7 instance. This allows the AS7 to run on non-default ports. -->
+ <property name="managementAddress">127.0.0.1</property>
+ <property name="managementPort">${jboss.management.native.port}</property>
</configuration>
</container>
diff --git a/modules/enterprise/server/itests-2/pom.xml b/modules/enterprise/server/itests-2/pom.xml
index 5961627..49d79f5 100644
--- a/modules/enterprise/server/itests-2/pom.xml
+++ b/modules/enterprise/server/itests-2/pom.xml
@@ -91,6 +91,7 @@
<system-properties>
<property name="project.version" value="${project.version}"/>
<property name="rhq.server.content.filesystem" value="${jboss.unzip.location}/standalone/data/packagebits" />
+ <property name="jboss.socket.binding.port-offset" value="${jboss.socket.binding.port-offset}" />
</system-properties>]]></replacevalue>
</replacefilter>
@@ -741,5 +742,22 @@
<jboss.vm.args.debug>-Xrunjdwp:transport=dt_socket,address=8798,server=y,suspend=y</jboss.vm.args.debug>
</properties>
</profile>
+
+ <!-- These two properties allow Arquillian to inspect AS7 through the mgmt port, to determine the ports it needs to interact
+ with when spawning the AS7 instance. This allows the AS7 to run on non-default ports. If these properties are not set (for
+ example, in settings.xml) then we must set the defaults here. The offset is then provided via the standalone.xml properties -->
+ <profile>
+ <id>arquillian-ports</id>
+ <activation>
+ <property>
+ <name>!jboss.socket.binding.port-offset</name>
+ </property>
+ </activation>
+ <properties>
+ <jboss.socket.binding.port-offset>0</jboss.socket.binding.port-offset>
+ <jboss.management.native.port>9999</jboss.management.native.port>
+ </properties>
+ </profile>
+
</profiles>
</project>
diff --git a/modules/enterprise/server/itests-2/src/test/resources/arquillian.xml b/modules/enterprise/server/itests-2/src/test/resources/arquillian.xml
index 72f8bdc..ffaa79e 100644
--- a/modules/enterprise/server/itests-2/src/test/resources/arquillian.xml
+++ b/modules/enterprise/server/itests-2/src/test/resources/arquillian.xml
@@ -33,6 +33,10 @@
<configuration>
<property name="jbossHome">${jboss.unzip.location}</property>
<property name="javaVmArguments">${jboss.vm.args} ${jboss.vm.args.debug}</property>
+ <!-- These two properties allow Arquillian to inspect AS7 through the mgmt port, to determine the ports it needs
+ to interact with when spawning the AS7 instance. This allows the AS7 to run on non-default ports. -->
+ <property name="managementAddress">127.0.0.1</property>
+ <property name="managementPort">${jboss.management.native.port}</property>
</configuration>
</container>
</arquillian>
commit 93fb46966bfce20ec918191ec78408d20ce6b010
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Feb 21 10:35:59 2013 -0500
don't deprecate these methods - criteria is nice, but these specific methods are very efficient and can be used when we need to eek out as much performance as possible. no need to go through the criteria API just to get a single agent using very targeted WHERE conditions.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/AgentManagerLocal.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/AgentManagerLocal.java
index 842d5d8..7e2c3b9 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/AgentManagerLocal.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/AgentManagerLocal.java
@@ -134,47 +134,51 @@ public interface AgentManagerLocal {
/**
* Given an agent name, this will look up and return the {@link Agent} with that name. If no agent with the given
* name exists, <code>null</code> is returned.
- *
+ * This method is very efficient if you want to find a single agent by its name.
+ * If you need to get more than one agent, you could use <code>findAgentsByCriteria</code>.
+ *
* @param agentName
*
* @return the agent whose name matches the given name; <code>null</code> if there is no agent with the given name
- * @deprecated Use <code>findAgentsByCriteria()</code> instead
*/
Agent getAgentByName(String agentName);
/**
* Given an agent id, this will look up and return the {@link Agent} with that id. If no agent with the given
* name exists, <code>null</code> is returned.
+ * This method is very efficient if you want to find a single agent by its ID.
+ * If you need to get more than one agent, you could use <code>findAgentsByCriteria</code>.
*
* @param agentId
*
* @return the agent whose id matches the given id; <code>null</code> if there is no agent with the given id
- * @deprecated Use <code>findAgentsByCriteria()</code> instead
*/
Agent getAgentByID(int agentId);
/**
* Given an agent token string, this will look up and return the {@link Agent} associated with that token. If the
* given token is invalid, <code>null</code> is returned.
+ * This method is very efficient if you want to find a single agent by its token.
+ * If you need to get more than one agent, you could use <code>findAgentsByCriteria</code>.
*
* @param token the agent token
*
* @return the agent whose agent token matches the given token; <code>null</code> if there is no agent with the
* given token
- * @deprecated Use <code>findAgentsByCriteria()</code> instead
*/
Agent getAgentByAgentToken(String token);
/**
* Given an agent's address and port, this will look up and return the {@link Agent} associated with that address
* and port. If no agent is found, <code>null</code> is returned.
+ * This method is very efficient if you want to find a single agent by its endpoint.
+ * If you need to get more than one agent, you could use <code>findAgentsByCriteria</code>.
*
* @param address the address that the agent is bound to
* @param port the port at the given address that the agent is listening on
*
* @return the agent to be known at the given address and port; <code>null</code> if there is no agent with the
* given token
- * @deprecated Use <code>findAgentsByCriteria()</code> instead
*/
Agent getAgentByAddressAndPort(String address, int port);
commit 6a2b2c0c8c19cc52cbf39ddee7c49ea9ad0a3de1
Author: Simeon Pinder <spinder(a)fulliautomatix.conchfritter.com>
Date: Thu Feb 21 10:13:48 2013 -0500
Apply fixes for CriteriaQueryTest incorrectly using paging.
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/util/CriteriaQueryTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/util/CriteriaQueryTest.java
index faa14ad..2e1c897 100644
--- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/util/CriteriaQueryTest.java
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/util/CriteriaQueryTest.java
@@ -73,7 +73,9 @@ public class CriteriaQueryTest {
}
public void addPage(List<FakeEntity> entities) {
- pages.add(new PageList<FakeEntity>(entities, totalSize, pc));
+ int pageNumber = pages.size();
+ pages
+ .add(new PageList<FakeEntity>(entities, totalSize, new PageControl(pageNumber, this.pc.getPageSize())));
}
@Override
@@ -113,7 +115,8 @@ public class CriteriaQueryTest {
queryExecutor.addPage(expected.subList(2, 4));
FakeEntityCriteria criteria = new FakeEntityCriteria();
- criteria.setPageControl(pc);
+ //spinder 2-20-13: DO NOT use criteria.setPageControl(pc) here as it causes ignore of pageNumber/pageSize
+ criteria.setPaging(pc.getPageNumber(), pc.getPageSize());
CriteriaQuery<FakeEntity, FakeEntityCriteria> query = new CriteriaQuery<FakeEntity, FakeEntityCriteria>(
criteria, queryExecutor);
@@ -164,7 +167,7 @@ public class CriteriaQueryTest {
//build criteria and attach pageControl
FakeEntityCriteria criteria = new FakeEntityCriteria();
- //DO NOT use criteria.setPageControl(pc) here as it causes ignore of pageNumber/pageSize
+ //spinder 2-20-13:DO NOT use criteria.setPageControl(pc) here as it causes ignore of pageNumber/pageSize
criteria.setPaging(pc.getPageNumber(), pc.getPageSize());
//?? So which pageControl has the right details? Criteria.pageControl? OR PageControl passed into the QueryExecutor.
commit e0ea2fd840197301df934d34088b419e97279d83
Author: Thomas Segismont <tsegismo(a)redhat.com>
Date: Tue Feb 12 10:23:51 2013 +0100
netservices plugin strengthening
Added Unit tests for HTTPNetServiceDiscoveryComponent
Added HTTPNetServiceComponent itest and verified code coverage
Added Unit tests for PingNetServiceDiscoveryComponent
Added PingNetServiceComponent itest and verified code coverage
Implemented missing parts and cleaned up code
diff --git a/.classpath b/.classpath
index 9af3a50..dd5d354 100644
--- a/.classpath
+++ b/.classpath
@@ -24,9 +24,9 @@
<classpathentry kind="src" path="modules/core/util/src/test/java"/>
<classpathentry kind="src" path="modules/core/dbutils/src/main/java"/>
<classpathentry kind="src" path="modules/core/dbutils/src/test/java"/>
- <classpathentry kind="src" path="modules/core/native-system/src/main/java"/>
- <classpathentry kind="src" path="modules/core/native-system/src/test/java"/>
- <classpathentry kind="src" path="modules/core/native-system/src/test/resources"/>
+ <classpathentry kind="src" path="modules/core/native-system/src/main/java"/>
+ <classpathentry kind="src" path="modules/core/native-system/src/test/java"/>
+ <classpathentry kind="src" path="modules/core/native-system/src/test/resources"/>
<classpathentry kind="src" path="modules/core/domain/src/main/java"/>
<classpathentry kind="src" path="modules/core/domain/src/test/java"/>
<classpathentry kind="src" path="modules/core/plugin-api/src/main/java"/>
@@ -124,6 +124,9 @@
<classpathentry kind="src" path="modules/plugins/apache/src/test/resources"/>
<classpathentry kind="src" path="modules/plugins/script/src/main/java"/>
<classpathentry kind="src" path="modules/plugins/netservices/src/main/java"/>
+ <classpathentry kind="src" path="modules/plugins/netservices/src/main/resources"/>
+ <classpathentry kind="src" path="modules/plugins/netservices/src/test/java"/>
+ <classpathentry kind="src" path="modules/plugins/netservices/src/test/resources"/>
<classpathentry kind="src" path="modules/plugins/ant-bundle/src/main/java"/>
<classpathentry kind="src" path="modules/plugins/ant-bundle/src/test/java"/>
<classpathentry kind="src" path="modules/plugins/ant-bundle/src/test/resources"/>
@@ -178,11 +181,11 @@
<classpathentry kind="src" path="modules/core/arquillian-integration/container/src/test/java"/>
<classpathentry kind="src" path="modules/core/arquillian-integration/container/src/test/resources"/>
<classpathentry kind="src" path="modules/test-utils/src/main/java"/>
- <classpathentry kind="src" path="modules/integration-tests/apache-plugin-test/src/test/java"/>
- <classpathentry kind="src" path="modules/integration-tests/apache-plugin-test/src/test/resources"/>
- <classpathentry kind="src" path="modules/integration-tests/jndi-access/jndi-access-test/src/test/java"/>
- <classpathentry kind="src" path="modules/integration-tests/jndi-access/jndi-access-test/src/test/resources"/>
- <classpathentry kind="src" path="modules/integration-tests/mod_cluster-plugin-test/src/test/java"/>
+ <classpathentry kind="src" path="modules/integration-tests/apache-plugin-test/src/test/java"/>
+ <classpathentry kind="src" path="modules/integration-tests/apache-plugin-test/src/test/resources"/>
+ <classpathentry kind="src" path="modules/integration-tests/jndi-access/jndi-access-test/src/test/java"/>
+ <classpathentry kind="src" path="modules/integration-tests/jndi-access/jndi-access-test/src/test/resources"/>
+ <classpathentry kind="src" path="modules/integration-tests/mod_cluster-plugin-test/src/test/java"/>
<classpathentry kind="src" path="etc/samples/skeleton-plugin/src/main/java"/>
<classpathentry kind="src" path="etc/samples/custom-serverplugin/src/main/java"/>
<classpathentry kind="src" path="etc/samples/simplereport-serverplugin/src/main/java"/>
@@ -336,9 +339,9 @@
<classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/spec/javax/jms/jboss-jms-api_1.1_spec/1.0.0.Final/jboss-jms-api_1.1_spec-1.0.0.Final.jar"/>
<classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/spec/javax/interceptor/jboss-interceptors-api_1.1_spec/1.0.0.Final/jboss-interceptors-api_1.1_spec-1.0.0.Final.jar"/>
<classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/spec/javax/transaction/jboss-transaction-api_1.1_spec/1.0.0.Final/jboss-transaction-api_1.1_spec-1.0.0.Final.jar"/>
- <classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/remotingjmx/remoting-jmx/1.0.2.Final/remoting-jmx-1.0.2.Final.jar"/>
- <classpathentry exported="true" kind="var" path="M2_REPO/javax/enterprise/cdi-api/1.0-SP4/cdi-api-1.0-SP4.jar" sourcepath="M2_REPO/javax/enterprise/cdi-api/1.0-SP4/cdi-api-1.0-SP4-sources.jar"/>
- <classpathentry exported="true" kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/>
+ <classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/remotingjmx/remoting-jmx/1.0.2.Final/remoting-jmx-1.0.2.Final.jar"/>
+ <classpathentry exported="true" kind="var" path="M2_REPO/javax/enterprise/cdi-api/1.0-SP4/cdi-api-1.0-SP4.jar" sourcepath="M2_REPO/javax/enterprise/cdi-api/1.0-SP4/cdi-api-1.0-SP4-sources.jar"/>
+ <classpathentry exported="true" kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/>
<classpathentry exported="true" kind="var" path="M2_REPO/org/mozilla/rhino/1.7R4/rhino-1.7R4.jar"/>
<classpathentry exported="true" kind="var" path="M2_REPO/org/picketbox/picketbox/4.0.7.Final/picketbox-4.0.7.Final.jar"/>
<classpathentry exported="true" kind="var" path="M2_REPO/org/python/jython-standalone/2.5.2/jython-standalone-2.5.2.jar"/>
@@ -346,9 +349,10 @@
<classpathentry exported="true" kind="var" path="M2_REPO/joda-time/joda-time/2.1/joda-time-2.1.jar"/>
<classpathentry exported="true" kind="var" path="M2_REPO/org/apache/cassandra/cassandra-thrift/1.1.5/cassandra-thrift-1.1.5.jar"/>
<classpathentry exported="true" kind="var" path="M2_REPO/org/hectorclient/hector-core/1.1-1/hector-core-1.1-1.jar"/>
- <classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/byteman/byteman-install/1.5.2/byteman-install-1.5.2.jar" sourcepath="M2_REPO/org/jboss/byteman/byteman-install/1.5.2/byteman-install-1.5.2-sources.jar"/>
- <classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/byteman/byteman-submit/1.5.2/byteman-submit-1.5.2.jar" sourcepath="M2_REPO/org/jboss/byteman/byteman-submit/1.5.2/byteman-submit-1.5.2-sources.jar"/>
- <classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/byteman/byteman-bmunit/1.5.2/byteman-bmunit-1.5.2.jar" sourcepath="M2_REPO/org/jboss/byteman/byteman-bmunit/1.5.2/byteman-bmunit-1.5.2-sources.jar"/>
- <classpathentry exported="true" kind="var" path="JDK_HOME/lib/tools.jar"/>
- <classpathentry kind="output" path="eclipse-classes"/>
+ <classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/byteman/byteman-install/1.5.2/byteman-install-1.5.2.jar" sourcepath="M2_REPO/org/jboss/byteman/byteman-install/1.5.2/byteman-install-1.5.2-sources.jar"/>
+ <classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/byteman/byteman-submit/1.5.2/byteman-submit-1.5.2.jar" sourcepath="M2_REPO/org/jboss/byteman/byteman-submit/1.5.2/byteman-submit-1.5.2-sources.jar"/>
+ <classpathentry exported="true" kind="var" path="M2_REPO/org/jboss/byteman/byteman-bmunit/1.5.2/byteman-bmunit-1.5.2.jar" sourcepath="M2_REPO/org/jboss/byteman/byteman-bmunit/1.5.2/byteman-bmunit-1.5.2-sources.jar"/>
+ <classpathentry exported="true" kind="var" path="M2_REPO/org/eclipse/jetty/aggregate/jetty-all/8.1.8.v20121106/jetty-all-8.1.8.v20121106.jar" sourcepath="M2_REPO/org/eclipse/jetty/aggregate/jetty-all/8.1.8.v20121106/jetty-all-8.1.8.v20121106-sources.jar"/>
+ <classpathentry exported="true" kind="var" path="JDK_HOME/lib/tools.jar"/>
+ <classpathentry kind="output" path="eclipse-classes"/>
</classpath>
diff --git a/modules/core/util/src/main/java/org/rhq/core/util/StringUtil.java b/modules/core/util/src/main/java/org/rhq/core/util/StringUtil.java
index 59a09f2..21e81c4 100644
--- a/modules/core/util/src/main/java/org/rhq/core/util/StringUtil.java
+++ b/modules/core/util/src/main/java/org/rhq/core/util/StringUtil.java
@@ -39,6 +39,8 @@ public class StringUtil {
private static final Log log = LogFactory.getLog(StringUtil.class);
+ public static final String EMPTY_STRING = "";
+
/**
* @param source The source string to perform replacements on.
* @param find The substring to find in source.
@@ -119,7 +121,7 @@ public class StringUtil {
*
* @return The Iterator's elements in a user-friendly string format.
*/
- public static String iteratorToString(Iterator i, String delim) {
+ public static String iteratorToString(Iterator<?> i, String delim) {
return iteratorToString(i, delim, "");
}
@@ -132,7 +134,7 @@ public class StringUtil {
*
* @return The Iterator's elements in a user-friendly string format.
*/
- public static String iteratorToString(Iterator i, String delim, String quoteChar) {
+ public static String iteratorToString(Iterator<?> i, String delim, String quoteChar) {
Object elt = null;
StringBuilder rstr = new StringBuilder();
String s;
@@ -166,21 +168,21 @@ public class StringUtil {
*
* @return The List in a user-friendly string format.
*/
- public static String listToString(List list, String delim) {
+ public static String listToString(List<?> list, String delim) {
if (list == null) {
return "NULL";
}
- Iterator i = list.iterator();
+ Iterator<?> i = list.iterator();
return iteratorToString(i, delim, null);
}
- public static String collectionToString(Collection collection, String delim) {
+ public static String collectionToString(Collection<?> collection, String delim) {
if (collection == null) {
return "NULL";
}
- Iterator i = collection.iterator();
+ Iterator<?> i = collection.iterator();
return iteratorToString(i, delim, null);
}
@@ -191,11 +193,11 @@ public class StringUtil {
*
* @return The List in a user-friendly string format.
*/
- public static String listToString(List list) {
+ public static String listToString(List<?> list) {
return listToString(list, ",");
}
- public static String collectionToString(Collection collection) {
+ public static String collectionToString(Collection<?> collection) {
return collectionToString(collection, ",");
}
@@ -278,7 +280,7 @@ public class StringUtil {
*
* @return A string with objects in the list seperated by delim
*/
- public static String implode(List objs, String delim) {
+ public static String implode(List<?> objs, String delim) {
StringBuilder buf = new StringBuilder();
int size = objs.size();
diff --git a/modules/plugins/netservices/pom.xml b/modules/plugins/netservices/pom.xml
index 7805daa..4afa8a5 100644
--- a/modules/plugins/netservices/pom.xml
+++ b/modules/plugins/netservices/pom.xml
@@ -1,240 +1,236 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.rhq</groupId>
- <artifactId>rhq-plugins-parent</artifactId>
- <version>4.6.0-SNAPSHOT</version>
- </parent>
-
- <groupId>org.rhq</groupId>
- <artifactId>rhq-netservices-plugin</artifactId>
- <packaging>jar</packaging>
-
- <name>RHQ Network Services Plugin</name>
- <description>
- A plugin for monitoring network services.
- </description>
-
- <dependencies>
-
- <dependency>
- <groupId>commons-httpclient</groupId>
- <artifactId>commons-httpclient</artifactId>
- <version>${commons-httpclient.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>${commons-codec.version}</version>
- </dependency>
-
- </dependencies>
-
- <build>
-
- <plugins>
-
- <plugin>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-dependency-jars</id>
- <phase>process-resources</phase>
- <goals>
- <goal>copy</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>commons-httpclient</groupId>
- <artifactId>commons-httpclient</artifactId>
- <version>${commons-httpclient.version}</version>
- </artifactItem>
- <artifactItem>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.2</version>
- </artifactItem>
- </artifactItems>
- <outputDirectory>${project.build.outputDirectory}/lib</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- </plugins>
-
- </build>
-
-
- <profiles>
- <profile>
- <id>integration-tests</id>
- <activation>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.rhq</groupId>
+ <artifactId>rhq-plugins-parent</artifactId>
+ <version>4.6.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.rhq</groupId>
+ <artifactId>rhq-netservices-plugin</artifactId>
+ <packaging>jar</packaging>
+
+ <name>RHQ Network Services Plugin</name>
+ <description>A plugin for monitoring network services.</description>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>commons-httpclient</groupId>
+ <artifactId>commons-httpclient</artifactId>
+ <version>${commons-httpclient.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>${commons-codec.version}</version>
+ </dependency>
+
+ <!-- Test dependencies -->
+
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>1.9.5</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.eclipse.jetty.aggregate</groupId>
+ <artifactId>jetty-all</artifactId>
+ <version>8.1.8.v20121106</version>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <plugins>
+
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>org/rhq/plugins/netservices/itest/**</exclude>
+ </excludes>
+ <properties>
<property>
- <name>maven.test.skip</name>
- <value>!true</value>
+ <name>listener</name>
+ <value>org.rhq.test.testng.StdoutReporter</value>
</property>
- </activation>
-
- <build>
- <plugins>
-
- <!-- Integration testing voodoo to load and test this plugin with its plugin dependencies -->
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <phase>pre-integration-test</phase>
- <configuration>
- <target>
- <echo>Setting up plugin dependencies for ${project.artifactId}-${project.version}.jar...</echo>
- <property name="settings.localRepository" location="${user.home}/.m2/repository" />
- <mkdir dir="target/itest" />
- <mkdir dir="target/itest/plugins" />
- <mkdir dir="target/itest/lib" />
- <copy toDir="target/itest/plugins" flatten="true">
- <fileset dir="${project.build.directory}">
- <include name="${project.artifactId}-${project.version}.jar" />
- </fileset>
- </copy>
- <unzip dest="target/itest/lib">
- <fileset dir="${settings.localRepository}/org/hyperic/sigar-dist/${sigar.version}" includes="*.zip" />
- <patternset>
- <include name="**/lib/sigar.jar" />
- <include name="**/lib/bcel*.jar" />
- <include name="**/lib/*.so" />
- <include name="**/lib/*.sl" />
- <include name="**/lib/*.dll" />
- <include name="**/lib/*.dylib" />
- </patternset>
- </unzip>
- <move todir="target/itest/lib" flatten="true">
- <fileset dir="target/itest/lib">
- <include name="**/lib/*" />
- </fileset>
- </move>
- <delete dir="target/itest/lib/hyperic-sigar-${sigar.version}" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
-
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <skip>true</skip>
- </configuration>
- <executions>
- <execution>
- <id>surefire-it</id>
- <phase>integration-test</phase>
- <goals>
- <goal>test</goal>
- </goals>
- <configuration>
- <skip>${maven.test.skip}</skip>
- <excludedGroups>${rhq.testng.excludedGroups}</excludedGroups>
- <useSystemClassLoader>false</useSystemClassLoader>
- <argLine>${jacoco.integration-test.args} -Dorg.hyperic.sigar.path=${basedir}/target/itest/lib</argLine>
- <!--<argLine>${jacoco.integration-test.args} -Dorg.hyperic.sigar.path=${basedir}/target/itest/lib -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y</argLine>-->
- <systemProperties>
- <property>
- <name>project.artifactId</name>
- <value>${project.artifactId}</value>
- </property>
- <property>
- <name>project.version</name>
- <value>${project.version}</value>
- </property>
- </systemProperties>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- </plugins>
- </build>
- </profile>
-
- <profile>
- <id>dev</id>
-
- <properties>
- <rhq.rootDir>../../..</rhq.rootDir>
- <rhq.containerDir>${rhq.rootDir}/${rhq.defaultDevContainerPath}</rhq.containerDir>
- <rhq.deploymentDir>${rhq.containerDir}/${rhq.agentPluginDir}</rhq.deploymentDir>
- </properties>
-
- <build>
- <plugins>
-
- <plugin>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
-
- <execution>
- <id>deploy</id>
- <phase>compile</phase>
- <configuration>
- <target>
- <mkdir dir="${rhq.deploymentDir}" />
- <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
- <echo>*** Updating ${deployment.file}...</echo>
- <jar destfile="${deployment.file}" basedir="${project.build.outputDirectory}" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
-
- <execution>
- <id>deploy-jar-meta-inf</id>
- <phase>package</phase>
- <configuration>
- <target>
- <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
- <echo>*** Updating META-INF dir in ${deployment.file}...</echo>
- <unjar src="${project.build.directory}/${project.build.finalName}.jar" dest="${project.build.outputDirectory}">
- <patternset><include name="META-INF/**" /></patternset>
- </unjar>
- <jar destfile="${deployment.file}" manifest="${project.build.outputDirectory}/META-INF/MANIFEST.MF" update="true">
- </jar>
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
-
- <execution>
- <id>undeploy</id>
- <phase>clean</phase>
- <configuration>
- <target>
- <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
- <echo>*** Deleting ${deployment.file}...</echo>
- <delete file="${deployment.file}" />
- </target>
- </configuration>
- <goals>
- <goal>run</goal>
- </goals>
- </execution>
-
- </executions>
- </plugin>
-
- </plugins>
- </build>
- </profile>
- </profiles>
+ </properties>
+ <useSystemClassLoader>false</useSystemClassLoader>
+ <argLine>${jacoco.unit-test.args}</argLine>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>pre-integration-test</phase>
+ <configuration>
+ <target>
+ <echo>Setting up itest plugin container...</echo>
+ <property name="settings.localRepository" location="${user.home}/.m2/repository" />
+ <mkdir dir="target/itest/plugins" />
+ <copy toDir="target/itest/plugins" flatten="true" verbose="true">
+ <fileset dir="${settings.localRepository}/">
+ <include name="org/rhq/rhq-platform-plugin/${project.version}/rhq-platform-plugin-${project.version}.jar" />
+ </fileset>
+ <fileset dir="${project.build.directory}">
+ <include name="${project.artifactId}-${project.version}.jar" />
+ </fileset>
+ </copy>
+ </target>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <configuration>
+ <skipTests>false</skipTests>
+ <skipITs>false</skipITs>
+ <includes>
+ <!-- only include integration tests; normal unit tests are handled above by surefire plugin -->
+ <include>org/rhq/plugins/netservices/itest/**/*Test.java</include>
+ </includes>
+ <properties>
+ <property>
+ <name>listener</name>
+ <value>org.rhq.test.testng.StdoutReporter</value>
+ </property>
+ </properties>
+ <useSystemClassLoader>false</useSystemClassLoader>
+ <argLine>${jacoco.integration-test.args}</argLine>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>integration-test</goal>
+ <goal>verify</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-dependency-jars</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>commons-httpclient</groupId>
+ <artifactId>commons-httpclient</artifactId>
+ <version>${commons-httpclient.version}</version>
+ </artifactItem>
+ <artifactItem>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.2</version>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${project.build.outputDirectory}/lib</outputDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ </plugins>
+ </build>
+
+ <profiles>
+
+ <profile>
+
+ <id>dev</id>
+
+ <properties>
+ <rhq.rootDir>../../..</rhq.rootDir>
+ <rhq.containerDir>${rhq.rootDir}/${rhq.defaultDevContainerPath}</rhq.containerDir>
+ <rhq.deploymentDir>${rhq.containerDir}/${rhq.agentPluginDir}</rhq.deploymentDir>
+ </properties>
+
+ <build>
+ <plugins>
+
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+
+ <execution>
+ <id>deploy</id>
+ <phase>compile</phase>
+ <configuration>
+ <target>
+ <mkdir dir="${rhq.deploymentDir}" />
+ <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
+ <echo>*** Updating ${deployment.file}...</echo>
+ <jar destfile="${deployment.file}" basedir="${project.build.outputDirectory}" />
+ </target>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+
+ <execution>
+ <id>deploy-jar-meta-inf</id>
+ <phase>package</phase>
+ <configuration>
+ <target>
+ <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
+ <echo>*** Updating META-INF dir in ${deployment.file}...</echo>
+ <unjar src="${project.build.directory}/${project.build.finalName}.jar" dest="${project.build.outputDirectory}">
+ <patternset>
+ <include name="META-INF/**" />
+ </patternset>
+ </unjar>
+ <jar destfile="${deployment.file}" manifest="${project.build.outputDirectory}/META-INF/MANIFEST.MF"
+ update="true">
+ </jar>
+ </target>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+
+ <execution>
+ <id>undeploy</id>
+ <phase>clean</phase>
+ <configuration>
+ <target>
+ <property name="deployment.file" location="${rhq.deploymentDir}/${project.build.finalName}.jar" />
+ <echo>*** Deleting ${deployment.file}...</echo>
+ <delete file="${deployment.file}" />
+ </target>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+
+ </executions>
+ </plugin>
+
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
diff --git a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponent.java b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponent.java
index 54d9256..42cbcee 100644
--- a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponent.java
+++ b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponent.java
@@ -1,6 +1,6 @@
/*
* RHQ Management Platform
- * Copyright (C) 2005-2008 Red Hat, Inc.
+ * Copyright (C) 2005-2013 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
@@ -19,14 +19,22 @@
package org.rhq.plugins.netservices;
-import java.text.SimpleDateFormat;
+import java.net.MalformedURLException;
+import java.net.URL;
import java.util.Date;
-import java.util.Locale;
import java.util.Set;
+import java.util.regex.Pattern;
+import java.util.regex.PatternSyntaxException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpMethodBase;
+import org.apache.commons.httpclient.SimpleHttpConnectionManager;
+import org.apache.commons.httpclient.UsernamePasswordCredentials;
+import org.apache.commons.httpclient.auth.AuthScope;
import org.apache.commons.httpclient.methods.GetMethod;
+import org.apache.commons.httpclient.methods.HeadMethod;
+import org.apache.commons.httpclient.util.DateUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -39,43 +47,114 @@ import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
import org.rhq.core.pluginapi.inventory.ResourceComponent;
import org.rhq.core.pluginapi.inventory.ResourceContext;
import org.rhq.core.pluginapi.measurement.MeasurementFacet;
-import org.rhq.core.pluginapi.operation.OperationFacet;
-import org.rhq.core.pluginapi.operation.OperationResult;
+import org.rhq.core.util.StringUtil;
/**
* Monitoring of HTTP Servers
*
* @author Greg Hinkle
*/
-public class HTTPNetServiceComponent implements ResourceComponent, MeasurementFacet, OperationFacet {
- private final Log log = LogFactory.getLog(this.getClass());
+public class HTTPNetServiceComponent implements ResourceComponent, MeasurementFacet {
- public static final String CONFIG_URL = "url";
- public static final String CONFIG_USER = "user";
- public static final String CONFIG_PASSWORD = "password";
- public static final String CONFIG_REALM = "realm";
+ public static final class ConfigKeys {
- // One of { none, SSL, TLS }
- public static final String CONFIG_SSL_PROTOCOL = "sslProtocol";
+ private ConfigKeys() {
+ // Defensive
+ }
+
+ public static final String URL = "url";
+ public static final String USER = "user";
+ public static final String PASSWORD = "password";
+ public static final String REALM = "realm";
+ public static final String METHOD = "method";
+ public static final String FOLOW_REDIRECTS = "followRedirects";
+ public static final String VALIDATE_RESPONSE_CODE = "validateResponseCode";
+ public static final String VALIDATE_RESPONSE_PATTERN = "validateResponsePattern";
- // One of { HEAD, GET }
- public static final String CONFIG_METHOD = "method";
- public static final String CONFIG_FOLOW_REDIRECTS = "followRedirects";
- public static final String CONFIG_RESPONSE_PATTERN = "responsePattern";
+ }
+
+ public static enum HttpMethod {
+ GET, HEAD
+ }
+
+ private static final Log LOG = LogFactory.getLog(HTTPNetServiceComponent.class);
private ResourceContext resourceContext;
+ private Configuration pluginConfig;
+
+ private HTTPNetServiceComponentConfiguration componentConfig;
+
+ @Override
public void start(ResourceContext resourceContext) throws InvalidPluginConfigurationException, Exception {
this.resourceContext = resourceContext;
- String url = resourceContext.getPluginConfiguration().getSimple(CONFIG_URL).getStringValue();
- if (!url.startsWith("http:") && !url.startsWith("https")) {
- throw new InvalidPluginConfigurationException("Url not valid. Must start with 'http:' or 'https:'");
+ pluginConfig = resourceContext.getPluginConfiguration();
+ componentConfig = createComponentConfiguration(pluginConfig);
+ }
+
+ /**
+ * Create a foram {@link HTTPNetServiceComponentConfiguration} instance with the supplied {@link Configuration}.
+ * May throw {@link InvalidPluginConfigurationException} if:
+ * <ul>
+ * <li>Url is empty, invalid, or pointing an non http/https resource</li>
+ * <li>Http method is not HEAD or GET</li>
+ * <li>If both content validation and HEAD method are configured</li>
+ * <li>If the content validation pattern is invalid</li>
+ * <ul>
+ *
+ * @param pluginConfig
+ * @return
+ * @throws InvalidPluginConfigurationException
+ */
+ static HTTPNetServiceComponentConfiguration createComponentConfiguration(Configuration pluginConfig) {
+
+ URL endPointUrl = null;
+ String configUrl = pluginConfig.getSimpleValue(ConfigKeys.URL, StringUtil.EMPTY_STRING);
+ if (StringUtil.isBlank(configUrl)) {
+ throw new InvalidPluginConfigurationException("Endpoint URL is not defined");
+ }
+ try {
+ endPointUrl = new URL(configUrl);
+ } catch (MalformedURLException e) {
+ throw new InvalidPluginConfigurationException(configUrl + " is not a valid URL");
}
+ String protocol = endPointUrl.getProtocol();
+ if (!protocol.equals("http") && !protocol.equals("https")) {
+ throw new InvalidPluginConfigurationException(configUrl + "does not point to an http(s) resource");
+ }
+
+ HttpMethod httpMethod = null;
+ String configMethod = pluginConfig.getSimpleValue(ConfigKeys.METHOD, StringUtil.EMPTY_STRING);
+ try {
+ httpMethod = HttpMethod.valueOf(configMethod);
+ } catch (IllegalArgumentException e) {
+ throw new InvalidPluginConfigurationException("Invalid http method: " + configMethod);
+ }
+
+ Pattern responseValidationPattern = null;
+ String configValidateResponsePattern = pluginConfig.getSimpleValue(ConfigKeys.VALIDATE_RESPONSE_PATTERN);
+ if (configValidateResponsePattern != null) {
+ if (httpMethod.equals(HttpMethod.HEAD)) {
+ throw new InvalidPluginConfigurationException("Cannot validate response content with HEAD request");
+ }
+ try {
+ responseValidationPattern = Pattern.compile(configValidateResponsePattern);
+ } catch (PatternSyntaxException e) {
+ throw new InvalidPluginConfigurationException("Invalid pattern: " + configValidateResponsePattern);
+ }
+ }
+
+ return new HTTPNetServiceComponentConfiguration(endPointUrl, httpMethod, responseValidationPattern);
}
+ @Override
public void stop() {
+ resourceContext = null;
+ pluginConfig = null;
+ componentConfig = null;
}
+ @Override
public AvailabilityType getAvailability() {
try {
return getValuesOrAvailability(null, null) ? AvailabilityType.UP : AvailabilityType.DOWN;
@@ -84,53 +163,60 @@ public class HTTPNetServiceComponent implements ResourceComponent, MeasurementFa
}
}
+ @Override
public void getValues(MeasurementReport report, Set<MeasurementScheduleRequest> metrics) throws Exception {
getValuesOrAvailability(report, metrics);
}
- public boolean getValuesOrAvailability(MeasurementReport report, Set<MeasurementScheduleRequest> metrics)
+ private boolean getValuesOrAvailability(MeasurementReport report, Set<MeasurementScheduleRequest> metrics)
throws Exception {
- try {
-
- Configuration config = resourceContext.getPluginConfiguration();
-
- HttpClient httpClient = new HttpClient();
+ SimpleHttpConnectionManager httpConnectionManager = new SimpleHttpConnectionManager();
+ HttpClient client = new HttpClient(httpConnectionManager);
+
+ String userName = pluginConfig.getSimpleValue(ConfigKeys.USER, StringUtil.EMPTY_STRING);
+ // Set credentials only if a user name is configured
+ if (StringUtil.isNotBlank(userName)) {
+ String password = pluginConfig.getSimpleValue(ConfigKeys.PASSWORD, StringUtil.EMPTY_STRING);
+ String realm = pluginConfig.getSimpleValue(ConfigKeys.REALM, AuthScope.ANY_REALM);
+ client.getState().setCredentials(
+ new AuthScope(componentConfig.getEndPointUrl().getHost(), componentConfig.getEndPointUrl().getPort(),
+ realm), new UsernamePasswordCredentials(userName, password));
+ }
- GetMethod method = new GetMethod(config.getSimple(CONFIG_URL).getStringValue());
+ HttpMethodBase method = null;
+ switch (componentConfig.getHttpMethod()) {
+ case GET:
+ method = new GetMethod(componentConfig.getEndPointUrl().toExternalForm());
+ break;
+ case HEAD:
+ method = new HeadMethod(componentConfig.getEndPointUrl().toExternalForm());
+ break;
+ default:
+ throw new RuntimeException("Unsupported http method: '" + componentConfig.getHttpMethod() + "'");
+ }
+ Boolean followRedirects = pluginConfig.getSimple(ConfigKeys.FOLOW_REDIRECTS).getBooleanValue();
+ method.setFollowRedirects(followRedirects == null ? false : followRedirects.booleanValue());
- method.setFollowRedirects(config.getSimple(CONFIG_FOLOW_REDIRECTS).getBooleanValue());
+ try {
long start = System.currentTimeMillis();
- int responseCode = httpClient.executeMethod(method);
+ int responseCode = client.executeMethod(method);
long connectTime = System.currentTimeMillis() - start;
- boolean success = !config.getSimple("validateResponseCode").getBooleanValue()
+ // Availability may depend on reponse code value
+ boolean success = !pluginConfig.getSimple(ConfigKeys.VALIDATE_RESPONSE_CODE).getBooleanValue()
|| (responseCode >= 200 && responseCode <= 299);
-
- String response = method.getResponseBodyAsString();
+ // Availability may depend on reponse content matching a pattern
+ success = success
+ && (componentConfig.getResponseValidationPattern() == null || componentConfig
+ .getResponseValidationPattern().matcher(method.getResponseBodyAsString()).find());
long readTime = (System.currentTimeMillis() - start);
- // TODO: may need to allow plugin to configure the locale, but for this fixed string, make sure we
- // ignore default locale, this works for english.
- SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss zzz", Locale.ENGLISH);
Header dateHeader = method.getResponseHeader("Date");
- Date contentDate = dateHeader == null ? new Date(System.currentTimeMillis()) : sdf.parse(dateHeader.getValue());
-
- // System.out.println("Success: " + success);
- // System.out.println("Response: " + responseCode);
- // System.out.println("Connect Time: " + connectTime);
- // System.out.println("Read Time: " + readTime);
- // System.out.println("Content Length: " + response.length());
- // System.out.println("Content Date: " + contentDate);
- // System.out.println("Content Charset: " + method.getResponseCharSet());
- // System.out.println("Content Age: " + (System.currentTimeMillis() - contentDate.getTime()));
-
- // System.out.println("-----------------------");
- // for (Header header : method.getResponseHeaders()) {
- // System.out.println(header.getName() + " = " + header.getValue());
- // }
+ Date contentDate = dateHeader == null ? new Date(System.currentTimeMillis()) : DateUtil
+ .parseDate(dateHeader.getValue());
if (metrics != null) {
for (MeasurementScheduleRequest request : metrics) {
@@ -139,7 +225,7 @@ public class HTTPNetServiceComponent implements ResourceComponent, MeasurementFa
} else if (request.getName().equals("readTime")) {
report.addData(new MeasurementDataNumeric(request, (double) readTime));
} else if (request.getName().equals("contentLength")) {
- report.addData(new MeasurementDataNumeric(request, (double) response.length()));
+ report.addData(new MeasurementDataNumeric(request, (double) method.getResponseContentLength()));
} else if (request.getName().equals("contentAge")) {
report.addData(new MeasurementDataNumeric(request,
(double) (System.currentTimeMillis() - contentDate.getTime())));
@@ -150,28 +236,14 @@ public class HTTPNetServiceComponent implements ResourceComponent, MeasurementFa
return success;
} catch (Exception e) {
- // e.printStackTrace();
- log.error(e);
+ LOG.error(e);
+ } finally {
+ // First release connection
+ method.releaseConnection();
+ // Then force close
+ httpConnectionManager.closeIdleConnections(0);
}
return false;
}
- // TODO GH: This really only makes sense to offer to go get the content if we can support long config content for responses bigger than 4k
- public OperationResult invokeOperation(String name, Configuration parameters) throws InterruptedException,
- Exception {
- Configuration config = resourceContext.getPluginConfiguration();
-
- HttpClient httpClient = new HttpClient();
-
- GetMethod method = new GetMethod(config.getSimple(CONFIG_URL).getStringValue());
-
- method.setFollowRedirects(config.getSimple(CONFIG_FOLOW_REDIRECTS).getBooleanValue());
-
- int responseCode = httpClient.executeMethod(method);
-
- String response = method.getResponseBodyAsString();
-
- OperationResult result = new OperationResult(response);
- return result;
- }
}
diff --git a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponentConfiguration.java b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponentConfiguration.java
new file mode 100644
index 0000000..b28d03f
--- /dev/null
+++ b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceComponentConfiguration.java
@@ -0,0 +1,57 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2013 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+package org.rhq.plugins.netservices;
+
+import java.net.URL;
+import java.util.regex.Pattern;
+
+import org.rhq.plugins.netservices.HTTPNetServiceComponent.HttpMethod;
+
+/**
+ * @author Thomas Segismont
+ */
+class HTTPNetServiceComponentConfiguration {
+
+ private URL endPointUrl;
+
+ private HttpMethod httpMethod;
+
+ private Pattern responseValidationPattern;
+
+ public HTTPNetServiceComponentConfiguration(URL endPointUrl, HttpMethod httpMethod,
+ Pattern responseValidationPattern) {
+ this.endPointUrl = endPointUrl;
+ this.httpMethod = httpMethod;
+ this.responseValidationPattern = responseValidationPattern;
+ }
+
+ public URL getEndPointUrl() {
+ return endPointUrl;
+ }
+
+ public HttpMethod getHttpMethod() {
+ return httpMethod;
+ }
+
+ public Pattern getResponseValidationPattern() {
+ return responseValidationPattern;
+ }
+
+}
\ No newline at end of file
diff --git a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceDiscoveryComponent.java b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceDiscoveryComponent.java
index f0d693b..6b259b3 100644
--- a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceDiscoveryComponent.java
+++ b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/HTTPNetServiceDiscoveryComponent.java
@@ -1,6 +1,6 @@
/*
* RHQ Management Platform
- * Copyright (C) 2005-2008 Red Hat, Inc.
+ * Copyright (C) 2005-2013 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
@@ -19,48 +19,37 @@
package org.rhq.plugins.netservices;
-import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
-import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
-import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
+import java.util.Collections;
+import java.util.Set;
+
+import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
+import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
import org.rhq.core.pluginapi.inventory.ManualAddFacet;
-import org.rhq.core.domain.configuration.Configuration;
-
-import java.util.Set;
-import java.util.Collections;
-import java.net.URL;
-import java.net.MalformedURLException;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
/**
* @author Greg Hinkle
*/
public class HTTPNetServiceDiscoveryComponent implements ResourceDiscoveryComponent, ManualAddFacet {
- public Set discoverResources(ResourceDiscoveryContext resourceDiscoveryContext) throws InvalidPluginConfigurationException, Exception {
+
+ @Override
+ public Set discoverResources(ResourceDiscoveryContext resourceDiscoveryContext)
+ throws InvalidPluginConfigurationException, Exception {
// We don't support auto-discovery.
return Collections.emptySet();
}
+ @Override
public DiscoveredResourceDetails discoverResource(Configuration config,
- ResourceDiscoveryContext resourceDiscoveryContext)
- throws InvalidPluginConfigurationException {
- String configURL = config.getSimple(HTTPNetServiceComponent.CONFIG_URL).getStringValue();
- URL url;
- try {
- url = new URL(configURL);
- }
- catch (MalformedURLException e) {
- throw new InvalidPluginConfigurationException("Property '" + HTTPNetServiceComponent.CONFIG_URL
- + "' is not a valid URL.");
- }
- DiscoveredResourceDetails details =
- new DiscoveredResourceDetails(
- resourceDiscoveryContext.getResourceType(),
- url.toExternalForm(),
- url.toExternalForm(),
- null,
- null,
- config,
- null);
+ ResourceDiscoveryContext resourceDiscoveryContext) throws InvalidPluginConfigurationException {
+ // Get the component configuration. This call will also make configuration checks
+ HTTPNetServiceComponentConfiguration componentConfiguration = HTTPNetServiceComponent
+ .createComponentConfiguration(config);
+ String endPointUrl = componentConfiguration.getEndPointUrl().toExternalForm();
+ DiscoveredResourceDetails details = new DiscoveredResourceDetails(resourceDiscoveryContext.getResourceType(),
+ endPointUrl, endPointUrl, null, null, config, null);
return details;
}
}
diff --git a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PingNetServiceComponent.java b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PingNetServiceComponent.java
index f219e05..f416140 100644
--- a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PingNetServiceComponent.java
+++ b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PingNetServiceComponent.java
@@ -1,6 +1,6 @@
/*
* RHQ Management Platform
- * Copyright (C) 2005-2008 Red Hat, Inc.
+ * Copyright (C) 2005-2013 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
@@ -19,78 +19,93 @@
package org.rhq.plugins.netservices;
-import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.methods.GetMethod;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Set;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.measurement.AvailabilityType;
import org.rhq.core.domain.measurement.MeasurementDataNumeric;
+import org.rhq.core.domain.measurement.MeasurementDataTrait;
import org.rhq.core.domain.measurement.MeasurementReport;
import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
-import org.rhq.core.domain.measurement.MeasurementDataTrait;
import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
import org.rhq.core.pluginapi.inventory.ResourceComponent;
import org.rhq.core.pluginapi.inventory.ResourceContext;
import org.rhq.core.pluginapi.measurement.MeasurementFacet;
-import org.rhq.core.pluginapi.operation.OperationFacet;
-import org.rhq.core.pluginapi.operation.OperationResult;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Set;
-import java.net.InetAddress;
-import java.net.Inet4Address;
-import java.net.UnknownHostException;
-
+import org.rhq.core.util.StringUtil;
/**
- * Monitoring of HTTP Servers
+ * Monitoring of IP addresses
*
* @author Greg Hinkle
*/
public class PingNetServiceComponent implements ResourceComponent, MeasurementFacet {
- public static final String CONFIG_ADDRESS = "address";
+ public static final class ConfigKeys {
+ private ConfigKeys() {
+ // Defensive
+ }
+
+ public static final String ADDRESS = "address";
+ }
- private ResourceContext resourceContext;
+ private static final Log LOG = LogFactory.getLog(PingNetServiceComponent.class);
- public void start(ResourceContext resourceContext) throws InvalidPluginConfigurationException, Exception {
- this.resourceContext = resourceContext;
- String addressString = resourceContext.getPluginConfiguration().getSimple(CONFIG_ADDRESS).getStringValue();
+ private static final int PING_TIMEOUT = 5000;
+
+ private InetAddress address;
+
+ @Override
+ public void start(@SuppressWarnings("rawtypes")
+ ResourceContext resourceContext) throws InvalidPluginConfigurationException, Exception {
+ address = createComponentConfiguration(resourceContext.getPluginConfiguration());
+ }
+
+ static InetAddress createComponentConfiguration(Configuration pluginConfig)
+ throws InvalidPluginConfigurationException {
+ String addressString = pluginConfig.getSimpleValue(ConfigKeys.ADDRESS, StringUtil.EMPTY_STRING);
+ if (StringUtil.isBlank(addressString)) {
+ throw new InvalidPluginConfigurationException("Address is not defined");
+ }
try {
- InetAddress address = InetAddress.getByName(addressString);
+ return InetAddress.getByName(addressString);
} catch (UnknownHostException uhe) {
throw new InvalidPluginConfigurationException(uhe);
}
}
+ @Override
public void stop() {
+ address = null;
}
+ @Override
public AvailabilityType getAvailability() {
try {
- String addressString = resourceContext.getPluginConfiguration().getSimple(CONFIG_ADDRESS).getStringValue();
- InetAddress address = InetAddress.getByName(addressString);
- return address.isReachable(5000) ? AvailabilityType.UP : AvailabilityType.DOWN;
+ return address.isReachable(PING_TIMEOUT) ? AvailabilityType.UP : AvailabilityType.DOWN;
} catch (Exception e) {
+ if (LOG.isWarnEnabled()) {
+ LOG.warn(address.getHostAddress() + " not reachable", e);
+ }
return AvailabilityType.DOWN;
}
}
-
+ @Override
public void getValues(MeasurementReport report, Set<MeasurementScheduleRequest> metrics) throws Exception {
- String addressString = resourceContext.getPluginConfiguration().getSimple(CONFIG_ADDRESS).getStringValue();
- InetAddress address = InetAddress.getByName(addressString);
-
- for (MeasurementScheduleRequest request :metrics) {
+ for (MeasurementScheduleRequest request : metrics) {
if (request.getName().equals("ipAddress")) {
report.addData(new MeasurementDataTrait(request, address.getHostAddress()));
} else if (request.getName().equals("hostName")) {
report.addData(new MeasurementDataTrait(request, address.getCanonicalHostName()));
} else if (request.getName().equals("responseTime")) {
long start = System.currentTimeMillis();
- address.isReachable(5000);
+ address.isReachable(PING_TIMEOUT);
report.addData(new MeasurementDataNumeric(request, (double) (System.currentTimeMillis() - start)));
}
}
diff --git a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PingNetServiceDiscoveryComponent.java b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PingNetServiceDiscoveryComponent.java
index 3f41a7e..da87c1b 100644
--- a/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PingNetServiceDiscoveryComponent.java
+++ b/modules/plugins/netservices/src/main/java/org/rhq/plugins/netservices/PingNetServiceDiscoveryComponent.java
@@ -1,6 +1,6 @@
/*
* RHQ Management Platform
- * Copyright (C) 2005-2008 Red Hat, Inc.
+ * Copyright (C) 2005-2013 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
@@ -19,40 +19,37 @@
package org.rhq.plugins.netservices;
-import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
-import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
-import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
+import java.net.InetAddress;
+import java.util.Collections;
+import java.util.Set;
+
+import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
+import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
import org.rhq.core.pluginapi.inventory.ManualAddFacet;
-import org.rhq.core.domain.configuration.Configuration;
-
-import java.util.Set;
-import java.util.Collections;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryComponent;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
/**
* @author Greg Hinkle
*/
public class PingNetServiceDiscoveryComponent implements ResourceDiscoveryComponent, ManualAddFacet {
+
+ private static final String RESOURCE_NAME_PREFIX = "Ping ";
+
+ @Override
public Set discoverResources(ResourceDiscoveryContext resourceDiscoveryContext)
- throws InvalidPluginConfigurationException, Exception {
+ throws InvalidPluginConfigurationException, Exception {
// We don't support auto-discovery.
return Collections.emptySet();
}
+ @Override
public DiscoveredResourceDetails discoverResource(Configuration config,
- ResourceDiscoveryContext resourceDiscoveryContext)
- throws InvalidPluginConfigurationException {
- String address = config.getSimple(PingNetServiceComponent.CONFIG_ADDRESS).getStringValue();
- // TODO: Validate the address is a valid host name or IP address.
- DiscoveredResourceDetails details =
- new DiscoveredResourceDetails(
- resourceDiscoveryContext.getResourceType(),
- address,
- "Ping " + address,
- null,
- null,
- config,
- null);
+ ResourceDiscoveryContext resourceDiscoveryContext) throws InvalidPluginConfigurationException {
+ InetAddress address = PingNetServiceComponent.createComponentConfiguration(config);
+ DiscoveredResourceDetails details = new DiscoveredResourceDetails(resourceDiscoveryContext.getResourceType(),
+ address.getHostAddress(), RESOURCE_NAME_PREFIX + address.getHostAddress(), null, null, config, null);
return details;
}
}
\ No newline at end of file
diff --git a/modules/plugins/netservices/src/main/resources/META-INF/rhq-plugin.xml b/modules/plugins/netservices/src/main/resources/META-INF/rhq-plugin.xml
index b6b0cd3..16a48d5 100644
--- a/modules/plugins/netservices/src/main/resources/META-INF/rhq-plugin.xml
+++ b/modules/plugins/netservices/src/main/resources/META-INF/rhq-plugin.xml
@@ -11,30 +11,29 @@
<service name="HTTPService"
discovery="HTTPNetServiceDiscoveryComponent"
class="HTTPNetServiceComponent"
- supportsManualAdd="true">
+ supportsManualAdd="true"
+ description="HTTP Endpoint monitoring service">
<plugin-configuration>
- <c:simple-property name="url"/>
- <c:simple-property name="user" required="false"/>
- <c:simple-property name="password" required="false"/>
- <c:simple-property name="realm" required="false"/>
- <c:simple-property name="validateResponseCode" type="boolean" default="false"
- description="Codes in the 200-299 range are considered success"/>
- <c:simple-property name="sslProtocol" default="none">
- <c:property-options>
- <c:option value="none"/>
- <c:option value="SSL"/>
- <c:option value="TLS"/>
- </c:property-options>
- </c:simple-property>
+ <c:simple-property name="url" description="Http URL of the endpoint" />
+ <c:simple-property name="user" required="false"
+ description="User name if http endpoint requires authentication." />
+ <c:simple-property name="password" required="false"
+ description="Password if http endpoint requires authentication." />
+ <c:simple-property name="realm" required="false"
+ description="Authentication Realm. By default user name and password will be used with any realm." />
<c:simple-property name="method" default="GET">
<c:property-options>
<c:option value="HEAD"/>
<c:option value="GET"/>
</c:property-options>
</c:simple-property>
- <c:simple-property name="followRedirects" type="boolean" default="false"/>
- <c:simple-property name="responsePattern" required="false"/>
+ <c:simple-property name="followRedirects" type="boolean" default="false"
+ description="Follow http redirects when contacting endpoints?" />
+ <c:simple-property name="validateResponseCode" type="boolean" default="false"
+ description="Set this to true if response code should determine availability. Codes in the 200-299 range are considered success." />
+ <c:simple-property name="validateResponsePattern" required="false"
+ description="If not empty, availability will depend on http response having content matching this (Java style) regular expression."/>
</plugin-configuration>
<metric property="connectTime" units="milliseconds" displayType="summary"
@@ -46,17 +45,17 @@
<metric property="contentAge" units="milliseconds"
description="The declared age of the requested page"/>
-
</service>
<service name="PingService"
discovery="PingNetServiceDiscoveryComponent"
class="PingNetServiceComponent"
- supportsManualAdd="true">
+ supportsManualAdd="true"
+ description="IP address ping service">
<plugin-configuration>
- <c:simple-property name="address"/>
+ <c:simple-property name="address" description="IP address"/>
</plugin-configuration>
<metric property="ipAddress" displayType="summary" dataType="trait" description="The ip address of the host"/>
diff --git a/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/HTTPNetServiceDiscoveryComponentTest.java b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/HTTPNetServiceDiscoveryComponentTest.java
new file mode 100644
index 0000000..0745a34
--- /dev/null
+++ b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/HTTPNetServiceDiscoveryComponentTest.java
@@ -0,0 +1,178 @@
+/*
+ * RHQ Management Platform
+ * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+package org.rhq.plugins.netservices;
+
+import static org.mockito.Mockito.when;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.fail;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.resource.ResourceType;
+import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
+import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
+import org.rhq.plugins.netservices.HTTPNetServiceComponent.ConfigKeys;
+import org.rhq.plugins.netservices.HTTPNetServiceComponent.HttpMethod;
+
+/**
+ * @author Thomas Segismont
+ */
+public class HTTPNetServiceDiscoveryComponentTest {
+
+ private HTTPNetServiceDiscoveryComponent httpNetServiceDiscoveryComponent;
+
+ private Configuration configuration;
+
+ @Mock
+ private ResourceDiscoveryContext<?> resourceDiscoveryContext;
+
+ @Mock
+ private ResourceType resourceType;
+
+ @BeforeMethod(alwaysRun = true)
+ protected void setUp() throws Exception {
+ httpNetServiceDiscoveryComponent = new HTTPNetServiceDiscoveryComponent();
+ configuration = new Configuration();
+ configuration.setSimpleValue(ConfigKeys.URL, "http://www.myhost.com/pipo/molo");
+ configuration.setSimpleValue(ConfigKeys.METHOD, HttpMethod.GET.name());
+ configuration.setSimpleValue(ConfigKeys.VALIDATE_RESPONSE_PATTERN, "(ok|success)");
+ MockitoAnnotations.initMocks(this);
+ when(resourceDiscoveryContext.getResourceType()).thenReturn(resourceType);
+ }
+
+ @Test
+ public void testDiscoverResources() throws Exception {
+ // Manual add only, should always return empty set
+ assertEquals(0, httpNetServiceDiscoveryComponent.discoverResources(null).size());
+ }
+
+ @Test
+ public void testValidComponentConfiguration() {
+ try {
+ DiscoveredResourceDetails resourceDetails = httpNetServiceDiscoveryComponent.discoverResource(
+ configuration, resourceDiscoveryContext);
+ assertEquals(resourceDetails.getResourceType(), resourceType);
+ } catch (InvalidPluginConfigurationException e) {
+ fail("Component configuration should be valid", e);
+ }
+ }
+
+ @Test
+ public void testMissingUrl() {
+ try {
+ configuration.remove(ConfigKeys.URL);
+ httpNetServiceDiscoveryComponent.discoverResource(configuration, resourceDiscoveryContext);
+ fail("Component configuration should be invalid");
+ } catch (InvalidPluginConfigurationException e) {
+ assertEquals(e.getMessage(), "Endpoint URL is not defined");
+ }
+ }
+
+ @Test
+ public void testMalformedUrl() {
+ String configUrl = "pipomolo";
+ try {
+ configuration.setSimpleValue(ConfigKeys.URL, configUrl);
+ httpNetServiceDiscoveryComponent.discoverResource(configuration, resourceDiscoveryContext);
+ fail("Component configuration should be invalid");
+ } catch (InvalidPluginConfigurationException e) {
+ assertEquals(e.getMessage(), configUrl + " is not a valid URL");
+ }
+ }
+
+ @Test
+ public void testNotHttpOrHttpsUrl() {
+ String configUrl = "ftp://pipo.com/molo.zipo";
+ try {
+ configuration.setSimpleValue(ConfigKeys.URL, configUrl);
+ httpNetServiceDiscoveryComponent.discoverResource(configuration, resourceDiscoveryContext);
+ fail("Component configuration should be invalid");
+ } catch (InvalidPluginConfigurationException e) {
+ assertEquals(e.getMessage(), configUrl + "does not point to an http(s) resource");
+ }
+ }
+
+ @Test
+ public void testHttpsUrl() {
+ try {
+ configuration.setSimpleValue(ConfigKeys.URL, "https://www.myhost.com/pipo/molo");
+ DiscoveredResourceDetails resourceDetails = httpNetServiceDiscoveryComponent.discoverResource(
+ configuration, resourceDiscoveryContext);
+ assertEquals(resourceDetails.getResourceType(), resourceType);
+ } catch (InvalidPluginConfigurationException e) {
+ fail("Component configuration should be valid", e);
+ }
+ }
+
+ @Test
+ public void testInvalidHttpMethod() {
+ String configMethod = "DELETE";
+ try {
+ configuration.setSimpleValue(ConfigKeys.METHOD, configMethod);
+ httpNetServiceDiscoveryComponent.discoverResource(configuration, resourceDiscoveryContext);
+ fail("Component configuration should be invalid");
+ } catch (InvalidPluginConfigurationException e) {
+ assertEquals(e.getMessage(), "Invalid http method: " + configMethod);
+ }
+ }
+
+ @Test
+ public void testHeadMethod() {
+ try {
+ configuration.setSimpleValue(ConfigKeys.METHOD, HttpMethod.HEAD.name());
+ configuration.remove(ConfigKeys.VALIDATE_RESPONSE_PATTERN);
+ DiscoveredResourceDetails resourceDetails = httpNetServiceDiscoveryComponent.discoverResource(
+ configuration, resourceDiscoveryContext);
+ assertEquals(resourceDetails.getResourceType(), resourceType);
+ } catch (InvalidPluginConfigurationException e) {
+ fail("Component configuration should be valid", e);
+ }
+ }
+
+ @Test
+ public void testUnableToValidateContentWithHeadRequest() {
+ try {
+ configuration.setSimpleValue(ConfigKeys.METHOD, HttpMethod.HEAD.name());
+ httpNetServiceDiscoveryComponent.discoverResource(configuration, resourceDiscoveryContext);
+ fail("Component configuration should be invalid");
+ } catch (InvalidPluginConfigurationException e) {
+ assertEquals(e.getMessage(), "Cannot validate response content with HEAD request");
+ }
+ }
+
+ @Test
+ public void testInvalidPatternSyntax() {
+ String configValidateResponsePattern = "(pipo";
+ try {
+ configuration.setSimpleValue(ConfigKeys.VALIDATE_RESPONSE_PATTERN, configValidateResponsePattern);
+ httpNetServiceDiscoveryComponent.discoverResource(configuration, resourceDiscoveryContext);
+ fail("Component configuration should be invalid");
+ } catch (InvalidPluginConfigurationException e) {
+ assertEquals(e.getMessage(), "Invalid pattern: " + configValidateResponsePattern);
+ }
+ }
+
+}
diff --git a/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/PingNetServiceDiscoveryComponentTest.java b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/PingNetServiceDiscoveryComponentTest.java
new file mode 100644
index 0000000..961a81c
--- /dev/null
+++ b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/PingNetServiceDiscoveryComponentTest.java
@@ -0,0 +1,105 @@
+/*
+ * RHQ Management Platform
+ * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+package org.rhq.plugins.netservices;
+
+import static org.mockito.Mockito.when;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.fail;
+
+import java.net.UnknownHostException;
+
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.resource.ResourceType;
+import org.rhq.core.pluginapi.inventory.DiscoveredResourceDetails;
+import org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException;
+import org.rhq.core.pluginapi.inventory.ResourceDiscoveryContext;
+import org.rhq.plugins.netservices.PingNetServiceComponent.ConfigKeys;
+
+/**
+ * @author Thomas Segismont
+ */
+public class PingNetServiceDiscoveryComponentTest {
+
+ private PingNetServiceDiscoveryComponent pingNetServiceDiscoveryComponent;
+
+ private Configuration configuration;
+
+ @Mock
+ private ResourceDiscoveryContext<?> resourceDiscoveryContext;
+
+ @Mock
+ private ResourceType resourceType;
+
+ @BeforeMethod(alwaysRun = true)
+ protected void setUp() throws Exception {
+ pingNetServiceDiscoveryComponent = new PingNetServiceDiscoveryComponent();
+ configuration = new Configuration();
+ configuration.setSimpleValue(ConfigKeys.ADDRESS, "127.0.0.1");
+ MockitoAnnotations.initMocks(this);
+ when(resourceDiscoveryContext.getResourceType()).thenReturn(resourceType);
+ }
+
+ @Test
+ public void testDiscoverResources() throws Exception {
+ // Manual add only, should always return empty set
+ assertEquals(0, pingNetServiceDiscoveryComponent.discoverResources(null).size());
+ }
+
+ @Test
+ public void testValidComponentConfiguration() {
+ try {
+ DiscoveredResourceDetails resourceDetails = pingNetServiceDiscoveryComponent.discoverResource(
+ configuration, resourceDiscoveryContext);
+ assertEquals(resourceDetails.getResourceType(), resourceType);
+ } catch (InvalidPluginConfigurationException e) {
+ fail("Component configuration should be valid", e);
+ }
+ }
+
+ @Test
+ public void testMissingAddress() {
+ try {
+ configuration.remove(ConfigKeys.ADDRESS);
+ pingNetServiceDiscoveryComponent.discoverResource(configuration, resourceDiscoveryContext);
+ fail("Component configuration should be invalid");
+ } catch (InvalidPluginConfigurationException e) {
+ assertEquals(e.getMessage(), "Address is not defined");
+ }
+ }
+
+ @Test
+ public void testMalformedAddress() {
+ String configAddress = "pipomolo";
+ try {
+ configuration.setSimpleValue(ConfigKeys.ADDRESS, configAddress);
+ pingNetServiceDiscoveryComponent.discoverResource(configuration, resourceDiscoveryContext);
+ fail("Component configuration should be invalid");
+ } catch (InvalidPluginConfigurationException e) {
+ assertEquals(e.getCause().getClass(), UnknownHostException.class);
+ }
+ }
+
+}
diff --git a/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/HTTPNetServiceComponentTest.java b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/HTTPNetServiceComponentTest.java
new file mode 100644
index 0000000..24b6644
--- /dev/null
+++ b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/HTTPNetServiceComponentTest.java
@@ -0,0 +1,162 @@
+/*
+ * RHQ Management Platform
+ * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+package org.rhq.plugins.netservices.itest;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.discovery.MergeResourceResponse;
+import org.rhq.core.domain.measurement.AvailabilityType;
+import org.rhq.core.domain.measurement.DataType;
+import org.rhq.core.domain.measurement.MeasurementData;
+import org.rhq.core.domain.measurement.MeasurementReport;
+import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
+import org.rhq.core.pluginapi.inventory.ResourceComponent;
+import org.rhq.plugins.netservices.HTTPNetServiceComponent;
+import org.rhq.plugins.netservices.HTTPNetServiceComponent.ConfigKeys;
+import org.rhq.plugins.netservices.HTTPNetServiceComponent.HttpMethod;
+
+/**
+ * @author Thomas Segismont
+ */
+public class HTTPNetServiceComponentTest extends NetServiceComponentTest {
+
+ private static final Log LOG = LogFactory.getLog(NetServiceComponentTest.class);
+
+ private static final String SERVICE_NAME = "HTTPService";
+
+ private static final String HTTP_HOST = "localhost";
+
+ private static final int HTTP_PORT = 31158;
+
+ private static final int SERVLET_SLEEP = 1000;
+
+ private Server jettyServer;
+
+ private HTTPNetServiceComponent httpNetServiceComponent;
+
+ @BeforeClass
+ public void startJetty() throws Exception {
+ LOG.info("Setting up Jetty test server");
+ jettyServer = new Server(new InetSocketAddress(HTTP_HOST, HTTP_PORT));
+ ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
+ context.setContextPath("/");
+ jettyServer.setHandler(context);
+ @SuppressWarnings("serial")
+ HttpServlet testServlet = new HttpServlet() {
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ resp.getWriter().println("Test servlet request: success view");
+ long start = System.currentTimeMillis();
+ do {
+ try {
+ Thread.sleep(SERVLET_SLEEP);
+ } catch (InterruptedException e) {
+ }
+ } while (System.currentTimeMillis() - start < SERVLET_SLEEP);
+ }
+ };
+ context.addServlet(new ServletHolder(testServlet), "/*");
+ jettyServer.start();
+ }
+
+ @AfterClass
+ public void stopJetty() {
+ LOG.info("Shutting down Jetty test server");
+ try {
+ if (jettyServer != null) {
+ jettyServer.stop();
+ }
+ } catch (Exception ignore) {
+ }
+ }
+
+ @Test(dependsOnMethods = "testPluginLoad")
+ public void testManualAdd() throws Exception {
+ Configuration configuration = new Configuration();
+ configuration.setSimpleValue(ConfigKeys.URL, "http://" + HTTP_HOST + ":" + HTTP_PORT + "/pipo/molo");
+ configuration.setSimpleValue(ConfigKeys.METHOD, HttpMethod.GET.name());
+ configuration.setSimpleValue(ConfigKeys.VALIDATE_RESPONSE_CODE, "true");
+ configuration.setSimpleValue(ConfigKeys.VALIDATE_RESPONSE_PATTERN, "success");
+ MergeResourceResponse response = getInventoryManager().manuallyAddResource(
+ getPluginManager().getMetadataManager().getType(SERVICE_NAME, PLUGIN_NAME), getPlatform().getId(),
+ configuration, -1);
+ assertNotNull(response, "Manual add response is null");
+ @SuppressWarnings("rawtypes")
+ ResourceComponent resourceComponent = getInventoryManager().getResourceContainer(response.getResourceId())
+ .getResourceComponent();
+ assertEquals(resourceComponent.getClass(), HTTPNetServiceComponent.class);
+ httpNetServiceComponent = (HTTPNetServiceComponent) resourceComponent;
+ }
+
+ @Test(dependsOnMethods = "testManualAdd")
+ public void testAvailability() throws Exception {
+ assertEquals(httpNetServiceComponent.getAvailability(), AvailabilityType.UP);
+ }
+
+ @Test(dependsOnMethods = "testAvailability")
+ public void testMeasurement() throws Exception {
+ MeasurementReport report = new MeasurementReport();
+ Set<MeasurementScheduleRequest> metrics = new HashSet<MeasurementScheduleRequest>();
+ int scheduleId = 1;
+ metrics.add(new MeasurementScheduleRequest(scheduleId++, "connectTime", 1000, true, DataType.MEASUREMENT));
+ metrics.add(new MeasurementScheduleRequest(scheduleId++, "readTime", 1000, true, DataType.MEASUREMENT));
+ metrics.add(new MeasurementScheduleRequest(scheduleId++, "contentLength", 1000, true, DataType.MEASUREMENT));
+ metrics.add(new MeasurementScheduleRequest(scheduleId++, "contentAge", 1000, true, DataType.MEASUREMENT));
+ httpNetServiceComponent.getValues(report, metrics);
+ Map<String, Object> datas = new HashMap<String, Object>();
+ for (MeasurementData data : report.getNumericData()) {
+ datas.put(data.getName(), data.getValue());
+ }
+ Double value = getMetric(datas, "connectTime");
+ assertTrue(value > SERVLET_SLEEP);
+ value = getMetric(datas, "readTime");
+ assertTrue(value > SERVLET_SLEEP);
+ value = getMetric(datas, "contentLength");
+ assertTrue(value > 0);
+ value = getMetric(datas, "contentAge");
+ assertTrue(value > 0);
+ }
+
+}
diff --git a/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/NetServiceComponentTest.java b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/NetServiceComponentTest.java
new file mode 100644
index 0000000..503e359
--- /dev/null
+++ b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/NetServiceComponentTest.java
@@ -0,0 +1,154 @@
+/*
+ * RHQ Management Platform
+ * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+package org.rhq.plugins.netservices.itest;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.when;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
+import java.io.File;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.mockito.Mockito;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+import org.testng.annotations.AfterSuite;
+import org.testng.annotations.BeforeSuite;
+import org.testng.annotations.Test;
+
+import org.rhq.core.clientapi.server.discovery.DiscoveryServerService;
+import org.rhq.core.domain.discovery.MergeResourceResponse;
+import org.rhq.core.domain.resource.Resource;
+import org.rhq.core.pc.PluginContainer;
+import org.rhq.core.pc.PluginContainerConfiguration;
+import org.rhq.core.pc.ServerServices;
+import org.rhq.core.pc.inventory.InventoryManager;
+import org.rhq.core.pc.plugin.FileSystemPluginFinder;
+import org.rhq.core.pc.plugin.PluginEnvironment;
+import org.rhq.core.pc.plugin.PluginManager;
+
+/**
+ * @author Thomas Segismont
+ */
+public abstract class NetServiceComponentTest {
+
+ public static final String PLUGIN_NAME = "NetworkServices";
+
+ private static final Log LOG = LogFactory.getLog(NetServiceComponentTest.class);
+
+ private static final AtomicInteger resourceIdGenerator = new AtomicInteger(Integer.MIN_VALUE / 2);
+
+ private static PluginContainer pluginContainer;
+
+ private static InventoryManager inventoryManager;
+
+ private static Resource platform;
+
+ private static PluginManager pluginManager;
+
+ private static PluginEnvironment pluginEnvironment;
+
+ protected PluginContainer getPluginContainer() {
+ return pluginContainer;
+ }
+
+ protected InventoryManager getInventoryManager() {
+ return inventoryManager;
+ }
+
+ protected Resource getPlatform() {
+ return platform;
+ }
+
+ protected PluginManager getPluginManager() {
+ return pluginManager;
+ }
+
+ protected PluginEnvironment getPluginEnvironment() {
+ return pluginEnvironment;
+ }
+
+ @BeforeSuite
+ public static void startPluginContainer() throws Exception {
+ LOG.info("Setting up plugin container");
+ File pluginDir = new File("target/itest/plugins");
+ PluginContainerConfiguration containerConfig = new PluginContainerConfiguration();
+ containerConfig.setPluginFinder(new FileSystemPluginFinder(pluginDir));
+ containerConfig.setPluginDirectory(pluginDir);
+ containerConfig.setInsideAgent(false);
+ // netservices plugin has resources which can only be manually added so we have to mock server integration.
+ DiscoveryServerService discoveryServerService = Mockito.mock(DiscoveryServerService.class);
+ when(discoveryServerService.addResource(any(Resource.class), anyInt())).thenAnswer(
+ new Answer<MergeResourceResponse>() {
+
+ @Override
+ public MergeResourceResponse answer(InvocationOnMock invocation) throws Throwable {
+ return new MergeResourceResponse(resourceIdGenerator.decrementAndGet(), false);
+ }
+ });
+ ServerServices serverServices = new ServerServices();
+ serverServices.setDiscoveryServerService(discoveryServerService);
+ containerConfig.setServerServices(serverServices);
+ pluginContainer = PluginContainer.getInstance();
+ pluginContainer.setConfiguration(containerConfig);
+ pluginContainer.initialize();
+ inventoryManager = pluginContainer.getInventoryManager();
+ platform = inventoryManager.getPlatform();
+ pluginManager = pluginContainer.getPluginManager();
+ pluginEnvironment = pluginManager.getPlugin(PLUGIN_NAME);
+ }
+
+ @AfterSuite
+ public static void stopPluginContainer() {
+ LOG.info("Shutting down plugin container");
+ try {
+ if (pluginContainer != null) {
+ pluginContainer.shutdown();
+ }
+ } catch (Exception ignore) {
+ }
+ }
+
+ @Test
+ public static void testPluginLoad() {
+ assertNotNull(pluginEnvironment, "Plugin not loaded");
+ assertEquals(pluginEnvironment.getPluginName(), PLUGIN_NAME);
+ }
+
+ public static Double getMetric(Map<String, Object> datas, String metricName) {
+ assertTrue(datas.containsKey(metricName), metricName + " metric not found");
+ assertTrue(datas.get(metricName).getClass().equals(Double.class), metricName + " metric value is not a Double");
+ return (Double) datas.get(metricName);
+ }
+
+ public static String getTrait(Map<String, Object> datas, String traitName) {
+ assertTrue(datas.containsKey(traitName), traitName + " trait not found");
+ assertTrue(datas.get(traitName).getClass().equals(String.class), traitName + " traitName value is not a String");
+ return (String) datas.get(traitName);
+ }
+
+}
diff --git a/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/PingNetServiceComponentTest.java b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/PingNetServiceComponentTest.java
new file mode 100644
index 0000000..ea1a374
--- /dev/null
+++ b/modules/plugins/netservices/src/test/java/org/rhq/plugins/netservices/itest/PingNetServiceComponentTest.java
@@ -0,0 +1,98 @@
+/*
+ * RHQ Management Platform
+ * Copyright 2013, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+package org.rhq.plugins.netservices.itest;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.testng.annotations.Test;
+
+import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.discovery.MergeResourceResponse;
+import org.rhq.core.domain.measurement.AvailabilityType;
+import org.rhq.core.domain.measurement.DataType;
+import org.rhq.core.domain.measurement.MeasurementData;
+import org.rhq.core.domain.measurement.MeasurementReport;
+import org.rhq.core.domain.measurement.MeasurementScheduleRequest;
+import org.rhq.core.pluginapi.inventory.ResourceComponent;
+import org.rhq.core.util.StringUtil;
+import org.rhq.plugins.netservices.PingNetServiceComponent;
+import org.rhq.plugins.netservices.PingNetServiceComponent.ConfigKeys;
+
+/**
+ * @author Thomas Segismont
+ */
+public class PingNetServiceComponentTest extends NetServiceComponentTest {
+
+ private static final String SERVICE_NAME = "PingService";
+
+ private static final String LOOPBACK = "127.0.0.1";
+
+ private PingNetServiceComponent pingNetServiceComponent;
+
+ @Test(dependsOnMethods = "testPluginLoad")
+ public void testManualAdd() throws Exception {
+ Configuration configuration = new Configuration();
+ configuration.setSimpleValue(ConfigKeys.ADDRESS, LOOPBACK);
+ MergeResourceResponse response = getInventoryManager().manuallyAddResource(
+ getPluginManager().getMetadataManager().getType(SERVICE_NAME, PLUGIN_NAME), getPlatform().getId(),
+ configuration, -1);
+ assertNotNull(response, "Manual add response is null");
+ @SuppressWarnings("rawtypes")
+ ResourceComponent resourceComponent = getInventoryManager().getResourceContainer(response.getResourceId())
+ .getResourceComponent();
+ assertEquals(resourceComponent.getClass(), PingNetServiceComponent.class);
+ pingNetServiceComponent = (PingNetServiceComponent) resourceComponent;
+ }
+
+ @Test(dependsOnMethods = "testManualAdd")
+ public void testAvailability() throws Exception {
+ assertEquals(pingNetServiceComponent.getAvailability(), AvailabilityType.UP);
+ }
+
+ @Test(dependsOnMethods = "testAvailability")
+ public void testMeasurement() throws Exception {
+ MeasurementReport report = new MeasurementReport();
+ Set<MeasurementScheduleRequest> metrics = new HashSet<MeasurementScheduleRequest>();
+ int scheduleId = 1;
+ metrics.add(new MeasurementScheduleRequest(scheduleId++, "ipAddress", 1000, true, DataType.TRAIT));
+ metrics.add(new MeasurementScheduleRequest(scheduleId++, "hostName", 1000, true, DataType.TRAIT));
+ metrics.add(new MeasurementScheduleRequest(scheduleId++, "responseTime", 1000, true, DataType.MEASUREMENT));
+ pingNetServiceComponent.getValues(report, metrics);
+ Map<String, Object> datas = new HashMap<String, Object>();
+ for (MeasurementData data : report.getNumericData()) {
+ datas.put(data.getName(), data.getValue());
+ }
+ for (MeasurementData data : report.getTraitData()) {
+ datas.put(data.getName(), data.getValue());
+ }
+ assertEquals(getTrait(datas, "ipAddress"), LOOPBACK);
+ assertTrue(StringUtil.isNotBlank(getTrait(datas, "hostName")));
+ assertTrue(getMetric(datas, "responseTime") >= 0);
+ }
+
+}
diff --git a/modules/plugins/netservices/src/test/resources/log4j.xml b/modules/plugins/netservices/src/test/resources/log4j.xml
new file mode 100644
index 0000000..4815936
--- /dev/null
+++ b/modules/plugins/netservices/src/test/resources/log4j.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- | For more configuration information and examples, see the Jakarta Log4j | website: http://jakarta.apache.org/log4j -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <param name="Target" value="System.out" />
+ <param name="Threshold" value="INFO" />
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%-5p %d{dd-MM HH:mm:ss,SSS} (%F:%M:%L) - %m%n" />
+ </layout>
+ </appender>
+
+ <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
+ <param name="File" value="target/test.log" />
+ <param name="Append" value="false" />
+ <param name="Threshold" value="DEBUG" />
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%-5p %d{dd-MM HH:mm:ss,SSS} (%F:%M:%L) - %m%n" />
+ </layout>
+ </appender>
+
+ <root>
+ <level value="DEBUG" />
+ <appender-ref ref="CONSOLE" />
+ <appender-ref ref="FILE" />
+ </root>
+
+</log4j:configuration>
commit b3b316f4b6761183fa75738008a94acc3bad918a
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Thu Feb 21 15:16:37 2013 +0100
Add getAlerts4Definition, extend testing
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AlertHandlerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AlertHandlerBean.java
index ce208a3..ce1ad76 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AlertHandlerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AlertHandlerBean.java
@@ -45,6 +45,8 @@ import javax.ws.rs.core.UriBuilder;
import javax.ws.rs.core.UriInfo;
import com.wordnik.swagger.annotations.Api;
+import com.wordnik.swagger.annotations.ApiError;
+import com.wordnik.swagger.annotations.ApiErrors;
import com.wordnik.swagger.annotations.ApiOperation;
import com.wordnik.swagger.annotations.ApiParam;
@@ -86,18 +88,40 @@ public class AlertHandlerBean extends AbstractRestBean {
@GZIP
@GET
@Path("/")
- @ApiOperation(value = "List all alerts", multiValueResponse = true, responseClass = "List<AlertRest>")
+ @ApiOperation(value = "List all alerts, possibly limiting by resource or alert definition, priority and start time", multiValueResponse = true, responseClass = "List<AlertRest>")
+ @ApiErrors({
+ @ApiError(code = 406, reason = "There are 'resourceId' and 'definitionId' passed as query parameters"),
+ @ApiError(code = 406, reason = "Page size was 0"),
+ @ApiError(code = 406, reason = "Page number was < 1")
+ })
public Response listAlerts(
- @ApiParam(value = "Page number", defaultValue = "1") @QueryParam("page") int page,
+ @ApiParam(value = "Page number") @QueryParam("page") @DefaultValue("1") int page,
+ @ApiParam(value = "Page size; use -1 for 'unlimited'") @QueryParam("size") @DefaultValue("100")int size,
@ApiParam(value = "Limit to priority", allowableValues = "High, Medium, Low, All") @DefaultValue("All") @QueryParam("prio") String prio,
@ApiParam(value = "Should full resources and definitions be sent") @QueryParam("slim") @DefaultValue("false") boolean slim,
- @ApiParam( value = "If non-null only send alerts that have fired after this time, time is millisecond since epoch") @QueryParam("since") Long since,
+ @ApiParam(value = "If non-null only send alerts that have fired after this time, time is millisecond since epoch") @QueryParam("since") Long since,
@ApiParam(value = "Id of a resource to limit search for") @QueryParam("resourceId") Integer resourceId,
+ @ApiParam(value = "If of an alert definition to search for") @QueryParam("definitionId") Integer definitionId,
@Context UriInfo uriInfo, @Context HttpHeaders headers) {
+ if (resourceId!=null && definitionId!=null) {
+ throw new BadArgumentException("At most one of 'resourceId' and 'definitionId' may be given");
+ }
+ if (size==0)
+ throw new BadArgumentException("size","Must not be 0");
+ if (page<1)
+ throw new BadArgumentException("page","Must be >=1");
AlertCriteria criteria = new AlertCriteria();
- criteria.setPaging(page,20); // TODO implement linking to next page
+
+ if (size==-1) {
+ PageControl pageControl = PageControl.getUnlimitedInstance();
+ pageControl.setPageNumber(page);
+ criteria.setPageControl(pageControl);
+ }
+ else
+ criteria.setPaging(page-1, size); // TODO implement linking to next page
+
if (since!=null) {
criteria.addFilterStartTime(since);
}
@@ -105,6 +129,9 @@ public class AlertHandlerBean extends AbstractRestBean {
if (resourceId!=null) {
criteria.addFilterResourceIds(resourceId);
}
+ if (definitionId!=null) {
+ criteria.addFilterAlertDefinitionIds(definitionId);
+ }
if (!prio.equals("All")) {
AlertPriority alertPriority = AlertPriority.valueOf(prio.toUpperCase());
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/BadArgumentException.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/BadArgumentException.java
index c07b4ce..cea84c2 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/BadArgumentException.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/BadArgumentException.java
@@ -32,7 +32,7 @@ public class BadArgumentException extends RuntimeException {
private static final long serialVersionUID = 1L;
public BadArgumentException(String message) {
- super("Bad parameter given: " + message);
+ super("Bad parameter(s) given: " + message);
}
/**
@@ -43,4 +43,5 @@ public class BadArgumentException extends RuntimeException {
public BadArgumentException(String parameterName, String cause) {
super("Parameter " + parameterName + " is bad: " + cause);
}
+
}
diff --git a/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/AlertTest.java b/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/AlertTest.java
index 7e9fa70..aa56a46 100644
--- a/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/AlertTest.java
+++ b/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/AlertTest.java
@@ -27,11 +27,13 @@ import org.junit.Test;
import org.rhq.modules.integrationTests.restApi.d.AlertCondition;
import org.rhq.modules.integrationTests.restApi.d.AlertDefinition;
import org.rhq.modules.integrationTests.restApi.d.AlertNotification;
+import org.rhq.modules.integrationTests.restApi.d.Availability;
import org.rhq.modules.integrationTests.restApi.d.Group;
import static com.jayway.restassured.RestAssured.delete;
import static com.jayway.restassured.RestAssured.expect;
import static com.jayway.restassured.RestAssured.given;
+import static org.hamcrest.Matchers.contains;
import static org.hamcrest.Matchers.instanceOf;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.iterableWithSize;
@@ -115,7 +117,43 @@ public class AlertTest extends AbstractBase {
.get("/alert/count")
.xmlPath();
- int count = xmlPath.getInt("value.@value");
+ xmlPath.getInt("value.@value");
+ }
+
+ @Test
+ public void testGetAlertByBadId() throws Exception {
+ given()
+ .header(acceptJson)
+ .pathParam("id",123)
+ .expect()
+ .statusCode(404)
+ .log().ifError()
+ .when()
+ .get("/alert/{id}");
+ }
+
+ @Test
+ public void testGetAlertConditionLogsByBadId() throws Exception {
+ given()
+ .header(acceptJson)
+ .pathParam("id",123)
+ .expect()
+ .statusCode(404)
+ .log().ifError()
+ .when()
+ .get("/alert/{id}/conditions");
+ }
+
+ @Test
+ public void testGetAlertNotificationLogsByBadId() throws Exception {
+ given()
+ .header(acceptJson)
+ .pathParam("id",123)
+ .expect()
+ .statusCode(404)
+ .log().everything()
+ .when()
+ .get("/alert/{id}/notifications");
}
@Test
@@ -200,7 +238,7 @@ public class AlertTest extends AbstractBase {
@Test
public void testCreateDeleteBasicAlertDefinition() throws Exception {
- int definitionId = createEmptyAlertDefinition();
+ int definitionId = createEmptyAlertDefinition(false);
cleanupDefinition(definitionId);
}
@@ -333,7 +371,7 @@ public class AlertTest extends AbstractBase {
@Test
public void testCreateDeleteAlertDefinitionWith1Condition() throws Exception {
- int definitionId = createEmptyAlertDefinition();
+ int definitionId = createEmptyAlertDefinition(false);
// Now add a condition
try {
@@ -376,7 +414,7 @@ public class AlertTest extends AbstractBase {
@Test
public void testCreateDeleteAlertDefinitionWith2Conditions() throws Exception {
- int definitionId = createEmptyAlertDefinition();
+ int definitionId = createEmptyAlertDefinition(false);
try {
@@ -446,7 +484,7 @@ public class AlertTest extends AbstractBase {
@Test
public void testCreateDeleteAlertDefinitionWith1Notification() throws Exception {
- int definitionId = createEmptyAlertDefinition();
+ int definitionId = createEmptyAlertDefinition(false);
// Now add a condition
try {
@@ -491,7 +529,7 @@ public class AlertTest extends AbstractBase {
@Test
public void testCRUDNotification() throws Exception {
- int definitionId = createEmptyAlertDefinition();
+ int definitionId = createEmptyAlertDefinition(false);
// Now add a condition
try {
@@ -563,7 +601,7 @@ public class AlertTest extends AbstractBase {
@Test
public void testCRUDCondition() throws Exception {
- int definitionId = createEmptyAlertDefinition();
+ int definitionId = createEmptyAlertDefinition(false);
// Now add a condition
try {
@@ -723,7 +761,7 @@ public class AlertTest extends AbstractBase {
@Test
public void testCreateDeleteAlertDefinitionWithUnknwonSender() throws Exception {
- int definitionId = createEmptyAlertDefinition();
+ int definitionId = createEmptyAlertDefinition(false);
// Now add a condition
try {
@@ -802,7 +840,7 @@ public class AlertTest extends AbstractBase {
@Test
public void testCreateDeleteAlertDefinitionWith2Notifications() throws Exception {
- int definitionId = createEmptyAlertDefinition();
+ int definitionId = createEmptyAlertDefinition(false);
// Now add a condition
try {
@@ -1049,7 +1087,7 @@ public class AlertTest extends AbstractBase {
@Test
public void testUpdateDefinition() throws Exception {
- int definitionId = createEmptyAlertDefinition();
+ int definitionId = createEmptyAlertDefinition(false);
try {
AlertDefinition definition =
given()
@@ -1177,6 +1215,245 @@ public class AlertTest extends AbstractBase {
cleanupDefinition(result.getId());
}
+ @Test
+ public void testCreateDeleteAlertDefinitionWith1ConditionAndFire() throws Exception {
+
+ int definitionId = createEmptyAlertDefinition(true);
+
+ // Now add a condition
+ try {
+
+ AlertCondition alertCondition = new AlertCondition("AVAIL_GOES_UP","AVAILABILITY");
+ given()
+ .header(acceptJson)
+ .contentType(ContentType.JSON)
+ .body(alertCondition)
+ .pathParam("defId",definitionId)
+ .expect()
+ .statusCode(201)
+ .log().ifError()
+ .when()
+ .post("/alert/definition/{defId}/conditions");
+
+ System.out.println("Definition created, waiting 60s for it to become active");
+
+ // Wait a while - see https://bugzilla.redhat.com/show_bug.cgi?id=830299
+ Thread.sleep(60*1000);
+
+ // Send a avail down/up sequence -> alert definition should fire
+ long now = System.currentTimeMillis();
+ Availability a = new Availability(10001,now-2000,"DOWN");
+ given()
+ .contentType(ContentType.JSON)
+ .pathParam("id", 10001)
+ .body(a)
+ .expect()
+ .statusCode(204)
+ .log().ifError()
+ .when()
+ .put("/resource/{id}/availability");
+
+ a = new Availability(10001,now-1000,"UP");
+ given()
+ .contentType(ContentType.JSON)
+ .pathParam("id", 10001)
+ .body(a)
+ .expect()
+ .statusCode(204)
+ .log().ifError()
+ .when()
+ .put("/resource/{id}/availability");
+
+ // wait a little
+ Thread.sleep(5000);
+
+ int alertId =
+ given()
+ .header(acceptJson)
+ .queryParam("definitionId",definitionId)
+ .queryParam("since", now - 3000)
+ .expect()
+ .statusCode(200)
+ .log().ifError()
+ .body("alertDefinition.name",contains("-x-test-definition"))
+ .body("",iterableWithSize(1))
+ .when()
+ .get("/alert")
+ .body().jsonPath().getInt("id[0]");
+
+ System.out.println(alertId);
+
+ // Find this alert by id and then its condition logs and notification logs
+ given()
+ .header(acceptJson)
+ .pathParam("id",alertId)
+ .log().everything()
+ .expect()
+ .statusCode(200)
+ .log().ifError()
+ .body("id",is(alertId))
+ .when()
+ .get("/alert/{id}");
+
+
+ given()
+ .header(acceptJson)
+ .pathParam("id", alertId)
+ .log().everything()
+ .expect()
+ .statusCode(200)
+ .log().ifError()
+ .body("",iterableWithSize(1))
+ .when()
+ .get("/alert/{id}/conditions");
+
+ given()
+ .header(acceptJson)
+ .pathParam("id", alertId)
+ .expect()
+ .statusCode(200)
+ .log().ifError()
+ .body("",iterableWithSize(0))
+ .when()
+ .get("/alert/{id}/notifications");
+
+
+ }
+
+ finally {
+ // delete the definition again
+ cleanupDefinition(definitionId);
+ }
+ }
+
+
+ @Test
+ public void testCreateDeleteAlertDefinitionWith1ConditionAndNotificationAndFire() throws Exception {
+
+ int definitionId = createEmptyAlertDefinition(true);
+
+ // Now add a condition
+ try {
+
+ AlertCondition alertCondition = new AlertCondition("AVAIL_GOES_UP","AVAILABILITY");
+ given()
+ .header(acceptJson)
+ .contentType(ContentType.JSON)
+ .body(alertCondition)
+ .pathParam("defId",definitionId)
+ .expect()
+ .statusCode(201)
+ .log().ifError()
+ .when()
+ .post("/alert/definition/{defId}/conditions");
+
+ AlertNotification notification = new AlertNotification("Direct Emails"); // short-name from server plugin descriptor
+ notification.getConfig().put("emailAddress", "root(a)eruditorium.org");
+
+ given()
+ .header(acceptJson)
+ .contentType(ContentType.JSON)
+ .body(notification)
+ .pathParam("defId", definitionId)
+ .log().everything()
+ .expect()
+ .statusCode(201)
+ .log().ifError()
+ .when()
+ .post("/alert/definition/{defId}/notifications");
+
+
+ System.out.println("Definition created, waiting 60s for it to become active");
+
+ // Wait a while - see https://bugzilla.redhat.com/show_bug.cgi?id=830299
+ Thread.sleep(60*1000);
+
+ // Send a avail down/up sequence -> alert definition should fire
+ long now = System.currentTimeMillis();
+ Availability a = new Availability(10001,now-2000,"DOWN");
+ given()
+ .contentType(ContentType.JSON)
+ .pathParam("id", 10001)
+ .body(a)
+ .expect()
+ .statusCode(204)
+ .log().ifError()
+ .when()
+ .put("/resource/{id}/availability");
+
+ a = new Availability(10001,now-1000,"UP");
+ given()
+ .contentType(ContentType.JSON)
+ .pathParam("id", 10001)
+ .body(a)
+ .expect()
+ .statusCode(204)
+ .log().ifError()
+ .when()
+ .put("/resource/{id}/availability");
+
+ // wait a little
+ Thread.sleep(5000);
+
+ int alertId =
+ given()
+ .header(acceptJson)
+ .queryParam("definitionId",definitionId)
+ .queryParam("since", now - 3000)
+ .expect()
+ .statusCode(200)
+ .log().ifError()
+ .body("alertDefinition.name",contains("-x-test-definition"))
+ .body("",iterableWithSize(1))
+ .when()
+ .get("/alert")
+ .body().jsonPath().getInt("id[0]");
+
+ System.out.println(alertId);
+
+ // Find this alert by id and then its condition logs and notification logs
+ given()
+ .header(acceptJson)
+ .pathParam("id",alertId)
+ .expect()
+ .statusCode(200)
+ .log().ifError()
+ .body("id",is(alertId))
+ .when()
+ .get("/alert/{id}");
+
+
+ given()
+ .header(acceptJson)
+ .pathParam("id", alertId)
+ .log().everything()
+ .expect()
+ .statusCode(200)
+ .log().ifError()
+ .body("",iterableWithSize(1))
+ .when()
+ .get("/alert/{id}/conditions");
+
+ given()
+ .header(acceptJson)
+ .pathParam("id", alertId)
+ .expect()
+ .statusCode(200)
+ .log().ifError()
+ .body("",iterableWithSize(1))
+ .when()
+ .get("/alert/{id}/notifications");
+
+
+ }
+
+ finally {
+ // delete the definition again
+ cleanupDefinition(definitionId);
+ }
+ }
+
+
private void cleanupDefinition(int definitionId) {
if (definitionId==0)
@@ -1190,10 +1467,10 @@ public class AlertTest extends AbstractBase {
.delete("/alert/definition/{id}");
}
- private int createEmptyAlertDefinition() {
+ private int createEmptyAlertDefinition(boolean enabled) {
AlertDefinition alertDefinition = new AlertDefinition();
alertDefinition.setName("-x-test-definition");
- alertDefinition.setEnabled(false);
+ alertDefinition.setEnabled(enabled);
alertDefinition.setPriority("LOW");
alertDefinition.setDampeningCategory("NONE");
diff --git a/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/d/Availability.java b/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/d/Availability.java
new file mode 100644
index 0000000..fdacbb8
--- /dev/null
+++ b/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/d/Availability.java
@@ -0,0 +1,64 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2013 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+package org.rhq.modules.integrationTests.restApi.d;
+
+/**
+ * Availability for testing
+ * @author Heiko W. Rupp
+ */
+public class Availability {
+
+ long since;
+ String type;
+ int resourceId;
+
+ public Availability() {
+ }
+
+ public Availability(int resourceId, long since, String type) {
+ this.resourceId = resourceId;
+ this.since = since;
+ this.type = type;
+ }
+
+ public int getResourceId() {
+ return resourceId;
+ }
+
+ public void setResourceId(int resourceId) {
+ this.resourceId = resourceId;
+ }
+
+ public long getSince() {
+ return since;
+ }
+
+ public void setSince(long since) {
+ this.since = since;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String type) {
+ this.type = type;
+ }
+}
commit ac5b2e13dbd2e3648169ddbbefb85a37eb2fdc35
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Wed Feb 20 20:55:25 2013 +0100
Add a get group by id case with valid id
diff --git a/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/GroupTest.java b/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/GroupTest.java
index ce338bb..f6ffbe7 100644
--- a/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/GroupTest.java
+++ b/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/GroupTest.java
@@ -35,6 +35,7 @@ import org.rhq.modules.integrationTests.restApi.d.GroupDef;
import static com.jayway.restassured.RestAssured.expect;
import static com.jayway.restassured.RestAssured.given;
import static org.hamcrest.CoreMatchers.hasItem;
+import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.iterableWithSize;
/**
@@ -118,6 +119,20 @@ public class GroupTest extends AbstractBase {
int groupId = jsonPath.get("[0].id");
assert groupId == createdId;
+ // Fetch id by id
+ given()
+ .pathParam("id",groupId)
+ .header(acceptJson)
+ .expect()
+ .statusCode(200)
+ .body("name",is(X_TEST_GROUP))
+ .body("id",is(groupId))
+ .body("explicitCount",is(0))
+ .log().ifError()
+ .when()
+ .get("/group/{id}");
+
+
// delete the group again
given()
.pathParam("id",groupId)
@@ -429,7 +444,6 @@ public class GroupTest extends AbstractBase {
int id = Integer.parseInt(location.substring(location.lastIndexOf("/")+1));
try {
- response =
given()
.header(acceptJson)
.pathParam("id",id)
@@ -472,7 +486,6 @@ public class GroupTest extends AbstractBase {
list.add("resource.name");
gd.setExpression(list);
- Response response =
given()
.contentType(ContentType.JSON)
.header("Accept","application/json")
@@ -507,19 +520,18 @@ public class GroupTest extends AbstractBase {
String location = response.getHeader("Location");
- int defintionId = Integer.parseInt(location.substring(location.lastIndexOf("/")+1));
+ int definitionId = Integer.parseInt(location.substring(location.lastIndexOf("/")+1));
try {
// retrieve by id
given()
- .pathParam("id", defintionId)
+ .pathParam("id", definitionId)
.expect()
.statusCode(200)
.when()
.get("/group/definition/{id}");
// retrieve by query
- Response resp =
given()
.queryParam("q", "-x-test-def")
.expect()
@@ -534,7 +546,7 @@ public class GroupTest extends AbstractBase {
expect()
.statusCode(204)
.when()
- .delete("/group/definition/" + defintionId);
+ .delete("/group/definition/" + definitionId);
}
}
commit 2b908fa04815c7758e0486eb5e5055c6e13f1d15
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: Wed Feb 20 14:00:02 2013 -0600
[BZ 912478] Add managed server deployment as parent for the web subsystem resource type.
diff --git a/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml b/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml
index 03dd318..2509073 100644
--- a/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml
+++ b/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml
@@ -8834,6 +8834,7 @@
<runs-inside>
<parent-resource-type name="Deployment" plugin="&pluginName;"/>
<parent-resource-type name="Subdeployment" plugin="&pluginName;"/>
+ <parent-resource-type name="ManagedServerDeployment" plugin="&pluginName;"/>
</runs-inside>
<plugin-configuration>
commit 650d2c0b7c326c1528acf309ddb22e2792b6d65c
Author: Simeon Pinder <spinder(a)fulliautomatix.conchfritter.com>
Date: Wed Feb 20 14:03:52 2013 -0500
Clarify dirty read javadoc for test.
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceStorageTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceStorageTest.java
index f48d360..40b0623 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceStorageTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/resource/test/ResourceStorageTest.java
@@ -221,9 +221,12 @@ public class ResourceStorageTest extends AbstractEJB3Test {
}
/** Test creates a large number of resources and pages through them using CriteriaQuery.
+ *
* NOTE: CriteriaQuery uses PageList instances underneath and are susceptible to dirty
- * read issues if the total number of resources being parsed is i)very large or ii)processing
- * each instance takes a significant amount of time. Ex. Begin parsing all resource types,
+ * read issues if the underlying dataset changes because the total number of resources being
+ * parsed is i)very large or ii)processing each instance takes a significant amount of
+ * time such that another action/process/object may have changed the original resources
+ * before resultset processing could be completed. Ex. Begin parsing all resource types,
* while plugin update is removing some of those same types.
*
* @throws Exception
commit 68d2e82cc37e7109d5d989a58387b9e368b5f03a
Author: Jirka Kremser <jkremser(a)redhat.com>
Date: Wed Feb 20 19:16:56 2013 +0100
[BZ 913121 - Manual import from resource tree's context menu opens the create child child wizard instead] Both import and create option led to the openint the same wizzard. Also some typos in javadoc has been fixed.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java
index c38e77a..b4be93c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java
@@ -573,7 +573,7 @@ public class ResourceTreeView extends LocatableVLayout {
Integer[] singletonChildTypes = getSingletonChildTypes(resourceType);
// To properly filter Create Child and Import menus we need existing singleton child resources. If the
- // user has creat permission and the parent type has singleton child types and creatable or importable child
+ // user has created permission and the parent type has singleton child types and creatable or importable child
// types, perform an async call to fetch the singleton children.
if (canCreate && singletonChildTypes.length > 0 && (hasCreatableTypes || hasImportableTypes)) {
@@ -587,12 +587,14 @@ public class ResourceTreeView extends LocatableVLayout {
public void onSuccess(PageList<Resource> singletonChildren) {
if (hasCreatableTypes) {
Map<String, ResourceType> displayNameMap = getDisplayNames(creatableChildTypes);
- addMenu(MSG.common_button_create_child(), true, singletonChildren, resource, displayNameMap);
+ addMenu(MSG.common_button_create_child(), true, singletonChildren, resource,
+ displayNameMap, true);
}
if (hasImportableTypes) {
Map<String, ResourceType> displayNameMap = getDisplayNames(importableChildTypes);
- addMenu(MSG.common_button_import(), true, singletonChildren, resource, displayNameMap);
+ addMenu(MSG.common_button_import(), true, singletonChildren, resource, displayNameMap,
+ false);
}
resourceContextMenu.showContextMenu();
@@ -607,22 +609,22 @@ public class ResourceTreeView extends LocatableVLayout {
} else if (canCreate && singletonChildTypes.length == 0 && (hasCreatableTypes || hasImportableTypes)) {
if (hasCreatableTypes) {
Map<String, ResourceType> displayNameMap = getDisplayNames(creatableChildTypes);
- addMenu(MSG.common_button_create_child(), true, null, resource, displayNameMap);
+ addMenu(MSG.common_button_create_child(), true, null, resource, displayNameMap, true);
}
if (hasImportableTypes) {
Map<String, ResourceType> displayNameMap = getDisplayNames(importableChildTypes);
- addMenu(MSG.common_button_import(), true, null, resource, displayNameMap);
+ addMenu(MSG.common_button_import(), true, null, resource, displayNameMap, false);
}
resourceContextMenu.showContextMenu();
} else {
if (!canCreate && hasCreatableTypes) {
- addMenu(MSG.common_button_create_child(), false, null, null, null);
+ addMenu(MSG.common_button_create_child(), false, null, null, null, true);
}
if (!canCreate && hasImportableTypes) {
- addMenu(MSG.common_button_import(), false, null, null, null);
+ addMenu(MSG.common_button_import(), false, null, null, null, false);
}
resourceContextMenu.showContextMenu();
@@ -630,12 +632,12 @@ public class ResourceTreeView extends LocatableVLayout {
}
private void addMenu(String name, boolean enabled, List<Resource> singletonChildren, Resource resource,
- Map<String, ResourceType> displayNameMap) {
+ Map<String, ResourceType> displayNameMap, boolean isCreate) {
MenuItem menu = new MenuItem(name);
if (enabled) {
Menu subMenu = new Menu();
- singletonChildren = (null == singletonChildren) ? new ArrayList() : singletonChildren;
- Menu filteredSubMenu = checkForSingletons(singletonChildren, resource, displayNameMap, subMenu, true);
+ singletonChildren = (null == singletonChildren) ? new ArrayList<Resource>() : singletonChildren;
+ Menu filteredSubMenu = checkForSingletons(singletonChildren, resource, displayNameMap, subMenu, isCreate);
menu.setSubmenu(filteredSubMenu);
} else {
menu.setEnabled(false);
@@ -676,7 +678,7 @@ public class ResourceTreeView extends LocatableVLayout {
// omit the type's menu item if the singleton already exists, otherwise add the necessary click handler.
// note: we omit as opposed to disable the menu item to match the behavior of the buttons in the Inventory
- // -> Child Resources view, which has no facility to do the anologous disabling.
+ // -> Child Resources view, which has no facility to do the analogous disabling.
if (!exists) {
itemToAdd.addClickHandler(new ClickHandler() {
public void onClick(MenuItemClickEvent event) {
commit b3d6756033305f1d6a02ebded33864c4303d3a10
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Wed Feb 20 09:37:52 2013 -0500
Add another test for the work done in Bug 912871.
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBeanTest.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBeanTest.java
index 0900ce6..7d0343b 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBeanTest.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBeanTest.java
@@ -78,11 +78,8 @@ public class ConfigurationManagerBeanTest extends AbstractEJB3Test {
private Agent agent;
private Subject overlord;
- /**
- * Prepares things for the entire test class.
- */
- //@BeforeClass don't use BeforeClass as Arquillian 1.0.2 invokes it on every test method
- protected void beforeClass() {
+ @Override
+ protected void beforeMethod() throws Exception {
// Make sure page control sorts so the latest config update is last (the default is for the latest to be first).
configUpdatesPageControl = PageControl.getUnlimitedInstance();
// (ips, 04/01/10): Use createdTime, rather than id, to order by, since the id's are not guaranteed to be
@@ -92,12 +89,6 @@ public class ConfigurationManagerBeanTest extends AbstractEJB3Test {
configurationManager = LookupUtil.getConfigurationManager();
resourceManager = LookupUtil.getResourceManager();
- overlord = LookupUtil.getSubjectManager().getOverlord();
- }
-
- @Override
- protected void beforeMethod() throws Exception {
- beforeClass();
prepareScheduler();
@@ -106,6 +97,8 @@ public class ConfigurationManagerBeanTest extends AbstractEJB3Test {
agentServiceContainer.configurationService = testServices;
agentServiceContainer.discoveryService = testServices;
+ overlord = LookupUtil.getSubjectManager().getOverlord();
+
getTransactionManager().begin();
try {
@@ -257,6 +250,87 @@ public class ConfigurationManagerBeanTest extends AbstractEJB3Test {
}
@Test(enabled = ENABLE_TESTS)
+ public void testInProgressConfiguration() throws Exception {
+ int resourceId = newResource1.getId();
+
+ Subject overlord = LookupUtil.getSubjectManager().getOverlord();
+
+ // create 3 configs: config1 will be stored as current. config2 will be in progress, config3 should get
+ // blocked from updating by the inprogress update
+ Configuration configuration1 = new Configuration();
+ configuration1.put(new PropertySimple("myboolean", "true"));
+
+ Configuration configuration2 = new Configuration();
+ configuration2.put(new PropertySimple("myboolean", "false"));
+ configuration2.put(new PropertySimple("mysleep", "7000"));
+
+ Configuration configuration3 = new Configuration();
+ configuration3.put(new PropertySimple("mysleep", "10000"));
+
+ // make config1 the current
+ configurationManager.updateResourceConfiguration(overlord, resourceId, configuration1);
+ Thread.sleep(2000); // wait for the test agent to complete the request
+
+ ResourceConfigurationUpdate history1;
+ history1 = configurationManager.getLatestResourceConfigurationUpdate(overlord, resourceId);
+ assert history1 != null;
+ PropertySimple myprop = history1.getConfiguration().getSimple("myboolean");
+ assert myprop != null;
+ assert "true".equals(myprop.getStringValue());
+
+ // now update to config2 - the "agent" will sleep for a bit before it completes
+ // so we will have an INPROGRESS configuration for a few seconds before it goes to SUCCESS
+ configurationManager.updateResourceConfiguration(overlord, resourceId, configuration2);
+
+ // now update to config3 - this should fail as you can't update while there is one in progress
+ try {
+ configurationManager.updateResourceConfiguration(overlord, resourceId, configuration3);
+ assert false : "Should have thrown an in progress exception";
+
+ } catch (ConfigurationUpdateStillInProgressException e) {
+ System.out.println("======> " + e);
+
+ // make sure everything works as expected (like the above test)
+
+ boolean inProgress = false;
+ boolean inProgressTested = false;
+
+ do {
+ ResourceConfigurationUpdate history2 = configurationManager.getLatestResourceConfigurationUpdate(
+ overlord, resourceId);
+ inProgress = configurationManager.isResourceConfigurationUpdateInProgress(overlord, resourceId);
+
+ if (inProgress) {
+ // history2 should be history1 since the update is not complete
+ assert history2 != null;
+ assert history2.getId() == history1.getId();
+ myprop = history2.getConfiguration().getSimple("myboolean");
+ assert myprop != null;
+ assert "true".equals(myprop.getStringValue());
+ myprop = history2.getConfiguration().getSimple("mysleep"); // this wasn't in the first config
+ assert myprop == null;
+ // record that this test case ran, we expect it will if the agent delay is there
+ inProgressTested = true;
+ } else {
+ // update is complete, history 2 should be different
+ history2 = configurationManager.getLatestResourceConfigurationUpdate(overlord, resourceId);
+ assert history2 != null;
+ assert history2.getId() != history1.getId();
+ myprop = history2.getConfiguration().getSimple("myboolean");
+ assert myprop != null;
+ assert "false".equals(myprop.getStringValue());
+ myprop = history2.getConfiguration().getSimple("mysleep");
+ assert myprop.getLongValue() != null;
+ assert myprop.getLongValue().longValue() == 7000L;
+ }
+ } while (inProgress);
+
+ } catch (Throwable t) {
+ assert false : "Should have thrown an in progress exception, not: " + t;
+ }
+ }
+
+ @Test(enabled = ENABLE_TESTS)
public void testDeleteType() throws Exception {
// the purpose of this little test is to test an error condition I'm getting when attempting to delete
// a resource type - just forces a run with before/afterMethod
commit 4385fbb69a2dfd9aced1f8802e9477dfb44860ae
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Feb 19 16:40:32 2013 -0500
[Bug 912871 - Perf: resource configuration update taking a lot of backend resources]
Scalability work for resource config update. We already added concurrency limits
that should throttle how many config updates the server gets hit with at one
time but we also want to see if we can relieve the intense banging on the db
and speed up the update time for each resource.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/configuration/ResourceConfigurationUpdate.java b/modules/core/domain/src/main/java/org/rhq/core/domain/configuration/ResourceConfigurationUpdate.java
index c2d4767..69ebb9d 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/configuration/ResourceConfigurationUpdate.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/configuration/ResourceConfigurationUpdate.java
@@ -38,7 +38,7 @@ import org.rhq.core.domain.resource.Resource;
@DiscriminatorValue("resource")
@Entity
-@NamedQueries( {
+@NamedQueries({
@NamedQuery(name = ResourceConfigurationUpdate.QUERY_FIND_ALL_IN_STATUS, query = "" //
+ "SELECT cu " //
+ " FROM ResourceConfigurationUpdate cu " //
@@ -58,7 +58,8 @@ import org.rhq.core.domain.resource.Resource;
+ " WHERE icu.resource.id = res.id) " //
+ " ) " //
+ " )"),
- @NamedQuery(name = ResourceConfigurationUpdate.QUERY_FIND_CURRENTLY_ACTIVE_CONFIG, query = "" //
+ // Note: Changes to this query should also be applied to QUERY_FIND_CURRENT_AND_IN_PROGRESS_CONFIGS, below.
+ @NamedQuery(name = ResourceConfigurationUpdate.QUERY_FIND_CURRENTLY_ACTIVE_CONFIG, query = "" //
+ "SELECT cu " //
+ " FROM ResourceConfigurationUpdate cu " //
+ " WHERE cu.resource.id = :resourceId " //
@@ -67,6 +68,17 @@ import org.rhq.core.domain.resource.Resource;
+ " FROM ResourceConfigurationUpdate cu2 " //
+ " WHERE cu2.resource.id = :resourceId " //
+ " AND cu2.status = 'SUCCESS' ) "),
+ @NamedQuery(name = ResourceConfigurationUpdate.QUERY_FIND_CURRENT_AND_IN_PROGRESS_CONFIGS, query = "" //
+ + "SELECT cu " //
+ + " FROM ResourceConfigurationUpdate cu " //
+ + " WHERE cu.resource.id = :resourceId " //
+ + " AND ( ( cu.status = 'INPROGRESS' ) " //
+ + " OR ( cu.status = 'SUCCESS' " //
+ + " AND cu.modifiedTime = ( SELECT MAX(cu2.modifiedTime) " //
+ + " FROM ResourceConfigurationUpdate cu2 " //
+ + " WHERE cu2.resource.id = :resourceId " //
+ + " AND cu2.status = 'SUCCESS' ) " //
+ + " ) ) "),
@NamedQuery(name = ResourceConfigurationUpdate.QUERY_FIND_LATEST_BY_RESOURCE_ID, query = "" //
+ "SELECT cu " //
+ " FROM ResourceConfigurationUpdate cu " //
@@ -178,6 +190,7 @@ public class ResourceConfigurationUpdate extends AbstractResourceConfigurationUp
public static final String QUERY_FIND_ALL_IN_STATUS = "ResourceConfigurationUpdate.findAllInStatus";
public static final String QUERY_FIND_ALL_BY_RESOURCE_ID = "ResourceConfigurationUpdate.findAllByResourceId";
public static final String QUERY_FIND_CURRENTLY_ACTIVE_CONFIG = "ResourceConfigurationUpdate.findCurrentlyActiveConfig";
+ public static final String QUERY_FIND_CURRENT_AND_IN_PROGRESS_CONFIGS = "ResourceConfigurationUpdate.findCurrentAndInProgressConfigs";
public static final String QUERY_FIND_LATEST_BY_RESOURCE_ID = "ResourceConfigurationUpdate.findByLatestByResourceId";
public static final String QUERY_FIND_BY_GROUP_ID_AND_STATUS = "ResourceConfigurationUpdate.findByGroupIdAndStatus";
public static final String QUERY_FIND_BY_PARENT_UPDATE_ID_AND_STATUS = "ResourceConfigurationUpdate.findByParentUpdateIdAndStatus";
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java
index 50e5fd4..04c15b7 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java
@@ -89,7 +89,6 @@ import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.resource.ResourceError;
import org.rhq.core.domain.resource.ResourceErrorType;
import org.rhq.core.domain.resource.ResourceType;
-import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.core.domain.resource.group.GroupCategory;
import org.rhq.core.domain.resource.group.ResourceGroup;
import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
@@ -487,9 +486,9 @@ public class ConfigurationManagerBean implements ConfigurationManagerLocal, Conf
* is triggering save based on the semantics that we want to provide for configuration updates.
* For the same reason, we pass null as the subject.
*/
- ResourceConfigurationUpdate update = this.configurationManager.persistNewResourceConfigurationUpdateHistory(
- this.subjectManager.getOverlord(), resource.getId(), liveConfig, ConfigurationUpdateStatus.SUCCESS, null,
- false);
+ ResourceConfigurationUpdate update = this.configurationManager
+ .persistResourceConfigurationUpdateInNewTransaction(this.subjectManager.getOverlord(), resource.getId(),
+ liveConfig, ConfigurationUpdateStatus.SUCCESS, null, false);
// resource.setResourceConfiguration(liveConfig.deepCopy(false));
resource.setResourceConfiguration(liveConfig.deepCopyWithoutProxies());
@@ -1248,8 +1247,9 @@ public class ConfigurationManagerBean implements ConfigurationManagerLocal, Conf
return resourceConfigurationUpdate;
}
- ResourceConfigurationUpdate newUpdate = configurationManager.persistNewResourceConfigurationUpdateHistory(
- subject, resourceId, configToUpdate, ConfigurationUpdateStatus.INPROGRESS, subject.getName(), false);
+ ResourceConfigurationUpdate newUpdate = configurationManager
+ .persistResourceConfigurationUpdateInNewTransaction(subject, resourceId, configToUpdate,
+ ConfigurationUpdateStatus.INPROGRESS, subject.getName(), false);
executeResourceConfigurationUpdate(newUpdate);
return newUpdate;
}
@@ -1307,9 +1307,9 @@ public class ConfigurationManagerBean implements ConfigurationManagerLocal, Conf
// configuration.
// TODO: Consider synchronizing to avoid the condition where someone calls this method twice quickly in two
// different tx's, which would put two updates in INPROGRESS and cause havoc.
- ResourceConfigurationUpdate newUpdate = configurationManager.persistNewResourceConfigurationUpdateHistory(
- subject, resourceId, newResourceConfiguration, ConfigurationUpdateStatus.INPROGRESS, subject.getName(),
- false);
+ ResourceConfigurationUpdate newUpdate = configurationManager
+ .persistResourceConfigurationUpdateInNewTransaction(subject, resourceId, newResourceConfiguration,
+ ConfigurationUpdateStatus.INPROGRESS, subject.getName(), false);
executeResourceConfigurationUpdate(newUpdate);
@@ -1382,91 +1382,83 @@ public class ConfigurationManagerBean implements ConfigurationManagerLocal, Conf
@Override
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
- public ResourceConfigurationUpdate persistNewResourceConfigurationUpdateHistory(Subject subject, int resourceId,
- Configuration newConfiguration, ConfigurationUpdateStatus newStatus, String newSubject,
+ public ResourceConfigurationUpdate persistResourceConfigurationUpdateInNewTransaction(Subject subject,
+ int resourceId, Configuration newConfiguration, ConfigurationUpdateStatus newStatus, String newSubject,
boolean isPartofGroupUpdate) throws ResourceNotFoundException, ConfigurationUpdateStillInProgressException {
- // get the resource that we will be updating
- Resource resource = resourceManager.getResourceById(subject, resourceId);
- // make sure the user has the proper permissions to do this
- if (!authorizationManager.hasResourcePermission(subject, Permission.CONFIGURE_WRITE, resource.getId())) {
- throw new PermissionException("User [" + subject.getName()
- + "] does not have permission to modify configuration for resource [" + resource + "]");
- }
+ ResourceConfigurationUpdate current = null;
+ String errorMessage = null;
- // see if there was a previous update request and make sure it isn't still in progress
- List<ResourceConfigurationUpdate> previousRequests = resource.getResourceConfigurationUpdates();
+ // for efficiency, in one query fetch IN_PROGRESS and/or the current update
+ Query query = entityManager
+ .createNamedQuery(ResourceConfigurationUpdate.QUERY_FIND_CURRENT_AND_IN_PROGRESS_CONFIGS);
+ query.setParameter("resourceId", resourceId);
+ List<?> updates = query.getResultList();
+ for (Object result : updates) {
+ current = (ResourceConfigurationUpdate) result;
+
+ if (ConfigurationUpdateStatus.INPROGRESS == current.getStatus()) {
+ // A previous update is still in progress for this Resource. If this update is part of a group
+ // update, persist it with FAILURE status, so it is still listed as part of the group history.
+ // Otherwise, throw an exception that can bubble up to the GUI.
+ if (isPartofGroupUpdate) {
+ newStatus = ConfigurationUpdateStatus.FAILURE;
+ errorMessage = "Resource configuration Update was aborted because an update request for the Resource was already in progress.";
- String errorMessage = null;
- if (previousRequests != null) {
- for (ResourceConfigurationUpdate previousRequest : previousRequests) {
- if (previousRequest.getStatus() == ConfigurationUpdateStatus.INPROGRESS) {
- // A previous update is still in progresss for this Resource. If this update is part of a group
- // update, persist it with FAILURE status, so it is still listed as part of the group history.
- // Otherwise, throw an exception that can bubble up to the GUI.
- if (isPartofGroupUpdate) {
- newStatus = ConfigurationUpdateStatus.FAILURE;
- errorMessage = "Resource configuration Update was aborted because an update request for the Resource was already in progress.";
- } else {
- // NOTE: If you change this to another exception, make sure you change getLatestResourceConfigurationUpdate().
- throw new ConfigurationUpdateStillInProgressException(
- "Resource ["
- + resource
- + "] has a resource configuration update request already in progress - please wait for it to finish: "
- + previousRequest);
- }
+ } else {
+ // NOTE: If you change this to another exception, make sure you change getLatestResourceConfigurationUpdate().
+ throw new ConfigurationUpdateStillInProgressException(
+ "Resource ["
+ + resourceId
+ + "] has a resource configuration update request already in progress - please wait for it to finish: "
+ + current);
}
}
}
- ResourceConfigurationUpdate current;
+ Resource resource = null;
+
+ if (null != current) {
+ // Always persist a group update because each member must have an update. Otherwise, only persist a
+ // single resource update if it has changed.
+ if (!isPartofGroupUpdate) {
+ Configuration currentConfiguration = current.getConfiguration();
+ Hibernate.initialize(currentConfiguration.getMap());
+ if (currentConfiguration.equals(newConfiguration)) {
+ return null;
+ }
+ }
- // Get the latest configuration as known to the server (i.e. persisted in the DB).
- try {
- Query query = entityManager
- .createNamedQuery(ResourceConfigurationUpdate.QUERY_FIND_CURRENTLY_ACTIVE_CONFIG);
- query.setParameter("resourceId", resourceId);
- current = (ResourceConfigurationUpdate) query.getSingleResult();
resource = current.getResource();
- } catch (NoResultException nre) {
- current = null; // The resource hasn't been successfully configured yet.
- }
- // If this update is not part of an group update, don't bother persisting a new entry if the Configuration
- // hasn't changed. If it's part of an group update, persist a new entry no matter what, so the group
- // update isn't missing any member updates.
- if (!isPartofGroupUpdate && current != null) {
- Configuration currentConfiguration = current.getConfiguration();
- Hibernate.initialize(currentConfiguration.getMap());
- if (currentConfiguration.equals(newConfiguration)) {
- return null;
- }
+ } else {
+ // make sure the resource exists
+ resource = resourceManager.getResourceById(subject, resourceId);
}
- //Configuration zeroedConfiguration = newConfiguration.deepCopy(false);
Configuration zeroedConfiguration = newConfiguration.deepCopyWithoutProxies();
- // create our new update request and assign it to our resource - its status will initially be "in progress"
+ // create our new update request and assign it to our resource - its status will initially be INPROGRESS
ResourceConfigurationUpdate newUpdateRequest = new ResourceConfigurationUpdate(resource, zeroedConfiguration,
newSubject);
-
newUpdateRequest.setStatus(newStatus);
- if (newStatus == ConfigurationUpdateStatus.FAILURE) {
+
+ if (ConfigurationUpdateStatus.FAILURE == newStatus) {
newUpdateRequest.setErrorMessage(errorMessage);
}
entityManager.persist(newUpdateRequest);
- if (current != null) {
- if (newStatus == ConfigurationUpdateStatus.SUCCESS) {
- // If this is the first configuration update since the resource was imported, don't alert
+
+ // No need to alert on the first configuration update, only on subsequent change
+ if (null != current) {
+ if (ConfigurationUpdateStatus.SUCCESS == newStatus) {
notifyAlertConditionCacheManager("persistNewResourceConfigurationUpdateHistory", newUpdateRequest);
}
}
resource.addResourceConfigurationUpdates(newUpdateRequest);
- // agent and childResources fields are LAZY - force them to load, because the caller will need them.
- Hibernate.initialize(resource.getChildResources());
+ // provide the agent while we have the entity, it's typically needed by the caller
Hibernate.initialize(resource.getAgent());
return newUpdateRequest;
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerLocal.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerLocal.java
index f5b28ee..85c1247 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerLocal.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerLocal.java
@@ -188,7 +188,7 @@ public interface ConfigurationManagerLocal extends ConfigurationManagerRemote {
* {@link #getLatestResourceConfigurationUpdate(Subject, int)} and
* {@link #scheduleGroupResourceConfigurationUpdate}.
*
- * @param subject
+ * @param subject ASSUMES CONFIGURE_WRITE perm for resource in question, no authz checks in this method.
* @param resourceId
* @param newConfiguration
* @param newStatus
@@ -196,10 +196,11 @@ public interface ConfigurationManagerLocal extends ConfigurationManagerRemote {
*
* @param isPartofGroupUpdate
* @return the persisted Resource Configuration update, or null if the specified Configuration is identical to the
- * currently persisted Configuration
+ * currently persisted Configuration. Note, on success the normally lazy-loaded
+ * ResourceConfigurationUpdate.resource.agent will be provided.
*/
@Nullable
- ResourceConfigurationUpdate persistNewResourceConfigurationUpdateHistory(Subject subject, int resourceId,
+ ResourceConfigurationUpdate persistResourceConfigurationUpdateInNewTransaction(Subject subject, int resourceId,
Configuration newConfiguration, ConfigurationUpdateStatus newStatus, String newSubject,
boolean isPartofGroupUpdate) throws ResourceNotFoundException, ConfigurationUpdateStillInProgressException;
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
index a36f35d..be32c53 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationServerServiceImpl.java
@@ -43,8 +43,8 @@ public class ConfigurationServerServiceImpl implements ConfigurationServerServic
SubjectManagerLocal subjectManager = LookupUtil.getSubjectManager();
int configUpdateId = response.getConfigurationUpdateId();
- ResourceConfigurationUpdate configUpdate = configurationManager.getResourceConfigurationUpdate(subjectManager
- .getOverlord(), configUpdateId);
+ ResourceConfigurationUpdate configUpdate = configurationManager.getResourceConfigurationUpdate(
+ subjectManager.getOverlord(), configUpdateId);
if (configUpdate != null) {
Resource resource = configUpdate.getResource();
@@ -67,7 +67,7 @@ public class ConfigurationServerServiceImpl implements ConfigurationServerServic
SubjectManagerLocal subjectManager = LookupUtil.getSubjectManager();
Subject overlord = subjectManager.getOverlord();
- ResourceConfigurationUpdate update = configurationManager.persistNewResourceConfigurationUpdateHistory(
+ ResourceConfigurationUpdate update = configurationManager.persistResourceConfigurationUpdateInNewTransaction(
overlord, resourceId, resourceConfiguration, ConfigurationUpdateStatus.SUCCESS, null, false);
if (update == null) {
@@ -76,7 +76,7 @@ public class ConfigurationServerServiceImpl implements ConfigurationServerServic
return;
}
- Configuration configuration = update.getConfiguration().deepCopy(false); // clone the config, zeroing out ids
+ Configuration configuration = update.getConfiguration().deepCopy(false); // clone the config, zeroing out ids
configurationManager.setResourceConfiguration(resourceId, configuration); // now set it as the current config on the Resource
}
}
diff --git a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBeanUnitTest.java b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBeanUnitTest.java
index d51798d..d29ad16 100644
--- a/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBeanUnitTest.java
+++ b/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBeanUnitTest.java
@@ -149,7 +149,7 @@ public class ConfigurationManagerBeanUnitTest extends JMockTest {
allowing(entityMgr).find(Resource.class, fixture.resourceId); will(returnValue(fixture.resource));
- oneOf(configurationMgrLocal).persistNewResourceConfigurationUpdateHistory(fixture.subject,
+ oneOf(configurationMgrLocal).persistResourceConfigurationUpdateInNewTransaction(fixture.subject,
fixture.resourceId, fixture.configuration, INPROGRESS, fixture.subject.getName(),
fixture.isPartOfGroupUpdate);
will(returnValue(expectedUpdate));
@@ -191,7 +191,7 @@ public class ConfigurationManagerBeanUnitTest extends JMockTest {
oneOf(authorizationMgr).hasResourcePermission(fixture.subject, CONFIGURE_WRITE, fixture.resourceId);
will(returnValue(true));
- oneOf(configurationMgrLocal).persistNewResourceConfigurationUpdateHistory(fixture.subject,
+ oneOf(configurationMgrLocal).persistResourceConfigurationUpdateInNewTransaction(fixture.subject,
fixture.resourceId, fixture.configuration, INPROGRESS, fixture.subject.getName(),
fixture.isPartOfGroupUpdate);
will(returnValue(expectedUpdate));
@@ -252,7 +252,7 @@ public class ConfigurationManagerBeanUnitTest extends JMockTest {
oneOf(configAgentService).validate(fixture.configuration, fixture.resourceId, FROM_STRUCTURED);
inSequence(configUdpate);
- oneOf(configurationMgrLocal).persistNewResourceConfigurationUpdateHistory(fixture.subject,
+ oneOf(configurationMgrLocal).persistResourceConfigurationUpdateInNewTransaction(fixture.subject,
fixture.resourceId, fixture.configuration, INPROGRESS, fixture.subject.getName(),
fixture.isPartOfGroupUpdate);
will(returnValue(expectedUpdate));
@@ -302,7 +302,7 @@ public class ConfigurationManagerBeanUnitTest extends JMockTest {
oneOf(configAgentService).merge(fixture.configuration, fixture.resourceId, FROM_RAW);
will(returnValue(translatedConfig)); inSequence(configUdpate);
- oneOf(configurationMgrLocal).persistNewResourceConfigurationUpdateHistory(fixture.subject,
+ oneOf(configurationMgrLocal).persistResourceConfigurationUpdateInNewTransaction(fixture.subject,
fixture.resourceId, translatedConfig, INPROGRESS, fixture.subject.getName(),
fixture.isPartOfGroupUpdate);
will(returnValue(expectedUpdate));
@@ -350,7 +350,7 @@ public class ConfigurationManagerBeanUnitTest extends JMockTest {
oneOf(authorizationMgr).hasResourcePermission(fixture.subject, CONFIGURE_WRITE, fixture.resourceId);
will(returnValue(true));
- oneOf(configurationMgrLocal).persistNewResourceConfigurationUpdateHistory(fixture.subject, fixture.resourceId,
+ oneOf(configurationMgrLocal).persistResourceConfigurationUpdateInNewTransaction(fixture.subject, fixture.resourceId,
fixture.configuration, INPROGRESS, fixture.subject.getName(), fixture.isPartOfGroupUpdate);
will(returnValue(expectedUpdate));
commit 3005a262a20961e6c8583e02953d9af1501d8c68
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Tue Feb 19 13:56:03 2013 -0500
[BZ 912525] add new concurrency limit for configuration updates
diff --git a/modules/core/client-api/src/main/java/org/rhq/core/clientapi/server/configuration/ConfigurationServerService.java b/modules/core/client-api/src/main/java/org/rhq/core/clientapi/server/configuration/ConfigurationServerService.java
index caa1a91..e9e5b36 100644
--- a/modules/core/client-api/src/main/java/org/rhq/core/clientapi/server/configuration/ConfigurationServerService.java
+++ b/modules/core/client-api/src/main/java/org/rhq/core/clientapi/server/configuration/ConfigurationServerService.java
@@ -23,6 +23,7 @@
package org.rhq.core.clientapi.server.configuration;
import org.rhq.core.communications.command.annotation.Asynchronous;
+import org.rhq.core.communications.command.annotation.LimitedConcurrency;
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.configuration.ConfigurationUpdateStatus;
import org.rhq.core.domain.configuration.Property;
@@ -31,6 +32,8 @@ import org.rhq.core.domain.configuration.Property;
* Interface that allows an agent to provide information about a resource's configuration.
*/
public interface ConfigurationServerService {
+ String CONCURRENCY_LIMIT_CONFIG_UPDATE = "rhq.server.concurrency-limit.configuration-update";
+
/**
* The agent will notify the server when a configuration update request has been completed by calling this method.
*
@@ -65,6 +68,7 @@ public interface ConfigurationServerService {
* @param resourceConfiguration the newly detected configuration
*/
@Asynchronous(guaranteedDelivery = true)
+ @LimitedConcurrency(CONCURRENCY_LIMIT_CONFIG_UPDATE)
void persistUpdatedResourceConfiguration(int resourceId, Configuration resourceConfiguration);
}
\ No newline at end of file
diff --git a/modules/enterprise/server/appserver/src/main/scripts/rhq-container.build.xml b/modules/enterprise/server/appserver/src/main/scripts/rhq-container.build.xml
index f7f781e..544dfbf 100644
--- a/modules/enterprise/server/appserver/src/main/scripts/rhq-container.build.xml
+++ b/modules/enterprise/server/appserver/src/main/scripts/rhq-container.build.xml
@@ -557,6 +557,7 @@ rhq.server.concurrency-limit.content-report=5
rhq.server.concurrency-limit.content-download=5
rhq.server.concurrency-limit.measurement-report=10
rhq.server.concurrency-limit.measurement-schedule-request=10
+rhq.server.concurrency-limit.configuration-update=10
# Content Local Filesystem Repository
rhq.server.content.filesystem=${jboss.server.data.dir}/packagebits
diff --git a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/TestServerCommunicationsService.java b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/TestServerCommunicationsService.java
index 0a1c625..7ed7ffd 100644
--- a/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/TestServerCommunicationsService.java
+++ b/modules/enterprise/server/itests-2/src/test/java/org/rhq/enterprise/server/test/TestServerCommunicationsService.java
@@ -142,6 +142,13 @@ public class TestServerCommunicationsService implements TestServerCommunications
public void setMeasurementScheduleRequestConcurrencyLimit(Integer maxConcurrency) {
}
+ public Integer getConfigurationUpdateConcurrencyLimit() {
+ return 1;
+ }
+
+ public void setConfigurationUpdateConcurrencyLimit(Integer maxConcurrency) {
+ }
+
public Boolean getMaintenanceModeAtStartup() {
return Boolean.FALSE;
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsService.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsService.java
index 9c7909e..0d88020 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsService.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsService.java
@@ -45,6 +45,7 @@ import mazz.i18n.Logger;
import org.jboss.remoting.InvokerLocator;
import org.jboss.util.StringPropertyReplacer;
+import org.rhq.core.clientapi.server.configuration.ConfigurationServerService;
import org.rhq.core.clientapi.server.content.ContentServerService;
import org.rhq.core.clientapi.server.discovery.DiscoveryServerService;
import org.rhq.core.clientapi.server.measurement.MeasurementServerService;
@@ -645,6 +646,17 @@ public class ServerCommunicationsService implements ServerCommunicationsServiceM
}
@Override
+ public Integer getConfigurationUpdateConcurrencyLimit() {
+ return getServiceContainer().getConcurrencyManager().getConfiguredNumberOfPermitsAllowed(
+ ConfigurationServerService.CONCURRENCY_LIMIT_CONFIG_UPDATE);
+ }
+
+ @Override
+ public void setConfigurationUpdateConcurrencyLimit(Integer maxConcurrency) {
+ setConcurrencyLimit(ConfigurationServerService.CONCURRENCY_LIMIT_CONFIG_UPDATE, maxConcurrency, true);
+ }
+
+ @Override
public Boolean getMaintenanceModeAtStartup() {
InputStream inputStream = null;
Boolean flag;
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsServiceMBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsServiceMBean.java
index 9c8c993..5d4c319 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsServiceMBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/comm/ServerCommunicationsServiceMBean.java
@@ -340,6 +340,23 @@ public interface ServerCommunicationsServiceMBean extends ServiceContainerMetric
void setMeasurementScheduleRequestConcurrencyLimit(Integer maxConcurrency);
/**
+ * Gets the concurrency limit for configuration updates. This is the amount of new configuration updates that the server
+ * will allow to be processed concurrently. A configuration update is something the agent originates when it needs to
+ * let the server know when a resource's configuration has changed.
+ *
+ * @return number of concurrent calls allowed
+ */
+ Integer getConfigurationUpdateConcurrencyLimit();
+
+ /**
+ * Sets the new concurrency limit for configuration updates. This new number is the amount of configuration updates
+ * that the server will allow to be processed concurrently.
+ *
+ * @param maxConcurrency
+ */
+ void setConfigurationUpdateConcurrencyLimit(Integer maxConcurrency);
+
+ /**
* Returns <code>true</code> if the server should always start up in maintenance mode.
* If <code>false</code>, the server will startup in the same state it was in when it
* was shutdown.
diff --git a/modules/plugins/rhq-server/src/main/resources/META-INF/rhq-plugin.xml b/modules/plugins/rhq-server/src/main/resources/META-INF/rhq-plugin.xml
index 84289ad..ee3fbd1 100644
--- a/modules/plugins/rhq-server/src/main/resources/META-INF/rhq-plugin.xml
+++ b/modules/plugins/rhq-server/src/main/resources/META-INF/rhq-plugin.xml
@@ -616,6 +616,13 @@
required="true"
activationPolicy="immediate"
description="Number of measurement schedule requests that can be processed concurrently; if zero or less, there is no limit" />
+ <c:simple-property
+ name="ConfigurationUpdateConcurrencyLimit"
+ displayName="Configuration Update Concurrency Limit"
+ type="integer"
+ required="true"
+ activationPolicy="immediate"
+ description="Number of configuration updates originating from agents that can be processed concurrently; if zero or less, there is no limit" />
</c:group>
<c:group
name="ha"
commit 532c73f05d278ef150056370ad84e4f12eb0de36
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Feb 19 17:02:19 2013 +0100
Follow the recent changes in availability handling and add another test.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/ResourceHandlerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/ResourceHandlerBean.java
index 8142f17..ec42c3c 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/ResourceHandlerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/ResourceHandlerBean.java
@@ -31,6 +31,8 @@ import java.util.UUID;
import javax.ejb.EJB;
import javax.ejb.Stateless;
+import javax.ejb.TransactionAttribute;
+import javax.ejb.TransactionAttributeType;
import javax.interceptor.Interceptors;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@@ -356,6 +358,7 @@ public class ResourceHandlerBean extends AbstractRestBean {
@PUT
@Path("/{id}/availability")
@ApiOperation("Set the current availability of the passed resource")
+ @TransactionAttribute(TransactionAttributeType.NEVER)
public void reportAvailability(@ApiParam("Id of the resource to update") @PathParam("id") int resourceId,
@ApiParam(value= "New Availability setting", required = true) AvailabilityRest avail) {
if (avail.getResourceId() != resourceId)
@@ -368,11 +371,12 @@ public class ResourceHandlerBean extends AbstractRestBean {
// According to jshaughn, plaforms must not be set to DISABLED, so catch this case here.
if (resource.getResourceType().getCategory()==ResourceCategory.PLATFORM && at==AvailabilityType.DISABLED) {
- throw new BadArgumentException("Availabilty","Platforms must not be set to DISABLED");
+ throw new BadArgumentException("Availability","Platforms must not be set to DISABLED");
}
+ Agent agent = agentMgr.getAgentByResourceId(caller,resourceId);
- AvailabilityReport report = new AvailabilityReport(true, resource.getAgent().getName());
+ AvailabilityReport report = new AvailabilityReport(true, agent.getName());
Availability availability = new Availability(resource, avail.getSince(), at);
report.addAvailability(availability);
diff --git a/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/ResourcesTest.java b/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/ResourcesTest.java
index 6899995..27bf5a2 100644
--- a/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/ResourcesTest.java
+++ b/modules/integration-tests/rest-api/src/test/java/org/rhq/modules/integrationTests/restApi/ResourcesTest.java
@@ -220,6 +220,61 @@ public class ResourcesTest extends AbstractBase {
}
@Test
+ public void testCreatePlatformUpdateAvailabilityAndRemove() throws Exception {
+
+ Resource resource = new Resource();
+ resource.setResourceName("dummy-test");
+ resource.setTypeName("Linux");
+
+ Response response =
+ given()
+ .header(acceptXml)
+ .contentType(ContentType.JSON)
+ .body(resource)
+ .expect()
+ .statusCode(201)
+ .log().ifError()
+ .when()
+ .post("/resource/platforms");
+
+ XmlPath xmlPath = response.xmlPath();
+ Node resource1 = xmlPath.get("resource");
+ Node platformIdNode = resource1.get("resourceId");
+ String platformId = platformIdNode.value();
+
+ try {
+ long now = System.currentTimeMillis()-100;
+ given().body("{\"since\":" + now + ",\"type\":\"DOWN\",\"resourceId\":" + platformId + "}")
+ .header("Content-Type","application/json")
+ .header("Accept","application/json")
+ .pathParam("id",platformId)
+ .expect()
+ .statusCode(HttpStatus.SC_NO_CONTENT)
+ .log().ifError()
+ .when().put("/resource/{id}/availability");
+
+ now += 50;
+ given().body("{\"since\":" + now + ",\"type\":\"UP\",\"resourceId\":" + platformId + "}")
+ .header("Content-Type","application/json")
+ .header("Accept","application/json")
+ .pathParam("id",platformId)
+ .expect()
+ .statusCode(HttpStatus.SC_NO_CONTENT)
+ .log().ifError()
+ .when().put("/resource/{id}/availability");
+
+
+ }
+
+ finally {
+ given().pathParam("id", platformId)
+ .expect().statusCode(HttpStatus.SC_NO_CONTENT)
+ .when().delete("/resource/{id}");
+ }
+
+ }
+
+ @Test
public void testCreatePlatformOLDAndRemove() throws Exception {
Response response =
commit 7189891da688fc90f5b3b5dc78a6706f1cd57060
Author: Thomas Segismont <tsegismo(a)redhat.com>
Date: Mon Feb 18 19:39:10 2013 +0100
BZ911172 - Creating mail server fails with EAP 6.1.0.DR4 if outbound-socket-binding-ref is not filled
Mail server outbound-socket-binding-ref now mandatory in UI
diff --git a/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml b/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml
index ba4fe29..03dd318 100644
--- a/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml
+++ b/modules/plugins/jboss-as-7/src/main/resources/META-INF/rhq-plugin.xml
@@ -11670,7 +11670,7 @@
</plugin-configuration>
<resource-configuration>
- <c:simple-property name="outbound-socket-binding-ref" required="false" type="string" readOnly="false" description="Outbound Socket binding to SMTP server">
+ <c:simple-property name="outbound-socket-binding-ref" required="true" type="string" readOnly="false" description="Outbound Socket binding to SMTP server">
<c:option-source target="configuration" expression="*1/remote-destination-outbound-socket-binding=name:type=SocketBindingGroup"/>
</c:simple-property>
<c:simple-property name="password" required="false" type="string" readOnly="false" description="Password to authenticate on server"/>
@@ -11694,7 +11694,7 @@
</plugin-configuration>
<resource-configuration>
- <c:simple-property name="outbound-socket-binding-ref" required="false" type="string" readOnly="false" description="Outbound Socket binding to IMAP server">
+ <c:simple-property name="outbound-socket-binding-ref" required="true" type="string" readOnly="false" description="Outbound Socket binding to IMAP server">
<c:option-source target="configuration" expression="*1/remote-destination-outbound-socket-binding=name:type=SocketBindingGroup"/>
</c:simple-property>
<c:simple-property name="password" required="false" type="string" readOnly="false" description="Password to authenticate on server"/>
@@ -11718,7 +11718,7 @@
</plugin-configuration>
<resource-configuration>
- <c:simple-property name="outbound-socket-binding-ref" required="false" type="string" readOnly="false" description="Outbound Socket binding to POP3 server">
+ <c:simple-property name="outbound-socket-binding-ref" required="true" type="string" readOnly="false" description="Outbound Socket binding to POP3 server">
<c:option-source target="configuration" expression="*1/remote-destination-outbound-socket-binding=name:type=SocketBindingGroup"/>
</c:simple-property>
<c:simple-property name="password" required="false" type="string" readOnly="false" description="Password to authenticate on server"/>
commit 3dfeb0200b33373de0e9899f659b76c8d27a8648
Author: Thomas Segismont <tsegismo(a)redhat.com>
Date: Tue Feb 19 11:07:16 2013 +0100
Fix AS7 plugin itest failures due to misuse of context.getNativeProcess
diff --git a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseServerComponent.java b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseServerComponent.java
index dcf21d3..42c19ba 100644
--- a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseServerComponent.java
+++ b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseServerComponent.java
@@ -51,6 +51,7 @@ import org.rhq.core.pluginapi.util.ProcessExecutionUtility;
import org.rhq.core.pluginapi.util.StartScriptConfiguration;
import org.rhq.core.system.ProcessExecution;
import org.rhq.core.system.ProcessExecutionResults;
+import org.rhq.core.system.ProcessInfo;
import org.rhq.core.system.SystemInfo;
import org.rhq.core.util.PropertiesFileUpdate;
import org.rhq.modules.plugins.jbossas7.helper.HostConfiguration;
@@ -69,8 +70,8 @@ import org.rhq.modules.plugins.jbossas7.json.Result;
* @author Heiko W. Rupp
* @author Ian Springer
*/
-public abstract class BaseServerComponent<T extends ResourceComponent<?>> extends BaseComponent<T>
- implements MeasurementFacet {
+public abstract class BaseServerComponent<T extends ResourceComponent<?>> extends BaseComponent<T> implements
+ MeasurementFacet {
private static final String SEPARATOR = "\n-----------------------\n";
@@ -88,9 +89,8 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
serverPluginConfig = new ServerPluginConfiguration(pluginConfiguration);
connection = new ASConnection(serverPluginConfig.getHostname(), serverPluginConfig.getPort(),
- serverPluginConfig.getUser(), serverPluginConfig.getPassword());
- @SuppressWarnings("UnusedDeclaration")
- AvailabilityType avail = getAvailability();
+ serverPluginConfig.getUser(), serverPluginConfig.getPassword());
+ getAvailability();
logFileEventDelegate = new LogFileEventResourceComponentHelper(context);
logFileEventDelegate.startLogFileEventPollers();
startScriptConfig = new StartScriptConfiguration(pluginConfiguration);
@@ -127,7 +127,7 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
private void validateServerAttributes() throws InvalidPluginConfigurationException {
// Validate the base dir (e.g. /opt/jboss-as-7.1.1.Final/standalone).
File runtimeBaseDir;
- File baseDir=null;
+ File baseDir = null;
try {
String runtimeBaseDirString = readAttribute(getEnvironmentAddress(), getBaseDirAttributeName());
// Canonicalize both paths before comparing them!
@@ -142,12 +142,12 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
log.error("Failed to validate base dir for " + getResourceDescription() + ".", e);
}
if ((runtimeBaseDir != null) && (baseDir != null)) {
- if(!runtimeBaseDir.equals(baseDir)) {
+ if (!runtimeBaseDir.equals(baseDir)) {
throw new InvalidPluginConfigurationException("The server listening on "
- + serverPluginConfig.getHostname() + ":" + serverPluginConfig.getPort()
- + " has base dir [" + runtimeBaseDir + "], but the base dir we expected was [" + baseDir
- + "]. Perhaps the management hostname or port has been changed for the server with base dir ["
- + baseDir + "].");
+ + serverPluginConfig.getHostname() + ":" + serverPluginConfig.getPort() + " has base dir ["
+ + runtimeBaseDir + "], but the base dir we expected was [" + baseDir
+ + "]. Perhaps the management hostname or port has been changed for the server with base dir ["
+ + baseDir + "].");
}
}
@@ -161,9 +161,9 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
}
if (runtimeMode != null) {
String mode = getMode().name();
- if(!runtimeMode.equals(mode)) {
- throw new InvalidPluginConfigurationException("The original mode discovered for this AS7 server was " +
- getMode() + ", but the server is now reporting its mode is [" + runtimeMode + "].");
+ if (!runtimeMode.equals(mode)) {
+ throw new InvalidPluginConfigurationException("The original mode discovered for this AS7 server was "
+ + getMode() + ", but the server is now reporting its mode is [" + runtimeMode + "].");
}
}
@@ -171,8 +171,8 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
JBossProductType runtimeType;
try {
String runtimeTypeString = readAttribute("product-name");
- runtimeType = (runtimeTypeString != null && !runtimeTypeString.isEmpty()) ?
- JBossProductType.getValueByProductName(runtimeTypeString) : JBossProductType.AS;
+ runtimeType = (runtimeTypeString != null && !runtimeTypeString.isEmpty()) ? JBossProductType
+ .getValueByProductName(runtimeTypeString) : JBossProductType.AS;
} catch (Exception e) {
runtimeType = null;
log.error("Failed to validate product type for " + getResourceDescription() + ".", e);
@@ -180,8 +180,9 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
if (runtimeType != null) {
JBossProductType type = serverPluginConfig.getProductType();
if (runtimeType != type) {
- throw new InvalidPluginConfigurationException("The original product type discovered for this AS7 server was "
- + type + ", but the server is now reporting its product type is [" + runtimeType + "].");
+ throw new InvalidPluginConfigurationException(
+ "The original product type discovered for this AS7 server was " + type
+ + ", but the server is now reporting its product type is [" + runtimeType + "].");
}
}
}
@@ -225,7 +226,7 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
List<String> errors = validateStartScriptPluginConfigProps();
if (!errors.isEmpty()) {
- OperationResult result = new OperationResult();
+ OperationResult result = new OperationResult();
setErrorMessage(result, errors);
return result;
}
@@ -279,9 +280,17 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
if (hostPort.isLocal) {
// lets be paranoid here
- while (context.getNativeProcess() != null && context.getNativeProcess().priorSnaphot() != null
- && context.getNativeProcess().priorSnaphot().isRunning()
- && count++ <= 20) {
+ for (; count <= 20; count++) {
+ ProcessInfo processInfo = context.getNativeProcess();
+ if (processInfo == null) {
+ // Process not found, so it died, that's fine
+ break;
+ }
+ if (!processInfo.priorSnaphot().isRunning()) {
+ // Process info says process is no longer running, that's fine
+ break;
+ }
+ // Process is still running, wait a second and check again
try {
Thread.sleep(1000); // Wait 1s
} catch (InterruptedException e) {
@@ -314,7 +323,7 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
String startScriptPrefix = startScriptConfig.getStartScriptPrefix();
File startScriptFile = getStartScriptFile();
ProcessExecution processExecution = ProcessExecutionUtility.createProcessExecution(startScriptPrefix,
- startScriptFile);
+ startScriptFile);
List<String> arguments = processExecution.getArguments();
if (arguments == null) {
@@ -352,7 +361,8 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
if (results.getError() != null) {
operationResult.setErrorMessage(results.getError().getMessage());
} else if (results.getExitCode() != null) {
- operationResult.setErrorMessage("Start failed with error code " + results.getExitCode() + ":\n" + results.getCapturedOutput());
+ operationResult.setErrorMessage("Start failed with error code " + results.getExitCode() + ":\n"
+ + results.getCapturedOutput());
} else {
// Try to connect to the server - ping once per second, timing out after 20s.
boolean up = waitForServerToStart();
@@ -368,7 +378,7 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
}
private boolean isManuallyAddedServer(OperationResult operationResult, String operation) {
- if (pluginConfiguration.get("manuallyAdded")!=null) {
+ if (pluginConfiguration.get("manuallyAdded") != null) {
operationResult.setErrorMessage(operation + " is not enabled for manually added servers");
return true;
}
@@ -410,8 +420,8 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
Map<String, String> startScriptEnv = startScriptConfig.getStartScriptEnv();
if (startScriptEnv.isEmpty()) {
errors.add("No start script environment variables are set. At a minimum, PATH should be set "
- + "(on UNIX, it should contain at least /bin and /usr/bin). It is recommended that "
- + "JAVA_HOME also be set, otherwise the PATH will be used to find java.");
+ + "(on UNIX, it should contain at least /bin and /usr/bin). It is recommended that "
+ + "JAVA_HOME also be set, otherwise the PATH will be used to find java.");
}
return errors;
@@ -438,7 +448,7 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
int count = 0;
while (!up) {
Operation op = new ReadAttribute(new Address(), "release-version");
- try{
+ try {
Result res = getASConnection().execute(op);
if (res.isSuccess()) { // If op succeeds, server is not down
up = true;
@@ -478,7 +488,7 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
*/
protected OperationResult postProcessResult(String name, Result res) {
OperationResult operationResult = new OperationResult();
- if (res==null) {
+ if (res == null) {
operationResult.setErrorMessage("No result received from server");
return operationResult;
}
@@ -490,29 +500,29 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
* reading, this is a good sign.
*/
if (!res.isSuccess()) {
- if (res.getRhqThrowable()!=null && (res.getRhqThrowable() instanceof ConnectException || res.getRhqThrowable().getMessage().equals("Connection refused"))) {
+ if (res.getRhqThrowable() != null
+ && (res.getRhqThrowable() instanceof ConnectException || res.getRhqThrowable().getMessage()
+ .equals("Connection refused"))) {
operationResult.setSimpleResult("Success");
- log.debug("Got a ConnectionRefused for operation " + name + " this is considered ok, as the remote server sometimes closes the communications channel before sending a reply");
+ log.debug("Got a ConnectionRefused for operation "
+ + name
+ + " this is considered ok, as the remote server sometimes closes the communications channel before sending a reply");
}
if (res.getFailureDescription().contains("Socket closed")) { // See https://issues.jboss.org/browse/AS7-4192
operationResult.setSimpleResult("Success");
- log.debug("Got a 'Socket closed' result from AS for operation " + name );
- }
- else
+ log.debug("Got a 'Socket closed' result from AS for operation " + name);
+ } else
operationResult.setErrorMessage(res.getFailureDescription());
- }
- else {
+ } else {
operationResult.setSimpleResult("Success");
}
- }
- else {
+ } else {
if (res.isSuccess()) {
- if (res.getResult()!=null)
+ if (res.getResult() != null)
operationResult.setSimpleResult(res.getResult().toString());
else
operationResult.setSimpleResult("-None provided by server-");
- }
- else
+ } else
operationResult.setErrorMessage(res.getFailureDescription());
}
return operationResult;
@@ -525,8 +535,9 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
OperationResult result = new OperationResult();
PropertySimple remoteProp = pluginConfig.getSimple("manuallyAdded");
- if (remoteProp!=null && remoteProp.getBooleanValue()!= null && remoteProp.getBooleanValue()) {
- result.setErrorMessage("This is a manually added server. This operation can not be used to install a management user. Use the server's 'bin/add-user.sh'");
+ if (remoteProp != null && remoteProp.getBooleanValue() != null && remoteProp.getBooleanValue()) {
+ result
+ .setErrorMessage("This is a manually added server. This operation can not be used to install a management user. Use the server's 'bin/add-user.sh'");
return result;
}
@@ -537,7 +548,8 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
File baseDir = serverPluginConfig.getBaseDir();
if (baseDir == null) {
- result.setErrorMessage("'" + ServerPluginConfiguration.Property.BASE_DIR + "' plugin config prop is not set.");
+ result.setErrorMessage("'" + ServerPluginConfiguration.Property.BASE_DIR
+ + "' plugin config prop is not set.");
return result;
}
@@ -562,14 +574,13 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
PropertiesFileUpdate propsFileUpdate = new PropertiesFileUpdate(propertiesFile.getPath());
userAlreadyExisted = propsFileUpdate.update(user, encryptedPassword);
} catch (Exception e) {
- throw new RuntimeException("Failed to update management users properties file [" + propertiesFile + "].",
- e);
+ throw new RuntimeException("Failed to update management users properties file [" + propertiesFile + "].", e);
}
String verb = (userAlreadyExisted) ? "updated" : "added";
result.setSimpleResult("Management user [" + user + "] " + verb + ".");
log.info("Management user [" + user + "] " + verb + " for " + context.getResourceType().getName()
- + " server with key [" + context.getResourceKey() + "].");
+ + " server with key [" + context.getResourceKey() + "].");
context.getAvailabilityContext().requestAvailabilityCheck();
context.getInventoryContext().requestDeferredChildResourcesDiscovery();
@@ -588,7 +599,7 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
public void getValues(MeasurementReport report, Set<MeasurementScheduleRequest> requests) throws Exception {
Set<MeasurementScheduleRequest> skmRequests = new HashSet<MeasurementScheduleRequest>(requests.size());
Set<MeasurementScheduleRequest> leftovers = new HashSet<MeasurementScheduleRequest>(requests.size());
- for (MeasurementScheduleRequest request: requests) {
+ for (MeasurementScheduleRequest request : requests) {
String requestName = request.getName();
if (requestName.equals("startTime")) {
collectStartTimeTrait(report, request);
@@ -681,14 +692,14 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
op.includeRuntime(true);
ComplexResult res = getASConnection().executeComplex(op);
if (res.isSuccess()) {
- Map<String,Object> props = res.getResult();
+ Map<String, Object> props = res.getResult();
- for (MeasurementScheduleRequest request: skmRequests) {
+ for (MeasurementScheduleRequest request : skmRequests) {
String requestName = request.getName();
String realName = requestName.substring(requestName.indexOf(':') + 1);
- String val=null;
+ String val = null;
if (props.containsKey(realName)) {
- val = getStringValue( props.get(realName) );
+ val = getStringValue(props.get(realName));
}
if ("null".equals(val)) {
@@ -699,7 +710,7 @@ public abstract class BaseServerComponent<T extends ResourceComponent<?>> extend
else
log.debug("Value for " + realName + " was 'null' and no replacement found");
}
- MeasurementDataTrait data = new MeasurementDataTrait(request,val);
+ MeasurementDataTrait data = new MeasurementDataTrait(request, val);
report.addData(data);
}
} else {
diff --git a/modules/plugins/jboss-as-7/src/test/java/org/rhq/modules/plugins/jbossas7/itest/AbstractServerComponentTest.java b/modules/plugins/jboss-as-7/src/test/java/org/rhq/modules/plugins/jbossas7/itest/AbstractServerComponentTest.java
index f6f1502..7aa92b6 100644
--- a/modules/plugins/jboss-as-7/src/test/java/org/rhq/modules/plugins/jbossas7/itest/AbstractServerComponentTest.java
+++ b/modules/plugins/jboss-as-7/src/test/java/org/rhq/modules/plugins/jbossas7/itest/AbstractServerComponentTest.java
@@ -62,6 +62,7 @@ public abstract class AbstractServerComponentTest extends AbstractJBossAS7Plugin
private static final Map<String, String> EAP6_VERSION_TO_AS7_VERSION_MAP = new HashMap<String, String>();
static {
EAP6_VERSION_TO_AS7_VERSION_MAP.put("6.0.0", "7.1.2.Final-redhat-1");
+ EAP6_VERSION_TO_AS7_VERSION_MAP.put("6.0.1", "7.1.3.Final-redhat-4");
}
private static final String RELEASE_VERSION_TRAIT_NAME = "_skm:release-version";
commit 43a268f07024873ad666fb3fda5713199f163dde
Author: Jay Shaughnessy <jshaughn(a)jshaughn.csb>
Date: Mon Feb 18 14:09:31 2013 -0500
Fix resource bulk delete when the resource is a member of
groups, on oracle. The issue is that a native Query is used that
returns resource group ids and since Oracle represents integers
as Number, it actually returns a BigDecimal, not an Integer, for
the Ids. Deal with it in the generic way we deal with DB
type differences.
diff --git a/modules/core/dbutils/src/main/java/org/rhq/core/db/DatabaseType.java b/modules/core/dbutils/src/main/java/org/rhq/core/db/DatabaseType.java
index fb62e4c..9e141a8 100644
--- a/modules/core/dbutils/src/main/java/org/rhq/core/db/DatabaseType.java
+++ b/modules/core/dbutils/src/main/java/org/rhq/core/db/DatabaseType.java
@@ -274,6 +274,19 @@ public abstract class DatabaseType {
}
/**
+ * Get the Integer representation of the number type supplied by the db vendor for an integer field value.
+ * The default implementation simply applies a cast to the passed in number and is appropriate for DB types
+ * that support a native integer field type (like Postgres). Other db types should override this method
+ * (like Oracle).
+ *
+ * @param number
+ * @return
+ */
+ public Integer getInteger(Object number) {
+ return (Integer) number;
+ }
+
+ /**
* Fill out a <code>PreparedStatement</code> correctly with a boolean.
*
* @param bool the boolean you want
diff --git a/modules/core/dbutils/src/main/java/org/rhq/core/db/OracleDatabaseType.java b/modules/core/dbutils/src/main/java/org/rhq/core/db/OracleDatabaseType.java
index 9dcbb89..15ee0af 100644
--- a/modules/core/dbutils/src/main/java/org/rhq/core/db/OracleDatabaseType.java
+++ b/modules/core/dbutils/src/main/java/org/rhq/core/db/OracleDatabaseType.java
@@ -18,6 +18,7 @@
*/
package org.rhq.core.db;
+import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
@@ -46,6 +47,7 @@ public abstract class OracleDatabaseType extends DatabaseType {
*
* @see DatabaseType#getVendor()
*/
+ @Override
public String getVendor() {
return VENDOR;
}
@@ -55,10 +57,23 @@ public abstract class OracleDatabaseType extends DatabaseType {
*
* @see DatabaseType#getBooleanValue(boolean)
*/
+ @Override
public String getBooleanValue(boolean bool) {
return bool ? "1" : "0";
}
+ /* (non-Javadoc)
+ * @see org.rhq.core.db.DatabaseType#getInteger(java.lang.Object)
+ *
+ * Oracle stores integer fields as Numbers and returns a BigDecimal. It is assumed <code>number</code> is actually
+ * an integer value, otherwise precision will be lost in this conversion.
+ */
+ @Override
+ public Integer getInteger(Object number) {
+ BigDecimal intField = (BigDecimal) number;
+ return intField.intValue();
+ }
+
/**
* For Oracle databases, the boolean parameter will actually be of type "int" with a value of 0 or 1.
*
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
index 384a432..d3fd1ee 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
@@ -45,6 +45,7 @@ import org.apache.commons.logging.LogFactory;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import org.rhq.core.db.DatabaseType;
import org.rhq.core.db.DatabaseTypeFactory;
import org.rhq.core.domain.alert.Alert;
import org.rhq.core.domain.alert.AlertCondition;
@@ -499,7 +500,10 @@ public class ResourceManagerBean implements ResourceManagerLocal, ResourceManage
// In other words, the implicit resources of a group have no impact on the group type (compatible/mixed).
Query nativeQuery = entityManager.createNativeQuery(ResourceGroup.QUERY_GET_GROUP_IDS_BY_RESOURCE_IDS);
nativeQuery.setParameter("resourceIds", resourceIds);
- List<Integer> groupIds = nativeQuery.getResultList();
+ // Note that different DB vendors return different types for IDs because the representation
+ // is different at the storage layer. This is an em native query so we need to handle the differences.
+ // Postgres will return an Integer, but Oracle returns a BigDecimal, etc.
+ List<?> rs = nativeQuery.getResultList();
String[] nativeQueriesToExecute = new String[] { //
ResourceGroup.QUERY_DELETE_EXPLICIT_BY_RESOURCE_IDS, // unmap from explicit groups
@@ -514,9 +518,13 @@ public class ResourceManagerBean implements ResourceManagerLocal, ResourceManage
}
// update the resource type of affected groups by calling setResouceType()
- for (int groupId : groupIds) {
+ DatabaseType dbType = DatabaseTypeFactory.getDefaultDatabaseType();
+ Integer groupId = null;
+ for (int i = 0, size = rs.size(); i < size; ++i) {
try {
+ groupId = dbType.getInteger(rs.get(i));
resourceGroupManager.setResourceType(groupId);
+
} catch (ResourceGroupDeleteException rgde) {
log.warn("Unable to change resource type for group with id [" + groupId + "]", rgde);
}
11 years, 3 months
[rhq] modules/enterprise
by mazz
dev/null |binary
1 file changed
New commits:
commit 369633cd9ab6a42d24c98a8c599f8a134fb5cc95
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Feb 21 15:12:05 2013 -0500
this should not be here
diff --git a/modules/enterprise/server/jar/lib/log4jdbc4-1.2beta2.jar b/modules/enterprise/server/jar/lib/log4jdbc4-1.2beta2.jar
deleted file mode 100644
index 3d6f466..0000000
Binary files a/modules/enterprise/server/jar/lib/log4jdbc4-1.2beta2.jar and /dev/null differ
11 years, 3 months