modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/configuration/resource/ResourceConfigurationViewer.java | 26 +++++++++- modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/pages.xml | 10 +-- 2 files changed, 29 insertions(+), 7 deletions(-)
New commits: commit f16de7855c31d3a41a7fdd6a38bbc45afed7661e Author: John Sanda john@localhost.localdomain Date: Fri Feb 26 12:55:33 2010 -0500
Refactoring ResourceConfigurationViewer to support displaying old versions for use on history.xhtml
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/configuration/resource/ResourceConfigurationViewer.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/configuration/resource/ResourceConfigurationViewer.java index bdbf838..8224134 100644 --- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/configuration/resource/ResourceConfigurationViewer.java +++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/configuration/resource/ResourceConfigurationViewer.java @@ -71,10 +71,15 @@ public class ResourceConfigurationViewer { @Out(required = false) protected RawConfigUIBean selectedRawUIBean;
+ @RequestParameter + private Integer configId; + protected Integer resourceId;
protected boolean initialized = false;
+ private boolean usingPreviousVersion; + /** * <p> * This method "bootstraps" the viewer/editor and the model objects used in the view. Specifically, the resource @@ -132,9 +137,16 @@ public class ResourceConfigurationViewer {
ConfigurationManagerLocal configurationManager = LookupUtil.getConfigurationManager();
- AbstractResourceConfigurationUpdate configurationUpdate = + if (configId != null && usingPreviousVersion) { + AbstractResourceConfigurationUpdate configurationUpdate = + configurationManager.getResourceConfigurationUpdate(subject, configId); + resourceConfiguration = (configurationUpdate != null) ? configurationUpdate.getConfiguration() : null; + } + else { + AbstractResourceConfigurationUpdate configurationUpdate = configurationManager.getLatestResourceConfigurationUpdate(subject, resourceId); - resourceConfiguration = (configurationUpdate != null) ? configurationUpdate.getConfiguration() : null; + resourceConfiguration = (configurationUpdate != null) ? configurationUpdate.getConfiguration() : null; + }
if (resourceConfiguration != null) { ConfigurationMaskingUtility.maskConfiguration(resourceConfiguration, resourceConfigurationDefinition); @@ -284,6 +296,16 @@ public class ResourceConfigurationViewer { selectedRawUIBean = findRawConfigUIBeanByPath(path); }
+ /** + * This method can be called to indicate to the viewer that it may be using a previous version of the resource + * configuration. If the request paraemter, configId, is found then the version of the resource configuration + * corresponding to that id will be used. Note that this method must be invoked prior to + * {@linkplain #initialize()} in order for it to take effect. + */ + public void prepareToViewPreviousVersion() { + usingPreviousVersion = true; + } + protected RawConfigUIBean findRawConfigUIBeanByPath(String path) { for (RawConfigDirectory dir : rawConfigDirectories) { for (RawConfigUIBean bean : dir.getRawConfigUIBeans()) { diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/pages.xml b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/pages.xml index f7fa56c..f8a0da4 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/pages.xml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/pages.xml @@ -12,7 +12,10 @@ </navigation> </page>
- <page view-id="/rhq/resource/configuration/history.xhtml" action="#{configurationViewer.initialize}"/> + <page view-id="/rhq/resource/configuration/history.xhtml"> + <action execute="#{configurationViewer.prepareToViewPreviousVersion()}"/> + <action execute="#{configurationViewer.initialize()}"/> + </page>
<page view-id="/rhq/resource/configuration/view-map.xhtml" action="#{configurationViewer.initialize}"/>
@@ -21,10 +24,7 @@
<action execute="#{configurationEditor.initialize}" on-postback="false" - if="#{!configurationEditor.initialized or (configurationEditor.resourceId != id)}"/> - <!-- - if="#{!conversation.longRunning or (empty resourceConfiguration or id != configurationEditor.resourceId)}" - --> + if="#{!configurationEditor.initialized or (configurationEditor.resourceId != id)}"/>
<navigation from-action="#{configurationEditor.initialize}"> <rule if="#{configurationEditor.initialized}">
rhq-commits@lists.fedorahosted.org