mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

matthew_swift
28.47.2010 f2160f4bd1c8ac67e5a86a6710d431e8932877f9
sdk/src/org/opends/sdk/schema/UserPasswordSyntaxImpl.java
@@ -29,9 +29,13 @@
import static com.sun.opends.sdk.messages.Messages.*;
import static com.sun.opends.sdk.util.StaticUtils.*;
import static org.opends.sdk.schema.SchemaConstants.*;
import static com.sun.opends.sdk.messages.Messages.ERR_ATTR_SYNTAX_USERPW_NO_CLOSING_BRACE;
import static com.sun.opends.sdk.messages.Messages.ERR_ATTR_SYNTAX_USERPW_NO_OPENING_BRACE;
import static com.sun.opends.sdk.messages.Messages.ERR_ATTR_SYNTAX_USERPW_NO_SCHEME;
import static com.sun.opends.sdk.messages.Messages.ERR_ATTR_SYNTAX_USERPW_NO_VALUE;
import static com.sun.opends.sdk.util.StaticUtils.toLowerCase;
import static org.opends.sdk.schema.SchemaConstants.EMR_USER_PASSWORD_EXACT_OID;
import static org.opends.sdk.schema.SchemaConstants.SYNTAX_USER_PASSWORD_NAME;
import org.opends.sdk.ByteSequence;
import org.opends.sdk.DecodeException;
@@ -40,12 +44,11 @@
/**
 * This class defines an attribute syntax used for storing values that
 * have been encoded using a password storage scheme. The format for
 * attribute values with this syntax is the concatenation of the
 * following elements in the given order: <BR>
 * This class defines an attribute syntax used for storing values that have been
 * encoded using a password storage scheme. The format for attribute values with
 * this syntax is the concatenation of the following elements in the given
 * order: <BR>
 * <UL>
 * <LI>An opening curly brace ("{") character.</LI>
 * <LI>The name of the storage scheme used to encode the value.</LI>
@@ -57,17 +60,16 @@
{
  /**
   * Decodes the provided user password value into its component parts.
   *
   *
   * @param userPasswordValue
   *          The user password value to be decoded.
   * @return A two-element string array whose elements are the storage
   *         scheme name (in all lowercase characters) and the encoded
   *         value, in that order.
   * @return A two-element string array whose elements are the storage scheme
   *         name (in all lowercase characters) and the encoded value, in that
   *         order.
   * @throws DecodeException
   *           If a problem is encountered while attempting to decode
   *           the value.
   *           If a problem is encountered while attempting to decode the value.
   */
  static String[] decodeUserPassword(String userPasswordValue)
  static String[] decodeUserPassword(final String userPasswordValue)
      throws DecodeException
  {
    // Make sure that there actually is a value to decode.
@@ -81,8 +83,8 @@
    // brace.
    if (userPasswordValue.charAt(0) != '{')
    {
      final LocalizableMessage message =
          ERR_ATTR_SYNTAX_USERPW_NO_OPENING_BRACE.get();
      final LocalizableMessage message = ERR_ATTR_SYNTAX_USERPW_NO_OPENING_BRACE
          .get();
      throw DecodeException.error(message);
    }
@@ -90,15 +92,14 @@
    final int closePos = userPasswordValue.indexOf('}');
    if (closePos < 0)
    {
      final LocalizableMessage message =
          ERR_ATTR_SYNTAX_USERPW_NO_CLOSING_BRACE.get();
      final LocalizableMessage message = ERR_ATTR_SYNTAX_USERPW_NO_CLOSING_BRACE
          .get();
      throw DecodeException.error(message);
    }
    // Get the storage scheme name and encoded value.
    final String schemeName = userPasswordValue.substring(1, closePos);
    final String encodedValue =
        userPasswordValue.substring(closePos + 1);
    final String encodedValue = userPasswordValue.substring(closePos + 1);
    if (schemeName.length() == 0)
    {
@@ -112,15 +113,15 @@
  /**
   * Indicates whether the provided value is encoded using the user
   * password syntax.
   *
   * Indicates whether the provided value is encoded using the user password
   * syntax.
   *
   * @param value
   *          The value for which to make the determination.
   * @return <CODE>true</CODE> if the value appears to be encoded using
   *         the user password syntax, or <CODE>false</CODE> if not.
   * @return <CODE>true</CODE> if the value appears to be encoded using the user
   *         password syntax, or <CODE>false</CODE> if not.
   */
  static boolean isEncoded(ByteSequence value)
  static boolean isEncoded(final ByteSequence value)
  {
    // If the value is null or empty, then it's not.
    if (value == null || value.length() == 0)
@@ -187,8 +188,8 @@
  public boolean valueIsAcceptable(Schema schema, ByteSequence value,
      LocalizableMessageBuilder invalidReason)
  public boolean valueIsAcceptable(final Schema schema,
      final ByteSequence value, final LocalizableMessageBuilder invalidReason)
  {
    // We have to accept any value here because in many cases the value
    // will not have been encoded by the time this method is called.