Removed useless empty lines that survived source code formatting.
| | |
| | | // end of the objectclass. |
| | | final int sharpPos = valueStr.indexOf('#'); |
| | | if (sharpPos < 0) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_ENHANCEDGUIDE_NO_SHARP1.get(valueStr)); |
| | | return false; |
| | | } |
| | |
| | | final String ocName = valueStr.substring(0, sharpPos).trim(); |
| | | final int ocLength = ocName.length(); |
| | | if (ocLength == 0) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_ENHANCEDGUIDE_NO_OC1.get(valueStr)); |
| | | return false; |
| | | } |
| | |
| | | // scope. |
| | | final int lastSharpPos = valueStr.lastIndexOf('#'); |
| | | if (lastSharpPos == sharpPos) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_ENHANCEDGUIDE_NO_FINAL_SHARP.get(valueStr)); |
| | | return false; |
| | | } |
| | |
| | | if (!(scopeStr.equals("baseobject") || scopeStr.equals("onelevel") |
| | | || scopeStr.equals("wholesubtree") || scopeStr.equals("subordinatesubtree"))) { |
| | | if (scopeStr.length() == 0) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_ENHANCEDGUIDE_NO_SCOPE.get(valueStr)); |
| | | } else { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_ENHANCEDGUIDE_INVALID_SCOPE.get(valueStr, |
| | | scopeStr)); |
| | | } |
| | |
| | | final String criteria = valueStr.substring(sharpPos + 1, lastSharpPos).trim(); |
| | | final int criteriaLength = criteria.length(); |
| | | if (criteriaLength == 0) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_ENHANCEDGUIDE_NO_CRITERIA.get(valueStr)); |
| | | return false; |
| | | } |
| | |
| | | |
| | | // The value must contain at least one character. |
| | | if (valueLength == 0) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_FAXNUMBER_EMPTY.get()); |
| | | return false; |
| | | } |
| | |
| | | // The first character must be a printable string character. |
| | | char c = valueString.charAt(0); |
| | | if (!PrintableStringSyntaxImpl.isPrintableCharacter(c)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_FAXNUMBER_NOT_PRINTABLE.get(valueString, String |
| | | .valueOf(c), 0)); |
| | | return false; |
| | |
| | | break; |
| | | } else { |
| | | if (!PrintableStringSyntaxImpl.isPrintableCharacter(c)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_FAXNUMBER_NOT_PRINTABLE.get(valueString, |
| | | String.valueOf(c), pos)); |
| | | } |
| | |
| | | // We're at the end of the value, so it must be valid unless the |
| | | // last character was a dollar sign. |
| | | if (c == '$') { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_FAXNUMBER_END_WITH_DOLLAR.get(valueString)); |
| | | return false; |
| | | } else { |
| | |
| | | if (c == '$') { |
| | | final String paramStr = valueString.substring(paramStartPos, pos); |
| | | if (!ALLOWED_FAX_PARAMETERS.contains(paramStr)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_FAXNUMBER_ILLEGAL_PARAMETER.get( |
| | | valueString, paramStr, paramStartPos, (pos - 1))); |
| | | return false; |
| | |
| | | return criteriaIsValid(schema, criteria.substring(i + 2), valueStr, |
| | | invalidReason); |
| | | } else { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_ILLEGAL_CHAR.get( |
| | | valueStr, criteria, c, (i + 1))); |
| | | return false; |
| | |
| | | final String ocName = valueStr.substring(0, sharpPos).trim(); |
| | | final int ocLength = ocName.length(); |
| | | if (ocLength == 0) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_GUIDE_NO_OC1.get(valueStr)); |
| | | return false; |
| | | } |
| | |
| | | for (int i = sharpPos + 2; i < endPos; i++) { |
| | | final char c = valueString.charAt(i); |
| | | if (!(c == '0' || c == '1')) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_NAMEANDUID_ILLEGAL_BINARY_DIGIT.get( |
| | | valueString, String.valueOf(c), i)); |
| | | return false; |
| | |
| | | |
| | | // It must have at least one digit or space. |
| | | if (length == 0) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_NUMERIC_STRING_EMPTY_VALUE.get()); |
| | | return false; |
| | | } |
| | |
| | | for (int i = 0; i < length; i++) { |
| | | final char c = valueString.charAt(i); |
| | | if (!(isDigit(c) || c == ' ')) { |
| | | |
| | | invalidReason.append(WARN_ATTR_SYNTAX_NUMERIC_STRING_ILLEGAL_CHAR.get(valueString, |
| | | String.valueOf(c), i)); |
| | | return false; |
| | |
| | | // Check to see if the provided value was null. If so, then that's |
| | | // not acceptable. |
| | | if (value == null) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_OTHER_MAILBOX_EMPTY_VALUE.get()); |
| | | return false; |
| | | } |
| | |
| | | final String valueString = value.toString(); |
| | | final int valueLength = valueString.length(); |
| | | if (valueLength == 0) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_OTHER_MAILBOX_EMPTY_VALUE.get()); |
| | | return false; |
| | | } |
| | |
| | | final char c = valueString.charAt(pos); |
| | | if (c == '$') { |
| | | if (pos == 0) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_OTHER_MAILBOX_NO_MBTYPE.get(valueString)); |
| | | return false; |
| | | } |
| | |
| | | pos++; |
| | | break; |
| | | } else if (!PrintableStringSyntaxImpl.isPrintableCharacter(c)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_OTHER_MAILBOX_ILLEGAL_MBTYPE_CHAR.get( |
| | | valueString, String.valueOf(c), pos)); |
| | | return false; |
| | |
| | | |
| | | // Make sure there is at least one character left for the mailbox. |
| | | if (pos >= valueLength) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_OTHER_MAILBOX_NO_MAILBOX.get(valueString)); |
| | | return false; |
| | | } |
| | |
| | | for (; pos < valueLength; pos++) { |
| | | final char c = valueString.charAt(pos); |
| | | if (c != (c & 0x7F)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_OTHER_MAILBOX_ILLEGAL_MB_CHAR.get(valueString, |
| | | String.valueOf(c), pos)); |
| | | return false; |
| | |
| | | // Check to see if the provided value was null. If so, then that's |
| | | // not acceptable. |
| | | if (value == null) { |
| | | |
| | | invalidReason.append(WARN_ATTR_SYNTAX_PRINTABLE_STRING_EMPTY_VALUE.get()); |
| | | return false; |
| | | } |
| | |
| | | final String valueString = value.toString(); |
| | | final int valueLength = valueString.length(); |
| | | if (valueLength == 0) { |
| | | |
| | | invalidReason.append(WARN_ATTR_SYNTAX_PRINTABLE_STRING_EMPTY_VALUE.get()); |
| | | return false; |
| | | } |
| | |
| | | for (int i = 0; i < valueLength; i++) { |
| | | final char c = valueString.charAt(i); |
| | | if (!isPrintableCharacter(c)) { |
| | | |
| | | invalidReason.append(WARN_ATTR_SYNTAX_PRINTABLE_STRING_ILLEGAL_CHARACTER.get( |
| | | valueString, String.valueOf(c), i)); |
| | | return false; |
| | |
| | | |
| | | // The value must contain at least one character. |
| | | if (valueLength == 0) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELETEXID_EMPTY.get()); |
| | | return false; |
| | | } |
| | |
| | | // The first character must be a printable string character. |
| | | char c = valueString.charAt(0); |
| | | if (!PrintableStringSyntaxImpl.isPrintableCharacter(c)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELETEXID_NOT_PRINTABLE.get(valueString, String |
| | | .valueOf(c), 0)); |
| | | return false; |
| | |
| | | break; |
| | | } else { |
| | | if (!PrintableStringSyntaxImpl.isPrintableCharacter(c)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELETEXID_NOT_PRINTABLE.get(valueString, |
| | | String.valueOf(c), pos)); |
| | | } |
| | |
| | | // We're at the end of the value, so it must be valid unless the |
| | | // last character was a dollar sign. |
| | | if (c == '$') { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELETEXID_END_WITH_DOLLAR.get(valueString)); |
| | | return false; |
| | | } else { |
| | |
| | | |
| | | final int colonPos = paramStr.indexOf(':'); |
| | | if (colonPos < 0) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELETEXID_PARAM_NO_COLON.get(valueString)); |
| | | return false; |
| | | } |
| | | |
| | | final String paramName = paramStr.substring(0, colonPos); |
| | | if (!ALLOWED_TTX_PARAMETERS.contains(paramName)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELETEXID_ILLEGAL_PARAMETER.get( |
| | | valueString, paramName)); |
| | | return false; |
| | |
| | | final String paramStr = valueString.substring(paramStartPos); |
| | | final int colonPos = paramStr.indexOf(':'); |
| | | if (colonPos < 0) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELETEXID_PARAM_NO_COLON.get(valueString)); |
| | | return false; |
| | | } |
| | | |
| | | final String paramName = paramStr.substring(0, colonPos); |
| | | if (!ALLOWED_TTX_PARAMETERS.contains(paramName)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELETEXID_ILLEGAL_PARAMETER.get(valueString, |
| | | paramName)); |
| | | return false; |
| | |
| | | final int valueLength = valueString.length(); |
| | | |
| | | if (valueLength < 5) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELEX_TOO_SHORT.get(valueString)); |
| | | return false; |
| | | } |
| | |
| | | // The first character must be a printable string character. |
| | | char c = valueString.charAt(0); |
| | | if (!PrintableStringSyntaxImpl.isPrintableCharacter(c)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELEX_NOT_PRINTABLE.get(valueString, String |
| | | .valueOf(c), 0)); |
| | | return false; |
| | |
| | | break; |
| | | } else { |
| | | if (!PrintableStringSyntaxImpl.isPrintableCharacter(c)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELEX_ILLEGAL_CHAR.get(valueString, String |
| | | .valueOf(c), pos)); |
| | | } |
| | |
| | | } |
| | | |
| | | if (pos >= valueLength) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELEX_TRUNCATED.get(valueString)); |
| | | return false; |
| | | } |
| | |
| | | // The next character must be a printable string character. |
| | | c = valueString.charAt(pos++); |
| | | if (!PrintableStringSyntaxImpl.isPrintableCharacter(c)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELEX_NOT_PRINTABLE.get(valueString, String |
| | | .valueOf(c), (pos - 1))); |
| | | return false; |
| | |
| | | break; |
| | | } else { |
| | | if (!PrintableStringSyntaxImpl.isPrintableCharacter(c)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELEX_ILLEGAL_CHAR.get(valueString, String |
| | | .valueOf(c), pos)); |
| | | return false; |
| | |
| | | } |
| | | |
| | | if (pos >= valueLength) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELEX_TRUNCATED.get(valueString)); |
| | | return false; |
| | | } |
| | |
| | | // The next character must be a printable string character. |
| | | c = valueString.charAt(pos++); |
| | | if (!PrintableStringSyntaxImpl.isPrintableCharacter(c)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELEX_NOT_PRINTABLE.get(valueString, String |
| | | .valueOf(c), (pos - 1))); |
| | | return false; |
| | |
| | | for (; pos < valueLength; pos++) { |
| | | c = valueString.charAt(pos); |
| | | if (!PrintableStringSyntaxImpl.isPrintableCharacter(c)) { |
| | | |
| | | invalidReason.append(ERR_ATTR_SYNTAX_TELEX_ILLEGAL_CHAR.get(valueString, String |
| | | .valueOf(c), pos)); |
| | | return false; |
| | |
| | | // bytes long. |
| | | final String valueString = value.toString(); |
| | | if (valueString.length() != 36) { |
| | | |
| | | invalidReason.append(WARN_ATTR_SYNTAX_UUID_INVALID_LENGTH.get(valueString, valueString |
| | | .length())); |
| | | return false; |
| | |
| | | case 18: |
| | | case 23: |
| | | if (valueString.charAt(i) != '-') { |
| | | |
| | | invalidReason.append(WARN_ATTR_SYNTAX_UUID_EXPECTED_DASH.get(valueString, i, |
| | | String.valueOf(valueString.charAt(i)))); |
| | | return false; |