modules/core/client-api/src/main/java/org/rhq/core/clientapi/agent/configuration/ConfigurationValidationException.java
| 3 --
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/configuration/resource/ResourceConfigurationEditor.java
| 6 ++++-
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java
| 2 -
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerRemote.java
| 12 ++++++++++
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/webservices/WebservicesManagerBean.java
| 6 +++++
5 files changed, 25 insertions(+), 4 deletions(-)
New commits:
commit e8349c224d74fe7a351bafc2be2f36317a10b7d3
Author: Adam Young <ayoung(a)redhat.com>
Date: Tue Mar 2 11:44:34 2010 -0500
More work on the exception handling for validate.
diff --git
a/modules/core/client-api/src/main/java/org/rhq/core/clientapi/agent/configuration/ConfigurationValidationException.java
b/modules/core/client-api/src/main/java/org/rhq/core/clientapi/agent/configuration/ConfigurationValidationException.java
index d187d4a..8dfa6e7 100644
---
a/modules/core/client-api/src/main/java/org/rhq/core/clientapi/agent/configuration/ConfigurationValidationException.java
+++
b/modules/core/client-api/src/main/java/org/rhq/core/clientapi/agent/configuration/ConfigurationValidationException.java
@@ -25,11 +25,10 @@ package org.rhq.core.clientapi.agent.configuration;
import java.io.Serializable;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;
-public class ConfigurationValidationException extends RuntimeException implements
Serializable{
+public class ConfigurationValidationException extends Exception implements Serializable
{
/**
*
*/
diff --git
a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/configuration/resource/ResourceConfigurationEditor.java
b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/configuration/resource/ResourceConfigurationEditor.java
index c10bd22..f482616 100644
---
a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/configuration/resource/ResourceConfigurationEditor.java
+++
b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/configuration/resource/ResourceConfigurationEditor.java
@@ -102,9 +102,13 @@ public class ResourceConfigurationEditor extends
ResourceConfigurationViewer imp
private Configuration translateToStructured() throws ResourceNotFoundException,
ConfigurationValidationException {
ConfigurationManagerLocal configurationMgr =
LookupUtil.getConfigurationManager();
- return configurationMgr.translateResourceConfiguration(loggedInUser.getSubject(),
resourceId,
+ Configuration result =
configurationMgr.translateResourceConfiguration(loggedInUser.getSubject(), resourceId,
resourceConfiguration, RAW_MODE);
+ configurationMgr.validateResourceConfiguration(loggedInUser.getSubject(),
resourceId, result, true);
+
+ return result;
+
}
@Observer("rawConfigUpdate")
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java
index 71370f2..ea805b1 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerBean.java
@@ -992,7 +992,7 @@ public class ConfigurationManagerBean implements
ConfigurationManagerLocal, Conf
return newUpdate;
}
- private void validateResourceConfiguration(Subject subject, int resourceId,
Configuration configuration,
+ public void validateResourceConfiguration(Subject subject, int resourceId,
Configuration configuration,
boolean isStructured) throws ConfigurationValidationException {
Resource resource = entityManager.find(Resource.class, resourceId);
if (resource == null) {
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerRemote.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerRemote.java
index 0d7ae1b..05d7b88 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerRemote.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/configuration/ConfigurationManagerRemote.java
@@ -277,4 +277,16 @@ public interface ConfigurationManagerRemote {
Configuration translateResourceConfiguration(Subject subject, int resourceId,
Configuration configuration,
boolean fromStructured) throws ResourceNotFoundException,
ConfigurationValidationException;
+ /**
+ * Calls down to the plugin to determine if the configuration is valid or not.
+ * @param subject to determine if the caller has permissions to perform the action
+ * @param resourceId the resource that the configuration is for
+ * @param configuration the configuration, with either the raw of structured modified
+ * that will be validated by the plugin
+ * @param isStructured true if the structured config should be validated, false, the
raw config is validated
+ * @throws ConfigurationValidationException if the specified configuration is
invalid
+ */
+ public void validateResourceConfiguration(Subject subject, int resourceId,
Configuration configuration,
+ boolean isStructured) throws ConfigurationValidationException;
+
}
\ No newline at end of file
diff --git
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/webservices/WebservicesManagerBean.java
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/webservices/WebservicesManagerBean.java
index 75ebb67..7029438 100644
---
a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/webservices/WebservicesManagerBean.java
+++
b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/webservices/WebservicesManagerBean.java
@@ -492,6 +492,11 @@ public class WebservicesManagerBean implements WebservicesRemote {
return configurationManager.translateResourceConfiguration(subject, resourceId,
configuration, fromStructured);
}
+ public void validateResourceConfiguration(Subject subject, int resourceId,
Configuration configuration,
+ boolean isStructured) throws ConfigurationValidationException {
+ configurationManager.validateResourceConfiguration(subject, resourceId,
configuration, isStructured);
+ }
+
//CONFIGURATIONMANAGER: END ----------------------------------
//CONTENTMANAGER: BEGIN ----------------------------------
@@ -1077,4 +1082,5 @@ public class WebservicesManagerBean implements WebservicesRemote {
public List<EntitlementCertificate> getCertificates(Subject subject, int
resourceId) {
return entitlementManager.getCertificates(subject, resourceId);
}
+
}