| | |
| | | import org.opends.sdk.requests.Requests; |
| | | import org.opends.sdk.schema.Schema; |
| | | |
| | | import com.sun.opends.sdk.util.LocalizedIllegalArgumentException; |
| | | import com.sun.opends.sdk.util.Message; |
| | | import com.sun.opends.sdk.util.Validator; |
| | | |
| | | |
| | |
| | | if (record == null) |
| | | { |
| | | // No change record found. |
| | | Message message = WARN_READ_LDIF_RECORD_NO_CHANGE_RECORD_FOUND |
| | | LocalizableMessage message = WARN_READ_LDIF_RECORD_NO_CHANGE_RECORD_FOUND |
| | | .get(); |
| | | throw new LocalizedIllegalArgumentException(message); |
| | | } |
| | |
| | | if (reader.readChangeRecord() != null) |
| | | { |
| | | // Multiple change records found. |
| | | Message message = WARN_READ_LDIF_RECORD_MULTIPLE_CHANGE_RECORDS_FOUND |
| | | LocalizableMessage message = WARN_READ_LDIF_RECORD_MULTIPLE_CHANGE_RECORDS_FOUND |
| | | .get(); |
| | | throw new LocalizedIllegalArgumentException(message); |
| | | } |
| | |
| | | catch (IOException e) |
| | | { |
| | | // This should never happen for a String based reader. |
| | | Message message = WARN_READ_LDIF_RECORD_UNEXPECTED_IO_ERROR.get(e |
| | | LocalizableMessage message = WARN_READ_LDIF_RECORD_UNEXPECTED_IO_ERROR.get(e |
| | | .getMessage()); |
| | | throw new LocalizedIllegalArgumentException(message); |
| | | } |
| | |
| | | // Skip if branch containing the entry DN is excluded. |
| | | if (isBranchExcluded(entryDN)) |
| | | { |
| | | final Message message = Message |
| | | final LocalizableMessage message = LocalizableMessage |
| | | .raw("Skipping entry because it is in excluded branch"); |
| | | skipLDIFRecord(record, message); |
| | | continue; |
| | |
| | | if (!record.iterator.hasNext()) |
| | | { |
| | | // FIXME: improve error. |
| | | final Message message = Message.raw("Missing changetype"); |
| | | final LocalizableMessage message = LocalizableMessage.raw("Missing changetype"); |
| | | throw DecodeException.error(message); |
| | | } |
| | | |
| | |
| | | else |
| | | { |
| | | // FIXME: improve error. |
| | | final Message message = ERR_LDIF_INVALID_CHANGETYPE_ATTRIBUTE |
| | | final LocalizableMessage message = ERR_LDIF_INVALID_CHANGETYPE_ATTRIBUTE |
| | | .get(pair.value, "add, delete, modify, moddn, modrdn"); |
| | | throw DecodeException.error(message); |
| | | } |
| | |
| | | if (record.iterator.hasNext()) |
| | | { |
| | | // FIXME: include line number in error. |
| | | final Message message = ERR_LDIF_INVALID_DELETE_ATTRIBUTES.get(); |
| | | final LocalizableMessage message = ERR_LDIF_INVALID_DELETE_ATTRIBUTES.get(); |
| | | throw DecodeException.error(message); |
| | | } |
| | | |
| | |
| | | else |
| | | { |
| | | // FIXME: improve error. |
| | | final Message message = ERR_LDIF_INVALID_MODIFY_ATTRIBUTE.get( |
| | | final LocalizableMessage message = ERR_LDIF_INVALID_MODIFY_ATTRIBUTE.get( |
| | | pair.key, "add, delete, replace, increment"); |
| | | throw DecodeException.error(message); |
| | | } |
| | |
| | | if (validateSchema |
| | | && attributeDescription.containsOption("binary")) |
| | | { |
| | | final Message message = ERR_LDIF_INVALID_ATTR_OPTION.get( |
| | | final LocalizableMessage message = ERR_LDIF_INVALID_ATTR_OPTION.get( |
| | | entryDN.toString(), record.lineNumber, pair.value); |
| | | throw DecodeException.error(message); |
| | | } |
| | |
| | | if (!attributeDescription2.equals(attributeDescription)) |
| | | { |
| | | // TODO: include line number. |
| | | final Message message = ERR_LDIF_INVALID_CHANGERECORD_ATTRIBUTE |
| | | final LocalizableMessage message = ERR_LDIF_INVALID_CHANGERECORD_ATTRIBUTE |
| | | .get(attributeDescription2.toString(), |
| | | attributeDescription.toString()); |
| | | throw DecodeException.error(message); |
| | |
| | | if (!record.iterator.hasNext()) |
| | | { |
| | | // TODO: include line number. |
| | | final Message message = ERR_LDIF_NO_MOD_DN_ATTRIBUTES.get(); |
| | | final LocalizableMessage message = ERR_LDIF_NO_MOD_DN_ATTRIBUTES.get(); |
| | | throw DecodeException.error(message); |
| | | } |
| | | |
| | |
| | | if (!toLowerCase(pair.key).equals("newrdn")) |
| | | { |
| | | // FIXME: improve error. |
| | | final Message message = Message.raw("Missing newrdn"); |
| | | final LocalizableMessage message = LocalizableMessage.raw("Missing newrdn"); |
| | | throw DecodeException.error(message); |
| | | } |
| | | |
| | |
| | | } |
| | | catch (final LocalizedIllegalArgumentException e) |
| | | { |
| | | final Message message = ERR_LDIF_INVALID_DN.get( |
| | | final LocalizableMessage message = ERR_LDIF_INVALID_DN.get( |
| | | record.lineNumber, ldifLine, e.getMessageObject()); |
| | | throw DecodeException.error(message); |
| | | } |
| | |
| | | if (!record.iterator.hasNext()) |
| | | { |
| | | // TODO: include line number. |
| | | final Message message = ERR_LDIF_NO_DELETE_OLDRDN_ATTRIBUTE.get(); |
| | | final LocalizableMessage message = ERR_LDIF_NO_DELETE_OLDRDN_ATTRIBUTE.get(); |
| | | throw DecodeException.error(message); |
| | | } |
| | | |
| | |
| | | if (!toLowerCase(pair.key).equals("deleteoldrdn")) |
| | | { |
| | | // FIXME: improve error. |
| | | final Message message = Message.raw("Missing deleteoldrdn"); |
| | | final LocalizableMessage message = LocalizableMessage.raw("Missing deleteoldrdn"); |
| | | throw DecodeException.error(message); |
| | | } |
| | | |
| | |
| | | else |
| | | { |
| | | // FIXME: improve error. |
| | | final Message message = ERR_LDIF_INVALID_DELETE_OLDRDN_ATTRIBUTE |
| | | final LocalizableMessage message = ERR_LDIF_INVALID_DELETE_OLDRDN_ATTRIBUTE |
| | | .get(pair.value); |
| | | throw DecodeException.error(message); |
| | | } |
| | |
| | | if (!toLowerCase(pair.key).equals("newsuperior")) |
| | | { |
| | | // FIXME: improve error. |
| | | final Message message = Message.raw("Missing newsuperior"); |
| | | final LocalizableMessage message = LocalizableMessage.raw("Missing newsuperior"); |
| | | throw DecodeException.error(message); |
| | | } |
| | | |
| | |
| | | } |
| | | catch (final LocalizedIllegalArgumentException e) |
| | | { |
| | | final Message message = ERR_LDIF_INVALID_DN.get( |
| | | final LocalizableMessage message = ERR_LDIF_INVALID_DN.get( |
| | | record.lineNumber, ldifLine, e.getMessageObject()); |
| | | throw DecodeException.error(message); |
| | | } |