| | |
| | | import org.opends.server.types.DITStructureRule; |
| | | import org.opends.server.types.DN; |
| | | import org.opends.server.types.Entry; |
| | | import org.opends.server.types.ErrorLogCategory; |
| | | import org.opends.server.types.ErrorLogSeverity; |
| | | import org.opends.server.types.ExistingFileBehavior; |
| | | import org.opends.server.types.InitializationException; |
| | | import org.opends.server.types.LDIFExportConfig; |
| | |
| | | import org.opends.server.types.DebugLogLevel; |
| | | |
| | | import static org.opends.server.config.ConfigConstants.*; |
| | | import static org.opends.server.loggers.ErrorLogger.*; |
| | | import static org.opends.server.loggers.debug.DebugLogger.*; |
| | | import org.opends.server.loggers.debug.DebugTracer; |
| | | import static org.opends.server.messages.BackendMessages.*; |
| | | import static org.opends.server.messages.MessageHandler.*; |
| | | import static org.opends.server.loggers.ErrorLogger.*; |
| | | import org.opends.server.loggers.ErrorLogger; |
| | | import static org.opends.messages.BackendMessages.*; |
| | | import static org.opends.server.util.ServerConstants.*; |
| | | import static org.opends.server.util.StaticUtils.*; |
| | | import org.opends.server.admin.std.server.SchemaBackendCfg; |
| | | import org.opends.server.admin.server.ConfigurationChangeListener; |
| | | import org.opends.server.admin.Configuration; |
| | | import static org.opends.server.messages.ConfigMessages.*; |
| | | import static org.opends.messages.ConfigMessages.*; |
| | | import org.opends.messages.Message; |
| | | |
| | | import org.opends.server.protocols.asn1.ASN1OctetString; |
| | | |
| | | |
| | |
| | | // not be able to complete initialization. |
| | | if (config == null) |
| | | { |
| | | int msgID = MSGID_SCHEMA_CONFIG_ENTRY_NULL; |
| | | String message = getMessage(msgID); |
| | | throw new ConfigException(msgID, message); |
| | | Message message = ERR_SCHEMA_CONFIG_ENTRY_NULL.get(); |
| | | throw new ConfigException(message); |
| | | } |
| | | |
| | | Validator.ensureTrue(config instanceof SchemaBackendCfg); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_BACKEND_CANNOT_REGISTER_BASEDN; |
| | | String message = getMessage(msgID, baseDNs[i].toString(), |
| | | getExceptionMessage(e)); |
| | | throw new InitializationException(msgID, message, e); |
| | | Message message = ERR_BACKEND_CANNOT_REGISTER_BASEDN.get( |
| | | baseDNs[i].toString(), getExceptionMessage(e)); |
| | | throw new InitializationException(message, e); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_SCHEMA_CANNOT_FIND_CONCAT_FILE; |
| | | String message = getMessage(msgID, |
| | | upgradeDirectory.getAbsolutePath(), |
| | | SCHEMA_CONCAT_FILE_NAME, |
| | | concatFile.getName()); |
| | | throw new InitializationException(msgID, message); |
| | | Message message = ERR_SCHEMA_CANNOT_FIND_CONCAT_FILE. |
| | | get(upgradeDirectory.getAbsolutePath(), SCHEMA_CONCAT_FILE_NAME, |
| | | concatFile.getName()); |
| | | throw new InitializationException(message); |
| | | } |
| | | } |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_ERROR_DETERMINING_SCHEMA_CHANGES; |
| | | String message = getMessage(msgID, getExceptionMessage(e)); |
| | | logError(ErrorLogCategory.SCHEMA, ErrorLogSeverity.SEVERE_ERROR, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_ERROR_DETERMINING_SCHEMA_CHANGES.get( |
| | | getExceptionMessage(e)); |
| | | ErrorLogger.logError(message); |
| | | } |
| | | |
| | | |
| | |
| | | public void addEntry(Entry entry, AddOperation addOperation) |
| | | throws DirectoryException |
| | | { |
| | | int msgID = MSGID_SCHEMA_ADD_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(entry.getDN())); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = |
| | | ERR_SCHEMA_ADD_NOT_SUPPORTED.get(String.valueOf(entry.getDN())); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | public void deleteEntry(DN entryDN, DeleteOperation deleteOperation) |
| | | throws DirectoryException |
| | | { |
| | | int msgID = MSGID_SCHEMA_DELETE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = |
| | | ERR_SCHEMA_DELETE_NOT_SUPPORTED.get(String.valueOf(entryDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | if (! clientConnection.hasPrivilege(Privilege.UPDATE_SCHEMA, |
| | | modifyOperation)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_INSUFFICIENT_PRIVILEGES; |
| | | String message = getMessage(msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_INSUFFICIENT_PRIVILEGES.get(); |
| | | throw new DirectoryException(ResultCode.INSUFFICIENT_ACCESS_RIGHTS, |
| | | message, msgID); |
| | | message); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_ATTRTYPE; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_ATTRTYPE.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | addAttributeType(type, newSchema, modifiedSchemaFiles); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_OBJECTCLASS; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_OBJECTCLASS. |
| | | get(v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | addObjectClass(oc, newSchema, modifiedSchemaFiles); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_NAME_FORM; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_NAME_FORM.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | addNameForm(nf, newSchema, modifiedSchemaFiles); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_DCR; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_DCR.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | addDITContentRule(dcr, newSchema, modifiedSchemaFiles); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_DSR; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_DSR.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | addDITStructureRule(dsr, newSchema, modifiedSchemaFiles); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_MR_USE; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_MR_USE.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | addMatchingRuleUse(mru, newSchema, modifiedSchemaFiles); |
| | |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_UNSUPPORTED_ATTRIBUTE_TYPE; |
| | | String message = getMessage(msgID, a.getName()); |
| | | Message message = |
| | | ERR_SCHEMA_MODIFY_UNSUPPORTED_ATTRIBUTE_TYPE.get(a.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | message, msgID); |
| | | message); |
| | | } |
| | | |
| | | break; |
| | |
| | | values = a.getValues(); |
| | | if (values.isEmpty()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DELETE_NO_VALUES; |
| | | String message = getMessage(msgID, a.getName()); |
| | | Message message = |
| | | ERR_SCHEMA_MODIFY_DELETE_NO_VALUES.get(a.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | message, msgID); |
| | | message); |
| | | } |
| | | |
| | | if (at.equals(attributeTypesType)) |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_ATTRTYPE; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_ATTRTYPE.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | removeAttributeType(type, newSchema, mods, pos, |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_OBJECTCLASS; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_OBJECTCLASS. |
| | | get(v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | removeObjectClass(oc, newSchema, mods, pos, modifiedSchemaFiles); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_NAME_FORM; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_NAME_FORM.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | removeNameForm(nf, newSchema, mods, pos, modifiedSchemaFiles); |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_DCR; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_DCR.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | removeDITContentRule(dcr, newSchema, mods, pos, |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_DSR; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_DSR.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | removeDITStructureRule(dsr, newSchema, mods, pos, |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_MR_USE; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_MR_USE.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | removeMatchingRuleUse(mru, newSchema, mods, pos, |
| | |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_UNSUPPORTED_ATTRIBUTE_TYPE; |
| | | String message = getMessage(msgID, a.getName()); |
| | | Message message = |
| | | ERR_SCHEMA_MODIFY_UNSUPPORTED_ATTRIBUTE_TYPE.get(a.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | message, msgID); |
| | | message); |
| | | } |
| | | |
| | | break; |
| | |
| | | default: |
| | | if (!modifyOperation.isSynchronizationOperation()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_INVALID_MODIFICATION_TYPE; |
| | | String message = getMessage(msgID, m.getModificationType()); |
| | | Message message = ERR_SCHEMA_INVALID_MODIFICATION_TYPE.get( |
| | | String.valueOf(m.getModificationType())); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | message, msgID); |
| | | message); |
| | | } |
| | | else |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_WRITE_NEW_SCHEMA; |
| | | String message = getMessage(msgID, getExceptionMessage(e)); |
| | | Message message = |
| | | ERR_SCHEMA_MODIFY_CANNOT_WRITE_NEW_SCHEMA.get(getExceptionMessage(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | finally |
| | | { |
| | |
| | | // NOTE: We really do want to use "!=" instead of "! t.equals()" |
| | | // because we want to check whether it's the same object instance, not |
| | | // just a logical equivalent. |
| | | int msgID = MSGID_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_ATTRTYPE; |
| | | String message = getMessage(msgID, attributeType.getNameOrOID(), |
| | | existingType.getNameOrOID(), |
| | | t.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_ATTRTYPE. |
| | | get(attributeType.getNameOrOID(), existingType.getNameOrOID(), |
| | | t.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (! schema.hasAttributeType(superiorType.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_UNDEFINED_SUPERIOR_ATTRIBUTE_TYPE; |
| | | String message = getMessage(msgID, attributeType.getNameOrOID(), |
| | | superiorType.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_UNDEFINED_SUPERIOR_ATTRIBUTE_TYPE. |
| | | get(attributeType.getNameOrOID(), superiorType.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | else if (superiorType.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_OBSOLETE_SUPERIOR_ATTRIBUTE_TYPE; |
| | | String message = getMessage(msgID, attributeType.getNameOrOID(), |
| | | superiorType.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_OBSOLETE_SUPERIOR_ATTRIBUTE_TYPE. |
| | | get(attributeType.getNameOrOID(), superiorType.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | } |
| | | |
| | |
| | | MatchingRule mr = attributeType.getEqualityMatchingRule(); |
| | | if ((mr != null) && mr.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_ATTRTYPE_OBSOLETE_MR; |
| | | String message = getMessage(msgID, attributeType.getNameOrOID(), |
| | | mr.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_ATTRTYPE_OBSOLETE_MR.get( |
| | | attributeType.getNameOrOID(), mr.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | |
| | | mr = attributeType.getOrderingMatchingRule(); |
| | | if ((mr != null) && mr.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_ATTRTYPE_OBSOLETE_MR; |
| | | String message = getMessage(msgID, attributeType.getNameOrOID(), |
| | | mr.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_ATTRTYPE_OBSOLETE_MR.get( |
| | | attributeType.getNameOrOID(), mr.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | |
| | | mr = attributeType.getSubstringMatchingRule(); |
| | | if ((mr != null) && mr.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_ATTRTYPE_OBSOLETE_MR; |
| | | String message = getMessage(msgID, attributeType.getNameOrOID(), |
| | | mr.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_ATTRTYPE_OBSOLETE_MR.get( |
| | | attributeType.getNameOrOID(), mr.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | |
| | | mr = attributeType.getApproximateMatchingRule(); |
| | | if ((mr != null) && mr.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_ATTRTYPE_OBSOLETE_MR; |
| | | String message = getMessage(msgID, attributeType.getNameOrOID(), |
| | | mr.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_ATTRTYPE_OBSOLETE_MR.get( |
| | | attributeType.getNameOrOID(), mr.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | |
| | | |
| | |
| | | AttributeType removeType = schema.getAttributeType(attributeType.getOID()); |
| | | if ((removeType == null) || (! removeType.equals(attributeType))) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_NO_SUCH_ATTRIBUTE_TYPE; |
| | | String message = getMessage(msgID, attributeType.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_NO_SUCH_ATTRIBUTE_TYPE.get( |
| | | attributeType.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_ATTRTYPE; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_ATTRTYPE.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | if (attributeType.getOID().equals(at.getOID())) |
| | |
| | | AttributeType superiorType = at.getSuperiorType(); |
| | | if ((superiorType != null) && superiorType.equals(removeType)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_AT_SUPERIOR_TYPE; |
| | | String message = getMessage(msgID, removeType.getNameOrOID(), |
| | | superiorType.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_AT_SUPERIOR_TYPE.get( |
| | | removeType.getNameOrOID(), superiorType.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | |
| | |
| | | if (oc.getRequiredAttributes().contains(removeType) || |
| | | oc.getOptionalAttributes().contains(removeType)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_AT_IN_OC; |
| | | String message = getMessage(msgID, removeType.getNameOrOID(), |
| | | oc.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_AT_IN_OC.get( |
| | | removeType.getNameOrOID(), oc.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | |
| | |
| | | if (nf.getRequiredAttributes().contains(removeType) || |
| | | nf.getOptionalAttributes().contains(removeType)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_AT_IN_NF; |
| | | String message = getMessage(msgID, removeType.getNameOrOID(), |
| | | nf.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_AT_IN_NF.get( |
| | | removeType.getNameOrOID(), nf.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | |
| | |
| | | dcr.getOptionalAttributes().contains(removeType) || |
| | | dcr.getProhibitedAttributes().contains(removeType)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_AT_IN_DCR; |
| | | String message = getMessage(msgID, removeType.getNameOrOID(), |
| | | dcr.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_AT_IN_DCR.get( |
| | | removeType.getNameOrOID(), dcr.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (mru.getAttributes().contains(removeType)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_AT_IN_MR_USE; |
| | | String message = getMessage(msgID, removeType.getNameOrOID(), |
| | | mru.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_AT_IN_MR_USE.get( |
| | | removeType.getNameOrOID(), mru.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | |
| | |
| | | // NOTE: We really do want to use "!=" instead of "! t.equals()" |
| | | // because we want to check whether it's the same object instance, not |
| | | // just a logical equivalent. |
| | | int msgID = MSGID_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_OBJECTCLASS; |
| | | String message = getMessage(msgID, objectClass.getNameOrOID(), |
| | | existingClass.getNameOrOID(), |
| | | oc.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = |
| | | ERR_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_OBJECTCLASS |
| | | .get(objectClass.getNameOrOID(), |
| | | existingClass.getNameOrOID(), |
| | | oc.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (! schema.hasObjectClass(superiorClass.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_UNDEFINED_SUPERIOR_OBJECTCLASS; |
| | | String message = getMessage(msgID, objectClass.getNameOrOID(), |
| | | superiorClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_UNDEFINED_SUPERIOR_OBJECTCLASS.get( |
| | | objectClass.getNameOrOID(), superiorClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | else if (superiorClass.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_OBSOLETE_SUPERIOR_OBJECTCLASS; |
| | | String message = getMessage(msgID, objectClass.getNameOrOID(), |
| | | superiorClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_OBSOLETE_SUPERIOR_OBJECTCLASS.get( |
| | | objectClass.getNameOrOID(), superiorClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (! schema.hasAttributeType(at.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_OC_UNDEFINED_REQUIRED_ATTR; |
| | | String message = getMessage(msgID, objectClass.getNameOrOID(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_OC_UNDEFINED_REQUIRED_ATTR.get( |
| | | objectClass.getNameOrOID(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | else if (at.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_OC_OBSOLETE_REQUIRED_ATTR; |
| | | String message = getMessage(msgID, objectClass.getNameOrOID(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_OC_OBSOLETE_REQUIRED_ATTR.get( |
| | | objectClass.getNameOrOID(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (! schema.hasAttributeType(at.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_OC_UNDEFINED_OPTIONAL_ATTR; |
| | | String message = getMessage(msgID, objectClass.getNameOrOID(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_OC_UNDEFINED_OPTIONAL_ATTR.get( |
| | | objectClass.getNameOrOID(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | else if (at.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_OC_OBSOLETE_OPTIONAL_ATTR; |
| | | String message = getMessage(msgID, objectClass.getNameOrOID(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_OC_OBSOLETE_OPTIONAL_ATTR.get( |
| | | objectClass.getNameOrOID(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | } |
| | | |
| | |
| | | ObjectClass removeClass = schema.getObjectClass(objectClass.getOID()); |
| | | if ((removeClass == null) || (! removeClass.equals(objectClass))) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_NO_SUCH_OBJECTCLASS; |
| | | String message = getMessage(msgID, objectClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_NO_SUCH_OBJECTCLASS.get( |
| | | objectClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_OBJECTCLASS; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_OBJECTCLASS.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | if (objectClass.getOID().equals(oc.getOID())) |
| | |
| | | ObjectClass superiorClass = oc.getSuperiorClass(); |
| | | if ((superiorClass != null) && superiorClass.equals(removeClass)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_OC_SUPERIOR_CLASS; |
| | | String message = getMessage(msgID, removeClass.getNameOrOID(), |
| | | superiorClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_OC_SUPERIOR_CLASS.get( |
| | | removeClass.getNameOrOID(), superiorClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | |
| | |
| | | NameForm nf = schema.getNameForm(removeClass); |
| | | if (nf != null) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_OC_IN_NF; |
| | | String message = getMessage(msgID, removeClass.getNameOrOID(), |
| | | nf.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_OC_IN_NF.get( |
| | | removeClass.getNameOrOID(), nf.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | if (dcr.getStructuralClass().equals(removeClass) || |
| | | dcr.getAuxiliaryClasses().contains(removeClass)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_OC_IN_DCR; |
| | | String message = getMessage(msgID, removeClass.getNameOrOID(), |
| | | dcr.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_OC_IN_DCR.get( |
| | | removeClass.getNameOrOID(), dcr.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | |
| | |
| | | // NOTE: We really do want to use "!=" instead of "! t.equals()" |
| | | // because we want to check whether it's the same object instance, not |
| | | // just a logical equivalent. |
| | | int msgID = MSGID_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_NAME_FORM; |
| | | String message = getMessage(msgID, nameForm.getNameOrOID(), |
| | | existingNF.getNameOrOID(), |
| | | nf.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = |
| | | ERR_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_NAME_FORM |
| | | .get(nameForm.getNameOrOID(), existingNF.getNameOrOID(), |
| | | nf.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | |
| | |
| | | ObjectClass structuralClass = nameForm.getStructuralClass(); |
| | | if (! schema.hasObjectClass(structuralClass.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_NF_UNDEFINED_STRUCTURAL_OC; |
| | | String message = getMessage(msgID, nameForm.getNameOrOID(), |
| | | structuralClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_NF_UNDEFINED_STRUCTURAL_OC.get( |
| | | nameForm.getNameOrOID(), structuralClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | if (structuralClass.getObjectClassType() != ObjectClassType.STRUCTURAL) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_NF_OC_NOT_STRUCTURAL; |
| | | String message = getMessage(msgID, nameForm.getNameOrOID(), |
| | | structuralClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_NF_OC_NOT_STRUCTURAL.get( |
| | | nameForm.getNameOrOID(), structuralClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | if (structuralClass.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_NF_OC_OBSOLETE; |
| | | String message = getMessage(msgID, nameForm.getNameOrOID(), |
| | | structuralClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_NF_OC_OBSOLETE.get( |
| | | nameForm.getNameOrOID(), structuralClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | NameForm existingNFForClass = schema.getNameForm(structuralClass); |
| | | if ((existingNFForClass != null) && (existingNFForClass != existingNF)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_STRUCTURAL_OC_CONFLICT_FOR_ADD_NF; |
| | | String message = getMessage(msgID, nameForm.getNameOrOID(), |
| | | structuralClass.getNameOrOID(), |
| | | existingNFForClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_STRUCTURAL_OC_CONFLICT_FOR_ADD_NF. |
| | | get(nameForm.getNameOrOID(), structuralClass.getNameOrOID(), |
| | | existingNFForClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | for (AttributeType at : nameForm.getRequiredAttributes()) |
| | | { |
| | | if (! schema.hasAttributeType(at.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_NF_UNDEFINED_REQUIRED_ATTR; |
| | | String message = getMessage(msgID, nameForm.getNameOrOID(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_NF_UNDEFINED_REQUIRED_ATTR.get( |
| | | nameForm.getNameOrOID(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | else if (at.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_NF_OBSOLETE_REQUIRED_ATTR; |
| | | String message = getMessage(msgID, nameForm.getNameOrOID(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_NF_OBSOLETE_REQUIRED_ATTR.get( |
| | | nameForm.getNameOrOID(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (! schema.hasAttributeType(at.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_NF_UNDEFINED_OPTIONAL_ATTR; |
| | | String message = getMessage(msgID, nameForm.getNameOrOID(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_NF_UNDEFINED_OPTIONAL_ATTR.get( |
| | | nameForm.getNameOrOID(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | else if (at.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_NF_OBSOLETE_OPTIONAL_ATTR; |
| | | String message = getMessage(msgID, nameForm.getNameOrOID(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_NF_OBSOLETE_OPTIONAL_ATTR.get( |
| | | nameForm.getNameOrOID(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | } |
| | | |
| | |
| | | NameForm removeNF = schema.getNameForm(nameForm.getOID()); |
| | | if ((removeNF == null) || (! removeNF.equals(nameForm))) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_NO_SUCH_NAME_FORM; |
| | | String message = getMessage(msgID, nameForm.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_NO_SUCH_NAME_FORM.get( |
| | | nameForm.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_NAME_FORM; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_NAME_FORM.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | if (nameForm.getOID().equals(nf.getOID())) |
| | |
| | | DITStructureRule dsr = schema.getDITStructureRule(removeNF); |
| | | if (dsr != null) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_NF_IN_DSR; |
| | | String message = getMessage(msgID, removeNF.getNameOrOID(), |
| | | dsr.getNameOrRuleID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_NF_IN_DSR.get( |
| | | removeNF.getNameOrOID(), dsr.getNameOrRuleID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_DCR; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | existingDCR.getName(), |
| | | dcr.getName()); |
| | | Message message = ERR_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_DCR. |
| | | get(ditContentRule.getName(), existingDCR.getName(), |
| | | dcr.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | message, msgID); |
| | | message); |
| | | } |
| | | } |
| | | } |
| | |
| | | schema.getDITContentRule(structuralClass); |
| | | if ((existingRuleForClass != null) && (existingRuleForClass != existingDCR)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_STRUCTURAL_OC_CONFLICT_FOR_ADD_DCR; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | structuralClass.getNameOrOID(), |
| | | existingRuleForClass.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_STRUCTURAL_OC_CONFLICT_FOR_ADD_DCR. |
| | | get(ditContentRule.getName(), structuralClass.getNameOrOID(), |
| | | existingRuleForClass.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | // prohibited attribute type. |
| | | if (! schema.hasObjectClass(structuralClass.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DCR_UNDEFINED_STRUCTURAL_OC; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | structuralClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DCR_UNDEFINED_STRUCTURAL_OC.get( |
| | | ditContentRule.getName(), structuralClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | if (structuralClass.getObjectClassType() != ObjectClassType.STRUCTURAL) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DCR_OC_NOT_STRUCTURAL; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | structuralClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DCR_OC_NOT_STRUCTURAL.get( |
| | | ditContentRule.getName(), structuralClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | if (structuralClass.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DCR_STRUCTURAL_OC_OBSOLETE; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | structuralClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DCR_STRUCTURAL_OC_OBSOLETE.get( |
| | | ditContentRule.getName(), structuralClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | |
| | | for (ObjectClass oc : ditContentRule.getAuxiliaryClasses()) |
| | | { |
| | | if (! schema.hasObjectClass(oc.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DCR_UNDEFINED_AUXILIARY_OC; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | oc.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DCR_UNDEFINED_AUXILIARY_OC.get( |
| | | ditContentRule.getName(), oc.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | if (oc.getObjectClassType() != ObjectClassType.AUXILIARY) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DCR_OC_NOT_AUXILIARY; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | oc.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DCR_OC_NOT_AUXILIARY.get( |
| | | ditContentRule.getName(), oc.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | if (oc.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DCR_OBSOLETE_AUXILIARY_OC; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | oc.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DCR_OBSOLETE_AUXILIARY_OC.get( |
| | | ditContentRule.getName(), oc.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (! schema.hasAttributeType(at.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DCR_UNDEFINED_REQUIRED_ATTR; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DCR_UNDEFINED_REQUIRED_ATTR.get( |
| | | ditContentRule.getName(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | else if (at.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DCR_OBSOLETE_REQUIRED_ATTR; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DCR_OBSOLETE_REQUIRED_ATTR.get( |
| | | ditContentRule.getName(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (! schema.hasAttributeType(at.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DCR_UNDEFINED_OPTIONAL_ATTR; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DCR_UNDEFINED_OPTIONAL_ATTR.get( |
| | | ditContentRule.getName(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | else if (at.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DCR_OBSOLETE_OPTIONAL_ATTR; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DCR_OBSOLETE_OPTIONAL_ATTR.get( |
| | | ditContentRule.getName(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | if (! schema.hasAttributeType(at.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DCR_UNDEFINED_PROHIBITED_ATTR; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DCR_UNDEFINED_PROHIBITED_ATTR.get( |
| | | ditContentRule.getName(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | else if (at.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DCR_OBSOLETE_PROHIBITED_ATTR; |
| | | String message = getMessage(msgID, ditContentRule.getName(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DCR_OBSOLETE_PROHIBITED_ATTR.get( |
| | | ditContentRule.getName(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | } |
| | | |
| | |
| | | schema.getDITContentRule(ditContentRule.getStructuralClass()); |
| | | if ((removeDCR == null) || (! removeDCR.equals(ditContentRule))) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_NO_SUCH_DCR; |
| | | String message = getMessage(msgID, ditContentRule.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = |
| | | ERR_SCHEMA_MODIFY_REMOVE_NO_SUCH_DCR.get(ditContentRule.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | // acceptable if we find match for the same object instance. |
| | | if ((existingDSR != null) && (existingDSR != dsr)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_DSR; |
| | | String message = getMessage(msgID, |
| | | ditStructureRule.getNameOrRuleID(), |
| | | existingDSR.getNameOrRuleID(), |
| | | dsr.getNameOrRuleID()); |
| | | Message message = ERR_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_DSR. |
| | | get(ditStructureRule.getNameOrRuleID(), |
| | | existingDSR.getNameOrRuleID(), dsr.getNameOrRuleID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | message, msgID); |
| | | message); |
| | | } |
| | | } |
| | | } |
| | |
| | | if ((existingRuleForNameForm != null) && |
| | | (existingRuleForNameForm != existingDSR)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_NAME_FORM_CONFLICT_FOR_ADD_DSR; |
| | | String message = getMessage(msgID, ditStructureRule.getNameOrRuleID(), |
| | | nameForm.getNameOrOID(), |
| | | existingRuleForNameForm.getNameOrRuleID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_NAME_FORM_CONFLICT_FOR_ADD_DSR. |
| | | get(ditStructureRule.getNameOrRuleID(), nameForm.getNameOrOID(), |
| | | existingRuleForNameForm.getNameOrRuleID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | // name form or superior DIT structure rule. |
| | | if (! schema.hasNameForm(nameForm.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DSR_UNDEFINED_NAME_FORM; |
| | | String message = getMessage(msgID, ditStructureRule.getNameOrRuleID(), |
| | | nameForm.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DSR_UNDEFINED_NAME_FORM.get( |
| | | ditStructureRule.getNameOrRuleID(), nameForm.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | if (nameForm.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DSR_OBSOLETE_NAME_FORM; |
| | | String message = getMessage(msgID, ditStructureRule.getNameOrRuleID(), |
| | | nameForm.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DSR_OBSOLETE_NAME_FORM.get( |
| | | ditStructureRule.getNameOrRuleID(), nameForm.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | |
| | | |
| | |
| | | { |
| | | if (dsr.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DSR_OBSOLETE_SUPERIOR_RULE; |
| | | String message = getMessage(msgID, ditStructureRule.getNameOrRuleID(), |
| | | dsr.getNameOrRuleID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_DSR_OBSOLETE_SUPERIOR_RULE.get( |
| | | ditStructureRule.getNameOrRuleID(), dsr.getNameOrRuleID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | } |
| | | |
| | |
| | | schema.getDITStructureRule(ditStructureRule.getRuleID()); |
| | | if ((removeDSR == null) || (! removeDSR.equals(ditStructureRule))) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_NO_SUCH_DSR; |
| | | String message = getMessage(msgID, ditStructureRule.getNameOrRuleID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_NO_SUCH_DSR.get( |
| | | ditStructureRule.getNameOrRuleID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, de); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_DECODE_DSR; |
| | | String message = getMessage(msgID, v.getStringValue(), |
| | | de.getErrorMessage()); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_DECODE_DSR.get( |
| | | v.getStringValue(), de.getMessageObject()); |
| | | throw new DirectoryException( |
| | | ResultCode.INVALID_ATTRIBUTE_SYNTAX, message, |
| | | msgID, de); |
| | | de); |
| | | } |
| | | |
| | | if (ditStructureRule.getRuleID() == dsr.getRuleID()) |
| | |
| | | { |
| | | if (dsr.getSuperiorRules().contains(removeDSR)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_DSR_SUPERIOR_RULE; |
| | | String message = getMessage(msgID, removeDSR.getNameOrRuleID(), |
| | | dsr.getNameOrRuleID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_DSR_SUPERIOR_RULE.get( |
| | | removeDSR.getNameOrRuleID(), dsr.getNameOrRuleID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_MR_USE; |
| | | String message = getMessage(msgID, matchingRuleUse.getName(), |
| | | existingMRU.getName(), mru.getName()); |
| | | Message message = |
| | | ERR_SCHEMA_MODIFY_MULTIPLE_CONFLICTS_FOR_ADD_MR_USE.get( |
| | | matchingRuleUse.getName(), |
| | | existingMRU.getName(), |
| | | mru.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, |
| | | message, msgID); |
| | | message); |
| | | } |
| | | } |
| | | } |
| | |
| | | schema.getMatchingRuleUse(matchingRule); |
| | | if ((existingMRUForRule != null) && (existingMRUForRule != existingMRU)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_MR_CONFLICT_FOR_ADD_MR_USE; |
| | | String message = getMessage(msgID, matchingRuleUse.getName(), |
| | | matchingRule.getNameOrOID(), |
| | | existingMRUForRule.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_MR_CONFLICT_FOR_ADD_MR_USE. |
| | | get(matchingRuleUse.getName(), matchingRule.getNameOrOID(), |
| | | existingMRUForRule.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | if (matchingRule.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_MRU_OBSOLETE_MR; |
| | | String message = getMessage(msgID, matchingRuleUse.getName(), |
| | | matchingRule.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_MRU_OBSOLETE_MR.get( |
| | | matchingRuleUse.getName(), matchingRule.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | |
| | | |
| | |
| | | { |
| | | if (! schema.hasAttributeType(at.getOID())) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_MRU_UNDEFINED_ATTR; |
| | | String message = getMessage(msgID, matchingRuleUse.getName(), |
| | | at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_MRU_UNDEFINED_ATTR.get( |
| | | matchingRuleUse.getName(), at.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | else if (at.isObsolete()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_MRU_OBSOLETE_ATTR; |
| | | String message = getMessage(msgID, matchingRuleUse.getName(), |
| | | matchingRule.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_MRU_OBSOLETE_ATTR.get( |
| | | matchingRuleUse.getName(), matchingRule.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION, message); |
| | | } |
| | | } |
| | | |
| | |
| | | schema.getMatchingRuleUse(matchingRuleUse.getMatchingRule()); |
| | | if ((removeMRU == null) || (! removeMRU.equals(matchingRuleUse))) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_REMOVE_NO_SUCH_MR_USE; |
| | | String message = getMessage(msgID, matchingRuleUse.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_REMOVE_NO_SUCH_MR_USE.get( |
| | | matchingRuleUse.getName()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | { |
| | | if (depth > 20) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_CIRCULAR_REFERENCE_AT; |
| | | String message = getMessage(msgID, attributeType.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_CIRCULAR_REFERENCE_AT.get( |
| | | attributeType.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | if (addedTypes.contains(attributeType)) |
| | |
| | | { |
| | | if (depth > 20) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_CIRCULAR_REFERENCE_OC; |
| | | String message = getMessage(msgID, objectClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_CIRCULAR_REFERENCE_OC.get( |
| | | objectClass.getNameOrOID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | if (addedClasses.contains(objectClass)) |
| | |
| | | { |
| | | if (depth > 20) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_CIRCULAR_REFERENCE_DSR; |
| | | String message = getMessage(msgID, ditStructureRule.getNameOrRuleID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_MODIFY_CIRCULAR_REFERENCE_DSR.get( |
| | | ditStructureRule.getNameOrRuleID()); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | if (addedDSRs.contains(ditStructureRule)) |
| | |
| | | |
| | | if (allCleaned) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_WRITE_ORIG_FILES_CLEANED; |
| | | String message = getMessage(msgID, getExceptionMessage(e)); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_WRITE_ORIG_FILES_CLEANED.get( |
| | | getExceptionMessage(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_WRITE_ORIG_FILES_NOT_CLEANED; |
| | | String message = getMessage(msgID, getExceptionMessage(e)); |
| | | |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_WRITE_ORIG_FILES_NOT_CLEANED |
| | | .get(getExceptionMessage(e)); |
| | | |
| | | DirectoryServer.sendAlertNotification(this, |
| | | ALERT_TYPE_CANNOT_COPY_SCHEMA_FILES, msgID, |
| | | ALERT_TYPE_CANNOT_COPY_SCHEMA_FILES, |
| | | message); |
| | | |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | if (allRestored) |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_WRITE_NEW_FILES_RESTORED; |
| | | String message = getMessage(msgID, getExceptionMessage(e)); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_WRITE_NEW_FILES_RESTORED.get( |
| | | getExceptionMessage(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | else |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_CANNOT_WRITE_NEW_FILES_NOT_RESTORED; |
| | | String message = getMessage(msgID, getExceptionMessage(e)); |
| | | Message message = ERR_SCHEMA_MODIFY_CANNOT_WRITE_NEW_FILES_NOT_RESTORED |
| | | .get(getExceptionMessage(e)); |
| | | |
| | | DirectoryServer.sendAlertNotification(this, |
| | | ALERT_TYPE_CANNOT_WRITE_NEW_SCHEMA_FILES, msgID, |
| | | ALERT_TYPE_CANNOT_WRITE_NEW_SCHEMA_FILES, |
| | | message); |
| | | |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | } |
| | | |
| | |
| | | ModifyDNOperation modifyDNOperation) |
| | | throws DirectoryException |
| | | { |
| | | int msgID = MSGID_SCHEMA_MODIFY_DN_NOT_SUPPORTED; |
| | | String message = getMessage(msgID, String.valueOf(currentDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = |
| | | ERR_SCHEMA_MODIFY_DN_NOT_SUPPORTED.get(String.valueOf(currentDN)); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | if (! found) |
| | | { |
| | | int msgID = MSGID_SCHEMA_INVALID_BASE; |
| | | String message = getMessage(msgID, searchOperation.getConnectionID(), |
| | | searchOperation.getOperationID(), |
| | | String.valueOf(baseDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message, msgID, |
| | | matchedDN, null); |
| | | Message message = ERR_SCHEMA_INVALID_BASE.get(String.valueOf(baseDN)); |
| | | throw new DirectoryException(ResultCode.NO_SUCH_OBJECT, message, |
| | | matchedDN, null); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_UNABLE_TO_CREATE_LDIF_WRITER; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | | Message message = ERR_SCHEMA_UNABLE_TO_CREATE_LDIF_WRITER.get( |
| | | stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_UNABLE_TO_EXPORT_BASE; |
| | | String message = getMessage(msgID, stackTraceToSingleLineString(e)); |
| | | Message message = |
| | | ERR_SCHEMA_UNABLE_TO_EXPORT_BASE.get(stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | finally |
| | | { |
| | |
| | | throws DirectoryException |
| | | { |
| | | // This backend does not support LDIF imports. |
| | | int msgID = MSGID_SCHEMA_IMPORT_NOT_SUPPORTED; |
| | | String message = getMessage(msgID); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_IMPORT_NOT_SUPPORTED.get(); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_BACKUP_CANNOT_GET_MAC; |
| | | String message = getMessage(msgID, macAlgorithm, |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_SCHEMA_BACKUP_CANNOT_GET_MAC.get( |
| | | macAlgorithm, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message, |
| | | msgID, e); |
| | | e); |
| | | } |
| | | } |
| | | else |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_BACKUP_CANNOT_GET_DIGEST; |
| | | String message = getMessage(msgID, digestAlgorithm, |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_SCHEMA_BACKUP_CANNOT_GET_DIGEST.get( |
| | | digestAlgorithm, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message, |
| | | msgID, e); |
| | | e); |
| | | } |
| | | } |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_BACKUP_CANNOT_CREATE_ARCHIVE_FILE; |
| | | String message = getMessage(msgID, String.valueOf(filename), |
| | | backupDirectory.getPath(), |
| | | getExceptionMessage(e)); |
| | | Message message = ERR_SCHEMA_BACKUP_CANNOT_CREATE_ARCHIVE_FILE. |
| | | get(String.valueOf(filename), backupDirectory.getPath(), |
| | | getExceptionMessage(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_BACKUP_CANNOT_GET_CIPHER; |
| | | String message = getMessage(msgID, cipherAlgorithm, |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_SCHEMA_BACKUP_CANNOT_GET_CIPHER.get( |
| | | cipherAlgorithm, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | |
| | | outputStream = new CipherOutputStream(outputStream, cipher); |
| | |
| | | // Wrap the file output stream in a zip output stream. |
| | | ZipOutputStream zipStream = new ZipOutputStream(outputStream); |
| | | |
| | | int msgID = MSGID_SCHEMA_BACKUP_ZIP_COMMENT; |
| | | String message = getMessage(msgID, DynamicConstants.PRODUCT_NAME, |
| | | backupID); |
| | | zipStream.setComment(message); |
| | | Message message = ERR_SCHEMA_BACKUP_ZIP_COMMENT.get( |
| | | DynamicConstants.PRODUCT_NAME, |
| | | backupID); |
| | | zipStream.setComment(String.valueOf(message)); |
| | | |
| | | if (compress) |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_SCHEMA_BACKUP_CANNOT_LIST_SCHEMA_FILES; |
| | | message = getMessage(msgID, schemaDirPath, getExceptionMessage(e)); |
| | | message = ERR_SCHEMA_BACKUP_CANNOT_LIST_SCHEMA_FILES.get( |
| | | schemaDirPath, getExceptionMessage(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | |
| | | |
| | |
| | | zipStream.close(); |
| | | } catch (Exception e2) {} |
| | | |
| | | msgID = MSGID_SCHEMA_BACKUP_CANNOT_BACKUP_SCHEMA_FILE; |
| | | message = getMessage(msgID, baseName, stackTraceToSingleLineString(e)); |
| | | message = ERR_SCHEMA_BACKUP_CANNOT_BACKUP_SCHEMA_FILE.get( |
| | | baseName, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | } |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_SCHEMA_BACKUP_CANNOT_CLOSE_ZIP_STREAM; |
| | | message = getMessage(msgID, filename, backupDirectory.getPath(), |
| | | stackTraceToSingleLineString(e)); |
| | | message = ERR_SCHEMA_BACKUP_CANNOT_CLOSE_ZIP_STREAM.get( |
| | | filename, backupDirectory.getPath(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | msgID = MSGID_SCHEMA_BACKUP_CANNOT_UPDATE_BACKUP_DESCRIPTOR; |
| | | message = getMessage(msgID, backupDirectory.getDescriptorPath(), |
| | | stackTraceToSingleLineString(e)); |
| | | message = ERR_SCHEMA_BACKUP_CANNOT_UPDATE_BACKUP_DESCRIPTOR.get( |
| | | backupDirectory.getDescriptorPath(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | } |
| | | |
| | |
| | | throws DirectoryException |
| | | { |
| | | // This backend does not provide a backup/restore mechanism. |
| | | int msgID = MSGID_SCHEMA_BACKUP_AND_RESTORE_NOT_SUPPORTED; |
| | | String message = getMessage(msgID); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_BACKUP_AND_RESTORE_NOT_SUPPORTED.get(); |
| | | throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM, message); |
| | | } |
| | | |
| | | |
| | |
| | | BackupInfo backupInfo = backupDirectory.getBackupInfo(backupID); |
| | | if (backupInfo == null) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_NO_SUCH_BACKUP; |
| | | String message = getMessage(msgID, backupID, backupPath); |
| | | Message message = |
| | | ERR_SCHEMA_RESTORE_NO_SUCH_BACKUP.get(backupID, backupPath); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | |
| | | |
| | |
| | | backupInfo.getBackupProperty(BACKUP_PROPERTY_ARCHIVE_FILENAME); |
| | | if (backupFilename == null) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_NO_BACKUP_FILE; |
| | | String message = getMessage(msgID, backupID, backupPath); |
| | | Message message = |
| | | ERR_SCHEMA_RESTORE_NO_BACKUP_FILE.get(backupID, backupPath); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | |
| | | File backupFile = new File(backupPath + File.separator + backupFilename); |
| | |
| | | { |
| | | if (! backupFile.exists()) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_NO_SUCH_FILE; |
| | | String message = getMessage(msgID, backupID, backupFile.getPath()); |
| | | Message message = |
| | | ERR_SCHEMA_RESTORE_NO_SUCH_FILE.get(backupID, backupFile.getPath()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | } |
| | | catch (DirectoryException de) |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_CANNOT_CHECK_FOR_ARCHIVE; |
| | | String message = getMessage(msgID, backupID, backupFile.getPath(), |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_SCHEMA_RESTORE_CANNOT_CHECK_FOR_ARCHIVE.get( |
| | | backupID, backupFile.getPath(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | |
| | | |
| | |
| | | backupInfo.getBackupProperty(BACKUP_PROPERTY_DIGEST_ALGORITHM); |
| | | if (digestAlgorithm == null) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_UNKNOWN_DIGEST; |
| | | String message = getMessage(msgID, backupID); |
| | | Message message = ERR_SCHEMA_RESTORE_UNKNOWN_DIGEST.get(backupID); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | |
| | | try |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_CANNOT_GET_DIGEST; |
| | | String message = getMessage(msgID, backupID, digestAlgorithm); |
| | | Message message = |
| | | ERR_SCHEMA_RESTORE_CANNOT_GET_DIGEST.get(backupID, digestAlgorithm); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | } |
| | | |
| | |
| | | backupInfo.getBackupProperty(BACKUP_PROPERTY_MAC_ALGORITHM); |
| | | if (macAlgorithm == null) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_UNKNOWN_MAC; |
| | | String message = getMessage(msgID, backupID); |
| | | Message message = ERR_SCHEMA_RESTORE_UNKNOWN_MAC.get(backupID); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | |
| | | try |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_CANNOT_GET_MAC; |
| | | String message = getMessage(msgID, backupID, macAlgorithm, |
| | | backupFile.getPath()); |
| | | Message message = ERR_SCHEMA_RESTORE_CANNOT_GET_MAC.get( |
| | | backupID, macAlgorithm); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_CANNOT_OPEN_BACKUP_FILE; |
| | | String message = getMessage(msgID, backupID, backupFile.getPath(), |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_SCHEMA_RESTORE_CANNOT_OPEN_BACKUP_FILE.get( |
| | | backupID, backupFile.getPath(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | |
| | | // If the backup is encrypted, then we need to wrap the file input stream |
| | |
| | | backupInfo.getBackupProperty(BACKUP_PROPERTY_CIPHER_ALGORITHM); |
| | | if (cipherAlgorithm == null) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_UNKNOWN_CIPHER; |
| | | String message = getMessage(msgID, backupID); |
| | | Message message = ERR_SCHEMA_RESTORE_UNKNOWN_CIPHER.get(backupID); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | |
| | | Cipher cipher; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_CANNOT_GET_CIPHER; |
| | | String message = getMessage(msgID, cipherAlgorithm, |
| | | backupFile.getPath(), |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_SCHEMA_RESTORE_CANNOT_GET_CIPHER. |
| | | get(cipherAlgorithm, backupFile.getPath()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | |
| | | inputStream = new CipherInputStream(inputStream, cipher); |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_CANNOT_RENAME_CURRENT_DIRECTORY; |
| | | String message = getMessage(msgID, backupID, schemaDirPath, |
| | | String.valueOf(backupDirPath), |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_SCHEMA_RESTORE_CANNOT_RENAME_CURRENT_DIRECTORY. |
| | | get(backupID, schemaDirPath, String.valueOf(backupDirPath), |
| | | stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | |
| | | |
| | |
| | | try |
| | | { |
| | | schemaBackupDir.renameTo(schemaDir); |
| | | int msgID = MSGID_SCHEMA_RESTORE_RESTORED_OLD_SCHEMA; |
| | | String message = getMessage(msgID, schemaDirPath); |
| | | logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.NOTICE, message, |
| | | msgID); |
| | | Message message = |
| | | NOTE_SCHEMA_RESTORE_RESTORED_OLD_SCHEMA.get(schemaDirPath); |
| | | logError(message); |
| | | } |
| | | catch (Exception e2) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_CANNOT_RESTORE_OLD_SCHEMA; |
| | | String message = getMessage(msgID, schemaBackupDir.getPath()); |
| | | logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.SEVERE_ERROR, |
| | | message, msgID); |
| | | Message message = ERR_SCHEMA_RESTORE_CANNOT_RESTORE_OLD_SCHEMA.get( |
| | | schemaBackupDir.getPath()); |
| | | logError(message); |
| | | } |
| | | } |
| | | |
| | | |
| | | int msgID = MSGID_SCHEMA_RESTORE_CANNOT_CREATE_SCHEMA_DIRECTORY; |
| | | String message = getMessage(msgID, backupID, schemaDirPath, |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_SCHEMA_RESTORE_CANNOT_CREATE_SCHEMA_DIRECTORY.get( |
| | | backupID, schemaDirPath, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | } |
| | | |
| | |
| | | // Tell the user where the previous schema was archived. |
| | | if (schemaBackupDir != null) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_OLD_SCHEMA_SAVED; |
| | | String message = getMessage(msgID, schemaBackupDir.getPath()); |
| | | logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.NOTICE, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_RESTORE_OLD_SCHEMA_SAVED.get( |
| | | schemaBackupDir.getPath()); |
| | | logError(message); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_RESTORE_CANNOT_GET_ZIP_ENTRY; |
| | | String message = getMessage(msgID, backupID, backupFile.getPath(), |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_SCHEMA_RESTORE_CANNOT_GET_ZIP_ENTRY.get( |
| | | backupID, backupFile.getPath(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | |
| | | if (zipEntry == null) |
| | |
| | | // Tell the user where the previous schema was archived. |
| | | if (schemaBackupDir != null) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_OLD_SCHEMA_SAVED; |
| | | String message = getMessage(msgID, schemaBackupDir.getPath()); |
| | | logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.NOTICE, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_RESTORE_OLD_SCHEMA_SAVED.get( |
| | | schemaBackupDir.getPath()); |
| | | logError(message); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_RESTORE_CANNOT_CREATE_FILE; |
| | | String message = getMessage(msgID, backupID, filePath, |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_SCHEMA_RESTORE_CANNOT_CREATE_FILE.get( |
| | | backupID, filePath, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException( |
| | | DirectoryServer.getServerErrorResultCode(), message, |
| | | msgID, e); |
| | | e); |
| | | } |
| | | } |
| | | |
| | |
| | | // Tell the user where the previous schema was archived. |
| | | if (schemaBackupDir != null) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_OLD_SCHEMA_SAVED; |
| | | String message = getMessage(msgID, schemaBackupDir.getPath()); |
| | | logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.NOTICE, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_RESTORE_OLD_SCHEMA_SAVED.get( |
| | | schemaBackupDir.getPath()); |
| | | logError(message); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_RESTORE_CANNOT_PROCESS_ARCHIVE_FILE; |
| | | String message = getMessage(msgID, backupID, fileName, |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_SCHEMA_RESTORE_CANNOT_PROCESS_ARCHIVE_FILE.get( |
| | | backupID, fileName, stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_ERROR_ON_ZIP_STREAM_CLOSE; |
| | | String message = getMessage(msgID, backupID, backupFile.getPath(), |
| | | stackTraceToSingleLineString(e)); |
| | | Message message = ERR_SCHEMA_RESTORE_ERROR_ON_ZIP_STREAM_CLOSE.get( |
| | | backupID, backupFile.getPath(), stackTraceToSingleLineString(e)); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID, e); |
| | | message, e); |
| | | } |
| | | |
| | | |
| | |
| | | byte[] calculatedHash = digest.digest(); |
| | | if (Arrays.equals(calculatedHash, unsignedHash)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_UNSIGNED_HASH_VALID; |
| | | String message = getMessage(msgID); |
| | | logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.NOTICE, message, |
| | | msgID); |
| | | Message message = NOTE_SCHEMA_RESTORE_UNSIGNED_HASH_VALID.get(); |
| | | logError(message); |
| | | } |
| | | else |
| | | { |
| | | // Tell the user where the previous schema was archived. |
| | | if (schemaBackupDir != null) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_OLD_SCHEMA_SAVED; |
| | | String message = getMessage(msgID, schemaBackupDir.getPath()); |
| | | logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.NOTICE, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_RESTORE_OLD_SCHEMA_SAVED.get( |
| | | schemaBackupDir.getPath()); |
| | | logError(message); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_RESTORE_UNSIGNED_HASH_INVALID; |
| | | String message = getMessage(msgID, backupID); |
| | | Message message = |
| | | ERR_SCHEMA_RESTORE_UNSIGNED_HASH_INVALID.get(backupID); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | } |
| | | |
| | |
| | | byte[] calculatedSignature = mac.doFinal(); |
| | | if (Arrays.equals(calculatedSignature, signedHash)) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_SIGNED_HASH_VALID; |
| | | String message = getMessage(msgID); |
| | | logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.NOTICE, message, |
| | | msgID); |
| | | Message message = NOTE_SCHEMA_RESTORE_SIGNED_HASH_VALID.get(); |
| | | logError(message); |
| | | } |
| | | else |
| | | { |
| | | // Tell the user where the previous schema was archived. |
| | | if (schemaBackupDir != null) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_OLD_SCHEMA_SAVED; |
| | | String message = getMessage(msgID, schemaBackupDir.getPath()); |
| | | logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.NOTICE, message, |
| | | msgID); |
| | | Message message = ERR_SCHEMA_RESTORE_OLD_SCHEMA_SAVED.get( |
| | | schemaBackupDir.getPath()); |
| | | logError(message); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_RESTORE_SIGNED_HASH_INVALID; |
| | | String message = getMessage(msgID); |
| | | Message message = ERR_SCHEMA_RESTORE_SIGNED_HASH_INVALID.get( |
| | | schemaBackupDir.getPath()); |
| | | throw new DirectoryException(DirectoryServer.getServerErrorResultCode(), |
| | | message, msgID); |
| | | message); |
| | | } |
| | | } |
| | | |
| | |
| | | // If we are just verifying the archive, then we're done. |
| | | if (verifyOnly) |
| | | { |
| | | int msgID = MSGID_SCHEMA_RESTORE_VERIFY_SUCCESSFUL; |
| | | String message = getMessage(msgID, backupID, backupPath); |
| | | logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.NOTICE, message, |
| | | msgID); |
| | | Message message = |
| | | NOTE_SCHEMA_RESTORE_VERIFY_SUCCESSFUL.get(backupID, backupPath); |
| | | logError(message); |
| | | return; |
| | | } |
| | | |
| | |
| | | recursiveDelete(schemaBackupDir); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_RESTORE_SUCCESSFUL; |
| | | String message = getMessage(msgID, backupID, backupPath); |
| | | logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.NOTICE, message, |
| | | msgID); |
| | | Message message = NOTE_SCHEMA_RESTORE_SUCCESSFUL.get(backupID, backupPath); |
| | | logError(message); |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | public boolean isConfigurationChangeAcceptable( |
| | | SchemaBackendCfg configEntry, |
| | | List<String> unacceptableReasons) |
| | | List<Message> unacceptableReasons) |
| | | { |
| | | return true; |
| | | } |
| | |
| | | { |
| | | ResultCode resultCode = ResultCode.SUCCESS; |
| | | boolean adminActionRequired = false; |
| | | ArrayList<String> messages = new ArrayList<String>(); |
| | | ArrayList<Message> messages = new ArrayList<Message>(); |
| | | |
| | | |
| | | // Check to see if we should apply a new set of base DNs. |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_CANNOT_DETERMINE_BASE_DN; |
| | | messages.add(getMessage(msgID, String.valueOf(configEntryDN), |
| | | getExceptionMessage(e))); |
| | | |
| | | messages.add(ERR_SCHEMA_CANNOT_DETERMINE_BASE_DN.get( |
| | | String.valueOf(configEntryDN), |
| | | getExceptionMessage(e))); |
| | | resultCode = DirectoryServer.getServerErrorResultCode(); |
| | | newBaseDNs = null; |
| | | } |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_CONFIG_BACKEND_ERROR_INTERACTING_WITH_BACKEND_ENTRY; |
| | | messages.add(getMessage(msgID, String.valueOf(configEntryDN), |
| | | stackTraceToSingleLineString(e))); |
| | | messages.add(ERR_CONFIG_BACKEND_ERROR_INTERACTING_WITH_BACKEND_ENTRY.get( |
| | | String.valueOf(configEntryDN), |
| | | stackTraceToSingleLineString(e))); |
| | | resultCode = DirectoryServer.getServerErrorResultCode(); |
| | | } |
| | | |
| | |
| | | try |
| | | { |
| | | DirectoryServer.deregisterBaseDN(dn, false); |
| | | int msgID = MSGID_SCHEMA_DEREGISTERED_BASE_DN; |
| | | messages.add(getMessage(msgID, String.valueOf(dn))); |
| | | messages.add(INFO_SCHEMA_DEREGISTERED_BASE_DN.get( |
| | | String.valueOf(dn))); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_CANNOT_DEREGISTER_BASE_DN; |
| | | messages.add(getMessage(msgID, String.valueOf(dn), |
| | | getExceptionMessage(e))); |
| | | messages.add(ERR_SCHEMA_CANNOT_DEREGISTER_BASE_DN.get( |
| | | String.valueOf(dn), |
| | | getExceptionMessage(e))); |
| | | resultCode = DirectoryServer.getServerErrorResultCode(); |
| | | } |
| | | } |
| | |
| | | try |
| | | { |
| | | DirectoryServer.registerBaseDN(dn, this, true, false); |
| | | int msgID = MSGID_SCHEMA_REGISTERED_BASE_DN; |
| | | messages.add(getMessage(msgID, String.valueOf(dn))); |
| | | messages.add(INFO_SCHEMA_REGISTERED_BASE_DN.get(String.valueOf(dn))); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | int msgID = MSGID_SCHEMA_CANNOT_REGISTER_BASE_DN; |
| | | messages.add(getMessage(msgID, String.valueOf(dn), |
| | | getExceptionMessage(e))); |
| | | messages.add(ERR_SCHEMA_CANNOT_REGISTER_BASE_DN.get( |
| | | String.valueOf(dn), |
| | | getExceptionMessage(e))); |
| | | resultCode = DirectoryServer.getServerErrorResultCode(); |
| | | } |
| | | } |
| | |
| | | |
| | | |
| | | userDefinedAttributes = newUserAttrs; |
| | | int msgID = MSGID_SCHEMA_USING_NEW_USER_ATTRS; |
| | | String message = getMessage(msgID); |
| | | Message message = INFO_SCHEMA_USING_NEW_USER_ATTRS.get(); |
| | | messages.add(message); |
| | | } |
| | | |