| | |
| | | * |
| | | * |
| | | * Copyright 2006-2008 Sun Microsystems, Inc. |
| | | * Portions Copyright 2014 ForgeRock AS |
| | | */ |
| | | package org.opends.server.config; |
| | | import org.opends.messages.Message; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | |
| | | |
| | | |
| | |
| | | private LinkedHashSet<AttributeValue> pendingValues; |
| | | |
| | | // The description for this configuration attribute. |
| | | private Message description; |
| | | private LocalizableMessage description; |
| | | |
| | | // The name for this configuration attribute. |
| | | private String name; |
| | |
| | | * configuration attribute require administrative |
| | | * action before they will take effect. |
| | | */ |
| | | protected ConfigAttribute(String name, Message description, |
| | | protected ConfigAttribute(String name, LocalizableMessage description, |
| | | boolean isRequired, boolean isMultiValued, |
| | | boolean requiresAdminAction) |
| | | { |
| | |
| | | * @param activeValues The set of values for this attribute that are |
| | | * currently active. |
| | | */ |
| | | protected ConfigAttribute(String name, Message description, |
| | | protected ConfigAttribute(String name, LocalizableMessage description, |
| | | boolean isRequired, boolean isMultiValued, |
| | | boolean requiresAdminAction, |
| | | LinkedHashSet<AttributeValue> activeValues) |
| | |
| | | * <CODE>null</CODE> if changes will take effect |
| | | * immediately. |
| | | */ |
| | | protected ConfigAttribute(String name, Message description, |
| | | protected ConfigAttribute(String name, LocalizableMessage description, |
| | | boolean isRequired, boolean isMultiValued, |
| | | boolean requiresAdminAction, |
| | | LinkedHashSet<AttributeValue> activeValues, |
| | |
| | | * @return The description for this configuration attribute, or |
| | | * <CODE>null</CODE> if there is no description. |
| | | */ |
| | | public Message getDescription() |
| | | public LocalizableMessage getDescription() |
| | | { |
| | | return description; |
| | | } |
| | |
| | | { |
| | | if (isRequired) |
| | | { |
| | | Message message = ERR_CONFIG_ATTR_IS_REQUIRED.get(name); |
| | | LocalizableMessage message = ERR_CONFIG_ATTR_IS_REQUIRED.get(name); |
| | | throw new ConfigException(message); |
| | | } |
| | | else |
| | |
| | | |
| | | if (! valueIsAcceptable(value, rejectReason)) |
| | | { |
| | | Message message = ERR_CONFIG_ATTR_REJECTED_VALUE.get( |
| | | LocalizableMessage message = ERR_CONFIG_ATTR_REJECTED_VALUE.get( |
| | | value.getValue().toString(), name, rejectReason.toString()); |
| | | throw new ConfigException(message); |
| | | } |
| | |
| | | // provided, then reject it. |
| | | if ((! isMultiValued) && iterator.hasNext()) |
| | | { |
| | | Message message = ERR_CONFIG_ATTR_SET_VALUES_IS_SINGLE_VALUED.get(name); |
| | | LocalizableMessage message = ERR_CONFIG_ATTR_SET_VALUES_IS_SINGLE_VALUED.get(name); |
| | | throw new ConfigException(message); |
| | | } |
| | | |
| | |
| | | value = iterator.next(); |
| | | if (! valueIsAcceptable(value, rejectReason)) |
| | | { |
| | | Message message = ERR_CONFIG_ATTR_REJECTED_VALUE.get( |
| | | LocalizableMessage message = ERR_CONFIG_ATTR_REJECTED_VALUE.get( |
| | | value.getValue().toString(), name, rejectReason.toString()); |
| | | throw new ConfigException(message); |
| | | } |
| | |
| | | if ((numValues > 1) || (hasPendingValues && (pendingValues.size() > 0)) || |
| | | ((! hasPendingValues) && (activeValues.size() > 0))) |
| | | { |
| | | Message message = ERR_CONFIG_ATTR_ADD_VALUES_IS_SINGLE_VALUED.get(name); |
| | | LocalizableMessage message = ERR_CONFIG_ATTR_ADD_VALUES_IS_SINGLE_VALUED.get(name); |
| | | throw new ConfigException(message); |
| | | } |
| | | } |
| | |
| | | { |
| | | if (tempValues.contains(value)) |
| | | { |
| | | Message message = ERR_CONFIG_ATTR_ADD_VALUES_ALREADY_EXISTS.get( |
| | | LocalizableMessage message = ERR_CONFIG_ATTR_ADD_VALUES_ALREADY_EXISTS.get( |
| | | name, value.getValue().toString()); |
| | | throw new ConfigException(message); |
| | | } |
| | | |
| | | if (! valueIsAcceptable(value, rejectReason)) |
| | | { |
| | | Message message = ERR_CONFIG_ATTR_REJECTED_VALUE.get( |
| | | LocalizableMessage message = ERR_CONFIG_ATTR_REJECTED_VALUE.get( |
| | | value.getValue().toString(), name, rejectReason.toString()); |
| | | throw new ConfigException(message); |
| | | } |
| | |
| | | { |
| | | if (! tempValues.remove(value)) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_CONFIG_ATTR_NO_SUCH_VALUE.get(name, value.getValue().toString()); |
| | | throw new ConfigException(message); |
| | | } |
| | |
| | | // least one value. |
| | | if (isRequired && tempValues.isEmpty()) |
| | | { |
| | | Message message = ERR_CONFIG_ATTR_IS_REQUIRED.get(name); |
| | | LocalizableMessage message = ERR_CONFIG_ATTR_IS_REQUIRED.get(name); |
| | | throw new ConfigException(message); |
| | | } |
| | | |
| | |
| | | { |
| | | if (isRequired) |
| | | { |
| | | Message message = ERR_CONFIG_ATTR_IS_REQUIRED.get(name); |
| | | LocalizableMessage message = ERR_CONFIG_ATTR_IS_REQUIRED.get(name); |
| | | throw new ConfigException(message); |
| | | } |
| | | |