| | |
| | | |
| | | import org.opends.sdk.ByteSequence; |
| | | import org.opends.sdk.DecodeException; |
| | | import org.opends.sdk.LocalizableMessage; |
| | | import org.opends.sdk.LocalizableMessageBuilder; |
| | | |
| | | import com.sun.opends.sdk.util.Message; |
| | | import com.sun.opends.sdk.util.MessageBuilder; |
| | | import com.sun.opends.sdk.util.StaticUtils; |
| | | |
| | | |
| | |
| | | final int length = valueString.length(); |
| | | if (length < 11) |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_TOO_SHORT.get(valueString); |
| | | final DecodeException e = DecodeException.error(message); |
| | | StaticUtils.DEBUG_LOG.throwing("GeneralizedTimeSyntax", |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_YEAR.get( |
| | | valueString, String.valueOf(valueString.charAt(i))); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_MONTH.get( |
| | | valueString, valueString.substring(4, 6)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_MONTH.get( |
| | | valueString, valueString.substring(4, 6)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | } |
| | | break; |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_MONTH.get( |
| | | valueString, valueString.substring(4, 6)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_DAY.get( |
| | | valueString, valueString.substring(6, 8)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_DAY.get( |
| | | valueString, valueString.substring(6, 8)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_DAY.get( |
| | | valueString, valueString.substring(6, 8)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_DAY.get( |
| | | valueString, valueString.substring(6, 8)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_DAY.get( |
| | | valueString, valueString.substring(6, 8)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_HOUR.get( |
| | | valueString, valueString.substring(8, 10)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_HOUR.get( |
| | | valueString, valueString.substring(8, 10)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_HOUR.get( |
| | | valueString, valueString.substring(8, 10)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_HOUR.get( |
| | | valueString, valueString.substring(8, 10)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | // must be a digit between 0 and 9. |
| | | if (length < 13) |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_CHAR.get( |
| | | valueString, String.valueOf(m1), 10); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_MINUTE.get( |
| | | valueString, valueString.substring(10, 12)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | { |
| | | // This should only happen if the provided date wasn't legal |
| | | // (e.g., September 31). |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_ILLEGAL_TIME.get( |
| | | valueString, String.valueOf(e)); |
| | | final DecodeException de = DecodeException.error(message, e); |
| | |
| | | } |
| | | else |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_CHAR.get( |
| | | valueString, String.valueOf(m1), 10); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | |
| | | // This should only happen if the provided date wasn't legal |
| | | // (e.g., September 31). |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_ILLEGAL_TIME.get( |
| | | valueString, String.valueOf(e)); |
| | | final DecodeException de = DecodeException.error(message, e); |
| | |
| | | } |
| | | else |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_CHAR.get( |
| | | valueString, String.valueOf(m1), 10); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | hour, minute, second, 3600000); |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_CHAR.get( |
| | | valueString, String.valueOf(m1), 10); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | // must be a digit between 0 and 9. |
| | | if (length < 15) |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_CHAR.get( |
| | | valueString, String.valueOf(s1), 12); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_MINUTE.get( |
| | | valueString, valueString.substring(12, 14)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | // must be a 0. |
| | | if (length < 15) |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_CHAR.get( |
| | | valueString, String.valueOf(s1), 12); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | |
| | | if (valueString.charAt(13) != '0') |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_SECOND.get( |
| | | valueString, valueString.substring(12, 14)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | |
| | | // This should only happen if the provided date wasn't legal |
| | | // (e.g., September 31). |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_ILLEGAL_TIME.get( |
| | | valueString, String.valueOf(e)); |
| | | final DecodeException de = DecodeException.error(message, e); |
| | |
| | | } |
| | | else |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_CHAR.get( |
| | | valueString, String.valueOf(s1), 12); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | |
| | | // This should only happen if the provided date wasn't legal |
| | | // (e.g., September 31). |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_ILLEGAL_TIME.get( |
| | | valueString, String.valueOf(e)); |
| | | final DecodeException de = DecodeException.error(message, e); |
| | |
| | | } |
| | | else |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_CHAR.get( |
| | | valueString, String.valueOf(s1), 12); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | hour, minute, second, 60000); |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_CHAR.get( |
| | | valueString, String.valueOf(s1), 12); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | { |
| | | // This should only happen if the provided date wasn't legal |
| | | // (e.g., September 31). |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_ILLEGAL_TIME.get( |
| | | valueString, String.valueOf(e)); |
| | | final DecodeException de = DecodeException.error(message, e); |
| | |
| | | } |
| | | else |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_CHAR |
| | | .get(valueString, String |
| | | .valueOf(valueString.charAt(14)), 14); |
| | |
| | | { |
| | | // This should only happen if the provided date wasn't legal |
| | | // (e.g., September 31). |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_ILLEGAL_TIME.get( |
| | | valueString, String.valueOf(e)); |
| | | final DecodeException de = DecodeException.error(message, e); |
| | |
| | | } |
| | | else |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_CHAR |
| | | .get(valueString, String |
| | | .valueOf(valueString.charAt(14)), 14); |
| | |
| | | } |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_CHAR.get( |
| | | valueString, String.valueOf(valueString.charAt(14)), 14); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | // This is only acceptable if we're at the end of the value. |
| | | if (i != value.length() - 1) |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_ILLEGAL_FRACTION_CHAR |
| | | .get(value, String.valueOf(c)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break outerLoop; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_ILLEGAL_FRACTION_CHAR |
| | | .get(value, String.valueOf(c)); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | |
| | | if (fractionBuffer.length() == 2) |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_EMPTY_FRACTION.get(value); |
| | | final DecodeException e = DecodeException.error(message); |
| | | StaticUtils.DEBUG_LOG.throwing("GeneralizedTimeSyntax", |
| | |
| | | |
| | | if (timeZone == null) |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_NO_TIME_ZONE_INFO |
| | | .get(value); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | |
| | | // This should only happen if the provided date wasn't legal |
| | | // (e.g., September 31). |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_ILLEGAL_TIME.get(value, |
| | | String.valueOf(e)); |
| | | final DecodeException de = DecodeException.error(message, e); |
| | |
| | | final String offSetStr = value.substring(startPos); |
| | | if (offSetStr.length() != 3 && offSetStr.length() != 5) |
| | | { |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_OFFSET.get(value, |
| | | offSetStr); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_OFFSET.get(value, |
| | | offSetStr); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_OFFSET.get(value, |
| | | offSetStr); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_OFFSET.get(value, |
| | | offSetStr); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_OFFSET.get(value, |
| | | offSetStr); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_OFFSET.get( |
| | | value, offSetStr); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | break; |
| | | |
| | | default: |
| | | final Message message = |
| | | final LocalizableMessage message = |
| | | WARN_ATTR_SYNTAX_GENERALIZED_TIME_INVALID_OFFSET.get(value, |
| | | offSetStr); |
| | | final DecodeException e = DecodeException.error(message); |
| | |
| | | * use with this syntax, or <CODE>false</CODE> if not. |
| | | */ |
| | | public boolean valueIsAcceptable(Schema schema, ByteSequence value, |
| | | MessageBuilder invalidReason) |
| | | LocalizableMessageBuilder invalidReason) |
| | | { |
| | | try |
| | | { |