/** * Returns the {@link Normalizer} for the type of the given config description parameter. * * @param configDescriptionParameter the config description parameter (must not be null) * @return the corresponding {@link Normalizer} (not null) * @throws IllegalArgumentException if the given config description parameter is null */ public static Normalizer getNormalizer(ConfigDescriptionParameter configDescriptionParameter) { if (configDescriptionParameter == null) { throw new IllegalArgumentException("The config description parameter must not be null."); } Normalizer ret = NORMALIZERS.get(configDescriptionParameter.getType()); if (configDescriptionParameter.isMultiple()) { ret = new ListNormalizer(ret); } return ret; }
@Override public ConfigValidationMessage validate(ConfigDescriptionParameter parameter, Object value) { if (value == null) { return null; } TypeIntrospection typeIntrospection = TypeIntrospections.get(parameter.getType()); if (!typeIntrospection.isAssignable(value)) { return createDataTypeViolationMessage(parameter.getName(), parameter.getType()); } return null; }
@Override public ConfigValidationMessage validate(ConfigDescriptionParameter parameter, Object value) { if (value == null || parameter.getType() != Type.TEXT || parameter.getPattern() == null) { return null; } if (!((String) value).matches(parameter.getPattern())) { MessageKey messageKey = MessageKey.PATTERN_VIOLATED; return new ConfigValidationMessage(parameter.getName(), messageKey.defaultMessage, messageKey.key, String.valueOf(value), parameter.getPattern()); } return null; } }
private void checkType(Object configValue, ConfigDescriptionParameter configParameter) { Type type = configParameter.getType(); if (configParameter.isMultiple()) { if (configValue instanceof List) { List lConfigValues = (List) configValue; for (Object value : lConfigValues) { if (!checkType(type, value)) { throw new IllegalArgumentException("Unexpected value for configuration property \"" + configParameter.getName() + "\". Expected type: " + type); } } } throw new IllegalArgumentException( "Unexpected value for configuration property \"" + configParameter.getName() + "\". Expected is Array with type for elements : " + type.toString() + "!"); } else { if (!checkType(type, configValue)) { throw new IllegalArgumentException("Unexpected value for configuration property \"" + configParameter.getName() + "\". Expected is " + type.toString() + "!"); } } }
configParamProperty.add(""); configParamProperty.add(TYPE); configParamProperty.add(parameter.getType().toString()); configParamContent.add(Utils.getRow(columnWidths, configParamProperty)); if (parameter.getLabel() != null) {
configParamProperty.add(""); configParamProperty.add(TYPE); configParamProperty.add(parameter.getType().toString()); configParamContent.add(Utils.getRow(columnWidths, configParamProperty)); if (parameter.getLabel() != null) {
Type type = configParameter.getType(); if (configParameter.isMultiple()) { if (configValue instanceof List) {
@Override public ConfigValidationMessage validate(ConfigDescriptionParameter parameter, Object value) { if (value == null || parameter.getType() == Type.BOOLEAN) { return null; } // Allow specified options to be outside of the min/max value for (ParameterOption option : parameter.getOptions()) { // Option values are a string, so we can do a simple compare if (option.getValue().equals(value.toString())) { return null; } } TypeIntrospection typeIntrospection = TypeIntrospections.get(parameter.getType()); if (parameter.getMinimum() != null) { BigDecimal min = parameter.getMinimum(); if (typeIntrospection.isMinViolated(value, min)) { return createMinMaxViolationMessage(parameter.getName(), typeIntrospection.getMinViolationMessageKey(), min); } } if (parameter.getMaximum() != null) { BigDecimal max = parameter.getMaximum(); if (typeIntrospection.isMaxViolated(value, max)) { return createMinMaxViolationMessage(parameter.getName(), typeIntrospection.getMaxViolationMessageKey(), max); } } return null; }
private void applyDefaultConfiguration(final Configuration configuration, final ChannelType channelType) { if (((this.configDescriptionRegistry != null) && (configuration != null))) { URI _configDescriptionURI = channelType.getConfigDescriptionURI(); boolean _tripleNotEquals = (_configDescriptionURI != null); if (_tripleNotEquals) { final ConfigDescription configDescription = this.configDescriptionRegistry.getConfigDescription(channelType.getConfigDescriptionURI()); if ((configDescription != null)) { final Function1<ConfigDescriptionParameter, Boolean> _function = (ConfigDescriptionParameter it) -> { return Boolean.valueOf(((it.getDefault() != null) && (configuration.get(it.getName()) == null))); }; final Consumer<ConfigDescriptionParameter> _function_1 = (ConfigDescriptionParameter it) -> { final Object value = this.getDefaultValueAsCorrectType(it.getType(), it.getDefault()); if ((value != null)) { configuration.put(it.getName(), value); } }; IterableExtensions.<ConfigDescriptionParameter>filter(configDescription.getParameters(), _function).forEach(_function_1); } } } }
String defaultValue = parameter.getDefault(); if (defaultValue != null && configuration.get(parameter.getName()) == null) { Object value = ThingFactoryHelper.getDefaultValueAsCorrectType(parameter.getType(), defaultValue); if (value != null) {
/** * Maps configuration description parameters into DTO objects. * * @param parameters the configuration description parameters (not null) * @return the parameter DTO objects (not null) */ public static List<ConfigDescriptionParameterDTO> mapParameters(List<ConfigDescriptionParameter> parameters) { List<ConfigDescriptionParameterDTO> configDescriptionParameterBeans = new ArrayList<>(parameters.size()); for (ConfigDescriptionParameter configDescriptionParameter : parameters) { ConfigDescriptionParameterDTO configDescriptionParameterBean = new ConfigDescriptionParameterDTO( configDescriptionParameter.getName(), configDescriptionParameter.getType(), configDescriptionParameter.getMinimum(), configDescriptionParameter.getMaximum(), configDescriptionParameter.getStepSize(), configDescriptionParameter.getPattern(), configDescriptionParameter.isRequired(), configDescriptionParameter.isReadOnly(), configDescriptionParameter.isMultiple(), configDescriptionParameter.getContext(), configDescriptionParameter.getDefault(), configDescriptionParameter.getLabel(), configDescriptionParameter.getDescription(), mapOptions(configDescriptionParameter.getOptions()), mapFilterCriteria(configDescriptionParameter.getFilterCriteria()), configDescriptionParameter.getGroupName(), configDescriptionParameter.isAdvanced(), configDescriptionParameter.getLimitToOptions(), configDescriptionParameter.getMultipleLimit(), configDescriptionParameter.getUnit(), configDescriptionParameter.getUnitLabel(), configDescriptionParameter.isVerifyable()); configDescriptionParameterBeans.add(configDescriptionParameterBean); } return configDescriptionParameterBeans; }
return new ConfigDescriptionParameter(parameter.getName(), parameter.getType(), parameter.getMinimum(), parameter.getMaximum(), parameter.getStepSize(), parameter.getPattern(), parameter.isRequired(), parameter.isReadOnly(), parameter.isMultiple(), parameter.getContext(), parameter.getDefault(),
locale); configDescriptions.add(ConfigDescriptionParameterBuilder.create(parameterName, parameter.getType()) .withMinimum(parameter.getMinimum()).withMaximum(parameter.getMaximum()) .withStepSize(parameter.getStepSize()).withPattern(lpattern)
locale); configDescriptions.add(ConfigDescriptionParameterBuilder.create(parameterName, parameter.getType()) .withMinimum(parameter.getMinimum()).withMaximum(parameter.getMaximum()) .withStepSize(parameter.getStepSize()).withPattern(lpattern)
String defaultValue = param.getDefault(); if (defaultValue != null) { Object value = getDefaultValueAsCorrectType(param.getType(), defaultValue); if (value != null) { config.put(param.getName(), value);
.create(parameterName, parameter.getType()).withMinimum(parameter.getMinimum()) .withMaximum(parameter.getMaximum()).withStepSize(parameter.getStepSize()).withPattern(pattern) .withRequired(parameter.isRequired()).withReadOnly(parameter.isReadOnly())