| | |
| | | * |
| | | * |
| | | * Copyright 2006-2010 Sun Microsystems, Inc. |
| | | * Portions copyright 2011-2013 ForgeRock AS |
| | | * Portions Copyright 2011-2014 ForgeRock AS |
| | | */ |
| | | package org.opends.server.backends.jeb; |
| | | import org.opends.messages.Message; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import com.sleepycat.je.config.EnvironmentParams; |
| | | import com.sleepycat.je.config.ConfigParam; |
| | | import com.sleepycat.je.*; |
| | |
| | | { |
| | | if(!backendDirectory.mkdirs()) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_JEB_CREATE_FAIL.get(backendDirectory.getPath()); |
| | | throw new ConfigException(message); |
| | | } |
| | |
| | | //Make sure the directory is valid. |
| | | else if (!backendDirectory.isDirectory()) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_JEB_DIRECTORY_INVALID.get(backendDirectory.getPath()); |
| | | throw new ConfigException(message); |
| | | } |
| | |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_CONFIG_BACKEND_MODE_INVALID.get(config.dn().toString()); |
| | | throw new ConfigException(message); |
| | | } |
| | |
| | | !backendPermission.isOwnerReadable() || |
| | | !backendPermission.isOwnerExecutable()) |
| | | { |
| | | Message message = ERR_CONFIG_BACKEND_INSANE_MODE.get( |
| | | LocalizableMessage message = ERR_CONFIG_BACKEND_INSANE_MODE.get( |
| | | config.getDBDirectoryPermissions()); |
| | | throw new ConfigException(message); |
| | | } |
| | |
| | | { |
| | | if(!FilePermission.setPermissions(backendDirectory, backendPermission)) |
| | | { |
| | | Message message = WARN_JEB_UNABLE_SET_PERMISSIONS.get( |
| | | LocalizableMessage message = WARN_JEB_UNABLE_SET_PERMISSIONS.get( |
| | | backendPermission.toString(), backendDirectory.toString()); |
| | | logError(message); |
| | | } |
| | |
| | | catch(Exception e) |
| | | { |
| | | // Log an warning that the permissions were not set. |
| | | Message message = WARN_JEB_SET_PERMISSIONS_FAILED.get( |
| | | LocalizableMessage message = WARN_JEB_SET_PERMISSIONS_FAILED.get( |
| | | backendDirectory.toString(), e.toString()); |
| | | logError(message); |
| | | } |
| | |
| | | // another to be opened. |
| | | if (ec1 != null) |
| | | { |
| | | Message m = ERR_JEB_ENTRY_CONTAINER_ALREADY_REGISTERED.get( |
| | | LocalizableMessage m = ERR_JEB_ENTRY_CONTAINER_ALREADY_REGISTERED.get( |
| | | ec1.getDatabasePrefix(), baseDN.toString()); |
| | | throw new InitializationException(m); |
| | | } |
| | |
| | | PreloadConfig preloadConfig = new PreloadConfig(); |
| | | preloadConfig.setLoadLNs(true); |
| | | |
| | | Message message = |
| | | LocalizableMessage message = |
| | | NOTE_JEB_CACHE_PRELOAD_STARTED.get(backend.getBackendID()); |
| | | logError(message); |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_JEB_CACHE_PRELOAD.get(backend.getBackendID(), |
| | | (e.getCause() != null ? e.getCause().getMessage() : |
| | | stackTraceToSingleLineString(e))); |
| | |
| | | */ |
| | | public boolean isConfigurationChangeAcceptable( |
| | | LocalDBBackendCfg cfg, |
| | | List<Message> unacceptableReasons) |
| | | List<LocalizableMessage> unacceptableReasons) |
| | | { |
| | | boolean acceptable = true; |
| | | |
| | |
| | | { |
| | | if(!backendDirectory.mkdirs()) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_JEB_CREATE_FAIL.get(backendDirectory.getPath()); |
| | | unacceptableReasons.add(message); |
| | | acceptable = false; |
| | |
| | | //Make sure the directory is valid. |
| | | else if (!backendDirectory.isDirectory()) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_JEB_DIRECTORY_INVALID.get(backendDirectory.getPath()); |
| | | unacceptableReasons.add(message); |
| | | acceptable = false; |
| | |
| | | !newBackendPermission.isOwnerReadable() || |
| | | !newBackendPermission.isOwnerExecutable()) |
| | | { |
| | | Message message = ERR_CONFIG_BACKEND_INSANE_MODE.get( |
| | | LocalizableMessage message = ERR_CONFIG_BACKEND_INSANE_MODE.get( |
| | | cfg.getDBDirectoryPermissions()); |
| | | unacceptableReasons.add(message); |
| | | acceptable = false; |
| | |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_CONFIG_BACKEND_MODE_INVALID.get(cfg.dn().toString()); |
| | | unacceptableReasons.add(message); |
| | | acceptable = false; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | unacceptableReasons.add(Message.raw(e.getLocalizedMessage())); |
| | | unacceptableReasons.add(LocalizableMessage.raw(e.getLocalizedMessage())); |
| | | acceptable = false; |
| | | } |
| | | |
| | |
| | | { |
| | | ConfigChangeResult ccr; |
| | | boolean adminActionRequired = false; |
| | | ArrayList<Message> messages = new ArrayList<Message>(); |
| | | ArrayList<LocalizableMessage> messages = new ArrayList<LocalizableMessage>(); |
| | | |
| | | try |
| | | { |
| | |
| | | if(!FilePermission.setPermissions(backendDirectory, |
| | | backendPermission)) |
| | | { |
| | | Message message = WARN_JEB_UNABLE_SET_PERMISSIONS.get( |
| | | LocalizableMessage message = WARN_JEB_UNABLE_SET_PERMISSIONS.get( |
| | | backendPermission.toString(), backendDirectory.toString()); |
| | | logError(message); |
| | | } |
| | |
| | | catch(Exception e) |
| | | { |
| | | // Log an warning that the permissions were not set. |
| | | Message message = WARN_JEB_SET_PERMISSIONS_FAILED.get( |
| | | LocalizableMessage message = WARN_JEB_SET_PERMISSIONS_FAILED.get( |
| | | backendDirectory.toString(), e.toString()); |
| | | logError(message); |
| | | } |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | messages.add(Message.raw(stackTraceToSingleLineString(e))); |
| | | messages.add(LocalizableMessage.raw(stackTraceToSingleLineString(e))); |
| | | ccr = new ConfigChangeResult(DirectoryServer.getServerErrorResultCode(), |
| | | adminActionRequired, |
| | | messages); |