modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/tree/BundleTreeDataSource.java | 2 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java | 33 ++ modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTabSet.java | 45 +++ modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTab.java | 26 +- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java | 16 - modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTab.java | 13 - modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/TwoLevelTabSet.java | 14 - modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/ViewName.java | 6 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java | 18 - modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java | 109 +++++---- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java | 120 +++++----- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/util/selenium/LocatableTabSet.java | 2 modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 6 13 files changed, 272 insertions(+), 138 deletions(-)
New commits: commit 521531d4002b1bc7217a864ad6190af7ca84f728 Author: Jay Shaughnessy jshaughn@redhat.com Date: Fri Nov 19 21:27:41 2010 -0500
I18N Work: Tabs - tabbed views had/have a problem similar to the issue we had with our view ids. In short, Tab provides only a title, which we were using both for display and for viewpaths. I added NamedTab to allow us to keep localized strings out of our urls, and to provide separation between internal name and external title. NamedTab uses the same ViewName class introduced for the ViewId issue. Also, there is an analogous NamedTabSet. Names are now used for all non-display needs that were using title. (as an aside, I don't care for ViewName but couldn't think of anything better. Maybe NamedView, NamedItem, NamedTitle... if you have a pref we can change it). I applied the change to the Resource and ResourceGroup detail views. But note that NamedTabSets may need to be applied where we are currently using LocatableTabSets. It depends on whether the titles are being used in any bookmarkable way. Needing potential change: - SingleAlertDefinitionView - BundleView - BundleVersionView - ConfigurationEditor - DashboardsView - fixed use of wrong prop in BundleTreeDataSource - added a few more missing props
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/tree/BundleTreeDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/tree/BundleTreeDataSource.java index 7cdb894..e105374 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/tree/BundleTreeDataSource.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/bundle/tree/BundleTreeDataSource.java @@ -188,7 +188,7 @@ public class BundleTreeDataSource extends RPCDataSource { TreeNode deploymentsNode = new TreeNode(MSG.view_bundle_destinations()); deploymentsNode.setID(bundle.getId() + "_destinations"); deploymentsNode.setParentID(String.valueOf(bundle.getId())); - deploymentsNode.setName(MSG.view_bundle_versions()); + deploymentsNode.setName(MSG.view_bundle_destinations()); records.add(deploymentsNode); } } 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 new file mode 100644 index 0000000..848d760 --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTab.java @@ -0,0 +1,33 @@ +package org.rhq.enterprise.gui.coregui.client.components.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. + * + * @author Jay Shaughnessy + */ +public class NamedTab extends LocatableTab { + + private ViewName viewName; + + public NamedTab(String locatorId, ViewName viewName, String icon) { + super(locatorId, viewName.getTitle(), icon); + this.viewName = viewName; + } + + public ViewName getViewName() { + return viewName; + } + + public String getName() { + return viewName.getName(); + } + + public String getTitle() { + return viewName.getTitle(); + } + +} 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 new file mode 100644 index 0000000..e7d4a98 --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/NamedTabSet.java @@ -0,0 +1,45 @@ +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; + +/** + * A Wrapper for org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet allowing for a Set of NamedTabs. + * + * @author Jay Shaughnessy + */ +public class NamedTabSet extends LocatableTabSet { + + public NamedTabSet(String locatorId) { + super(locatorId); + } + + public void setTabs(NamedTab... tabs) { + super.setTabs(tabs); + } + + public NamedTab[] getTabs() { + Tab[] tabs = super.getTabs(); + NamedTab[] namedTabs = new NamedTab[tabs.length]; + for (int i = 0, tabsLength = tabs.length; i < tabsLength; i++) { + Tab tab = tabs[i]; + if (!(tab instanceof NamedTab)) { + throw new IllegalStateException("NamedTabSet contains a Tab that is not a NamedTab."); + } + namedTabs[i] = (NamedTab) tab; + } + return namedTabs; + } + + public NamedTab getTabByName(String name) { + NamedTab[] tabs = getTabs(); + for (NamedTab tab : tabs) { + if (tab.getName().equals(name)) { + return tab; + } + } + return null; + } + +} 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 e149772..b6296d7 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 @@ -21,6 +21,7 @@ package org.rhq.enterprise.gui.coregui.client.components.tab;
import com.smartgwt.client.widgets.Canvas;
+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.LocatableButton;
@@ -31,13 +32,13 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableButton; */ public class SubTab implements Locatable { private String locatorId; - private String title; + private ViewName viewName; private Canvas canvas; private LocatableButton button;
- public SubTab(String locatorId, String title, Canvas canvas) { + public SubTab(String locatorId, ViewName viewName, Canvas canvas) { this.locatorId = locatorId; - this.title = title; + this.viewName = viewName; this.canvas = canvas; this.button = null; } @@ -46,10 +47,6 @@ public class SubTab implements Locatable { return locatorId; }
- public String getTitle() { - return title; - } - public Canvas getCanvas() { return canvas; } @@ -66,6 +63,18 @@ public class SubTab implements Locatable { this.button = button; }
+ public ViewName getViewName() { + return viewName; + } + + public String getName() { + return viewName.getName(); + } + + public String getTitle() { + return viewName.getTitle(); + } + @Override public String extendLocatorId(String extension) { return this.locatorId + "_" + extension; @@ -73,6 +82,7 @@ public class SubTab implements Locatable {
@Override public String toString() { - return "SubTab[title=" + this.title + ", locatorId=" + this.locatorId + "]"; + return "SubTab[title=" + this.viewName.getTitle() + ", name=" + this.viewName.getName() + ", locatorId=" + + this.locatorId + "]"; } } 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 135dcee..4797641 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 @@ -42,9 +42,9 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout; */ public class SubTabLayout extends LocatableVLayout {
- /** maps subTab locator IDs to SubTabs */ + /** 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>(); - /** locator IDs of subTabs that are disabled */ + /** locator IDs of subTabs that are disabled. Unlike names, locator IDs are qualified by the Tab and therefore unique. */ private Set<String> disabledSubTabs = new HashSet<String>();
private SubTab currentlyDisplayed; @@ -221,10 +221,10 @@ public class SubTabLayout extends LocatableVLayout { return foundTab; }
- public SubTab getSubTabByTitle(String title) { + public SubTab getSubTabByName(String name) { for (String subTabLocatorId : this.subTabs.keySet()) { SubTab subTab = this.subTabs.get(subTabLocatorId); - if (subTab.getTitle().equals(title)) { + if (subTab.getName().equals(name)) { return subTab; } } @@ -242,14 +242,14 @@ public class SubTabLayout extends LocatableVLayout { return null; }
- public boolean selectSubTabByTitle(String title) { - SubTab subTab = getSubTabByTitle(title); + public boolean selectSubTabByName(String name) { + SubTab subTab = getSubTabByName(name); if (subTab == null) { return false; } else { if (this.disabledSubTabs.contains(subTab.getLocatorId())) { // 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(title)); + CoreGUI.getErrorHandler().handleError(MSG.view_subTab_error_disabled(subTab.getTitle())); return false; } this.currentlySelected = subTab.getLocatorId(); @@ -280,7 +280,7 @@ public class SubTabLayout extends LocatableVLayout { }
public void fireSubTabSelection() { - TwoLevelTabSelectedEvent event = new TwoLevelTabSelectedEvent("?", getCurrentSubTab().getTitle(), -1, + TwoLevelTabSelectedEvent event = new TwoLevelTabSelectedEvent("?", getCurrentSubTab().getName(), -1, getCurrentCanvas()); hm.fireEvent(event); } 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 4468d93..fa62e45 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 @@ -20,16 +20,17 @@ package org.rhq.enterprise.gui.coregui.client.components.tab;
import com.smartgwt.client.widgets.Canvas;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTab; +import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
/** * @author Greg Hinkle + * @author Jay Shaughnessy */ -public class TwoLevelTab extends LocatableTab { +public class TwoLevelTab extends NamedTab { private SubTabLayout layout;
- public TwoLevelTab(String locatorId, String title, String icon) { - super(locatorId, title, icon); + public TwoLevelTab(String locatorId, ViewName viewName, String icon) { + super(locatorId, viewName, icon);
layout = new SubTabLayout(locatorId); } @@ -56,8 +57,8 @@ public class TwoLevelTab extends LocatableTab { } }
- public SubTab getSubTabByTitle(String title) { - return this.layout.getSubTabByTitle(title); + public SubTab getSubTabByName(String name) { + return this.layout.getSubTabByName(name); }
public SubTab getSubTabByLocatorId(String locatorId) { 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 d8e29b2..e256299 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 @@ -24,14 +24,12 @@ import com.smartgwt.client.widgets.tab.Tab; import com.smartgwt.client.widgets.tab.events.TabSelectedEvent; import com.smartgwt.client.widgets.tab.events.TabSelectedHandler;
-import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableTabSet; - /** * A tab set where each {@link TwoLevelTab tab} has one or more {@link SubTab subtab}s. * * @author Greg Hinkle */ -public class TwoLevelTabSet extends LocatableTabSet implements TabSelectedHandler, TwoLevelTabSelectedHandler { +public class TwoLevelTabSet extends NamedTabSet implements TabSelectedHandler, TwoLevelTabSelectedHandler {
public TwoLevelTabSet(String locatorId) { super(locatorId); @@ -73,8 +71,8 @@ public class TwoLevelTabSet extends LocatableTabSet implements TabSelectedHandle TwoLevelTab tab = (TwoLevelTab) getSelectedTab(); SubTab currentSubTab = tab.getLayout().getCurrentSubTab(); if (null != currentSubTab) { - TwoLevelTabSelectedEvent event = new TwoLevelTabSelectedEvent(tab.getTitle(), tab.getLayout() - .getCurrentSubTab().getTitle(), tabSelectedEvent.getTabNum(), tab.getLayout().getCurrentCanvas()); + TwoLevelTabSelectedEvent event = new TwoLevelTabSelectedEvent(tab.getName(), tab.getLayout() + .getCurrentSubTab().getName(), tabSelectedEvent.getTabNum(), tab.getLayout().getCurrentCanvas()); m.fireEvent(event); } } @@ -82,7 +80,7 @@ public class TwoLevelTabSet extends LocatableTabSet implements TabSelectedHandle public void onTabSelected(TwoLevelTabSelectedEvent tabSelectedEvent) { tabSelectedEvent.setTabNum(getSelectedTabNumber()); Tab tab = getSelectedTab(); - tabSelectedEvent.setId(tab.getTitle()); + tabSelectedEvent.setId(this.getTabByTitle(tab.getTitle()).getName()); m.fireEvent(tabSelectedEvent); }
@@ -96,6 +94,10 @@ public class TwoLevelTabSet extends LocatableTabSet implements TabSelectedHandle return null; }
+ public TwoLevelTab getTabByName(String name) { + return (TwoLevelTab) super.getTabByName(name); + } + public TwoLevelTab getTabByTitle(String title) { return (TwoLevelTab) super.getTabByTitle(title); } diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/ViewName.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/ViewName.java index ebececd..e174c63 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/ViewName.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/view/ViewName.java @@ -2,6 +2,12 @@ package org.rhq.enterprise.gui.coregui.client.components.view;
import org.rhq.core.domain.util.StringUtils;
+/** + * A simple class that ties a private name to a displayed title. The title may very well change with locale but + * the name will stay constant. It's useful any time a viewable item does not itself provide for a name. + * + * @author Jay Shaughnessy + */ public class ViewName {
private String name; 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 a494a6b..f07f7dc 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 @@ -175,27 +175,27 @@ public abstract class AbstractTwoLevelTabSetView<T, U extends Layout> extends Lo /** * Select the tab/subtab with the specified titles (e.g. "Monitoring", "Graphs"). * - * @param tabTitle the title of the tab to select - if null, the default tab (the leftmost non-disabled one) will be selected - * @param subtabTitle the title of the subtab to select - if null, the default subtab (the leftmost non-disabled one) will be selected + * @param tabName the title of the tab to select - if null, the default tab (the leftmost non-disabled one) will be selected + * @param subtabName the title of the subtab to select - if null, the default subtab (the leftmost non-disabled one) will be selected * @param viewPath the view path, which may have additional view items to be rendered */ - public void selectTab(String tabTitle, String subtabTitle, ViewPath viewPath) { + public void selectTab(String tabName, String subtabName, ViewPath viewPath) { try { - TwoLevelTab tab = (tabTitle != null) ? this.tabSet.getTabByTitle(tabTitle) : this.tabSet.getDefaultTab(); + TwoLevelTab tab = (tabName != null) ? this.tabSet.getTabByName(tabName) : this.tabSet.getDefaultTab(); if (tab == null || tab.getDisabled()) { - CoreGUI.getErrorHandler().handleError("Invalid tab name: " + tabTitle); + CoreGUI.getErrorHandler().handleError(MSG.view_tabs_invalidTab(tabName)); // TODO: Should we fire a history event here to redirect to a valid bookmark? tab = this.tabSet.getDefaultTab(); if (tab == null) { throw new IllegalStateException("No default tab is defined."); } - subtabTitle = null; + subtabName = null; } // Do *not* select the tab and trigger the tab selected event until the subtab has been selected first.
- SubTab subtab = (subtabTitle != null) ? tab.getSubTabByTitle(subtabTitle) : tab.getDefaultSubTab(); + SubTab subtab = (subtabName != null) ? tab.getSubTabByName(subtabName) : tab.getDefaultSubTab(); if (subtab == null || tab.getLayout().isSubTabDisabled(subtab)) { - CoreGUI.getErrorHandler().handleError("Invalid subtab name: " + subtabTitle); + CoreGUI.getErrorHandler().handleError(MSG.view_tabs_invalidSubTab(subtabName)); // TODO: Should we fire a history event here to redirect to a valid bookmark? subtab = tab.getLayout().getDefaultSubTab(); } @@ -214,7 +214,7 @@ public abstract class AbstractTwoLevelTabSetView<T, U extends Layout> extends Lo
this.tabSet.markForRedraw(); } catch (Exception e) { - com.allen_sauer.gwt.log.client.Log.info("Failed to select tab " + tabTitle + "/" + subtabTitle + ": " + e); + com.allen_sauer.gwt.log.client.Log.info("Failed to select tab " + tabName + "/" + subtabName + ": " + e); } }
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 7c82422..9897828 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 @@ -47,6 +47,7 @@ import org.rhq.enterprise.gui.coregui.client.components.FullHTMLPane; import org.rhq.enterprise.gui.coregui.client.components.tab.SubTab; import org.rhq.enterprise.gui.coregui.client.components.tab.TwoLevelTab; import org.rhq.enterprise.gui.coregui.client.components.tab.TwoLevelTabSelectedEvent; +import org.rhq.enterprise.gui.coregui.client.components.view.ViewName; import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup; import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.AbstractTwoLevelTabSetView; import org.rhq.enterprise.gui.coregui.client.inventory.common.event.EventCompositeHistoryView; @@ -101,8 +102,8 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource private SubTab configHistory; private SubTab eventHistory;
- private String currentTab; - private String currentSubTab; + private String currentTabName; + private String currentSubTabName;
public ResourceGroupDetailView(String locatorId, String baseViewPath) { super(locatorId, baseViewPath); @@ -118,14 +119,14 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource public void onTabSelected(TwoLevelTabSelectedEvent tabSelectedEvent) { // if moving from membership subtab then re-load the detail view as the membership and // group type may have changed. - if ((null != this.groupId) && this.inventoryTab.getTitle().equals(currentTab) - && this.inventoryMembership.getTitle().equals(currentSubTab)) { + if ((null != this.groupId) && this.inventoryTab.getName().equals(currentTabName) + && this.inventoryMembership.getName().equals(currentSubTabName)) {
String tabPath = "/" + tabSelectedEvent.getId() + "/" + tabSelectedEvent.getSubTabId(); String path = this.getBaseViewPath() + "/" + getSelectedItemId() + tabPath;
- this.currentTab = null; - this.currentSubTab = null; + this.currentTabName = null; + this.currentSubTabName = null; this.groupId = null;
CoreGUI.goToView(path); @@ -143,62 +144,76 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource protected List<TwoLevelTab> createTabs() { List<TwoLevelTab> tabs = new ArrayList<TwoLevelTab>();
- summaryTab = new TwoLevelTab(getTabSet().extendLocatorId("Summary"), MSG.view_tabs_common_summary(), - "/images/icons/Service_up_16.png"); - summaryOverview = new SubTab(summaryTab.extendLocatorId("Overview"), MSG.view_tabs_common_overview(), null); - summaryTimeline = new SubTab(summaryTab.extendLocatorId("Timeline"), MSG.view_tabs_common_timeline(), null); + summaryTab = new TwoLevelTab(getTabSet().extendLocatorId("Summary"), new ViewName("Summary", MSG + .view_tabs_common_summary()), "/images/icons/Service_up_16.png"); + summaryOverview = new SubTab(summaryTab.extendLocatorId("Overview"), new ViewName("Overview", MSG + .view_tabs_common_overview()), null); + summaryTimeline = new SubTab(summaryTab.extendLocatorId("Timeline"), new ViewName("Timeline", MSG + .view_tabs_common_timeline()), null); summaryTab.registerSubTabs(summaryOverview, summaryTimeline); tabs.add(summaryTab);
- monitoringTab = new TwoLevelTab(getTabSet().extendLocatorId("Monitoring"), MSG.view_tabs_common_monitoring(), - "/images/icons/Monitor_grey_16.png"); - monitorGraphs = new SubTab(monitoringTab.extendLocatorId("Graphs"), MSG.view_tabs_common_graphs(), null); - monitorTables = new SubTab(monitoringTab.extendLocatorId("Tables"), MSG.view_tabs_common_tables(), null); - monitorTraits = new SubTab(monitoringTab.extendLocatorId("Traits"), MSG.view_tabs_common_traits(), null); - - monitorSched = new SubTab(monitoringTab.extendLocatorId("Schedules"), MSG.view_tabs_common_schedules(), null); - monitorCallTime = new SubTab(monitoringTab.extendLocatorId("CallTime"), MSG.view_tabs_common_calltime(), null); + monitoringTab = new TwoLevelTab(getTabSet().extendLocatorId("Monitoring"), new ViewName("Monitoring", MSG + .view_tabs_common_monitoring()), "/images/icons/Monitor_grey_16.png"); + 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); monitoringTab.registerSubTabs(monitorGraphs, monitorTables, monitorTraits, monitorSched, monitorCallTime); tabs.add(monitoringTab);
- inventoryTab = new TwoLevelTab(getTabSet().extendLocatorId("Inventory"), MSG.view_tabs_common_inventory(), - "/images/icons/Inventory_grey_16.png"); - inventoryMembers = new SubTab(inventoryTab.extendLocatorId("Members"), MSG.view_tabs_common_members(), null); - inventoryConn = new SubTab(inventoryTab.extendLocatorId("ConnectionSettings"), MSG - .view_tabs_common_connectionSettings(), null); - inventoryConnHistory = new SubTab(inventoryTab.extendLocatorId("ConnectionSettingsHistory"), MSG - .view_tabs_common_connectionSettingsHistory(), null); - inventoryMembership = new SubTab(inventoryTab.extendLocatorId("Membership"), "Membership", null); // TODO this will merge with Members + inventoryTab = new TwoLevelTab(getTabSet().extendLocatorId("Inventory"), new ViewName("Inventory", MSG + .view_tabs_common_inventory()), "/images/icons/Inventory_grey_16.png"); + 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); + inventoryMembership = new SubTab(inventoryTab.extendLocatorId("Membership"), new ViewName("Membership", MSG + .view_tabs_common_membership()), null); // TODO this will merge with Members inventoryTab.registerSubTabs(this.inventoryMembers, this.inventoryConn, this.inventoryConnHistory, this.inventoryMembership); tabs.add(inventoryTab);
- operationsTab = new TwoLevelTab(getTabSet().extendLocatorId("Operations"), MSG.view_tabs_common_operations(), - "/images/icons/Operation_grey_16.png"); - this.opHistory = new SubTab(operationsTab.extendLocatorId("History"), MSG.view_tabs_common_history(), null); - this.opSched = new SubTab(operationsTab.extendLocatorId("Scheduled"), MSG.view_tabs_common_scheduled(), null); + operationsTab = new TwoLevelTab(getTabSet().extendLocatorId("Operations"), new ViewName("Operations", MSG + .view_tabs_common_operations()), "/images/icons/Operation_grey_16.png"); + this.opHistory = new SubTab(operationsTab.extendLocatorId("History"), new ViewName("History", MSG + .view_tabs_common_history()), null); + this.opSched = new SubTab(operationsTab.extendLocatorId("Scheduled"), new ViewName("Scheduled", MSG + .view_tabs_common_scheduled()), null); operationsTab.registerSubTabs(this.opHistory, this.opSched); tabs.add(operationsTab);
- alertsTab = new TwoLevelTab(getTabSet().extendLocatorId("Alerts"), MSG.view_tabs_common_alerts(), - "/images/icons/Alert_grey_16.png"); - this.alertHistory = new SubTab(alertsTab.extendLocatorId("History"), MSG.view_tabs_common_history(), null); - this.alertDef = new SubTab(alertsTab.extendLocatorId("Definitions"), MSG.view_tabs_common_definitions(), null); + alertsTab = new TwoLevelTab(getTabSet().extendLocatorId("Alerts"), new ViewName("Alerts", MSG + .view_tabs_common_alerts()), "/images/icons/Alert_grey_16.png"); + 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 + .view_tabs_common_definitions()), null); alertsTab.registerSubTabs(alertHistory, alertDef); tabs.add(alertsTab);
- configurationTab = new TwoLevelTab(getTabSet().extendLocatorId("Configuration"), MSG - .view_tabs_common_configuration(), "/images/icons/Configure_grey_16.png"); - this.configCurrent = new SubTab(configurationTab.extendLocatorId("Current"), MSG.view_tabs_common_current(), - null); - this.configHistory = new SubTab(configurationTab.extendLocatorId("History"), MSG.view_tabs_common_history(), - null); + configurationTab = new TwoLevelTab(getTabSet().extendLocatorId("Configuration"), new ViewName("Configuration", + MSG.view_tabs_common_configuration()), "/images/icons/Configure_grey_16.png"); + 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); configurationTab.registerSubTabs(this.configCurrent, this.configHistory); tabs.add(configurationTab);
- eventsTab = new TwoLevelTab(getTabSet().extendLocatorId("Events"), MSG.view_tabs_common_events(), - "/images/icons/Events_grey_16.png"); - this.eventHistory = new SubTab(eventsTab.extendLocatorId("History"), MSG.view_tabs_common_history(), null); + eventsTab = new TwoLevelTab(getTabSet().extendLocatorId("Events"), new ViewName("Events", MSG + .view_tabs_common_events()), "/images/icons/Events_grey_16.png"); + this.eventHistory = new SubTab(eventsTab.extendLocatorId("History"), new ViewName("History", MSG + .view_tabs_common_history()), null); eventsTab.registerSubTabs(eventHistory); tabs.add(eventsTab);
@@ -394,9 +409,9 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource }
@Override - public void selectTab(String tabTitle, String subtabTitle, ViewPath viewPath) { - currentTab = tabTitle; - currentSubTab = subtabTitle; - super.selectTab(tabTitle, subtabTitle, viewPath); + public void selectTab(String tabName, String subtabName, ViewPath viewPath) { + currentTabName = tabName; + currentSubTabName = subtabName; + super.selectTab(tabName, subtabName, viewPath); } } 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 6064964..190dda3 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 @@ -46,6 +46,7 @@ import org.rhq.enterprise.gui.coregui.client.alert.definitions.ResourceAlertDefi import org.rhq.enterprise.gui.coregui.client.components.FullHTMLPane; import org.rhq.enterprise.gui.coregui.client.components.tab.SubTab; import org.rhq.enterprise.gui.coregui.client.components.tab.TwoLevelTab; +import org.rhq.enterprise.gui.coregui.client.components.view.ViewName; import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup; import org.rhq.enterprise.gui.coregui.client.inventory.InventoryView; import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.AbstractTwoLevelTabSetView; @@ -121,80 +122,97 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo protected List<TwoLevelTab> createTabs() { List<TwoLevelTab> tabs = new ArrayList<TwoLevelTab>();
- summaryTab = new TwoLevelTab(getTabSet().extendLocatorId("Summary"), MSG.view_tabs_common_summary(), - "/images/icons/Service_up_16.png"); - summaryOverview = new SubTab(summaryTab.extendLocatorId("Overview"), MSG.view_tabs_common_overview(), null); - summaryDashboard = new SubTab(summaryTab.extendLocatorId("Dashboard"), MSG.view_tabs_common_dashboard(), null); - summaryTimeline = new SubTab(summaryTab.extendLocatorId("Timeline"), MSG.view_tabs_common_timeline(), null); + summaryTab = new TwoLevelTab(getTabSet().extendLocatorId("Summary"), new ViewName("Summary", MSG + .view_tabs_common_summary()), "/images/icons/Service_up_16.png"); + summaryOverview = new SubTab(summaryTab.extendLocatorId("Overview"), new ViewName("Overview", MSG + .view_tabs_common_overview()), null); + summaryDashboard = new SubTab(summaryTab.extendLocatorId("Dashboard"), new ViewName("Dashboard", MSG + .view_tabs_common_dashboard()), null); + summaryTimeline = new SubTab(summaryTab.extendLocatorId("Timeline"), new ViewName("Timeline", MSG + .view_tabs_common_timeline()), null); summaryTab.registerSubTabs(summaryOverview, summaryDashboard, summaryTimeline); tabs.add(summaryTab);
- monitoringTab = new TwoLevelTab(getTabSet().extendLocatorId("Monitoring"), MSG.view_tabs_common_monitoring(), - "/images/icons/Monitor_grey_16.png"); - monitorGraphs = new SubTab(monitoringTab.extendLocatorId("Graphs"), MSG.view_tabs_common_graphs(), null); - monitorTables = new SubTab(monitoringTab.extendLocatorId("Tables"), MSG.view_tabs_common_tables(), null); - monitorTraits = new SubTab(monitoringTab.extendLocatorId("Traits"), MSG.view_tabs_common_traits(), null); - monitorAvail = new SubTab(monitoringTab.extendLocatorId("Availability"), MSG.view_tabs_common_availability(), - null); - monitorSched = new SubTab(monitoringTab.extendLocatorId("Schedules"), MSG.view_tabs_common_schedules(), null); - monitorCallTime = new SubTab(monitoringTab.extendLocatorId("CallTime"), MSG.view_tabs_common_calltime(), null); + monitoringTab = new TwoLevelTab(getTabSet().extendLocatorId("Monitoring"), new ViewName("Monitoring", MSG + .view_tabs_common_monitoring()), "/images/icons/Monitor_grey_16.png"); + 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); monitoringTab.registerSubTabs(monitorGraphs, monitorTables, monitorTraits, monitorAvail, monitorSched, monitorCallTime); tabs.add(monitoringTab);
- inventoryTab = new TwoLevelTab(getTabSet().extendLocatorId("Inventory"), MSG.view_tabs_common_inventory(), - "/images/icons/Inventory_grey_16.png"); - inventoryChildren = new SubTab(inventoryTab.extendLocatorId("Children"), - MSG.view_tabs_common_child_resources(), null); - inventoryChildHistory = new SubTab(inventoryTab.extendLocatorId("ChildHist"), MSG - .view_tabs_common_child_history(), null); - inventoryConn = new SubTab(inventoryTab.extendLocatorId("ConnectionSettings"), MSG - .view_tabs_common_connectionSettings(), null); - inventoryConnHistory = new SubTab(inventoryTab.extendLocatorId("ConnSetHist"), MSG - .view_tabs_common_connectionSettingsHistory(), null); - inventoryGroups = new SubTab(inventoryTab.extendLocatorId("Groups"), MSG.view_tabs_common_groups(), null); - inventoryGroupMembership = new SubTab(inventoryTab.extendLocatorId("GroupMembership"), MSG - .view_tabs_common_group_membership(), null); + inventoryTab = new TwoLevelTab(getTabSet().extendLocatorId("Inventory"), new ViewName("Inventory", MSG + .view_tabs_common_inventory()), "/images/icons/Inventory_grey_16.png"); + 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", 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"), new ViewName( + "ConnectionSettingsHistory", MSG.view_tabs_common_connectionSettingsHistory()), null); + inventoryGroups = new SubTab(inventoryTab.extendLocatorId("Groups"), new ViewName("Groups", MSG + .view_tabs_common_groups()), null); + inventoryGroupMembership = new SubTab(inventoryTab.extendLocatorId("GroupMembership"), new ViewName( + "GroupMembership", MSG.view_tabs_common_group_membership()), null); inventoryTab.registerSubTabs(this.inventoryChildren, this.inventoryChildHistory, this.inventoryConn, this.inventoryConnHistory, this.inventoryGroups, this.inventoryGroupMembership); tabs.add(inventoryTab);
- operationsTab = new TwoLevelTab(getTabSet().extendLocatorId("Operations"), MSG.view_tabs_common_operations(), - "/images/icons/Operation_grey_16.png"); - this.opHistory = new SubTab(operationsTab.extendLocatorId("History"), MSG.view_tabs_common_history(), null); - this.opSched = new SubTab(operationsTab.extendLocatorId("Scheduled"), MSG.view_tabs_common_scheduled(), null); + operationsTab = new TwoLevelTab(getTabSet().extendLocatorId("Operations"), new ViewName("Operations", MSG + .view_tabs_common_operations()), "/images/icons/Operation_grey_16.png"); + this.opHistory = new SubTab(operationsTab.extendLocatorId("History"), new ViewName("History", MSG + .view_tabs_common_history()), null); + this.opSched = new SubTab(operationsTab.extendLocatorId("Scheduled"), new ViewName("Scheduled", MSG + .view_tabs_common_scheduled()), null); operationsTab.registerSubTabs(this.opHistory, this.opSched); tabs.add(operationsTab);
- alertsTab = new TwoLevelTab(getTabSet().extendLocatorId("Alerts"), MSG.view_tabs_common_alerts(), - "/images/icons/Alert_grey_16.png"); - this.alertHistory = new SubTab(alertsTab.extendLocatorId("History"), MSG.view_tabs_common_history(), null); - this.alertDef = new SubTab(alertsTab.extendLocatorId("Definitions"), MSG.view_tabs_common_definitions(), null); + alertsTab = new TwoLevelTab(getTabSet().extendLocatorId("Alerts"), new ViewName("Alerts", MSG + .view_tabs_common_alerts()), "/images/icons/Alert_grey_16.png"); + 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 + .view_tabs_common_definitions()), null); alertsTab.registerSubTabs(alertHistory, alertDef); tabs.add(alertsTab);
- configurationTab = new TwoLevelTab(getTabSet().extendLocatorId("Configuration"), MSG - .view_tabs_common_configuration(), "/images/icons/Configure_grey_16.png"); - this.configCurrent = new SubTab(configurationTab.extendLocatorId("Current"), MSG.view_tabs_common_current(), - null); - this.configHistory = new SubTab(configurationTab.extendLocatorId("History"), MSG.view_tabs_common_history(), - null); + configurationTab = new TwoLevelTab(getTabSet().extendLocatorId("Configuration"), new ViewName("Configuration", + MSG.view_tabs_common_configuration()), "/images/icons/Configure_grey_16.png"); + 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); configurationTab.registerSubTabs(this.configCurrent, this.configHistory); tabs.add(configurationTab);
- eventsTab = new TwoLevelTab(getTabSet().extendLocatorId("Events"), MSG.view_tabs_common_events(), - "/images/icons/Events_grey_16.png"); - this.eventHistory = new SubTab(eventsTab.extendLocatorId("History"), MSG.view_tabs_common_history(), null); + eventsTab = new TwoLevelTab(getTabSet().extendLocatorId("Events"), new ViewName("Events", MSG + .view_tabs_common_events()), "/images/icons/Events_grey_16.png"); + this.eventHistory = new SubTab(eventsTab.extendLocatorId("History"), new ViewName("History", MSG + .view_tabs_common_history()), null); eventsTab.registerSubTabs(eventHistory); tabs.add(eventsTab);
- contentTab = new TwoLevelTab(getTabSet().extendLocatorId("Content"), MSG.view_tabs_common_content(), - "/images/icons/Content_grey_16.png"); - this.contentDeployed = new SubTab(contentTab.extendLocatorId("Deployed"), MSG.view_tabs_common_deployed(), null); - this.contentNew = new SubTab(contentTab.extendLocatorId("New"), MSG.view_tabs_common_new(), null); - this.contentSubscrip = new SubTab(contentTab.extendLocatorId("Subscriptions"), MSG - .view_tabs_common_subscriptions(), null); - this.contentHistory = new SubTab(contentTab.extendLocatorId("History"), MSG.view_tabs_common_history(), null); + contentTab = new TwoLevelTab(getTabSet().extendLocatorId("Content"), new ViewName("Content", MSG + .view_tabs_common_content()), "/images/icons/Content_grey_16.png"); + 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.view_tabs_common_new()), null); + this.contentSubscrip = new SubTab(contentTab.extendLocatorId("Subscriptions"), 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); contentTab.registerSubTabs(contentDeployed, contentNew, contentSubscrip, contentHistory); tabs.add(contentTab);
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 index 0dda6bf..fee5e59 100644 --- 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 @@ -46,7 +46,7 @@ public class LocatableTabSet extends TabSet { super.setTabs(tabs); }
- public LocatableTab[] getTabs() { + public LocatableTab[] getTabs() { Tab[] tabs = super.getTabs(); LocatableTab[] locatableTabs = new LocatableTab[tabs.length]; for (int i = 0, tabsLength = tabs.length; i < tabsLength; i++) { diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties index 5d5ca3f..1dc9f3a 100644 --- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties +++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties @@ -1004,6 +1004,10 @@ view_type_resourceTypes=Resource Types~ view_type_parentId=Parent ID~ view_type_typeTreeLoadFailure=Failed to load resource type tree data~
+# Tabs +view_tabs_invalidSubTab = Invalid subtab: {0}~ +view_tabs_invalidTab = Invalid tab: {0}~ + #=================== Dashboard ===================== view_dashboard_favorites_error1=Failed to load favorite Resources.~ view_dashboardManager_error=Failed to save dashboard to server~ @@ -1190,6 +1194,7 @@ view_tabs_common_inventory=Inventory~ view_tabs_common_groups=Groups~ view_tabs_common_group_membership=Group Membership~ view_tabs_common_members=Members~ +view_tabs_common_membership=Membership~ view_tabs_common_child_resources=Child Resources~ view_tabs_common_child_history=Child History~ view_tabs_common_connectionSettings=Connection Settings~ @@ -1457,7 +1462,6 @@ view_login_registerUser = Register User~ view_login_welcome = Welcome~ view_login_welcomeMsg = Welcome to JBoss ON! <br/><br/> Enter/update the following fields to complete your registration process.<br/> Once you click "OK" you will be logged in.<br/><br/>~
- # Menu Bar #-------------- view_menuBar_help = Help~
rhq-commits@lists.fedorahosted.org