[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationMembers.java | 1 +
1 file changed, 1 insertion(+)
New commits:
commit bdbdfb0e59676c0c7f4d2439f895b91e63ff3fcc
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Mon Feb 28 14:55:30 2011 -0500
do not go to a different browser tab/window when clicking link
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 bd68f55..b7ca5fc 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
@@ -110,6 +110,7 @@ public class HistoryGroupPluginConfigurationMembers extends LocatableVLayout {
fieldStatus.setWidth("10%");
fieldResource.setType(ListGridFieldType.LINK);
+ fieldResource.setTarget("_self");
fieldStatus.setType(ListGridFieldType.ICON);
HashMap<String, String> statusIcons = new HashMap<String, String>(4);
12 years, 9 months
[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTabLayout.java | 3 +++
1 file changed, 3 insertions(+)
New commits:
commit ca82e3d71551e34c7feed921992700662631d51a
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Mon Feb 28 14:40:22 2011 -0500
BZ 680158 - if the canvas isn't visible yet, make it so via show()
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 70751b5..1d684ff 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
@@ -319,6 +319,9 @@ public class SubTabLayout extends LocatableVLayout {
canvas.setOverflow(Overflow.SCROLL);
}
addMember(canvas);
+ if (!canvas.isVisible()) {
+ canvas.show();
+ }
}
markForRedraw();
this.currentlyDisplayed = currentSubTab;
12 years, 9 months
[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/CurrentGroupPluginConfigurationView.java | 11 ++++++++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/HistoryGroupPluginConfigurationSettings.java | 11 ++++++++--
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 1
3 files changed, 19 insertions(+), 4 deletions(-)
New commits:
commit 9733f31dbaa582bb63cabe42052d674c3744df86
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Mon Feb 28 11:09:14 2011 -0500
BZ 680164 - you now see a info message rather than a ugly error/failure message
it basically asks that you wait while the update is still inprogress
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/CurrentGroupPluginConfigurationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/CurrentGroupPluginConfigurationView.java
index f6ace09..f64b74e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/CurrentGroupPluginConfigurationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/inventory/CurrentGroupPluginConfigurationView.java
@@ -52,6 +52,7 @@ import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTyp
import org.rhq.enterprise.gui.coregui.client.resource.disambiguation.ReportDecorator;
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.message.Message.Severity;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableIButton;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
@@ -166,8 +167,14 @@ public class CurrentGroupPluginConfigurationView extends LocatableVLayout implem
new AsyncCallback<List<DisambiguationReport<ResourceConfigurationComposite>>>() {
public void onFailure(Throwable caught) {
refreshing = false;
- CoreGUI.getErrorHandler().handleError(
- MSG.view_group_pluginConfig_members_fetchFailureConn(group.toString()), caught);
+ if (caught.getMessage().contains("ConfigurationUpdateStillInProgressException")) {
+ CoreGUI.getMessageCenter().notify(
+ new Message(MSG.view_group_pluginConfig_members_fetchFailureConnInProgress(), caught,
+ Severity.Info));
+ } else {
+ CoreGUI.getErrorHandler().handleError(
+ MSG.view_group_pluginConfig_members_fetchFailureConn(group.toString()), caught);
+ }
}
public void onSuccess(List<DisambiguationReport<ResourceConfigurationComposite>> results) {
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 b89f449..00af8dc 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,6 +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.resource.disambiguation.ReportDecorator;
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;
/**
@@ -117,8 +118,14 @@ public class HistoryGroupPluginConfigurationSettings extends LocatableVLayout {
GWTServiceLookup.getConfigurationService().findPluginConfigurationsForGroupUpdate(groupUpdateId,
new AsyncCallback<List<DisambiguationReport<ResourceConfigurationComposite>>>() {
public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError(
- MSG.view_group_pluginConfig_members_fetchFailureConn(group.toString()), caught);
+ if (caught.getMessage().contains("ConfigurationUpdateStillInProgressException")) {
+ CoreGUI.getMessageCenter().notify(
+ new Message(MSG.view_group_pluginConfig_members_fetchFailureConnInProgress(), caught,
+ Severity.Info));
+ } else {
+ CoreGUI.getErrorHandler().handleError(
+ MSG.view_group_pluginConfig_members_fetchFailureConn(group.toString()), caught);
+ }
}
public void onSuccess(List<DisambiguationReport<ResourceConfigurationComposite>> results) {
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 9fcd822..a4e822f 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
@@ -1756,6 +1756,7 @@ view_group_pluginConfig_members_statusNochange = No changes were made to this co
view_group_pluginConfig_members_statusFailure = This configuration update failed for an unknown reason
view_group_pluginConfig_members_fetchFailure = Failed to get plugin config update history for members of group [{0}]
view_group_pluginConfig_members_fetchFailureConn = Failed to retrieve member connection settings for [{0}]
+view_group_pluginConfig_members_fetchFailureConnInProgress = A group plugin configuration update is currently in progress. You must wait until the update is finished before you can view the group settings.
view_group_pluginConfig_edit_currentGroupProperties = Current Group Properties
view_group_pluginConfig_edit_saveTooltip = Update the connection settings of all group members
view_group_pluginConfig_edit_noperm = You do not have permission to edit this group connection settings
12 years, 9 months
[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java | 13 ++++++----
1 file changed, 8 insertions(+), 5 deletions(-)
New commits:
commit b81b8420079b94e99e7a2a4159f62717353d80f4
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Mon Feb 28 10:44:01 2011 -0500
I guess it would be good if I put the code in the correct close handler.
this now correctly cancels the timer when you close the stats window
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java
index 9bebe99..5024c59 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java
@@ -284,8 +284,6 @@ public class TestRemoteServiceStatisticsView extends Table {
addCloseClickHandler(new CloseClickHandler() {
@Override
public void onCloseClick(CloseClientEvent event) {
- refreshTimer.cancel();
- refreshOnPageChange = false;
markForDestroy();
}
});
@@ -298,6 +296,11 @@ public class TestRemoteServiceStatisticsView extends Table {
public StatisticsWindow(String locatorId) {
super(locatorId);
+
+ final TestRemoteServiceStatisticsView view;
+ view = new TestRemoteServiceStatisticsView(extendLocatorId("StatsViewInWin"));
+ view.window = this;
+
setTitle(TABLE_TITLE);
setShowMinimizeButton(true);
setShowMaximizeButton(true);
@@ -312,13 +315,13 @@ public class TestRemoteServiceStatisticsView extends Table {
addCloseClickHandler(new CloseClickHandler() {
@Override
public void onCloseClick(CloseClientEvent event) {
+ view.refreshTimer.cancel();
+ view.refreshOnPageChange = false;
+ view.markForDestroy();
markForDestroy();
}
});
- TestRemoteServiceStatisticsView view;
- view = new TestRemoteServiceStatisticsView(extendLocatorId("StatsViewInWin"));
- view.window = this;
addItem(view);
final String origColor = getBodyColor();
12 years, 9 months
[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java | 11 ++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
New commits:
commit 7858c19bb57e15e718ac21c473fef8a68e642081
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Sat Feb 26 00:31:22 2011 -0500
when the window is closed, make sure we stop auto-refresh by canceling the timer
however, for some reason, I'm not seeing the close click handler called, so this doesn't do anything althought the code looks right.
need to figure out why close click handler isn't called.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java
index e83dc1c..9bebe99 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java
@@ -71,13 +71,13 @@ public class TestRemoteServiceStatisticsView extends Table {
// if this is not null, this view is hosted by this standalone Window
private StatisticsWindow window = null;
- private Timer timer = null;
+ private Timer refreshTimer = null;
private boolean refreshOnPageChange = false;
public TestRemoteServiceStatisticsView(String locatorId) {
super(locatorId, TABLE_TITLE, null, defaultSorts, null, false);
- timer = new Timer() {
+ refreshTimer = new Timer() {
@Override
public void run() {
refresh();
@@ -186,7 +186,7 @@ public class TestRemoteServiceStatisticsView extends Table {
}
// cancel everything - will reinstate if user elected to do one of these
- timer.cancel();
+ refreshTimer.cancel();
refreshOnPageChange = false;
if (timeout.intValue() == -1) {
@@ -195,7 +195,7 @@ public class TestRemoteServiceStatisticsView extends Table {
refreshOnPageChange = true;
setTableTitle(TABLE_TITLE + " (refresh on page change)");
} else {
- timer.scheduleRepeating(timeout.intValue() * 1000);
+ refreshTimer.scheduleRepeating(timeout.intValue() * 1000);
setTableTitle(TABLE_TITLE + " (refresh every " + timeout + "s)");
}
}
@@ -273,6 +273,7 @@ public class TestRemoteServiceStatisticsView extends Table {
setShowMinimizeButton(false);
setShowMaximizeButton(true);
setShowCloseButton(true);
+ setDismissOnEscape(false); // force close button to be pressed to ensure our close handler is called
setIsModal(true);
setShowModalMask(true);
setAutoSize(true);
@@ -283,6 +284,8 @@ public class TestRemoteServiceStatisticsView extends Table {
addCloseClickHandler(new CloseClickHandler() {
@Override
public void onCloseClick(CloseClientEvent event) {
+ refreshTimer.cancel();
+ refreshOnPageChange = false;
markForDestroy();
}
});
12 years, 9 months
[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/configuration/ConfigurationEditor.java | 48 ++++++++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/PluginConfigurationEditView.java | 23 ++++
2 files changed, 66 insertions(+), 5 deletions(-)
New commits:
commit 3c7a7fd6f8749eca0995d05eee2b723decb1af83
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Sat Feb 26 00:15:35 2011 -0500
BZ 680167 - add load handler to config editor so we know when the config editor has fully loaded its config and config def
the view can now use this to be told when the config editor is done loading everything
this is used so we don't issue duplicate queries due to multiple refresh calls
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 b7c45d6..ba1268e 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
@@ -170,6 +170,19 @@ public class ConfigurationEditor extends LocatableVLayout {
plugin, resource
}; // Need this extra semicolon for the qdox parser
+ /**
+ * This is the kind of handler that is called when this editor has loaded
+ * the configuration and configuration definition. If the load failed,
+ * the methods will still be called, but will be passed null.
+ */
+ public static interface LoadHandler {
+ void loadedConfiguration(Configuration config);
+
+ void loadedConfigurationDefinition(ConfigurationDefinition configDef);
+ }
+
+ private LoadHandler loadHandler = null;
+
public ConfigurationEditor(String locatorId) {
super(locatorId);
}
@@ -193,10 +206,18 @@ public class ConfigurationEditor extends LocatableVLayout {
this.configurationDefinition = configurationDefinition;
}
+ public void setLoadHandler(LoadHandler handler) {
+ this.loadHandler = handler;
+ }
+
public Configuration getConfiguration() {
return configuration;
}
+ public ConfigurationDefinition getConfigurationDefinition() {
+ return configurationDefinition;
+ }
+
public boolean isReadOnly() {
return readOnly;
}
@@ -248,12 +269,18 @@ public class ConfigurationEditor extends LocatableVLayout {
configurationService.getResourceConfiguration(resourceId, new AsyncCallback<Configuration>() {
public void onFailure(Throwable caught) {
showError(caught);
+ if (loadHandler != null) {
+ loadHandler.loadedConfiguration(null);
+ }
}
public void onSuccess(Configuration result) {
configuration = result;
Log.info("Config retrieved in: " + (System.currentTimeMillis() - start));
reload();
+ if (loadHandler != null) {
+ loadHandler.loadedConfiguration(configuration);
+ }
}
});
@@ -269,6 +296,9 @@ public class ConfigurationEditor extends LocatableVLayout {
showError(MSG.view_configEdit_error_1());
}
reload();
+ if (loadHandler != null) {
+ loadHandler.loadedConfigurationDefinition(configurationDefinition);
+ }
}
});
@@ -276,11 +306,17 @@ public class ConfigurationEditor extends LocatableVLayout {
configurationService.getPluginConfiguration(resourceId, new AsyncCallback<Configuration>() {
public void onFailure(Throwable caught) {
showError(caught);
+ if (loadHandler != null) {
+ loadHandler.loadedConfiguration(null);
+ }
}
public void onSuccess(Configuration result) {
configuration = result;
reload();
+ if (loadHandler != null) {
+ loadHandler.loadedConfiguration(configuration);
+ }
}
});
@@ -294,6 +330,9 @@ public class ConfigurationEditor extends LocatableVLayout {
showError(MSG.view_configEdit_error_2());
}
reload();
+ if (loadHandler != null) {
+ loadHandler.loadedConfigurationDefinition(configurationDefinition);
+ }
}
});
}
@@ -553,7 +592,7 @@ public class ConfigurationEditor extends LocatableVLayout {
// Note: This field spans 3 columns.
PropertyDefinitionMap memberDefinitionMap = (PropertyDefinitionMap) memberDefinition;
CanvasItem listOfMapsItem = buildListOfMapsField(locatorId, memberDefinitionMap, propertyDefinitionList,
- propertyList, oddRow);
+ propertyList, oddRow);
fields.add(listOfMapsItem);
} else if (memberDefinition instanceof PropertyDefinitionSimple) {
SpacerItem unsetItem = new SpacerItem();
@@ -812,9 +851,8 @@ public class ConfigurationEditor extends LocatableVLayout {
}
private CanvasItem buildListOfMapsField(final String locatorId,
- final PropertyDefinitionMap memberPropertyDefinitionMap,
- PropertyDefinitionList propertyDefinitionList,
- final PropertyList propertyList, boolean oddRow) {
+ final PropertyDefinitionMap memberPropertyDefinitionMap, PropertyDefinitionList propertyDefinitionList,
+ final PropertyList propertyList, boolean oddRow) {
Log.debug("Building list-of-maps field for " + propertyList + "...");
final ListGrid summaryTable = new ListGrid();
@@ -1446,7 +1484,7 @@ public class ConfigurationEditor extends LocatableVLayout {
}
private void displayMapEditor(String locatorId, final ListGrid summaryTable, final Record existingRecord,
- PropertyDefinitionMap definition, final PropertyList list, final PropertyMap map, boolean mapReadOnly) {
+ PropertyDefinitionMap definition, final PropertyList list, final PropertyMap map, boolean mapReadOnly) {
final List<PropertyDefinition> memberDefinitions = new ArrayList<PropertyDefinition>(definition
.getPropertyDefinitions().values());
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 76adc19..3ca884f 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
@@ -29,6 +29,7 @@ import com.smartgwt.client.widgets.toolbar.ToolStrip;
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.configuration.PluginConfigurationUpdate;
+import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.core.domain.resource.composite.ResourcePermission;
@@ -57,6 +58,10 @@ public class PluginConfigurationEditView extends LocatableVLayout implements Pro
private ConfigurationEditor editor;
private LocatableIButton saveButton;
+ // flags to indicate if the config editor is refreshing its internal config/configDef objects
+ private boolean refreshingConfig = false;
+ private boolean refreshingConfigDef = false;
+
public PluginConfigurationEditView(String locatorId, ResourceComposite resourceComposite) {
super(locatorId);
@@ -95,6 +100,12 @@ public class PluginConfigurationEditView extends LocatableVLayout implements Pro
@Override
public void refresh() {
+ if (this.refreshingConfig || this.refreshingConfigDef) {
+ return; // we are already in the process of refreshing, don't do it again
+ }
+
+ this.refreshingConfig = true;
+ this.refreshingConfigDef = true;
this.saveButton.disable();
if (editor != null) {
@@ -106,6 +117,18 @@ public class PluginConfigurationEditView extends LocatableVLayout implements Pro
editor.setOverflow(Overflow.AUTO);
editor.addPropertyValueChangeListener(this);
editor.setReadOnly(!this.resourcePermission.isInventory());
+ editor.setLoadHandler(new ConfigurationEditor.LoadHandler() {
+ @Override
+ public void loadedConfigurationDefinition(ConfigurationDefinition configDef) {
+ refreshingConfig = false; // finished loading the config
+ }
+
+ @Override
+ public void loadedConfiguration(Configuration config) {
+ refreshingConfigDef = false; // finished loading the config def
+ }
+ });
+
addMember(editor);
// TODO (ips): If editor != null, use editor.reload() instead.
}
12 years, 9 months
[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceAgentView.java | 10 ++++++++++
1 file changed, 10 insertions(+)
New commits:
commit e1424f702866a1f7609aaabdccc79e36aa2082fd
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Fri Feb 25 23:50:20 2011 -0500
BZ 680167 - do not perform multiple loads unnecessarily
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceAgentView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceAgentView.java
index e1c16de..ddab284 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceAgentView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/inventory/ResourceResourceAgentView.java
@@ -54,6 +54,8 @@ public class ResourceResourceAgentView extends LocatableVLayout implements Refre
private StaticTextItem lastAvailReportValue;
private StaticTextItem endpointValue;
+ private boolean loading = false; // will be true if loadData is currently waiting for responses
+
public ResourceResourceAgentView(String locatorId, int resourceId) {
super(locatorId);
@@ -124,9 +126,15 @@ public class ResourceResourceAgentView extends LocatableVLayout implements Refre
}
private void loadData() {
+ if (loading) {
+ return; // we are already loading and waiting for data, no need to re-issue the same queries
+ }
+ loading = true;
+
GWTServiceLookup.getAgentService().getAgentForResource(this.resourceId, new AsyncCallback<Agent>() {
@Override
public void onFailure(Throwable caught) {
+ loading = false;
//Permissions failure, generate message to that effect
for (Canvas child : form.getChildren()) {
child.destroy();
@@ -147,6 +155,7 @@ public class ResourceResourceAgentView extends LocatableVLayout implements Refre
GWTServiceLookup.getAgentService().pingAgentForResource(resourceId, new AsyncCallback<Boolean>() {
@Override
public void onFailure(Throwable caught) {
+ loading = false;
CoreGUI.getErrorHandler().handleError(
MSG.view_inventory_summary_agent_error2() + " " + resourceId + ".", caught);
agentStatusIcon.setSrc(ImageManager.getAvailabilityLargeIcon(null));
@@ -155,6 +164,7 @@ public class ResourceResourceAgentView extends LocatableVLayout implements Refre
@Override
public void onSuccess(Boolean isUp) {
+ loading = false;
//update icon with correct status
agentStatusIcon.setSrc(ImageManager.getAvailabilityLargeIcon(isUp));
form.markForRedraw();
12 years, 9 months
[rhq] modules/enterprise
by ips
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/DurationItem.java | 19 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/TimeUnit.java | 42 ++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/trigger/JobTriggerEditor.java | 55 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDataSource.java | 15
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryListView.java | 34 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDataSource.java | 22 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java | 28 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleListView.java | 4
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/history/GroupMemberResourceOperationHistoryListView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleDetailsView.java | 18 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/operation/schedule/GroupOperationScheduleListView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/schedule/ResourceOperationScheduleDetailsView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/schedule/ResourceOperationScheduleListView.java | 2
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 154 ++++++----
14 files changed, 248 insertions(+), 151 deletions(-)
New commits:
commit cd0f52d040eb50d790d6ec388bbd2a494a89ddfb
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Fri Feb 25 18:14:45 2011 -0500
i18n all operations views
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/DurationItem.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/DurationItem.java
index cfa4682..8ac85b5 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/DurationItem.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/DurationItem.java
@@ -31,6 +31,8 @@ import com.smartgwt.client.widgets.form.fields.StaticTextItem;
import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
import com.smartgwt.client.widgets.form.validator.IntegerRangeValidator;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.Messages;
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.selenium.Locatable;
@@ -48,6 +50,8 @@ import java.util.TreeSet;
*/
public class DurationItem extends CanvasItem {
+ private static final Messages MSG = CoreGUI.getMessages();
+
private static final String FIELD_VALUE = "value";
private static final String FIELD_UNITS = "units";
@@ -105,14 +109,13 @@ public class DurationItem extends CanvasItem {
ComboBoxItem unitsItem = new ComboBoxItem(FIELD_UNITS);
unitsItem.setShowTitle(false);
- // TODO: i18n valueMap values
LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>();
if (this.supportedUnitTypes.contains(UnitType.ITERATIONS)) {
- valueMap.put("times", "times");
+ valueMap.put("times", MSG.common_unit_times());
}
if (this.supportedUnitTypes.contains(UnitType.TIME)) {
for (TimeUnit unit : supportedUnits) {
- valueMap.put(unit.name().toLowerCase(), unit.name().toLowerCase());
+ valueMap.put(unit.name().toLowerCase(), unit.getDisplayName());
}
}
unitsItem.setValueMap(valueMap);
@@ -139,17 +142,17 @@ public class DurationItem extends CanvasItem {
public void setValue(Integer value, UnitType unitType) {
if (!this.supportedUnitTypes.contains(unitType)) {
- throw new IllegalArgumentException("Unit type [" + unitType + "] is not supported by this DurationItem.");
+ throw new IllegalArgumentException(MSG.widget_durationItem_unitTypeNotSupported(unitType.name()));
}
this.unitType = unitType;
String unitString = null;
switch (unitType) {
case TIME:
- unitString = this.valueUnit.name().toLowerCase();
+ unitString = this.valueUnit.getDisplayName();
break;
case ITERATIONS:
- unitString = "times";
+ unitString = MSG.common_unit_times();
}
if (this.isReadOnly) {
@@ -190,7 +193,7 @@ public class DurationItem extends CanvasItem {
} else {
this.unitType = UnitType.TIME;
if (unit.compareTo(this.valueUnit) < 0) {
- throw new IllegalStateException("Input unit is less than target unit.");
+ throw new IllegalStateException(MSG.widget_durationItem_inputUnitLessThanTargetUnit());
}
switch (unit) {
case MILLISECONDS:
@@ -402,7 +405,7 @@ public class DurationItem extends CanvasItem {
String string;
if (value != null) {
TimeUnit timeUnit = getInputTimeUnit();
- String unitString = (timeUnit != null) ? timeUnit.name().toLowerCase() : "times";
+ String unitString = (timeUnit != null) ? timeUnit.name().toLowerCase() : MSG.common_unit_times();
string = value + " " + unitString;
} else {
string = "";
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/TimeUnit.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/TimeUnit.java
index 0733712..c5a6fbb 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/TimeUnit.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/form/TimeUnit.java
@@ -18,12 +18,16 @@
*/
package org.rhq.enterprise.gui.coregui.client.components.form;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.Messages;
+
/**
* A unit of time.
*
* @author Ian Springer
*/
public enum TimeUnit {
+
MILLISECONDS,
SECONDS,
MINUTES,
@@ -31,5 +35,41 @@ public enum TimeUnit {
DAYS,
WEEKS,
MONTHS,
- YEARS
+ YEARS;
+
+ private static final Messages MSG = CoreGUI.getMessages();
+
+ public String getDisplayName() {
+ String displayName;
+ switch (this) {
+ case MILLISECONDS:
+ displayName = MSG.common_unit_milliseconds();
+ break;
+ case SECONDS:
+ displayName = MSG.common_unit_seconds();
+ break;
+ case MINUTES:
+ displayName = MSG.common_unit_minutes();
+ break;
+ case HOURS:
+ displayName = MSG.common_unit_hours();
+ break;
+ case DAYS:
+ displayName = MSG.common_unit_days();
+ break;
+ case WEEKS:
+ displayName = MSG.common_unit_weeks();
+ break;
+ case MONTHS:
+ displayName = MSG.common_unit_months();
+ break;
+ case YEARS:
+ displayName = MSG.common_unit_years();
+ break;
+ default:
+ throw new IllegalStateException("Unsupported time unit: " + this);
+ }
+ return displayName;
+ }
+
}
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 b18c14e..13ebe7d 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
@@ -183,10 +183,10 @@ public class JobTriggerEditor extends LocatableVLayout {
this.modeForm.setNumCols(3);
this.modeForm.setColWidths("140", "220", "*");
- RadioGroupItem modeItem = new RadioGroupItem(FIELD_MODE, "Schedule using");
+ RadioGroupItem modeItem = new RadioGroupItem(FIELD_MODE, MSG.widget_jobTriggerEditor_field_mode());
LinkedHashMap<String, String> modeValueMap = new LinkedHashMap<String, String>();
- modeValueMap.put("calendar", "Calendar");
- modeValueMap.put("cron", "Cron Expression");
+ modeValueMap.put("calendar", MSG.widget_jobTriggerEditor_value_calendar());
+ modeValueMap.put("cron", MSG.widget_jobTriggerEditor_value_cronExpression());
modeItem.setValueMap(modeValueMap);
modeItem.setVertical(false);
modeItem.setShowTitle(true);
@@ -203,10 +203,10 @@ public class JobTriggerEditor extends LocatableVLayout {
calendarTypeItem.setWidth(440);
calendarTypeItem.setShowTitle(false);
LinkedHashMap<String, String> calendarTypeValueMap = new LinkedHashMap<String, String>();
- calendarTypeValueMap.put("now", "Now");
- calendarTypeValueMap.put("nowAndRepeat", "Now & Repeat");
- calendarTypeValueMap.put("later", "Later");
- calendarTypeValueMap.put("laterAndRepeat", "Later & Repeat");
+ calendarTypeValueMap.put("now", MSG.widget_jobTriggerEditor_value_now());
+ calendarTypeValueMap.put("nowAndRepeat", MSG.widget_jobTriggerEditor_value_nowAndRepeat());
+ calendarTypeValueMap.put("later", MSG.widget_jobTriggerEditor_value_later());
+ calendarTypeValueMap.put("laterAndRepeat", MSG.widget_jobTriggerEditor_value_laterAndRepeat());
calendarTypeItem.setValueMap(calendarTypeValueMap);
calendarTypeItem.setVertical(false);
@@ -220,7 +220,8 @@ public class JobTriggerEditor extends LocatableVLayout {
this.cronForm = new LocatableDynamicForm(this.cronModeLayout.extendLocatorId("Form"));
- TextItem cronExpressionItem = new TextItem(FIELD_CRON_EXPRESSION, "Cron Expression");
+ TextItem cronExpressionItem = new TextItem(FIELD_CRON_EXPRESSION,
+ MSG.widget_jobTriggerEditor_field_cronExpression());
cronExpressionItem.setRequired(true);
cronExpressionItem.setWidth(340);
@@ -239,7 +240,7 @@ public class JobTriggerEditor extends LocatableVLayout {
});
cronHelpTabSet.setTabBarControls(closeIcon);
- Tab formatTab = new Tab("Format");
+ Tab formatTab = new Tab(MSG.widget_jobTriggerEditor_tab_format());
HTMLFlow formatPane = new HTMLFlow();
formatPane.setWidth100();
formatPane.setContents("<p>A cron expression is a string comprised of 6 or 7 fields separated by white space. Fields can contain any of the\n" +
@@ -405,7 +406,7 @@ public class JobTriggerEditor extends LocatableVLayout {
"</ul>");
formatTab.setPane(formatPane);
- Tab examplesTab = new Tab("Examples");
+ Tab examplesTab = new Tab(MSG.widget_jobTriggerEditor_tab_examples());
HTMLFlow examplesPane = new HTMLFlow();
examplesPane.setWidth100();
examplesPane.setContents("<table cellpadding=\"3\" cellspacing=\"1\">\n" +
@@ -566,7 +567,7 @@ public class JobTriggerEditor extends LocatableVLayout {
this.isRecurring = true;
FormItem repeatIntervalItem = repeatForm.getItem(FIELD_REPEAT_INTERVAL);
- repeatIntervalItem.setTitle("Run now and every");
+ repeatIntervalItem.setTitle(MSG.widget_jobTriggerEditor_field_repeatInterval_now());
repeatIntervalItem.redraw();
} else if (calendarType.equals("later")) {
this.isStartLater = true;
@@ -577,7 +578,7 @@ public class JobTriggerEditor extends LocatableVLayout {
this.isRecurring = true;
FormItem repeatIntervalItem = repeatForm.getItem(FIELD_REPEAT_INTERVAL);
- repeatIntervalItem.setTitle("Repeat every");
+ repeatIntervalItem.setTitle(MSG.widget_jobTriggerEditor_field_repeatInterval_later());
repeatIntervalItem.redraw();
}
laterForm.setVisibility(this.isStartLater ? Visibility.VISIBLE : Visibility.HIDDEN);
@@ -610,18 +611,19 @@ public class JobTriggerEditor extends LocatableVLayout {
supportedUnits.add(TimeUnit.WEEKS);
supportedUnits.add(TimeUnit.MONTHS);
supportedUnits.add(TimeUnit.YEARS);
- DurationItem repeatIntervalItem = new DurationItem(FIELD_REPEAT_INTERVAL, "Run now and every",
+ DurationItem repeatIntervalItem = new DurationItem(FIELD_REPEAT_INTERVAL,
+ MSG.widget_jobTriggerEditor_field_repeatInterval_now(),
supportedUnits, false, this.isReadOnly, repeatForm);
repeatIntervalItem.setRequired(true);
- repeatIntervalItem.setContextualHelp("how often the operation should be executed");
+ repeatIntervalItem.setContextualHelp(MSG.widget_jobTriggerEditor_fieldHelp_repeatInterval());
RadioGroupItem recurrenceTypeItem = new RadioGroupItem(FIELD_RECURRENCE_TYPE);
recurrenceTypeItem.setRequired(true);
recurrenceTypeItem.setShowTitle(false);
LinkedHashMap<String, String> recurrenceTypeValueMap = new LinkedHashMap<String, String>();
- recurrenceTypeValueMap.put("for", "For");
- recurrenceTypeValueMap.put("until", "Until");
- recurrenceTypeValueMap.put("indefinitely", "Indefinitely");
+ recurrenceTypeValueMap.put("for", MSG.widget_jobTriggerEditor_value_for());
+ recurrenceTypeValueMap.put("until", MSG.widget_jobTriggerEditor_value_until());
+ recurrenceTypeValueMap.put("indefinitely", MSG.widget_jobTriggerEditor_value_indefinitely());
recurrenceTypeItem.setValueMap(recurrenceTypeValueMap);
supportedUnits = new TreeSet<TimeUnit>();
@@ -636,7 +638,7 @@ public class JobTriggerEditor extends LocatableVLayout {
supportedUnits, true, this.isReadOnly, repeatForm);
repeatDurationItem.setShowTitle(false);
repeatDurationItem.setVisible(false);
- repeatDurationItem.setContextualHelp("keep running this operation this many times or until this amount of time has elapsed");
+ repeatDurationItem.setContextualHelp(MSG.widget_jobTriggerEditor_fieldHelp_repeatDuration());
final DateTimeItem endTimeItem = createDateTimeItem(FIELD_END_TIME);
endTimeItem.setShowTitle(false);
@@ -689,10 +691,10 @@ public class JobTriggerEditor extends LocatableVLayout {
laterForm.setNumCols(4);
laterForm.setColWidths(140, 130, 130);
- RadioGroupItem startTypeItem = new RadioGroupItem(FIELD_START_TYPE, "Run");
+ RadioGroupItem startTypeItem = new RadioGroupItem(FIELD_START_TYPE, MSG.widget_jobTriggerEditor_field_startType());
LinkedHashMap<String, String> startTypeValueMap = new LinkedHashMap<String, String>();
- startTypeValueMap.put("on", "on");
- startTypeValueMap.put("in", "in");
+ startTypeValueMap.put("on", MSG.widget_jobTriggerEditor_value_on());
+ startTypeValueMap.put("in", MSG.widget_jobTriggerEditor_value_in());
startTypeItem.setValueMap(startTypeValueMap);
startTypeItem.setShowTitle(true);
@@ -710,7 +712,7 @@ public class JobTriggerEditor extends LocatableVLayout {
supportedUnits, false, this.isReadOnly, laterForm);
startDelayItem.setShowTitle(false);
startDelayItem.setVisible(false);
- startDelayItem.setContextualHelp("start executing the operation after this amount of time has elapsed");
+ startDelayItem.setContextualHelp(MSG.widget_jobTriggerEditor_fieldHelp_startDelay());
SpacerItem spacerItem = new SpacerItem();
@@ -848,14 +850,16 @@ public class JobTriggerEditor extends LocatableVLayout {
isValid = isValid && this.laterForm.validate();
if (startTime != null) {
if (startTime.before(currentTime)) {
- Message message = new Message("Start time must be in the future.", Message.Severity.Error,
+ Message message = new Message(MSG.widget_jobTriggerEditor_message_startTimeMustBeInFuture(),
+ Message.Severity.Error,
EnumSet.of(Message.Option.Transient));
CoreGUI.getMessageCenter().notify(message);
isValid = false;
}
if (this.isRecurring && endTime != null) {
if (endTime.before(startTime)) {
- Message message = new Message("End time must be after start time.", Message.Severity.Error,
+ Message message = new Message(MSG.widget_jobTriggerEditor_message_endTimeMustBeAfterStartTime(),
+ Message.Severity.Error,
EnumSet.of(Message.Option.Transient));
CoreGUI.getMessageCenter().notify(message);
isValid = false;
@@ -867,7 +871,8 @@ public class JobTriggerEditor extends LocatableVLayout {
isValid = isValid && this.repeatForm.validate();
if (endTime != null) {
if (endTime.before(currentTime)) {
- Message message = new Message("End time must be in the future.", Message.Severity.Error,
+ Message message = new Message(MSG.widget_jobTriggerEditor_message_endTimeMustBeAfterStartTime(),
+ Message.Severity.Error,
EnumSet.of(Message.Option.Transient));
CoreGUI.getMessageCenter().notify(message);
isValid = false;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDataSource.java
index 6b8fcb4..c4f64a3 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/history/AbstractOperationHistoryDataSource.java
@@ -79,29 +79,30 @@ public abstract class AbstractOperationHistoryDataSource<T extends OperationHist
}
@Override
- // TODO: i18n
protected List<DataSourceField> addDataSourceFields() {
List<DataSourceField> fields = super.addDataSourceFields();
- DataSourceIntegerField idField = new DataSourceIntegerField(Field.ID, "ID");
+ DataSourceIntegerField idField = new DataSourceIntegerField(Field.ID, MSG.common_title_id());
idField.setPrimaryKey(true);
fields.add(idField);
- DataSourceTextField nameField = new DataSourceTextField(Field.OPERATION_NAME, "Operation");
+ DataSourceTextField nameField = new DataSourceTextField(Field.OPERATION_NAME,
+ MSG.dataSource_operationHistory_field_operationName());
fields.add(nameField);
DataSourceTextField statusField = new DataSourceTextField(Field.STATUS, MSG.common_title_status());
fields.add(statusField);
DataSourceDateTimeField createdTimeField = new DataSourceDateTimeField(Field.CREATED_TIME,
- "Created Time");
+ MSG.dataSource_operationHistory_field_createdTime());
fields.add(createdTimeField);
DataSourceDateTimeField startedTimeField = new DataSourceDateTimeField(Field.STARTED_TIME,
- MSG.dataSource_operationHistory_startedTime());
+ MSG.dataSource_operationHistory_field_startedTime());
fields.add(startedTimeField);
- DataSourceTextField subjectField = new DataSourceTextField(Field.SUBJECT, "Requester");
+ DataSourceTextField subjectField = new DataSourceTextField(Field.SUBJECT,
+ MSG.dataSource_operationHistory_field_subject());
fields.add(subjectField);
return fields;
@@ -132,6 +133,4 @@ public abstract class AbstractOperationHistoryDataSource<T extends OperationHist
return record;
}
-
-
}
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 bb48230..c594103 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
@@ -88,7 +88,8 @@ public abstract class AbstractOperationHistoryListView<T extends AbstractOperati
});
// TODO: i18n
- addTableAction(extendLocatorId("ForceDelete"), "Force Delete", getDeleteConfirmMessage(), new TableAction() {
+ addTableAction(extendLocatorId("ForceDelete"), MSG.view_operationHistoryList_button_forceDelete(),
+ getDeleteConfirmMessage(), new TableAction() {
public boolean isEnabled(ListGridRecord[] selection) {
int count = selection.length;
return (count >= 1 && hasControlPermission());
@@ -131,8 +132,6 @@ public abstract class AbstractOperationHistoryListView<T extends AbstractOperati
protected ListGridField createStartedTimeField() {
ListGridField startedTimeField = new ListGridField(AbstractOperationHistoryDataSource.Field.STARTED_TIME);
- //startedTimeField.setType(ListGridFieldType.DATE);
- //startedTimeField.setDateFormatter(DateDisplayFormat.TOLOCALESTRING);
startedTimeField.setAlign(Alignment.LEFT);
startedTimeField.setCellAlign(Alignment.LEFT);
startedTimeField.setCellFormatter(new CellFormatter() {
@@ -141,7 +140,7 @@ public abstract class AbstractOperationHistoryListView<T extends AbstractOperati
Date date = (Date) value;
return DateTimeFormat.getMediumDateTimeFormat().format(date);
} else {
- return "<i>not yet started</i>";
+ return "<i>" + MSG.view_operationHistoryList_notYetStarted() + "</i>";
}
}
});
@@ -159,20 +158,21 @@ public abstract class AbstractOperationHistoryListView<T extends AbstractOperati
String statusStr = record.getAttribute(AbstractOperationHistoryDataSource.Field.STATUS);
OperationRequestStatus status = OperationRequestStatus.valueOf(statusStr);
switch (status) {
- case SUCCESS: {
- return MSG.common_status_success();
- }
- case FAILURE: {
- return MSG.common_status_failed();
- }
- case INPROGRESS: {
- return MSG.common_status_inprogress();
- }
- case CANCELED: {
- return MSG.common_status_canceled();
- }
+ case SUCCESS: {
+ return MSG.common_status_success();
+ }
+ case FAILURE: {
+ return MSG.common_status_failed();
+ }
+ case INPROGRESS: {
+ return MSG.common_status_inprogress();
+ }
+ case CANCELED: {
+ return MSG.common_status_canceled();
+ }
}
- return "unknown"; // should never get here
+ // should never get here
+ return MSG.common_status_unknown();
}
});
statusField.setCellFormatter(new CellFormatter() {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDataSource.java
index 2e18af7..041c7db 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDataSource.java
@@ -92,13 +92,14 @@ public abstract class AbstractOperationScheduleDataSource<T extends OperationSch
protected List<DataSourceField> addDataSourceFields() {
List<DataSourceField> fields = super.addDataSourceFields();
- DataSourceIntegerField idField = new DataSourceIntegerField(Field.ID, "Schedule ID");
+ DataSourceIntegerField idField = new DataSourceIntegerField(Field.ID,
+ MSG.dataSource_operationSchedule_field_id());
idField.setPrimaryKey(true);
idField.setCanEdit(false);
fields.add(idField);
- DataSourceTextField operationNameField = createTextField(Field.OPERATION_NAME, "Operation", null, 100,
- true);
+ DataSourceTextField operationNameField = createTextField(Field.OPERATION_NAME,
+ MSG.dataSource_operationSchedule_field_operationName(), null, 100, true);
Set<OperationDefinition> operationDefinitions = this.resourceType.getOperationDefinitions();
LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>();
for (OperationDefinition operationDefinition : operationDefinitions) {
@@ -107,23 +108,26 @@ public abstract class AbstractOperationScheduleDataSource<T extends OperationSch
operationNameField.setValueMap(valueMap);
fields.add(operationNameField);
- DataSourceTextField operationDisplayNameField = createTextField(Field.OPERATION_DISPLAY_NAME, "Operation", null,
- 100, true);
+ DataSourceTextField operationDisplayNameField = createTextField(Field.OPERATION_DISPLAY_NAME,
+ MSG.dataSource_operationSchedule_field_operationDisplayName(), null, 100, true);
fields.add(operationDisplayNameField);
- DataSourceField subjectField = new DataSourceField(Field.SUBJECT, FieldType.ANY, "Owner");
+ DataSourceField subjectField = new DataSourceField(Field.SUBJECT, FieldType.ANY,
+ MSG.dataSource_operationSchedule_field_subject());
subjectField.setCanEdit(false);
fields.add(subjectField);
- DataSourceTextField descriptionField = createTextField(Field.DESCRIPTION, "Notes", null, 100, false);
+ DataSourceTextField descriptionField = createTextField(Field.DESCRIPTION,
+ MSG.dataSource_operationSchedule_field_description(), null, 100, false);
fields.add(descriptionField);
DataSourceDateTimeField nextFireTimeField = new DataSourceDateTimeField(Field.NEXT_FIRE_TIME,
- "Next Scheduled Execution");
+ MSG.dataSource_operationSchedule_field_nextFireTime());
nextFireTimeField.setCanEdit(false);
fields.add(nextFireTimeField);
- DataSourceIntegerField timeoutField = createIntegerField(Field.TIMEOUT, "Timeout (in seconds)", 30, null, false);
+ DataSourceIntegerField timeoutField = createIntegerField(Field.TIMEOUT,
+ MSG.dataSource_operationSchedule_field_timeout(), 30, null, false);
fields.add(timeoutField);
return fields;
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 0600e5a..7dc0142 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
@@ -88,7 +88,7 @@ public abstract class AbstractOperationScheduleDetailsView extends AbstractRecor
public AbstractOperationScheduleDetailsView(String locatorId, AbstractOperationScheduleDataSource dataSource,
ResourceType resourceType, int scheduleId) {
- super(locatorId, dataSource, scheduleId, "Scheduled Operation", null);
+ super(locatorId, dataSource, scheduleId, MSG.view_operationScheduleDetails_operationSchedule(), null);
Set<OperationDefinition> operationDefinitions = resourceType.getOperationDefinitions();
for (OperationDefinition operationDefinition : operationDefinitions) {
@@ -144,11 +144,13 @@ public abstract class AbstractOperationScheduleDetailsView extends AbstractRecor
}
});
- this.operationDescriptionItem = new StaticTextItem(FIELD_OPERATION_DESCRIPTION, "Description");
+ this.operationDescriptionItem = new StaticTextItem(FIELD_OPERATION_DESCRIPTION,
+ MSG.view_operationScheduleDetails_field_description());
this.operationDescriptionItem.setShowTitle(false);
items.add(this.operationDescriptionItem);
- this.operationParametersItem = new StaticTextItem(FIELD_OPERATION_PARAMETERS, "Parameters");
+ this.operationParametersItem = new StaticTextItem(FIELD_OPERATION_PARAMETERS,
+ MSG.view_operationScheduleDetails_field_parameters());
this.operationParametersItem.setColSpan(2);
items.add(this.operationParametersItem);
@@ -180,22 +182,24 @@ public abstract class AbstractOperationScheduleDetailsView extends AbstractRecor
supportedUnits.add(TimeUnit.SECONDS);
supportedUnits.add(TimeUnit.MINUTES);
supportedUnits.add(TimeUnit.HOURS);
- DurationItem timeoutItem = new DurationItem(AbstractOperationScheduleDataSource.Field.TIMEOUT, "Timeout",
+ DurationItem timeoutItem = new DurationItem(AbstractOperationScheduleDataSource.Field.TIMEOUT,
+ MSG.view_operationScheduleDetails_field_timeout(),
supportedUnits, false, isReadOnly(), this.notesForm);
- timeoutItem.setContextualHelp("a time duration - if specified, if the duration elapses before a scheduled operation execution has completed, the RHQ Server will timeout the operation and consider it to have failed; note, it is usually not possible to abort the underlying managed resource operation if it was already initiated");
+ timeoutItem.setContextualHelp(MSG.view_operationScheduleDetails_fieldHelp_timeout());
notesFields.add(timeoutItem);
if (!isNewRecord()) {
StaticTextItem nextFireTimeItem = new StaticTextItem(AbstractOperationScheduleDataSource.Field.NEXT_FIRE_TIME,
- "Next Fire Time");
+ MSG.dataSource_operationSchedule_field_nextFireTime());
notesFields.add(nextFireTimeItem);
}
- TextAreaItem notesItem = new TextAreaItem(ResourceOperationScheduleDataSource.Field.DESCRIPTION, "Notes");
+ TextAreaItem notesItem = new TextAreaItem(ResourceOperationScheduleDataSource.Field.DESCRIPTION,
+ MSG.dataSource_operationSchedule_field_description());
notesItem.setWidth(450);
notesItem.setHeight(60);
notesItem.setShowTitle(true);
- FormUtility.addContextualHelp(notesItem, "an optional description of this scheduled operation (e.g. \"nightly maintenance app server restart\")");
+ FormUtility.addContextualHelp(notesItem, MSG.view_operationScheduleDetails_fieldHelp_description());
notesFields.add(notesItem);
this.notesForm.setFields(notesFields.toArray(new FormItem[notesFields.size()]));
@@ -306,7 +310,7 @@ public abstract class AbstractOperationScheduleDetailsView extends AbstractRecor
String operationName = getSelectedOperationName();
String value;
if (operationName == null) {
- value = "<i>Select an operation to see its description.</i>";
+ value = "<i>" + MSG.view_operationScheduleDetails_fieldDefault_description() + "</i>";
} else {
value = this.operationNameToDescriptionMap.get(operationName);
}
@@ -317,18 +321,18 @@ public abstract class AbstractOperationScheduleDetailsView extends AbstractRecor
String operationName = getSelectedOperationName();
String value;
if (operationName == null) {
- value = "<i>Select an operation to see its parameters.</i>";
+ value = "<i>" + MSG.view_operationScheduleDetails_fieldDefault_parameters() + "</i>";
} else {
ConfigurationDefinition parametersDefinition = this.operationNameToParametersDefinitionMap.get(operationName);
if (parametersDefinition == null || parametersDefinition.getPropertyDefinitions().isEmpty()) {
- value = "<i>" + MSG.view_operationCreateWizard_parametersStep_noParameters() + "</i>";
+ value = "<i>" + MSG.view_operationScheduleDetails_noParameters() + "</i>";
for (Canvas child : this.operationParametersConfigurationHolder.getChildren()) {
child.destroy();
}
this.operationParametersConfigurationHolder.hide();
} else {
- value = isNewRecord() ? "<i>Enter parameters below...</i>" : "";
+ value = isNewRecord() ? "<i>" + MSG.view_operationScheduleDetails_enterParametersBelow() + "</i>" : "";
for (Canvas child : this.operationParametersConfigurationHolder.getChildren()) {
child.destroy();
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 8d9e354..b2c80ba 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
@@ -50,10 +50,8 @@ public abstract class AbstractOperationScheduleListView extends TableSection<Abs
ListGridField subjectField = new ListGridField(AbstractOperationScheduleDataSource.Field.SUBJECT, 110);
subjectField.setCellFormatter(new SubjectRecordCellFormatter());
- //ListGridField jobTriggerField = new ListGridField(OperationScheduleDataSource.Field.JOB_TRIGGER, 300);
-
ListGridField nextFireTimeField = new ListGridField(AbstractOperationScheduleDataSource.Field.NEXT_FIRE_TIME,
- "Next Scheduled Execution", 190);
+ 190);
ListGridField descriptionField = new ListGridField(AbstractOperationScheduleDataSource.Field.DESCRIPTION);
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 250c2c9..8132abd 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
@@ -32,7 +32,7 @@ public class GroupMemberResourceOperationHistoryListView
protected List<ListGridField> createFields() {
List<ListGridField> fields = new ArrayList<ListGridField>();
- ListGridField idField = new ListGridField(AbstractOperationHistoryDataSource.Field.ID, MSG.common_title_id());
+ ListGridField idField = new ListGridField(AbstractOperationHistoryDataSource.Field.ID);
idField.setWidth(38);
fields.add(idField);
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 bfed707..832acfe 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,6 +30,8 @@ import java.util.List;
import java.util.Set;
/**
+ * The details view of the Group Operations>Schedules subtab.
+ *
* @author Ian Springer
*/
public class GroupOperationScheduleDetailsView extends AbstractOperationScheduleDetailsView {
@@ -64,7 +66,7 @@ public class GroupOperationScheduleDetailsView extends AbstractOperationSchedule
resourceDatasource.fetchData(criteria, new DSCallback() {
public void execute(DSResponse response, Object rawData, DSRequest request) {
if (response.getStatus() != DSResponse.STATUS_SUCCESS) {
- throw new RuntimeException("Failed to load group member Resources.");
+ throw new RuntimeException(MSG.view_group_operationScheduleDetails_failedToLoadMembers());
}
Record[] data = response.getData();
memberResourceRecords = new ListGridRecord[data.length];
@@ -92,15 +94,17 @@ public class GroupOperationScheduleDetailsView extends AbstractOperationSchedule
this.executionModeForm.setNumCols(2);
this.executionModeForm.setColWidths(FIRST_COLUMN_WIDTH, "*");
- RadioGroupItem executionModeItem = new RadioGroupItem(FIELD_EXECUTION_MODE, "Execute");
+ RadioGroupItem executionModeItem = new RadioGroupItem(FIELD_EXECUTION_MODE,
+ MSG.view_group_operationScheduleDetails_field_execute());
LinkedHashMap<String, String> valueMap = new LinkedHashMap<String, String>(2);
- valueMap.put(EXECUTION_ORDER_PARALLEL, "in parallel");
- valueMap.put(EXECUTION_ORDER_SEQUENTIAL, "in the order specified below (drag and drop member Resources to change order)");
+ valueMap.put(EXECUTION_ORDER_PARALLEL, MSG.view_group_operationScheduleDetails_value_parallel());
+ valueMap.put(EXECUTION_ORDER_SEQUENTIAL, MSG.view_group_operationScheduleDetails_value_sequential());
executionModeItem.setValueMap(valueMap);
executionModeItem.setDefaultValue(EXECUTION_ORDER_PARALLEL);
executionModeItem.setShowTitle(true);
- final CheckboxItem haltOnFailureItem = new CheckboxItem("haltOnFailure", "Halt on Failure?");
+ final CheckboxItem haltOnFailureItem = new CheckboxItem(GroupOperationScheduleDataSource.Field.HALT_ON_FAILURE,
+ MSG.view_group_operationScheduleDetails_field_haltOnFailure());
haltOnFailureItem.setDefaultValue(false);
haltOnFailureItem.setVisible(false);
haltOnFailureItem.setLabelAsTitle(true);
@@ -119,7 +123,7 @@ public class GroupOperationScheduleDetailsView extends AbstractOperationSchedule
this.memberExecutionOrderer = new ReorderableList(extendLocatorId("MemberExecutionOrderer"),
this.memberResourceRecords, null, memberIcon);
this.memberExecutionOrderer.setVisible(false);
- this.memberExecutionOrderer.setNameFieldTitle("Member Resource");
+ this.memberExecutionOrderer.setNameFieldTitle(MSG.view_group_operationScheduleDetails_memberResource());
hLayout.addMember(this.memberExecutionOrderer);
contentPane.addMember(hLayout);
@@ -148,7 +152,7 @@ public class GroupOperationScheduleDetailsView extends AbstractOperationSchedule
ListGridRecord[] resourceRecords = resourceDatasource.buildRecords(executionOrder);
this.memberExecutionOrderer.setRecords(resourceRecords);
this.memberExecutionOrderer.show();
- FormItem haltOnFailureItem = executionModeForm.getField("haltOnFailure");
+ FormItem haltOnFailureItem = executionModeForm.getField(GroupOperationScheduleDataSource.Field.HALT_ON_FAILURE);
haltOnFailureItem.show();
} else {
this.executionModeForm.setValue(FIELD_EXECUTION_MODE, EXECUTION_ORDER_PARALLEL);
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 f2183af..7f9c2f1 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
@@ -24,6 +24,8 @@ import org.rhq.core.domain.resource.group.composite.ResourceGroupComposite;
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.schedule.AbstractOperationScheduleListView;
/**
+ * The list view of the Group Operations>Schedules subtab.
+ *
* @author Ian Springer
*/
public class GroupOperationScheduleListView extends AbstractOperationScheduleListView {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/schedule/ResourceOperationScheduleDetailsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/schedule/ResourceOperationScheduleDetailsView.java
index 22d89dd..bebe550 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/schedule/ResourceOperationScheduleDetailsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/operation/schedule/ResourceOperationScheduleDetailsView.java
@@ -4,6 +4,8 @@ import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.schedule.AbstractOperationScheduleDetailsView;
/**
+ * The details view of the Resource Operations>Schedules subtab.
+ *
* @author Ian Springer
*/
public class ResourceOperationScheduleDetailsView extends AbstractOperationScheduleDetailsView {
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 eec89cc..221390c 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
@@ -25,7 +25,7 @@ import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.operation.schedule.AbstractOperationScheduleListView;
/**
- * A table that displays all of the operation schedules for a particular Resource.
+ * The details view of the Resource Operations>Schedules subtab.
*
* @author Ian Springer
*/
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 940b293..9fcd822 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
@@ -69,6 +69,18 @@ common_label_week = week
common_label_weeks = weeks
common_label_yesterday=Yesterday
+# Common Units
+#-------------
+common_unit_times = times
+common_unit_milliseconds = milliseconds
+common_unit_seconds = seconds
+common_unit_minutes = minutes
+common_unit_hours = hours
+common_unit_days = days
+common_unit_weeks = weeks
+common_unit_months = months
+common_unit_years = years
+
# Common Titles
#--------------
common_title_address = Address
@@ -211,6 +223,7 @@ common_status_success = Success
common_status_failed = Failed
common_status_inprogress = In Progress
common_status_canceled = Canceled
+common_status_unknown = Unknown
# 1st, 2nd, 3rd, 4th, etc.
common_val_n1st = {0}st
@@ -313,8 +326,42 @@ widget_typeTree_badTypeId = Invalid URL. Bad resource type ID [{0}]
widget_typeTree_loadFail = Failed to load resource types
# Color Picker
+#--------------
widget_colorPicker_tooltip = Click to select a new color
+# Job Trigger Editor
+#--------------------
+widget_jobTriggerEditor_field_mode = Schedule using
+widget_jobTriggerEditor_value_calendar = Calendar
+widget_jobTriggerEditor_value_cronExpression = Cron Expression
+widget_jobTriggerEditor_value_now = Now
+widget_jobTriggerEditor_value_nowAndRepeat = Now & Repeat
+widget_jobTriggerEditor_value_later = Later
+widget_jobTriggerEditor_value_laterAndRepeat = Later & Repeat
+widget_jobTriggerEditor_field_cronExpression = Cron Expression
+widget_jobTriggerEditor_tab_format = Format
+widget_jobTriggerEditor_tab_examples = Examples
+widget_jobTriggerEditor_field_repeatInterval_now = Run now and every
+widget_jobTriggerEditor_field_repeatInterval_later = Repeat every
+widget_jobTriggerEditor_fieldHelp_repeatInterval = how often the operation should be executed
+widget_jobTriggerEditor_value_for = For
+widget_jobTriggerEditor_value_until = Until
+widget_jobTriggerEditor_value_indefinitely = Indefinitely
+widget_jobTriggerEditor_fieldHelp_repeatDuration = keep running this operation this many times or until this amount of time has elapsed
+widget_jobTriggerEditor_field_startType = Run
+widget_jobTriggerEditor_value_on = on
+widget_jobTriggerEditor_value_in = in
+widget_jobTriggerEditor_fieldHelp_startDelay = start executing the operation after this amount of time has elapsed
+widget_jobTriggerEditor_message_startTimeMustBeInFuture = Start time must be in the future.
+widget_jobTriggerEditor_message_endTimeMustBeAfterStartTime = End time must be after start time.
+widget_jobTriggerEditor_message_endTimeMustBeInFuture = End time must be in the future.
+
+# Duration Item
+#---------------
+widget_durationItem_inputUnitLessThanTargetUnit = Input unit is less than target unit.
+widget_durationItem_unitTypeNotSupported = Unit type [{0}] is not supported by this DurationItem.
+
+
#===================== Utils ======================
# Disambiguation Report Decorator
@@ -443,12 +490,10 @@ dataSource_schedules_updateSuccessful_concise = A new collection interval of [{0
dataSource_schedules_updateSuccessful_full_resource = A new collection interval of [{0}] seconds has been set on [{1}] measurements for resource with ID [{2}]. The updated measurements are: [{3}]
dataSource_schedules_updateSuccessful_full_group = A new collection interval of [{0}] seconds has been set on [{1}] measurements for resource group with ID [{2}]. The updated measurements are: [{3}]
-
# Resource Groups
#-----------------------
dataSource_resourceGroups_loadFailed = Failed to load Resource Groups
-
# Problem Resources
#------------------------------
dataSource_problemResources_field_resource = Resource
@@ -466,19 +511,31 @@ dataSource_recentOperations_field_time = Date/Time
dataSource_recentOperations_field_status = Status
dataSource_recentOperations_error_fetchFailure = Failed to load recently completed operations.
-# Scheduled Operations
-#---------------------------------
+# Scheduled Operations (ResourceOperationScheduleComposites)
+#------------------------------------------------------------
dataSource_scheduledOperations_field_resource = Resource
dataSource_scheduledOperations_field_location = Location
dataSource_scheduledOperations_field_operation = Operation
dataSource_scheduledOperations_field_time = Date/Time
dataSource_scheduledOperations_error_fetchFailure = Failed to load scheduled operations.
-# Operation History
-#---------------------------
+# Operation Schedules
+#--------------------
+dataSource_operationSchedule_field_id = Schedule ID
+dataSource_operationSchedule_field_operationName = Operation
+dataSource_operationSchedule_field_operationDisplayName = Operation
+dataSource_operationSchedule_field_subject = Owner
+dataSource_operationSchedule_field_description = Notes
+dataSource_operationSchedule_field_nextFireTime = Next Scheduled Execution
+dataSource_operationSchedule_field_timeout = Timeout (in seconds)
+
+# Operation Histories
+#--------------------
+dataSource_operationHistory_field_operationName = Operation Name
+dataSource_operationHistory_field_createdTime = Created Time
+dataSource_operationHistory_field_startedTime = Started Time
+dataSource_operationHistory_field_subject = Requester
dataSource_operationHistory_error_fetchFailure = Failure loading operation histories.
-dataSource_operationHistory_operationName = Operation Name
-dataSource_operationHistory_startedTime = Started Time
# Configuration History
#-------------------------------
@@ -1769,13 +1826,41 @@ view_configurationHistoryList_table_clickStatusIcon = Click the status icon for
#------------------------------------------
view_configurationHistoryDetails_error_loadFailure = Unable to load configuration history.
+
+# Operation Schedule List
+#------------------------
+xxx =
+
+# Operation Schedule Details
+#---------------------------
+view_operationScheduleDetails_operationSchedule = Operation Schedule
+view_operationScheduleDetails_field_description = Description
+view_operationScheduleDetails_field_parameters = Parameters
+view_operationScheduleDetails_field_timeout = Timeout
+view_operationScheduleDetails_fieldHelp_timeout = a time duration - if specified, if the duration elapses before a scheduled operation execution has completed, the RHQ Server will timeout the operation and consider it to have failed; note, it is usually not possible to abort the underlying managed resource operation if it was already initiated
+view_operationScheduleDetails_fieldHelp_description = an optional description of this scheduled operation (e.g. nightly maintenance app server restart)
+view_operationScheduleDetails_fieldDefault_description = Select an operation to see its description.
+view_operationScheduleDetails_fieldDefault_parameters = Select an operation to see its parameters.
+view_operationScheduleDetails_noParameters = This operation does not take any parameters.
+view_operationScheduleDetails_enterParametersBelow = Enter parameters below...
+
+view_group_operationScheduleDetails_failedToLoadMembers = Failed to load group member Resources.
+view_group_operationScheduleDetails_field_execute = Execute
+view_group_operationScheduleDetails_value_parallel = in parallel
+view_group_operationScheduleDetails_value_sequential = in the order specified below (drag and drop member Resources to change order)
+view_group_operationScheduleDetails_field_haltOnFailure = Halt on Failure?
+view_group_operationScheduleDetails_memberResource = Member Resource
+
+
# Operation History List
-#---------------------------------
+#-----------------------
view_operationHistoryList_title = Operation History
view_operationHistoryList_button_runOperation = Run Operation
+view_operationHistoryList_button_forceDelete = Force Delete
+view_operationHistoryList_notYetStarted = not yet started
# Operation History Details
-#--------------------------------------
+#--------------------------
view_operationHistoryDetails_error_fetchFailure = Failure loading operation history.
view_operationHistoryDetails_operation = Operation
view_operationHistoryDetails_dateSubmitted = Date Submitted
@@ -1785,55 +1870,6 @@ view_operationHistoryDetails_status = Status
view_operationHistoryDetails_parameters = Parameters
view_operationHistoryDetails_results = Results
-# Operation Create Wizard
-#-------------------------------------
-view_operationCreateWizard_title = Operation Wizard
-view_operationCreateWizard_header = Execute {0} on {1}
-view_operationCreateWizard_button_execute = Execute
-view_operationCreateWizard_button_executeImmediately = Execute Immediately
-view_operationCreateWizard_error_scheduleOperationFailure = Failed to schedule operation execution.
-view_operationCreateWizard_message_scheduleOperationSuccess_short = You have scheduled the operation [{0}] on this resource
-view_operationCreateWizard_message_scheduleOperationSuccess = You have scheduled the operation [{0}] on resource [{1}] with the schedule [{2}].
-view_operationCreateWizard_parametersStep_name = Operation Parameters
-view_operationCreateWizard_parametersStep_noParameters = This operation does not take any parameters.
-view_operationCreateWizard_schedulingStep_name = Schedule
-view_operationCreateWizard_schedulingStep_label_start = Start
-view_operationCreateWizard_schedulingStep_label_schedule = Schedule
-view_operationCreateWizard_schedulingStep_label_recurrence = Recurrence
-view_operationCreateWizard_schedulingStep_label_runAt = Run At
-view_operationCreateWizard_schedulingStep_label_nMinutes = n Minutes
-view_operationCreateWizard_schedulingStep_label_hourly = Hourly
-view_operationCreateWizard_schedulingStep_label_daily = Daily
-view_operationCreateWizard_schedulingStep_label_weekly = Weekly
-view_operationCreateWizard_schedulingStep_label_monthly = Monthly
-view_operationCreateWizard_schedulingStep_label_timePeriod = Time Period
-view_operationCreateWizard_schedulingStep_label_startDate = Start Date
-view_operationCreateWizard_schedulingStep_label_recurrenceEnd = Recurrence End
-view_operationCreateWizard_schedulingStep_label_endDate = End Date
-view_operationCreateWizard_schedulingStep_label_willExecuteImmediately = Will execute immediately
-view_operationCreateWizard_schedulingStep_label_onceAt = Once At
-view_operationCreateWizard_schedulingStep_label_date = Date
-view_operationCreateWizard_schedulingStep_label_time = Time
-view_operationCreateWizard_schedulingStep_label_everyNMinutes = Every n Minutes
-view_operationCreateWizard_schedulingStep_label_minuteInterval = Minute Interval
-view_operationCreateWizard_schedulingStep_label_hourlyAt = Hourly At
-view_operationCreateWizard_schedulingStep_label_minuteOfHour = Minute of Hour
-view_operationCreateWizard_schedulingStep_label_dailyAt = Daily At
-view_operationCreateWizard_schedulingStep_label_timeOfDay = Time of Day
-view_operationCreateWizard_schedulingStep_label_weeklyOn = Weekly On
-view_operationCreateWizard_schedulingStep_label_dayOfWeek = Day of Week
-view_operationCreateWizard_schedulingStep_label_monthlyOn = Monthly On
-view_operationCreateWizard_schedulingStep_label_dayOfMonth = Day of Month
-view_operationCreateWizard_executionSchedule_willExecuteOnce = Will execute {0}~.
-view_operationCreateWizard_executionSchedule_willExecuteRecurring = Will execute {0}, starting on {1}~.
-view_operationCreateWizard_executionSchedule_willExecuteRecurringWithEnd = Will execute {0}, starting on {1} and ending on {2}~.
-view_operationCreateWizard_executionSchedule_immediately = immediately
-view_operationCreateWizard_executionSchedule_onceAtGivenTime = once at {0}
-view_operationCreateWizard_executionSchedule_everyNMinutes = every {0} minutes
-view_operationCreateWizard_executionSchedule_everyHourOnNthMinute = every hour on the {0} minute
-view_operationCreateWizard_executionSchedule_everyDayAtGivenTime = every day at {0}
-view_operationCreateWizard_executionSchedule_everyWeekOnGivenDayAtGivenTime = every week on {0} at {1}
-view_operationCreateWizard_executionSchedule_everyMonthOnNthDayAtGivenTime = every month on the {0} day at {1}
# Summary Overview
#-----------------------------
12 years, 9 months
[rhq] modules/enterprise
by Jay Shaughnessy
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/tab/SubTab.java | 21
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/AbstractTwoLevelTabSetView.java | 10
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupDetailView.java | 177 ++++--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java | 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java | 262 +++++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java | 5
6 files changed, 356 insertions(+), 124 deletions(-)
New commits:
commit a68a711863123bd05a4531e4607fca7b6db0dfb5
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Fri Feb 25 16:49:13 2011 -0500
Lazy Create SubTab Views
This means that for resource and group detail views we no longer create
the views for all active subtabs in advance. Instead, we create them when
they are navigated to. This means that construction/init/oninit/destroy/onDestroy
logis is avoided for non-rendered tabs. This should make things a bit
snappier overall and also protects against unwanted db round trips initiated
(perhaps unintentionally) from onInit (or even construction).
In short, supply SubTabs with ViewFactories as opposed to the view itself,
and generate the Canvas as needed. Note that once created we re-use the canvas
until the entire detail view is destroyed.
- also, move async db loads from construction to oninit in resource
ActivityView and group Activity2View. In general avoid async work
and db rts in the constructor. Wait for the widget to be attached to a
parent (oninit), or even better, when rendered (onDraw).
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 3492891..d257bec 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.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.LocatableButton;
@@ -34,6 +35,7 @@ public class SubTab implements Locatable {
private String locatorId;
private ViewName viewName;
private Canvas canvas;
+ private ViewFactory viewFactory;
private LocatableButton button;
public SubTab(String locatorId, ViewName viewName, Canvas canvas) {
@@ -43,11 +45,22 @@ public class SubTab implements Locatable {
this.button = null;
}
+ public SubTab(String locatorId, ViewName viewName, Canvas initialCanvas, ViewFactory viewFactory) {
+ this.locatorId = locatorId;
+ this.viewName = viewName;
+ this.canvas = initialCanvas;
+ this.viewFactory = viewFactory;
+ this.button = null;
+ }
+
public String getLocatorId() {
return locatorId;
}
public Canvas getCanvas() {
+ if (null == canvas && null != viewFactory) {
+ canvas = viewFactory.createView();
+ }
return canvas;
}
@@ -55,6 +68,14 @@ public class SubTab implements Locatable {
this.canvas = canvas;
}
+ public ViewFactory getViewFactory() {
+ return viewFactory;
+ }
+
+ public void setViewFactory(ViewFactory viewFactory) {
+ this.viewFactory = viewFactory;
+ }
+
public LocatableButton getButton() {
return button;
}
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 1611328..b722739 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
@@ -40,6 +40,7 @@ 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.tab.TwoLevelTabSelectedHandler;
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.selenium.LocatableVLayout;
/**
@@ -115,12 +116,19 @@ public abstract class AbstractTwoLevelTabSetView<T, U extends Layout> extends Lo
return (visible && enabled);
}
- protected void updateSubTab(TwoLevelTab tab, SubTab subTab, Canvas canvas, boolean visible, boolean enabled) {
+ protected void updateSubTab(TwoLevelTab tab, SubTab subTab, boolean visible, boolean enabled,
+ ViewFactory viewFactory) {
+ updateSubTab(tab, subTab, null, visible, enabled, viewFactory);
+ }
+
+ protected void updateSubTab(TwoLevelTab tab, SubTab subTab, Canvas canvas, boolean visible, boolean enabled,
+ ViewFactory viewFactory) {
tab.setVisible(subTab, visible);
if (visible) {
tab.setSubTabEnabled(subTab, enabled);
if (enabled) {
subTab.setCanvas(canvas);
+ subTab.setViewFactory(viewFactory);
}
}
}
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 89079ac..9b2ad10 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
@@ -49,6 +49,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.ViewFactory;
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;
@@ -252,104 +253,180 @@ public class ResourceGroupDetailView extends AbstractTwoLevelTabSetView<Resource
private void updateSummaryTab() {
// Summary tab is always visible and enabled.
- updateSubTab(this.summaryTab, this.summaryActivity, new ActivityView(this.summaryActivity
- .extendLocatorId("View"), this.groupComposite), true, true);
- updateSubTab(this.summaryTab, this.summaryActivity2, new ActivityView2(this.summaryActivity2
- .extendLocatorId("View2"), this.groupComposite), true, true);
+ updateSubTab(this.summaryTab, this.summaryActivity, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new ActivityView(summaryActivity.extendLocatorId("View"), groupComposite);
+ }
+ });
+ updateSubTab(this.summaryTab, this.summaryActivity2, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new ActivityView2(summaryActivity2.extendLocatorId("View2"), groupComposite);
+ }
+ });
// TODO (ips): Add Timeline subtab?
}
- private void updateMonitoringTab(int groupId, GroupCategory groupCategory, Set<ResourceTypeFacet> facets) {
+ private void updateMonitoringTab(final int groupId, GroupCategory groupCategory, Set<ResourceTypeFacet> facets) {
boolean visible;
- Canvas canvas;
+ ViewFactory viewFactory;
if (updateTab(this.monitoringTab, groupCategory == GroupCategory.COMPATIBLE, true)) {
visible = hasMetricsOfType(this.groupComposite, DataType.MEASUREMENT);
- canvas = (visible) ? new FullHTMLPane(this.monitorGraphs.extendLocatorId("View"),
- "/rhq/group/monitor/graphs-plain.xhtml?groupId=" + groupId) : null;
- updateSubTab(this.monitoringTab, this.monitorGraphs, canvas, visible, true);
-
- // visible = same test as above
- canvas = (visible) ? new FullHTMLPane(this.monitorTables.extendLocatorId("View"),
- "/rhq/group/monitor/tables-plain.xhtml?groupId=" + groupId) : null;
- updateSubTab(this.monitoringTab, this.monitorTables, canvas, visible, true);
+ viewFactory = (!visible) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new FullHTMLPane(monitorGraphs.extendLocatorId("View"),
+ "/rhq/group/monitor/graphs-plain.xhtml?groupId=" + groupId);
+ }
+ };
+ updateSubTab(this.monitoringTab, this.monitorGraphs, visible, true, viewFactory);
+
+ // visible = same test as above
+ viewFactory = (!visible) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new FullHTMLPane(monitorTables.extendLocatorId("View"),
+ "/rhq/group/monitor/tables-plain.xhtml?groupId=" + groupId);
+ }
+ };
+ updateSubTab(this.monitoringTab, this.monitorTables, visible, true, viewFactory);
visible = hasMetricsOfType(this.groupComposite, DataType.TRAIT);
- canvas = (visible) ? new TraitsView(this.monitorTraits.extendLocatorId("View"), groupId) : null;
- updateSubTab(this.monitoringTab, this.monitorTraits, canvas, visible, true);
+ viewFactory = (!visible) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new TraitsView(monitorTraits.extendLocatorId("View"), groupId);
+ }
+ };
+ updateSubTab(this.monitoringTab, this.monitorTraits, visible, true, viewFactory);
visible = hasMetricsOfType(this.groupComposite, null);
- canvas = (visible) ? new SchedulesView(this.monitorSched.extendLocatorId("View"), this.groupComposite) : null;
- updateSubTab(this.monitoringTab, this.monitorSched, canvas, visible, true);
+ viewFactory = (!visible) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new SchedulesView(monitorSched.extendLocatorId("View"), groupComposite);
+ }
+ };
+ updateSubTab(this.monitoringTab, this.monitorSched, visible, true, viewFactory);
visible = facets.contains(ResourceTypeFacet.CALL_TIME);
- canvas = (visible) ? new FullHTMLPane(this.monitorCallTime.extendLocatorId("View"),
- "/rhq/group/monitor/response-plain.xhtml?groupId=" + groupId) : null;
- updateSubTab(this.monitoringTab, this.monitorCallTime, canvas, visible, true);
+ viewFactory = (!visible) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new FullHTMLPane(monitorCallTime.extendLocatorId("View"),
+ "/rhq/group/monitor/response-plain.xhtml?groupId=" + groupId);
+ }
+ };
+ updateSubTab(this.monitoringTab, this.monitorCallTime, visible, true, viewFactory);
// TODO (ips): Add Availability subtab.
}
}
- private void updateInventoryTab(int groupId, Set<ResourceTypeFacet> facets) {
+ private void updateInventoryTab(final int groupId, Set<ResourceTypeFacet> facets) {
// Inventory tab is always visible and enabled.
- boolean canModifyMembers = (!isAutoGroup() && !isAutoCluster() && globalPermissions
+ final boolean canModifyMembers = (!isAutoGroup() && !isAutoCluster() && globalPermissions
.contains(Permission.MANAGE_INVENTORY));
- updateSubTab(this.inventoryTab, this.inventoryMembers, new MembersView(this.inventoryMembers
- .extendLocatorId("View"), groupId, canModifyMembers), true, true);
- updateSubTab(this.inventoryTab, this.inventoryConn, new CurrentGroupPluginConfigurationView(this.inventoryConn
- .extendLocatorId("View"), this.groupComposite), facets.contains(ResourceTypeFacet.PLUGIN_CONFIGURATION),
- true);
- updateSubTab(this.inventoryTab, this.inventoryConnHistory, new HistoryGroupPluginConfigurationView(
- this.inventoryConnHistory.extendLocatorId("View"), this.groupComposite), facets
- .contains(ResourceTypeFacet.PLUGIN_CONFIGURATION), true);
+ updateSubTab(this.inventoryTab, this.inventoryMembers, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new MembersView(inventoryMembers.extendLocatorId("View"), groupId, canModifyMembers);
+ }
+ });
+ updateSubTab(this.inventoryTab, this.inventoryConn, facets.contains(ResourceTypeFacet.PLUGIN_CONFIGURATION),
+ true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new CurrentGroupPluginConfigurationView(inventoryConn.extendLocatorId("View"),
+ 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);
+ }
+ });
}
private void updateOperationsTab(GroupCategory groupCategory, Set<ResourceTypeFacet> facets) {
if (updateTab(this.operationsTab, groupCategory == GroupCategory.COMPATIBLE
&& facets.contains(ResourceTypeFacet.OPERATION), true)) {
- updateSubTab(this.operationsTab, this.operationsSchedules, new GroupOperationScheduleListView(
- this.operationsSchedules.extendLocatorId("View"), this.groupComposite), true, true);
- updateSubTab(this.operationsTab, this.operationsHistory, new GroupOperationHistoryListView(
- this.operationsHistory.extendLocatorId("View"), this.groupComposite), true, true);
+ updateSubTab(this.operationsTab, this.operationsSchedules, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new GroupOperationScheduleListView(operationsSchedules.extendLocatorId("View"),
+ groupComposite);
+ }
+ });
+ updateSubTab(this.operationsTab, this.operationsHistory, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new GroupOperationHistoryListView(operationsHistory.extendLocatorId("View"), groupComposite);
+ }
+ });
}
}
- private void updateAlertsTab(ResourceGroupComposite groupComposite, GroupCategory groupCategory) {
+ private void updateAlertsTab(final ResourceGroupComposite groupComposite, GroupCategory groupCategory) {
// alerts tab is always visible, even for mixed groups
if (updateTab(this.alertsTab, true, true)) {
// alert history is always available
- updateSubTab(this.alertsTab, this.alertHistory, GroupAlertHistoryView.get(this.alertHistory
- .extendLocatorId("View"), groupComposite), true, true);
+ updateSubTab(this.alertsTab, this.alertHistory, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return GroupAlertHistoryView.get(alertHistory.extendLocatorId("View"), groupComposite);
+ }
+ });
// but alert definitions can only be created on compatible groups
boolean visible = (groupCategory == GroupCategory.COMPATIBLE);
- Canvas canvas = (visible) ? new GroupAlertDefinitionsView(alertDef.extendLocatorId("View"),
- this.groupComposite) : null;
- updateSubTab(this.alertsTab, this.alertDef, canvas, visible, true);
+ ViewFactory viewFactory = (!visible) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new GroupAlertDefinitionsView(alertDef.extendLocatorId("View"), groupComposite);
+ }
+ };
+ updateSubTab(this.alertsTab, this.alertDef, visible, true, viewFactory);
}
}
- private void updateConfigurationTab(int groupId, GroupCategory groupCategory, Set<ResourceTypeFacet> facets) {
+ private void updateConfigurationTab(final int groupId, GroupCategory groupCategory, Set<ResourceTypeFacet> facets) {
boolean visible = (groupCategory == GroupCategory.COMPATIBLE && facets
.contains(ResourceTypeFacet.CONFIGURATION));
Set<Permission> groupPermissions = this.groupComposite.getResourcePermission().getPermissions();
if (updateTab(this.configurationTab, visible, visible && groupPermissions.contains(Permission.CONFIGURE_READ))) {
//updateSubTab(this.configurationTab, this.configCurrent, new FullHTMLPane(
// "/rhq/group/configuration/viewCurrent-plain.xhtml?groupId=" + groupId), true, true);
- updateSubTab(this.configurationTab, this.configCurrent, new GroupResourceConfigurationEditView(
- this.configCurrent.extendLocatorId("View"), this.groupComposite), true, true);
- updateSubTab(this.configurationTab, this.configHistory, new FullHTMLPane(this.configHistory
- .extendLocatorId("View"), "/rhq/group/configuration/history-plain.xhtml?groupId=" + groupId), true,
- true);
+ updateSubTab(this.configurationTab, this.configCurrent, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new GroupResourceConfigurationEditView(configCurrent.extendLocatorId("View"), groupComposite);
+ }
+ });
+ updateSubTab(this.configurationTab, this.configHistory, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new FullHTMLPane(configHistory.extendLocatorId("View"),
+ "/rhq/group/configuration/history-plain.xhtml?groupId=" + groupId);
+ }
+ });
}
}
- private void updateEventsTab(ResourceGroupComposite groupComposite, GroupCategory groupCategory,
+ private void updateEventsTab(final ResourceGroupComposite groupComposite, GroupCategory groupCategory,
Set<ResourceTypeFacet> facets) {
// allow mixed groups to show events from supporting resources
boolean visible = (groupCategory == GroupCategory.MIXED || (groupCategory == GroupCategory.COMPATIBLE && facets
.contains(ResourceTypeFacet.EVENT)));
if (updateTab(this.eventsTab, visible, true)) {
- updateSubTab(this.eventsTab, this.eventHistory, EventCompositeHistoryView.get(this.eventHistory
- .extendLocatorId("View"), groupComposite), true, true);
+ updateSubTab(this.eventsTab, this.eventHistory, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return EventCompositeHistoryView.get(eventHistory.extendLocatorId("View"), groupComposite);
+ }
+ });
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java
index a7c1b4f..98176d6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView2.java
@@ -77,6 +77,11 @@ public class ActivityView2 extends AbstractActivityView {
public ActivityView2(String locatorId, ResourceGroupComposite groupComposite) {
super(locatorId, groupComposite);
this.groupComposite = groupComposite;
+ }
+
+ @Override
+ protected void onInit() {
+ super.onInit();
loadData();
}
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 4af193b..0f712a6 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
@@ -48,6 +48,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.ViewFactory;
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;
@@ -264,89 +265,167 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
markForRedraw();
}
- private void updateSummaryTabContent(Resource resource) {
- updateSubTab(this.summaryTab, this.summaryActivity, new ActivityView(this.summaryActivity
- .extendLocatorId("View"), this.resourceComposite), true, true);
+ private void updateSummaryTabContent(final Resource resource) {
+ updateSubTab(this.summaryTab, this.summaryActivity, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new ActivityView(summaryActivity.extendLocatorId("View"), resourceComposite);
+ }
+ });
- updateSubTab(this.summaryTab, this.summaryTimeline, new FullHTMLPane(this.summaryTimeline
- .extendLocatorId("View"), "/rhq/resource/summary/timeline-plain.xhtml?id=" + resource.getId()), true, true);
+ updateSubTab(this.summaryTab, this.summaryTimeline, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new FullHTMLPane(summaryTimeline.extendLocatorId("View"),
+ "/rhq/resource/summary/timeline-plain.xhtml?id=" + resource.getId());
+ }
+ });
}
// Inventory Tab (always enabled and visible)
- private void updateInventoryTabContent(ResourceComposite resourceComposite, Resource resource,
+ private void updateInventoryTabContent(final ResourceComposite resourceComposite, final Resource resource,
Set<ResourceTypeFacet> facets) {
ResourceType type = this.resourceComposite.getResource().getResourceType();
boolean visible = !type.getChildResourceTypes().isEmpty();
- Canvas canvas = (visible) ? ResourceCompositeSearchView.getChildrenOf(this.inventoryTab
- .extendLocatorId("ChildrenView"), resourceComposite) : null;
- updateSubTab(this.inventoryTab, this.inventoryChildren, canvas, visible, true);
-
- updateSubTab(this.inventoryTab, this.inventoryChildHistory, new Canvas(), visible, true);
+ ViewFactory viewFactory = (!visible) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return ResourceCompositeSearchView.getChildrenOf(inventoryTab.extendLocatorId("ChildrenView"),
+ resourceComposite);
+ }
+ };
+ updateSubTab(this.inventoryTab, this.inventoryChildren, visible, true, viewFactory);
+
+ updateSubTab(this.inventoryTab, this.inventoryChildHistory, visible, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ // TODO
+ return new Canvas();
+ }
+ });
visible = facets.contains(ResourceTypeFacet.PLUGIN_CONFIGURATION);
- canvas = (visible) ? new PluginConfigurationEditView(this.inventoryTab.extendLocatorId("PluginConfigView"),
- resourceComposite) : null;
- updateSubTab(this.inventoryTab, this.inventoryConn, canvas, visible, true);
+ viewFactory = (!visible) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new PluginConfigurationEditView(inventoryTab.extendLocatorId("PluginConfigView"),
+ resourceComposite);
+ }
+ };
+ updateSubTab(this.inventoryTab, this.inventoryConn, visible, true, viewFactory);
// same test, use above setting for 'visible'
- canvas = (visible) ? new PluginConfigurationHistoryView(this.inventoryConnHistory.extendLocatorId("View"),
- this.resourceComposite.getResourcePermission().isInventory(), this.resourceComposite.getResource().getId())
- : null;
- updateSubTab(this.inventoryTab, this.inventoryConnHistory, canvas, visible, true);
-
- boolean canModifyMembership = globalPermissions.contains(Permission.MANAGE_INVENTORY);
- updateSubTab(this.inventoryTab, this.inventoryGroups, ResourceGroupListView.getGroupsOf(this.inventoryTab
- .extendLocatorId("GroupsView"), resource.getId(), canModifyMembership), true, true);
+ viewFactory = (!visible) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new PluginConfigurationHistoryView(inventoryConnHistory.extendLocatorId("View"),
+ resourceComposite.getResourcePermission().isInventory(), resourceComposite.getResource().getId());
+ }
+ };
+ updateSubTab(this.inventoryTab, this.inventoryConnHistory, visible, true, viewFactory);
+
+ final boolean canModifyMembership = globalPermissions.contains(Permission.MANAGE_INVENTORY);
+ updateSubTab(this.inventoryTab, this.inventoryGroups, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return ResourceGroupListView.getGroupsOf(inventoryTab.extendLocatorId("GroupsView"), resource.getId(),
+ canModifyMembership);
+ }
+ });
boolean enabled = globalPermissions.contains(Permission.MANAGE_INVENTORY);
- canvas = (enabled) ? new ResourceResourceAgentView(this.inventoryTab.extendLocatorId("AgentView"), resourceId)
- : null;
- updateSubTab(this.inventoryTab, this.inventoryAgent, canvas, true, enabled);
+ viewFactory = (!enabled) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new ResourceResourceAgentView(inventoryTab.extendLocatorId("AgentView"), resourceId);
+ }
+ };
+ updateSubTab(this.inventoryTab, this.inventoryAgent, true, enabled, viewFactory);
}
- private void updateAlertsTabContent(ResourceComposite resourceComposite) {
- updateSubTab(this.alertsTab, this.alertHistory, ResourceAlertHistoryView.get(this.alertHistory
- .extendLocatorId("View"), resourceComposite), true, true);
+ private void updateAlertsTabContent(final ResourceComposite resourceComposite) {
+ updateSubTab(this.alertsTab, this.alertHistory, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return ResourceAlertHistoryView.get(alertHistory.extendLocatorId("View"), resourceComposite);
+ }
+ });
- updateSubTab(this.alertsTab, this.alertDef, new ResourceAlertDefinitionsView(alertsTab
- .extendLocatorId("AlertDefView"), this.resourceComposite), true, true);
+ updateSubTab(this.alertsTab, this.alertDef, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new ResourceAlertDefinitionsView(alertsTab.extendLocatorId("AlertDefView"), resourceComposite);
+ }
+ });
}
- private void updateMonitoringTabContent(Resource resource, Set<ResourceTypeFacet> facets) {
+ private void updateMonitoringTabContent(final Resource resource, Set<ResourceTypeFacet> facets) {
boolean visible = hasMetricsOfType(this.resourceComposite, DataType.MEASUREMENT);
- //canvas = (visible) ? new GraphListView(this.monitoringTab.extendLocatorId("GraphListView"), resource) : null;
- Canvas canvas = (visible) ? new FullHTMLPane(this.monitorGraphs.extendLocatorId("View"),
- "/rhq/resource/monitor/graphs-plain.xhtml?id=" + resource.getId()) : null;
- updateSubTab(this.monitoringTab, this.monitorGraphs, canvas, visible, true);
+ ViewFactory viewFactory = (!visible) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new FullHTMLPane(monitorGraphs.extendLocatorId("View"),
+ "/rhq/resource/monitor/graphs-plain.xhtml?id=" + resource.getId());
+ }
+ };
+ updateSubTab(this.monitoringTab, this.monitorGraphs, visible, true, viewFactory);
// visible = same test as above
- canvas = (visible) ? new MeasurementTableView(this.monitorTables.extendLocatorId("View"), resource.getId())
- : null;
- updateSubTab(this.monitoringTab, this.monitorTables, canvas, visible, true);
+ viewFactory = (!visible) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new MeasurementTableView(monitorTables.extendLocatorId("View"), resource.getId());
+ }
+ };
+ updateSubTab(this.monitoringTab, this.monitorTables, visible, true, viewFactory);
visible = hasMetricsOfType(this.resourceComposite, DataType.TRAIT);
- canvas = (visible) ? new TraitsView(this.monitoringTab.extendLocatorId("TraitsView"), resource.getId()) : null;
- updateSubTab(this.monitoringTab, this.monitorTraits, canvas, visible, true);
-
- updateSubTab(this.monitoringTab, this.monitorAvail, new FullHTMLPane(this.monitorAvail.extendLocatorId("View"),
- "/rhq/resource/monitor/availabilityHistory-plain.xhtml?id=" + resource.getId()), true, true);
+ viewFactory = (!visible) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new TraitsView(monitoringTab.extendLocatorId("TraitsView"), resource.getId());
+ }
+ };
+ updateSubTab(this.monitoringTab, this.monitorTraits, visible, true, viewFactory);
+
+ updateSubTab(this.monitoringTab, this.monitorAvail, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new FullHTMLPane(monitorAvail.extendLocatorId("View"),
+ "/rhq/resource/monitor/availabilityHistory-plain.xhtml?id=" + resource.getId());
+ }
+ });
- updateSubTab(this.monitoringTab, this.monitorSched, new SchedulesView(monitoringTab
- .extendLocatorId("SchedulesView"), this.resourceComposite), hasMetricsOfType(this.resourceComposite, null),
- true);
+ updateSubTab(this.monitoringTab, this.monitorSched, hasMetricsOfType(this.resourceComposite, null), true,
+ new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new SchedulesView(monitoringTab.extendLocatorId("SchedulesView"), resourceComposite);
+ }
+ });
visible = facets.contains(ResourceTypeFacet.CALL_TIME);
- canvas = (visible) ? new FullHTMLPane(this.monitorCallTime.extendLocatorId("View"),
- "/rhq/resource/monitor/response-plain.xhtml?id=" + resource.getId()) : null;
- updateSubTab(this.monitoringTab, this.monitorCallTime, canvas, visible, true);
+ viewFactory = (!visible) ? null : new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new FullHTMLPane(monitorCallTime.extendLocatorId("View"),
+ "/rhq/resource/monitor/response-plain.xhtml?id=" + resource.getId());
+ }
+ };
+ updateSubTab(this.monitoringTab, this.monitorCallTime, visible, true, viewFactory);
}
- private void updateEventsTabContent(ResourceComposite resourceComposite, Set<ResourceTypeFacet> facets) {
+ private void updateEventsTabContent(final ResourceComposite resourceComposite, Set<ResourceTypeFacet> facets) {
if (updateTab(this.eventsTab, facets.contains(ResourceTypeFacet.EVENT), true)) {
- updateSubTab(this.eventsTab, this.eventHistory, EventCompositeHistoryView.get(this.eventsTab
- .extendLocatorId("CompositeHistoryView"), resourceComposite), true, true);
+ updateSubTab(this.eventsTab, this.eventHistory, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return EventCompositeHistoryView.get(eventsTab.extendLocatorId("CompositeHistoryView"),
+ resourceComposite);
+ }
+ });
}
}
@@ -359,44 +438,81 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
// 4) user can navigate to the group operation that spawned this resource operation history, if appropriate
// note: enabled operation execution/schedules from left-nav, if it doesn't already exist
- updateSubTab(this.operationsTab, this.operationsSchedules, new ResourceOperationScheduleListView(
- operationsTab.extendLocatorId("SchedulesView"), this.resourceComposite), true, true);
+ updateSubTab(this.operationsTab, this.operationsSchedules, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new ResourceOperationScheduleListView(operationsTab.extendLocatorId("SchedulesView"),
+ resourceComposite);
+ }
+ });
- updateSubTab(this.operationsTab, this.operationsHistory, new ResourceOperationHistoryListView(operationsTab
- .extendLocatorId("HistoryView"), this.resourceComposite), true, true);
+ updateSubTab(this.operationsTab, this.operationsHistory, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new ResourceOperationHistoryListView(operationsTab.extendLocatorId("HistoryView"),
+ resourceComposite);
+ }
+ });
}
}
- private void updateConfigurationTabContent(ResourceComposite resourceComposite, Resource resource,
+ private void updateConfigurationTabContent(final ResourceComposite resourceComposite, final Resource resource,
ResourcePermission resourcePermissions, Set<ResourceTypeFacet> facets) {
if (updateTab(this.configurationTab, facets.contains(ResourceTypeFacet.CONFIGURATION), resourcePermissions
.isConfigureRead())) {
- updateSubTab(this.configurationTab, this.configCurrent, new ResourceConfigurationEditView(this
- .extendLocatorId("ResourceConfigView"), resourceComposite), true, true);
+ updateSubTab(this.configurationTab, this.configCurrent, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new ResourceConfigurationEditView(configurationTab.extendLocatorId("ResourceConfigView"),
+ resourceComposite);
+ }
+ });
- updateSubTab(this.configurationTab, this.configHistory, new ConfigurationHistoryView(this
- .extendLocatorId("ConfigHistView"), this.resourceComposite.getResourcePermission().isConfigureWrite(),
- resource.getId()), true, true);
+ updateSubTab(this.configurationTab, this.configHistory, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new ConfigurationHistoryView(configurationTab.extendLocatorId("ConfigHistView"),
+ resourceComposite.getResourcePermission().isConfigureWrite(), resource.getId());
+ }
+ });
}
}
- private void updateContentTabContent(Resource resource, Set<ResourceTypeFacet> facets) {
+ private void updateContentTabContent(final Resource resource, Set<ResourceTypeFacet> facets) {
if (updateTab(this.contentTab, facets.contains(ResourceTypeFacet.CONTENT), true)) {
- updateSubTab(this.contentTab, this.contentDeployed, new FullHTMLPane(this.contentDeployed
- .extendLocatorId("View"), "/rhq/resource/content/view-plain.xhtml?id=" + resource.getId()), true, true);
+ updateSubTab(this.contentTab, this.contentDeployed, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new FullHTMLPane(contentDeployed.extendLocatorId("View"),
+ "/rhq/resource/content/view-plain.xhtml?id=" + resource.getId());
+ }
+ });
- updateSubTab(this.contentTab, this.contentNew, new FullHTMLPane(this.contentNew.extendLocatorId("View"),
- "/rhq/resource/content/deploy-plain.xhtml?id=" + resource.getId()), true, true);
+ updateSubTab(this.contentTab, this.contentNew, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new FullHTMLPane(contentNew.extendLocatorId("View"),
+ "/rhq/resource/content/deploy-plain.xhtml?id=" + resource.getId());
+ }
+ });
- updateSubTab(this.contentTab, this.contentSubscrip, new FullHTMLPane(this.contentSubscrip
- .extendLocatorId("View"), "/rhq/resource/content/subscription-plain.xhtml?id=" + resource.getId()),
- true, true);
+ updateSubTab(this.contentTab, this.contentSubscrip, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new FullHTMLPane(contentSubscrip.extendLocatorId("View"),
+ "/rhq/resource/content/subscription-plain.xhtml?id=" + resource.getId());
+ }
+ });
- updateSubTab(this.contentTab, this.contentHistory, new FullHTMLPane(this.configHistory
- .extendLocatorId("View"), "/rhq/resource/content/history-plain.xhtml?id=" + resource.getId()), true,
- true);
+ updateSubTab(this.contentTab, this.contentHistory, true, true, new ViewFactory() {
+ @Override
+ public Canvas createView() {
+ return new FullHTMLPane(configHistory.extendLocatorId("View"),
+ "/rhq/resource/content/history-plain.xhtml?id=" + resource.getId());
+ }
+ });
}
}
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 452d85c..37b34f1 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
@@ -72,6 +72,11 @@ public class ActivityView extends AbstractActivityView {
public ActivityView(String locatorId, ResourceComposite resourceComposite) {
super(locatorId, null);
this.resourceComposite = resourceComposite;
+ }
+
+ @Override
+ protected void onInit() {
+ super.onInit();
loadData();
}
12 years, 9 months
[rhq] modules/enterprise
by mazz
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java | 10 ++++++++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java | 6 +++++-
2 files changed, 15 insertions(+), 1 deletion(-)
New commits:
commit a79237ec95405f86d6f2b8519ffa105368d8ad17
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Fri Feb 25 16:53:05 2011 -0500
now if you hit control-shift-S, you will get the statistics table window
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 fbcd0de..41af140 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
@@ -51,6 +51,7 @@ import org.rhq.enterprise.gui.coregui.client.menu.MenuBarView;
import org.rhq.enterprise.gui.coregui.client.report.ReportTopView;
import org.rhq.enterprise.gui.coregui.client.report.tag.TaggedView;
import org.rhq.enterprise.gui.coregui.client.test.TestTopView;
+import org.rhq.enterprise.gui.coregui.client.test.i18n.TestRemoteServiceStatisticsView;
import org.rhq.enterprise.gui.coregui.client.util.ErrorHandler;
import org.rhq.enterprise.gui.coregui.client.util.WidgetUtility;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
@@ -133,6 +134,15 @@ public class CoreGUI implements EntryPoint, ValueChangeHandler<String> {
});
}
+ KeyIdentifier statisticsWindowKey = new KeyIdentifier();
+ statisticsWindowKey.setCtrlKey(true);
+ statisticsWindowKey.setKeyName("S");
+ Page.registerKey(statisticsWindowKey, new KeyCallback() {
+ public void execute(String keyName) {
+ TestRemoteServiceStatisticsView.showInWindow();
+ }
+ });
+
GWT.setUncaughtExceptionHandler(new GWT.UncaughtExceptionHandler() {
public void onUncaughtException(Throwable e) {
getErrorHandler().handleError(MSG.view_core_uncaught(), e);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java
index 0a6a0c2..e83dc1c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/test/i18n/TestRemoteServiceStatisticsView.java
@@ -51,6 +51,10 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableWindow;
*/
public class TestRemoteServiceStatisticsView extends Table {
+ public static void showInWindow() {
+ new StatisticsWindow("StatisticsWindow").show();
+ }
+
public static final String TABLE_TITLE = "Remote Service Statistics";
// these are used both as the name of the fields, titles of the headers and the columns of the CSV output
@@ -286,7 +290,7 @@ public class TestRemoteServiceStatisticsView extends Table {
}
}
- class StatisticsWindow extends LocatableWindow {
+ static class StatisticsWindow extends LocatableWindow {
private Timer blinkTimer;
public StatisticsWindow(String locatorId) {
12 years, 9 months