/** * Validate the given configuration according to the given configuration definition. That is, check that any * required properties in the top-level configuration Map or any sub-Maps, are defined and, in the case of simple * properties, check that they have a non-null value. A list of messages describing any errors that were found is * returned. Additionally, any undefined or null simple properties will be assigned a value of "". * * @param configuration the configuration to be validated (must not be null) * @param configurationDefinition the configuration definition to validate the configuration against (may be null) * * @return a list of messages describing any errors that were found - will be empty if there are no messages */ public static List<String> validateConfiguration(Configuration configuration, ConfigurationDefinition configurationDefinition) { return validateConfiguration(configuration, null, configurationDefinition); }
/** * Validate the given configuration according to the given configuration definition. That is, check that any * required properties in the top-level configuration Map or any sub-Maps, are defined and, in the case of simple * properties, check that they have a non-null value. A list of messages describing any errors that were found is * returned. Additionally, any undefined or null simple properties will be assigned a value of "". * * @param configuration the configuration to be validated * @param configurationDefinition the configuration definition to validate the configuration against * * @return a list of messages describing any errors that were found * * @deprecated use the utility found in the domain module -org.rhq.core.domain.configuration.ConfigurationUtility */ @NotNull public static List<String> validateConfiguration(@NotNull Configuration configuration, @Nullable ConfigurationDefinition configurationDefinition) { return org.rhq.core.domain.configuration.ConfigurationUtility.validateConfiguration(configuration, configurationDefinition); } }
private OperationDefinition validateOperationNameAndParameters(ResourceType resourceType, String operationName, Configuration parameters) { Set<OperationDefinition> operationDefinitions = resourceType.getOperationDefinitions(); OperationDefinition matchingOperationDefinition = null; for (OperationDefinition operationDefinition : operationDefinitions) { if (operationDefinition.getName().equals(operationName)) { matchingOperationDefinition = operationDefinition; break; } } if (matchingOperationDefinition == null) { throw new IllegalArgumentException("[" + operationName + "] is not a valid operation name for Resources of type [" + resourceType.getName() + "]."); } ConfigurationDefinition parametersDefinition = matchingOperationDefinition .getParametersConfigurationDefinition(); List<String> errors = ConfigurationUtility.validateConfiguration(parameters, parametersDefinition); if (!errors.isEmpty()) { throw new IllegalArgumentException("Parameters for [" + operationName + "] on Resource of type [" + resourceType.getName() + "] are not valid: " + errors); } return matchingOperationDefinition; }
private BundleDeployment createBundleDeploymentImpl(Subject subject, BundleVersion bundleVersion, BundleDestination bundleDestination, String name, String description, Configuration configuration) throws Exception { ConfigurationDefinition configDef = bundleVersion.getConfigurationDefinition(); if (null != configDef) { if (null == configuration) { throw new IllegalArgumentException( "Missing Configuration. Configuration is required when the specified BundleVersion defines Configuration Properties."); } // passing in the default configuration will make sure that the readonly properties with the non-null // default values defined in the config def cannot be overridden by the caller. // Those properties are meant to be set by the bundle plugins, not by the user. Configuration defaultConfig = ConfigurationUtility.createDefaultConfiguration(configDef); List<String> errors = ConfigurationUtility.validateConfiguration(configuration, defaultConfig, configDef); if (!errors.isEmpty()) { throw new IllegalArgumentException("Invalid Configuration: " + errors.toString()); } } BundleDeployment deployment = new BundleDeployment(bundleVersion, bundleDestination, name); deployment.setDescription(description); deployment.setConfiguration(configuration); deployment.setSubjectName(subject.getName()); PropertySimple discoveryDelayProperty = configuration.getSimple("org.rhq.discoveryDelay"); if(discoveryDelayProperty != null) { deployment.setDiscoveryDelay(discoveryDelayProperty.getIntegerValue()); } entityManager.persist(deployment); return deployment; }
List<String> validationErrors = ConfigurationUtility.validateConfiguration(newResourceConfiguration, existingResourceConfiguration, resourceConfigDef); if (!validationErrors.isEmpty()) {
List<String> validationErrors = ConfigurationUtility.validateConfiguration(newPluginConfiguration, existingPluginConfiguration, pluginConfigDef); if (!validationErrors.isEmpty()) {
List<String> errorMessages = ConfigurationUtility.validateConfiguration( liveConfiguration, configurationDefinition); for (String errorMessage : errorMessages) {
config.remove(ENABLED_ATTRIBUTE); List<String> validationErrors = ConfigurationUtility.validateConfiguration(config, configDef);