opends/src/guitools/org/opends/guitools/statuspanel/ConfigFromFile.java
@@ -128,13 +128,13 @@ { LOG.log(Level.SEVERE, "Error reading config file: "+ioe, ioe); errorMessage = Utils.getThrowableMsg( INFO_ERROR_READING_CONFIG_FILE.get(), ioe); ERR_READING_CONFIG_FILE.get(), ioe); } catch (LDIFException le) { LOG.log(Level.SEVERE, "Error reading config file: "+le, le); errorMessage = Utils.getThrowableMsg( INFO_ERROR_READING_CONFIG_FILE.get(), le); ERR_READING_CONFIG_FILE.get(), le); } catch (Throwable t) { @@ -142,7 +142,7 @@ // Bug t.printStackTrace(); errorMessage = Utils.getThrowableMsg( INFO_ERROR_READING_CONFIG_FILE.get(), t); ERR_READING_CONFIG_FILE.get(), t); } finally { opends/src/guitools/org/opends/guitools/statuspanel/ConfigFromLDAP.java
@@ -218,14 +218,14 @@ } else { errorMessage = INFO_ERROR_READING_CONFIG_LDAP.get(detail); errorMessage = ERR_READING_CONFIG_LDAP.get(detail); } } catch (Throwable t) { // Bug t.printStackTrace(); errorMessage = INFO_ERROR_READING_CONFIG_LDAP.get(t.toString()); errorMessage = ERR_READING_CONFIG_LDAP.get(t.toString()); } } @@ -337,7 +337,7 @@ } else { throw new ConfigException(INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); throw new ConfigException(ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; case USE_LDAPS: @@ -348,7 +348,7 @@ } else { throw new ConfigException(INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); throw new ConfigException(ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; case USE_LDAP: @@ -359,7 +359,7 @@ } else { throw new ConfigException(INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); throw new ConfigException(ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; case USE_MOST_SECURE_AVAILABLE: @@ -381,7 +381,7 @@ } else { throw new ConfigException(INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); throw new ConfigException(ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; case USE_LESS_SECURE_AVAILABLE: @@ -397,7 +397,7 @@ } else { throw new ConfigException(INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); throw new ConfigException(ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; default: @@ -1020,7 +1020,7 @@ } else { throw new ConfigException(INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); throw new ConfigException(ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; case USE_LDAPS: @@ -1030,7 +1030,7 @@ } else { throw new ConfigException(INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); throw new ConfigException(ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; case USE_LDAP: @@ -1040,7 +1040,7 @@ } else { throw new ConfigException(INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); throw new ConfigException(ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; case USE_MOST_SECURE_AVAILABLE: @@ -1058,7 +1058,7 @@ } else { throw new ConfigException(INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); throw new ConfigException(ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; case USE_LESS_SECURE_AVAILABLE: @@ -1072,7 +1072,7 @@ } else { throw new ConfigException(INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); throw new ConfigException(ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; default: opends/src/guitools/org/opends/guitools/statuspanel/StatusCli.java
@@ -28,6 +28,7 @@ package org.opends.guitools.statuspanel; import java.io.File; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.Set; @@ -52,6 +53,7 @@ import static org.opends.messages.AdminToolMessages.*; import static org.opends.messages.QuickSetupMessages.*; import org.opends.server.util.args.Argument; import org.opends.server.util.args.ArgumentException; /** @@ -106,10 +108,12 @@ { try { initializeGlobalOption(System.err); removeGlobalArgument(portArg); removeGlobalArgument(hostNameArg); removeGlobalArgument(verboseArg); ArrayList<Argument> defaultArgs = new ArrayList<Argument>(createGlobalArguments(System.err)); defaultArgs.remove(portArg); defaultArgs.remove(hostNameArg); defaultArgs.remove(verboseArg); initializeGlobalArguments(defaultArgs); } catch (ArgumentException ae) { @@ -138,7 +142,7 @@ { return DsFrameworkCliReturnCode.SUCCESSFUL_NOP.getReturnCode(); } int v = validateGlobalOption(System.err); int v = validateGlobalOptions(System.err); if (v != DsFrameworkCliReturnCode.SUCCESSFUL_NOP.getReturnCode()) { opends/src/guitools/org/opends/guitools/statuspanel/StatusPanelController.java
@@ -619,7 +619,7 @@ if (!running) { updateProgress(getFormattedError(INFO_SUMMARY_START_ERROR.get()), getFormattedError(INFO_ERROR_STARTING_SERVER_GENERIC.get(), getFormattedError(ERR_STARTING_SERVER_GENERIC.get(), true)); } else @@ -997,19 +997,6 @@ /** * Returns the formatted representation of a progress message for a given * text. * @param text the source text from which we want to get the formatted * representation * @return the formatted representation of a progress message for the given * text. */ private Message getFormattedProgress(Message text) { return formatter.getFormattedProgress(text); } /** * Returns the formatted representation of a progress message for a given * text with a line feed at the end. * @param text the source text from which we want to get the formatted * representation opends/src/guitools/org/opends/guitools/statuspanel/StatusPanelLauncher.java
@@ -127,14 +127,14 @@ if (logFileName != null) { System.err.println(StaticUtils.wrapText( INFO_STATUS_PANEL_LAUNCHER_GUI_LAUNCH_FAILED_DETAILS.get( ERR_STATUS_PANEL_LAUNCHER_GUI_LAUNCH_FAILED_DETAILS.get( logFileName), Utils.getCommandLineMaxLineWidth())); } else { System.err.println(StaticUtils.wrapText( INFO_STATUS_PANEL_LAUNCHER_GUI_LAUNCH_FAILED.get(), ERR_STATUS_PANEL_LAUNCHER_GUI_LAUNCH_FAILED.get(), Utils.getCommandLineMaxLineWidth())); } System.exit(exitCode); opends/src/guitools/org/opends/guitools/statuspanel/ui/LoginDialog.java
@@ -381,7 +381,7 @@ else { throw new ConfigException( INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; case USE_LDAPS: @@ -395,7 +395,7 @@ else { throw new ConfigException( INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; case USE_LDAP: @@ -408,7 +408,7 @@ else { throw new ConfigException( INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; case USE_MOST_SECURE_AVAILABLE: @@ -435,7 +435,7 @@ else { throw new ConfigException( INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; case USE_LESS_SECURE_AVAILABLE: @@ -455,7 +455,7 @@ else { throw new ConfigException( INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } break; default: @@ -624,7 +624,7 @@ if (possibleCauses.size() > 0) { displayError( INFO_CANNOT_CONNECT_TO_LOGIN_WITH_CAUSE.get( ERR_CANNOT_CONNECT_TO_LOGIN_WITH_CAUSE.get( Utils.getMessageFromCollection(possibleCauses, "\n")), INFO_ERROR_TITLE.get()); } @@ -632,7 +632,7 @@ { // Generic message displayError( INFO_CANNOT_CONNECT_WITH_ADS_CREDENTIALS_WITHOUT_CAUSE.get(), ERR_CANNOT_CONNECT_WITH_ADS_CREDENTIALS_WITHOUT_CAUSE.get(), INFO_ERROR_TITLE.get()); } } opends/src/guitools/org/opends/guitools/uninstaller/UninstallCliHelper.java
@@ -122,7 +122,7 @@ /* Step 2: check that the provided parameters are compatible. */ MessageBuilder buf = new MessageBuilder(); int v = args.validateGlobalOption(buf); int v = args.validateGlobalOptions(buf); if (v != DsFrameworkCliReturnCode.SUCCESSFUL_NOP.getReturnCode()) { throw new UserDataException(null, buf.toMessage()); @@ -179,7 +179,7 @@ if (!isInteractive) { throw new UserDataException(null, INFO_CLI_UNINSTALL_NOTHING_TO_BE_UNINSTALLED_NON_INTERACTIVE.get()); ERR_CLI_UNINSTALL_NOTHING_TO_BE_UNINSTALLED_NON_INTERACTIVE.get()); } else { @@ -366,7 +366,7 @@ { somethingSelected = false; printLineBreak(); printErrorMessage(INFO_CLI_UNINSTALL_NOTHING_TO_BE_UNINSTALLED.get()); printErrorMessage(ERR_CLI_UNINSTALL_NOTHING_TO_BE_UNINSTALLED.get()); } else { @@ -664,7 +664,7 @@ LOG.log(Level.WARNING, "Error retrieving a valid LDAP URL in conf file"); printErrorMessage(INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); printErrorMessage(ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } if (usedUrl != null) { @@ -889,7 +889,7 @@ { LOG.log(Level.WARNING, "Error retrieving a valid LDAP URL in conf file"); printErrorMessage(INFO_COULD_NOT_FIND_VALID_LDAPURL.get()); printErrorMessage(ERR_COULD_NOT_FIND_VALID_LDAPURL.get()); } ADSContext adsContext = new ADSContext(ctx); TopologyCache cache = new TopologyCache(adsContext, @@ -1029,7 +1029,7 @@ if (!stopProcessing && (exceptionMsgs.size() > 0)) { returnValue = confirm( INFO_ERROR_READING_REGISTERED_SERVERS_CONFIRM_UPDATE_REMOTE.get( ERR_READING_REGISTERED_SERVERS_CONFIRM_UPDATE_REMOTE.get( Utils.getStringFromCollection(exceptionMsgs, Constants.LINE_SEPARATOR))); } opends/src/guitools/org/opends/guitools/uninstaller/UninstallLauncher.java
@@ -109,7 +109,7 @@ INFO_UNINSTALL_LAUNCHER_USAGE_DESCRIPTION.get(), false); try { argParser.initializeGlobalOption(System.err); argParser.initializeGlobalArguments(System.err); } catch (ArgumentException ae) { @@ -133,12 +133,12 @@ protected void guiLaunchFailed(String logFilePath) { if (logFilePath != null) { System.err.println(INFO_UNINSTALL_LAUNCHER_GUI_LAUNCHED_FAILED_DETAILS System.err.println(ERR_UNINSTALL_LAUNCHER_GUI_LAUNCHED_FAILED_DETAILS .get(logFilePath)); } else { System.err.println(INFO_UNINSTALL_LAUNCHER_GUI_LAUNCHED_FAILED.get()); System.err.println(ERR_UNINSTALL_LAUNCHER_GUI_LAUNCHED_FAILED.get()); } } opends/src/guitools/org/opends/guitools/uninstaller/Uninstaller.java
@@ -1509,7 +1509,7 @@ if (!stopProcessing && (exceptionMsgs.size() > 0)) { Message confirmationMsg = INFO_ERROR_READING_REGISTERED_SERVERS_CONFIRM_UPDATE_REMOTE.get( ERR_READING_REGISTERED_SERVERS_CONFIRM_UPDATE_REMOTE.get( getStringFromCollection(exceptionMsgs, "n")); stopProcessing = !qs.displayConfirmation(confirmationMsg, INFO_CONFIRMATION_TITLE.get()); opends/src/guitools/org/opends/guitools/uninstaller/UninstallerArgumentParser.java
@@ -32,14 +32,16 @@ import static org.opends.server.admin.client.cli.DsFrameworkCliReturnCode.*; import java.io.OutputStream; import java.util.ArrayList; import java.util.LinkedHashSet; import org.opends.messages.Message; import org.opends.messages.MessageBuilder; import org.opends.quicksetup.CliApplicationHelper; import org.opends.quicksetup.Constants; import org.opends.quicksetup.UserData; import org.opends.server.admin.client.cli.SecureConnectionCliParser; import org.opends.server.tools.ToolConstants; import org.opends.server.util.args.Argument; import org.opends.server.util.args.ArgumentException; import org.opends.server.util.args.BooleanArgument; import org.opends.server.util.args.StringArgument; @@ -96,92 +98,107 @@ * If there is a problem with any of the parameters used * to create this argument. */ public void initializeGlobalOption(OutputStream outStream) public void initializeGlobalArguments(OutputStream outStream) throws ArgumentException { LinkedHashSet<Argument> args = new LinkedHashSet<Argument>(); removeAll = new BooleanArgument( "remove-all", 'a', "remove-all", INFO_UNINSTALLDS_DESCRIPTION_REMOVE_ALL.get() ); addGlobalArgument(removeAll); args.add(removeAll); removeServerLibraries = new BooleanArgument( "server-libraries", 'l', "server-libraries", INFO_UNINSTALLDS_DESCRIPTION_REMOVE_SERVER_LIBRARIES.get() ); addGlobalArgument(removeServerLibraries); args.add(removeServerLibraries); removeDatabases = new BooleanArgument( "databases", 'd', "databases", INFO_UNINSTALLDS_DESCRIPTION_REMOVE_DATABASES.get() ); addGlobalArgument(removeDatabases); args.add(removeDatabases); removeLogFiles = new BooleanArgument( "log-files", 'L', "log-files", INFO_UNINSTALLDS_DESCRIPTION_REMOVE_LOG_FILES.get() ); addGlobalArgument(removeLogFiles); args.add(removeLogFiles); removeConfigurationFiles = new BooleanArgument( "configuration-files", 'c', "configuration-files", INFO_UNINSTALLDS_DESCRIPTION_REMOVE_CONFIGURATION_FILES.get() ); addGlobalArgument(removeConfigurationFiles); args.add(removeConfigurationFiles); removeBackupFiles = new BooleanArgument( "backup-files", 'b', "backup-files", INFO_UNINSTALLDS_DESCRIPTION_REMOVE_BACKUP_FILES.get() ); addGlobalArgument(removeBackupFiles); args.add(removeBackupFiles); removeLDIFFiles = new BooleanArgument( "ldif-files", 'e', "ldif-files", INFO_UNINSTALLDS_DESCRIPTION_REMOVE_LDIF_FILES.get() ); addGlobalArgument(removeLDIFFiles); args.add(removeLDIFFiles); interactive = new BooleanArgument( CliApplicationHelper.INTERACTIVE_OPTION_LONG, CliApplicationHelper.INTERACTIVE_OPTION_SHORT, CliApplicationHelper.INTERACTIVE_OPTION_LONG, INTERACTIVE_OPTION_LONG, INTERACTIVE_OPTION_SHORT, INTERACTIVE_OPTION_LONG, INFO_DESCRIPTION_INTERACTIVE.get()); addGlobalArgument(interactive); args.add(interactive); forceOnError = new BooleanArgument( "forceOnError", 'f', "forceOnError", INFO_UNINSTALLDS_DESCRIPTION_FORCE.get()); addGlobalArgument(forceOnError); args.add(forceOnError); silent = new BooleanArgument( CliApplicationHelper.SILENT_OPTION_LONG, CliApplicationHelper.SILENT_OPTION_SHORT, CliApplicationHelper.SILENT_OPTION_LONG, SecureConnectionCliParser.SILENT_OPTION_LONG, SecureConnectionCliParser.SILENT_OPTION_SHORT, SecureConnectionCliParser.SILENT_OPTION_LONG, INFO_UNINSTALLDS_DESCRIPTION_SILENT.get()); addGlobalArgument(silent); args.add(silent); adminUidArg = new StringArgument("adminUID", 'I', "adminUID", false, false, true, "adminUID", Constants.GLOBAL_ADMIN_UID, null, INFO_DESCRIPTION_ADMINUID.get()); addGlobalArgument(adminUidArg); super.initializeGlobalOption(outStream); removeGlobalArgument(bindDnArg); removeGlobalArgument(hostNameArg); removeGlobalArgument(portArg); removeGlobalArgument(verboseArg); Constants.GLOBAL_ADMIN_UID, null, INFO_DESCRIPTION_ADMIN_UID.get()); ArrayList<Argument> defaultArgs = new ArrayList<Argument>(createGlobalArguments(System.err)); int index = defaultArgs.indexOf(bindDnArg); if (index != -1) { defaultArgs.add(index, adminUidArg); defaultArgs.remove(bindDnArg); } else { defaultArgs.add(adminUidArg); } defaultArgs.remove(hostNameArg); defaultArgs.remove(portArg); defaultArgs.remove(verboseArg); UserData uData = new UserData(); referencedHostNameArg = new StringArgument("referencedHostName", ToolConstants.OPTION_SHORT_HOST, "referencedHostName", false, false, true, ToolConstants.OPTION_VALUE_HOST, uData.getHostName(), null, INFO_DESCRIPTION_REFERENCED_HOST.get()); addGlobalArgument(referencedHostNameArg); defaultArgs.add(referencedHostNameArg); args.addAll(defaultArgs); initializeGlobalArguments(args); } /** @@ -350,7 +367,7 @@ * @param buf the MessageBuilder to write the error messages. * @return return code. */ public int validateGlobalOption(MessageBuilder buf) public int validateGlobalOptions(MessageBuilder buf) { int returnValue; if (interactive.isPresent() && forceOnError.isPresent()) opends/src/guitools/org/opends/guitools/uninstaller/ui/LoginDialog.java
@@ -410,7 +410,7 @@ else { throw new ApplicationException(ReturnCode.APPLICATION_ERROR, INFO_COULD_NOT_FIND_VALID_LDAPURL.get(), null); ERR_COULD_NOT_FIND_VALID_LDAPURL.get(), null); } } catch (NamingException ne) { @@ -532,7 +532,7 @@ { // Message with causes displayError( INFO_CANNOT_CONNECT_TO_LOGIN_WITH_CAUSE.get( ERR_CANNOT_CONNECT_TO_LOGIN_WITH_CAUSE.get( Utils.getMessageFromCollection(possibleCauses, "\n")), INFO_ERROR_TITLE.get()); } @@ -540,7 +540,7 @@ { // Generic message displayError( INFO_CANNOT_CONNECT_TO_LOGIN_WITHOUT_CAUSE.get(), ERR_CANNOT_CONNECT_TO_LOGIN_WITHOUT_CAUSE.get(), INFO_ERROR_TITLE.get()); } } opends/src/messages/messages/admin_tool.properties
@@ -58,12 +58,12 @@ INFO_BACKENDID_COLUMN=Backend ID INFO_BASEDN_COLUMN=Base DN INFO_CANCEL_BUTTON_UNINSTALL_TOOLTIP=Cancel Uninstall INFO_CANNOT_CONNECT_TO_LOGIN_WITH_CAUSE=Could not connect to the Directory \ MILD_ERR_CANNOT_CONNECT_TO_LOGIN_WITH_CAUSE=Could not connect to the Directory \ Server with the provided credentials. The possible causes for this are:%n%s INFO_CANNOT_CONNECT_TO_LOGIN_WITHOUT_CAUSE=Could not connect to the Directory \ MILD_ERR_CANNOT_CONNECT_TO_LOGIN_WITHOUT_CAUSE=Could not connect to the Directory \ Server with the provided credentials.%nCheck that the Administrative User DN \ and password are valid. INFO_CANNOT_CONNECT_WITH_ADS_CREDENTIALS_WITHOUT_CAUSE=Could not connect to \ MILD_ERR_CANNOT_CONNECT_WITH_ADS_CREDENTIALS_WITHOUT_CAUSE=Could not connect to \ the Directory Server with the provided credentials.%nCheck that the \ Administrative User ID and password are valid. INFO_CLI_UNINSTALL_CONFIRM_BACKUPS=Remove Backup Files Contained in bak \ @@ -88,11 +88,11 @@ INFO_CLI_UNINSTALL_CONFIRM_STOP=The OpenDS server is currently running and \ must be stopped before uninstallation can continue.%nStop the Server and \ permanently delete the files? INFO_CLI_UNINSTALL_NOTHING_TO_BE_UNINSTALLED_NON_INTERACTIVE=You must select \ the elements to uninstall. Use the options described in the usage to specify \ what must be uninstalled. INFO_CLI_UNINSTALL_NOTHING_TO_BE_UNINSTALLED=You must select something to be \ uninstalled. SEVERE_ERR_CLI_UNINSTALL_NOTHING_TO_BE_UNINSTALLED_NON_INTERACTIVE=You must \ select the elements to uninstall. Use the options described in the usage to \ specify what must be uninstalled. SEVERE_ERR_CLI_UNINSTALL_NOTHING_TO_BE_UNINSTALLED=You must select something \ to be uninstalled. INFO_CLI_UNINSTALL_SERVER_STOPPED=The Server is Stopped. INFO_CLI_UNINSTALL_CONFIRM_UPDATE_REMOTE=This server is configured \ to do replication. In order to remove references to this server in other \ @@ -159,15 +159,15 @@ continue. Do you want the uninstaller to stop the server for you and continue \ with the uninstall? If you click No, you will need to stop the server \ manually to continue. INFO_ERROR_READING_REGISTERED_SERVERS_CONFIRM_UPDATE_REMOTE=The following \ MILD_ERR_READING_REGISTERED_SERVERS_CONFIRM_UPDATE_REMOTE=The following \ errors were encountered reading the configuration of the existing \ servers:\n%s\nDo you want the uninstaller to try to remove the references to \ this server in a best-effort mode? INFO_CONFIRM_UNINSTALL_SERVER_RUNNING_TITLE=Server is Running INFO_CONNECTIONS_LABEL=Open Connections: INFO_COULD_NOT_FIND_VALID_LDAPURL=Error reading the configuration file.%nThis \ could be caused because there is not an enabled LDAP port for the specified \ connection parameters or because you do not have read rights on the \ MILD_ERR_COULD_NOT_FIND_VALID_LDAPURL=Error reading the configuration file.%n\ This could be caused because there is not an enabled LDAP port for the \ specified connection parameters or because you do not have read rights on the \ configuration file. INFO_DATABASES_TITLE=Data Sources INFO_DELETE_OUTSIDE_DBS_LABEL=Delete these Database Files @@ -182,10 +182,10 @@ located outside the install directory INFO_DISABLED_LABEL=Disabled INFO_ENABLED_LABEL=Enabled INFO_ERROR_READING_CONFIG_FILE=Error reading the configuration file. INFO_ERROR_READING_CONFIG_LDAP=Error reading data from server. Verify the \ MILD_ERR_READING_CONFIG_FILE=Error reading the configuration file. MILD_ERR_READING_CONFIG_LDAP=Error reading data from server. Verify the \ authentication information provided.%nDetails: %s INFO_ERROR_STARTING_SERVER_GENERIC=Could not Start server. SEVERE_ERR_STARTING_SERVER_GENERIC=Could not Start server. INFO_FINISH_BUTTON_UNINSTALL_LABEL=Uninstall INFO_FINISH_BUTTON_UNINSTALL_TOOLTIP=Finish Uninstall INFO_FRAME_UNINSTALL_TITLE=OpenDS Uninstall @@ -268,10 +268,10 @@ INFO_STATE_COLUMN=State INFO_STATUS_CLI_USAGE_DESCRIPTION=This utility may be used to display basic \ server information INFO_STATUS_PANEL_LAUNCHER_GUI_LAUNCH_FAILED=Could not launch Status Panel. \ Check that you have access to the display. INFO_STATUS_PANEL_LAUNCHER_GUI_LAUNCH_FAILED_DETAILS=Could not launch Status \ Panel. Check that you have access to the display. Check file %s for \ SEVERE_ERR_STATUS_PANEL_LAUNCHER_GUI_LAUNCH_FAILED=Could not launch Status \ Panel. Check that you have access to the display. SEVERE_ERR_STATUS_PANEL_LAUNCHER_GUI_LAUNCH_FAILED_DETAILS=Could not launch \ Status Panel. Check that you have access to the display. Check file %s for \ details. INFO_STATUS_PANEL_LAUNCHER_USAGE_DESCRIPTION=This utility may be used to \ display the Status Panel window which displays basic server information and \ @@ -312,9 +312,9 @@ updating remote servers. INFO_SUMMARY_UNINSTALL_NOT_STARTED=Starting Uninstallation... INFO_UNDEFINED_PROTOCOL_LABEL=-Unknown- INFO_UNINSTALL_LAUNCHER_GUI_LAUNCHED_FAILED=%n%nThe graphical Uninstall \ SEVERE_ERR_UNINSTALL_LAUNCHER_GUI_LAUNCHED_FAILED=%n%nThe graphical Uninstall \ launch failed.%n%nLaunching command line Uninstall... INFO_UNINSTALL_LAUNCHER_GUI_LAUNCHED_FAILED_DETAILS=%n%nThe graphical \ SEVERE_ERR_UNINSTALL_LAUNCHER_GUI_LAUNCHED_FAILED_DETAILS=%n%nThe graphical \ Uninstall launch failed. Check file %s for more details.%n%nLaunching \ command line Uninstall... INFO_UNINSTALL_LAUNCHER_LAUNCHING_CLI=Launching command line uninstall... @@ -348,16 +348,115 @@ rest of the options (excluding help and version) will only be taken into \ account if this option is specified INFO_UNINSTALLDS_DESCRIPTION_SILENT=Perform a silent uninstall (no \ progress information is written to the standard output) progress information is written to the standard output) INFO_UNINSTALLDS_DESCRIPTION_REMOVE_ALL=Remove all components of \ OpenDS (this option is not compatible with the rest of remove options) INFO_UNINSTALLDS_DESCRIPTION_REMOVE_SERVER_LIBRARIES=Remove Server Libraries \ and Administrative Tools and Administrative Tools INFO_UNINSTALLDS_DESCRIPTION_REMOVE_DATABASES=Remove database contents INFO_UNINSTALLDS_DESCRIPTION_REMOVE_LOG_FILES=Remove log files INFO_UNINSTALLDS_DESCRIPTION_REMOVE_CONFIGURATION_FILES=Remove configuration \ files files INFO_UNINSTALLDS_DESCRIPTION_REMOVE_BACKUP_FILES=Remove backup files INFO_UNINSTALLDS_DESCRIPTION_REMOVE_LDIF_FILES=Remove LDIF files INFO_DESCRIPTION_ADMINUID=Specifies the User ID of the Global Administrator to \ use to bind to the server INFO_DESCRIPTION_ADMIN_UID=Specifies the User ID of the Global Administrator \ to use to bind to the server INFO_DESCRIPTION_ENABLE_REPLICATION_HOST1=Directory server hostname or IP \ address of the first server whose contents will be replicated INFO_DESCRIPTION_ENABLE_REPLICATION_SERVER_PORT1=Directory server port \ number of the first server whose contents will be replicated INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN1=Specifies the DN to use to \ bind to the first server whose contents will be replicated. If not specified \ the global administrator will be used to bind INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORD1=Specifies the password \ to use to bind to the first server whose contents will be replicated. If no \ bind DN was specified for the first server the password of the global \ administrator will be used to bind INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE1=Specifies the file \ containing the password to use to bind to the first server whose contents \ will be replicated. If no bind DN was specified for the first server the \ password of the global administrator will be used to bind INFO_DESCRIPTION_ENABLE_REPLICATION_USE_SSL1=Use SSL for secure \ communication with the first server INFO_DESCRIPTION_ENABLE_REPLICATION_STARTTLS1=Use StartTLS to secure \ communication with the first server INFO_DESCRIPTION_ENABLE_REPLICATION_PORT1=Specifies the port that will be used by \ the replication mechanism in the first server to communicate with the other \ servers. You have to specify this option only if replication was not \ previously configured in the first server. INFO_DESCRIPTION_ENABLE_REPLICATION_HOST2=Directory server hostname or IP \ address of the second server whose contents will be replicated INFO_DESCRIPTION_ENABLE_REPLICATION_SERVER_PORT2=Directory server port \ number of the first server whose contents will be replicated INFO_DESCRIPTION_ENABLE_REPLICATION_BINDDN2=Specifies the DN to use to \ bind to the second server whose contents will be replicated. If not \ specified the global administrator will be used to bind INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORD2=Specifies the password \ to use to bind to the second server whose contents will be replicated. If no \ bind DN was specified for the first server the password of the global \ administrator will be used to bind INFO_DESCRIPTION_ENABLE_REPLICATION_BINDPASSWORDFILE2=Specifies the file \ containing the password to use to bind to the second server whose contents \ will be replicated. If no bind DN was specified for the first server the \ password of the global administrator will be used to bind INFO_DESCRIPTION_ENABLE_REPLICATION_USE_SSL2=Use SSL for secure \ communication with the second server INFO_DESCRIPTION_ENABLE_REPLICATION_PORT2=Specifies the port that will be used by \ the replication mechanism in the second server to communicate with the other \ servers. You have to specify this option only if replication was not \ previously configured in the second server. INFO_DESCRIPTION_ENABLE_REPLICATION_STARTTLS2=Use StartTLS to secure \ communication with the second server INFO_DESCRIPTION_REPLICATION_BASEDNS=Specifies the Base DN of \ the data to be replicated, initialized or for which we want to disable \ replication. Multiple base DNs may be provided by using this option multiple \ times INFO_DESCRIPTION_REPLICATION_ADMIN_UID=Specifies the User ID of the \ Global Administrator to use to bind to the server. For the {%s} subcommand \ if no Global Administrator was defined previously for none of the server one \ will be created using the provided data. INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORD=The global \ administrator password INFO_DESCRIPTION_REPLICATION_ADMIN_BINDPASSWORDFILE=The file \ containing the password of the global administrator INFO_DESCRIPTION_INITIALIZE_REPLICATION_HOST_SOURCE=Directory server \ hostname or IP address of the source server whose contents will be used to \ initialize the destination server. INFO_DESCRIPTION_INITIALIZE_REPLICATION_SERVER_PORT_SOURCE=Directory \ server port number of the source server whose contents will be used to \ initialize the destination server. INFO_DESCRIPTION_INITIALIZE_REPLICATION_USE_SSL_SOURCE=Use SSL for secure \ communication with the source server INFO_DESCRIPTION_INITIALIZE_REPLICATION_STARTTLS_SOURCE=Use StartTLS to \ secure communication with the source server INFO_DESCRIPTION_INITIALIZE_REPLICATION_HOST_DESTINATION=Directory server \ hostname or IP address of the source server whose contents will be used to \ initialize the destination server. INFO_DESCRIPTION_INITIALIZE_REPLICATION_SERVER_PORT_DESTINATION=Directory \ server port number of the source server whose contents will be used to \ initialize the destination server. INFO_DESCRIPTION_INITIALIZE_REPLICATION_USE_SSL_DESTINATION=Use SSL for \ secure communication with the source server INFO_DESCRIPTION_INITIALIZE_REPLICATION_STARTTLS_DESTINATION=Use \ StartTLS to secure communication with the source server INFO_REPLICATION_TOOL_DESCRIPTION=This utility may be used to configure \ replication between servers so that the data of the servers is synchronized.\ In order replication to work you have first to enable replication between two \ servers using the {%s} subcommand and then initialize the contents of one of \ servers with the contents of the other using the {%s} subcommand. INFO_DESCRIPTION_SUBCMD_INITIALIZE_REPLICATION=Initialize the contents of the \ data under the specified Bind DN on the destination server with the contents \ on the source server. This operation is required after enabling replication \ in order replication to work. INFO_DESCRIPTION_SUBCMD_ENABLE_REPLICATION=Configures the two specified \ servers to replicate the data under the specified Bind DN. INFO_DESCRIPTION_SUBCMD_DISABLE_REPLICATION=Disables replication on the \ specified server for the provided Base DN and removes references in the other \ servers with which it is replicating data. SEVERE_ERR_REPLICATION_NO_BASE_DN_PROVIDED=You must provide at least one base \ DN in no interactive mode. SEVERE_ERR_REPLICATION_NO_ADMINISTRATOR_PASSWORD_PROVIDED=You must provide the \ password of the global administrator in non interactive mode. You can \ provide it using the {%s} or the {%s} options. SEVERE_ERR_REPLICATION_NOT_A_VALID_BASEDN=The provided value %s is not a valid \ base DN. opends/src/quicksetup/org/opends/quicksetup/CliApplicationHelper.java
@@ -36,6 +36,7 @@ import static org.opends.messages.QuickSetupMessages.*; import org.opends.quicksetup.util.Utils; import org.opends.server.admin.client.cli.SecureConnectionCliParser; import org.opends.server.util.args.ArgumentParser; import org.opends.server.util.args.ArgumentException; import org.opends.server.util.args.BooleanArgument; @@ -64,18 +65,6 @@ /** Format string used for deriving the console prompt. */ static public final String PROMPT_FORMAT = "%s%n[%s]:"; /** Short form of the option for specifying a noninteractive session. */ static public final Character SILENT_OPTION_SHORT = 's'; /** Long form of the option for specifying a noninteractive session. */ static public final String SILENT_OPTION_LONG = "silent"; /** Short form of the option for specifying a noninteractive session. */ static public final Character INTERACTIVE_OPTION_SHORT = 'i'; /** Long form of the option for specifying a noninteractive session. */ static public final String INTERACTIVE_OPTION_LONG = "interactive"; private BooleanArgument interactiveArg = null; private BooleanArgument silentArg = null; @@ -368,15 +357,15 @@ try { interactiveArg = new BooleanArgument("noninteractive session", INTERACTIVE_OPTION_SHORT, INTERACTIVE_OPTION_LONG, SecureConnectionCliParser.INTERACTIVE_OPTION_SHORT, SecureConnectionCliParser.INTERACTIVE_OPTION_LONG, null); argParser.addArgument(interactiveArg); silentArg = new BooleanArgument("silent session", SILENT_OPTION_SHORT, SILENT_OPTION_LONG, SecureConnectionCliParser.SILENT_OPTION_SHORT, SecureConnectionCliParser.SILENT_OPTION_LONG, null); argParser.addArgument(silentArg); opends/src/quicksetup/org/opends/quicksetup/upgrader/UpgradeLauncher.java
@@ -33,13 +33,13 @@ import static org.opends.messages.ToolMessages.*; import static org.opends.server.tools.ToolConstants.*; import org.opends.quicksetup.CliApplicationHelper; import org.opends.quicksetup.Launcher; import org.opends.quicksetup.CliApplication; import org.opends.quicksetup.Installation; import org.opends.quicksetup.QuickSetupLog; import org.opends.quicksetup.util.Utils; import org.opends.server.admin.client.cli.SecureConnectionCliParser; import org.opends.server.util.ServerConstants; import org.opends.server.util.args.ArgumentParser; import org.opends.server.util.args.BooleanArgument; @@ -191,15 +191,15 @@ null, null, INFO_UPGRADE_DESCRIPTION_FILE.get()); argParser.addArgument(file); interactive = new BooleanArgument( CliApplicationHelper.INTERACTIVE_OPTION_LONG, CliApplicationHelper.INTERACTIVE_OPTION_SHORT, CliApplicationHelper.INTERACTIVE_OPTION_LONG, SecureConnectionCliParser.INTERACTIVE_OPTION_LONG, SecureConnectionCliParser.INTERACTIVE_OPTION_SHORT, SecureConnectionCliParser.INTERACTIVE_OPTION_LONG, INFO_UPGRADE_DESCRIPTION_INTERACTIVE.get()); argParser.addArgument(interactive); silent = new BooleanArgument( CliApplicationHelper.SILENT_OPTION_LONG, CliApplicationHelper.SILENT_OPTION_SHORT, CliApplicationHelper.SILENT_OPTION_LONG, SecureConnectionCliParser.SILENT_OPTION_LONG, SecureConnectionCliParser.SILENT_OPTION_SHORT, SecureConnectionCliParser.SILENT_OPTION_LONG, INFO_UPGRADE_DESCRIPTION_SILENT.get()); argParser.addArgument(silent); showUsage = new BooleanArgument("showusage", OPTION_SHORT_HELP, opends/src/server/org/opends/server/admin/client/cli/DsFrameworkCliMain.java
@@ -211,7 +211,7 @@ } // Validate args int ret = argParser.validateGlobalOption(err); int ret = argParser.validateGlobalOptions(err); if (ret != SUCCESSFUL_NOP.getReturnCode()) { return ret; opends/src/server/org/opends/server/admin/client/cli/DsFrameworkCliParser.java
@@ -114,7 +114,7 @@ throws ArgumentException { // Global parameters initializeGlobalOption(outStream); initializeGlobalArguments(createGlobalArguments(outStream)); // ads Group cli cliGroup.add(new DsFrameworkCliAds()); opends/src/server/org/opends/server/admin/client/cli/SecureConnectionCliParser.java
@@ -46,6 +46,8 @@ import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; import java.util.ArrayList; import java.util.Collection; import java.util.LinkedHashSet; import java.util.logging.Level; import java.util.logging.Logger; @@ -57,6 +59,7 @@ import org.opends.server.types.DebugLogLevel; import org.opends.server.util.PasswordReader; import org.opends.server.util.SelectableCertificateKeyManager; import org.opends.server.util.args.Argument; import org.opends.server.util.args.ArgumentException; import org.opends.server.util.args.BooleanArgument; import org.opends.server.util.args.FileBasedArgument; @@ -158,6 +161,18 @@ */ protected BooleanArgument startTLSArg = null; /** Short form of the option for specifying a noninteractive session. */ static public final Character INTERACTIVE_OPTION_SHORT = 'i'; /** Long form of the option for specifying a noninteractive session. */ static public final String SILENT_OPTION_LONG = "silent"; /** Long form of the option for specifying a noninteractive session. */ static public final String INTERACTIVE_OPTION_LONG = "interactive"; /** Short form of the option for specifying a noninteractive session. */ static public final Character SILENT_OPTION_SHORT = 's'; /** * The tracer object for the debug logger. */ @@ -212,7 +227,6 @@ } } /** * Get the password which has to be used for the command. * @@ -224,14 +238,20 @@ * @param err * The error stream to used if we have to prompt to the * user. * @param clearArg * The password StringArgument argument. * @param fileArg * The password FileBased argument. * @return The password stored into the specified file on by the * command line argument, or prompts it if not specified. */ public String getBindPassword(String dn, OutputStream out, OutputStream err) protected String getBindPassword(String dn, OutputStream out, OutputStream err, StringArgument clearArg, FileBasedArgument fileArg) { if (bindPasswordArg.isPresent()) if (clearArg.isPresent()) { String bindPasswordValue = bindPasswordArg.getValue(); String bindPasswordValue = clearArg.getValue(); if(bindPasswordValue != null && bindPasswordValue.equals("-")) { // read the password from the stdin. @@ -260,9 +280,9 @@ return bindPasswordValue; } else if (bindPasswordFileArg.isPresent()) if (fileArg.isPresent()) { return bindPasswordFileArg.getValue(); return fileArg.getValue(); } else { @@ -291,6 +311,57 @@ return null; } } } /** * Get the password which has to be used for the command. * * @param dn * The user DN for which to password could be asked. * @param out * The input stream to used if we have to prompt to the * user. * @param err * The error stream to used if we have to prompt to the * user. * @return The password stored into the specified file on by the * command line argument, or prompts it if not specified. */ public String getBindPassword(String dn, OutputStream out, OutputStream err) { return getBindPassword(dn, out, err, bindPasswordArg, bindPasswordFileArg); } /** * Get the password which has to be used for the command without prompting * the user. If no password was specified, return null. * * @param clearArg * The password StringArgument argument. * @param fileArg * The password FileBased argument. * @return The password stored into the specified file on by the * command line argument, or null it if not specified. */ public String getBindPassword(StringArgument clearArg, FileBasedArgument fileArg) { String pwd; if (clearArg.isPresent()) { pwd = clearArg.getValue(); } else if (fileArg.isPresent()) { pwd = fileArg.getValue(); } else { pwd = null; } return pwd; } /** @@ -302,21 +373,7 @@ */ public String getBindPassword() { String pwd; if (bindPasswordArg.isPresent()) { pwd = bindPasswordArg.getValue(); } else if (bindPasswordFileArg.isPresent()) { pwd = bindPasswordFileArg.getValue(); } else { pwd = null; } return pwd; return getBindPassword(bindPasswordArg, bindPasswordFileArg); } /** @@ -327,98 +384,118 @@ * @throws ArgumentException * If there is a problem with any of the parameters used * to create this argument. * @return a ArrayList with the options created. */ protected void initializeGlobalOption(OutputStream outStream) protected LinkedHashSet<Argument> createGlobalArguments( OutputStream outStream) throws ArgumentException { LinkedHashSet<Argument> set = new LinkedHashSet<Argument>(); showUsageArg = new BooleanArgument("showUsage", OPTION_SHORT_HELP, OPTION_LONG_HELP, INFO_DESCRIPTION_SHOWUSAGE.get()); addGlobalArgument(showUsageArg); setUsageArgument(showUsageArg, outStream); set.add(showUsageArg); useSSLArg = new BooleanArgument("useSSL", OPTION_SHORT_USE_SSL, OPTION_LONG_USE_SSL, INFO_DESCRIPTION_USE_SSL.get()); addGlobalArgument(useSSLArg); set.add(useSSLArg); startTLSArg = new BooleanArgument("startTLS", OPTION_SHORT_START_TLS, OPTION_LONG_START_TLS, INFO_DESCRIPTION_START_TLS.get()); addGlobalArgument(startTLSArg); set.add(startTLSArg); hostNameArg = new StringArgument("host", OPTION_SHORT_HOST, OPTION_LONG_HOST, false, false, true, OPTION_VALUE_HOST, "localhost", null, INFO_DESCRIPTION_HOST.get()); addGlobalArgument(hostNameArg); set.add(hostNameArg); portArg = new IntegerArgument("port", OPTION_SHORT_PORT, OPTION_LONG_PORT, false, false, true, OPTION_VALUE_PORT, 389, null, INFO_DESCRIPTION_PORT.get()); addGlobalArgument(portArg); set.add(portArg); bindDnArg = new StringArgument("bindDN", OPTION_SHORT_BINDDN, OPTION_LONG_BINDDN, false, false, true, OPTION_VALUE_BINDDN, "cn=Directory Manager", null, INFO_DESCRIPTION_BINDDN.get()); addGlobalArgument(bindDnArg); set.add(bindDnArg); bindPasswordArg = new StringArgument("bindPassword", OPTION_SHORT_BINDPWD, OPTION_LONG_BINDPWD, false, false, true, OPTION_VALUE_BINDPWD, null, null, INFO_DESCRIPTION_BINDPASSWORD.get()); addGlobalArgument(bindPasswordArg); set.add(bindPasswordArg); bindPasswordFileArg = new FileBasedArgument("bindPasswordFile", OPTION_SHORT_BINDPWD_FILE, OPTION_LONG_BINDPWD_FILE, false, false, OPTION_VALUE_BINDPWD_FILE, null, null, INFO_DESCRIPTION_BINDPASSWORDFILE.get()); addGlobalArgument(bindPasswordFileArg); set.add(bindPasswordFileArg); trustAllArg = new BooleanArgument("trustAll", 'X', "trustAll", INFO_DESCRIPTION_TRUSTALL.get()); addGlobalArgument(trustAllArg); set.add(trustAllArg); trustStorePathArg = new StringArgument("trustStorePath", OPTION_SHORT_TRUSTSTOREPATH, OPTION_LONG_TRUSTSTOREPATH, false, false, true, OPTION_VALUE_TRUSTSTOREPATH, null, null, INFO_DESCRIPTION_TRUSTSTOREPATH.get()); addGlobalArgument(trustStorePathArg); set.add(trustStorePathArg); trustStorePasswordArg = new StringArgument("trustStorePassword", null, OPTION_LONG_TRUSTSTORE_PWD, false, false, true, OPTION_VALUE_TRUSTSTORE_PWD, null, null, INFO_DESCRIPTION_TRUSTSTOREPASSWORD.get()); addGlobalArgument(trustStorePasswordArg); set.add(trustStorePasswordArg); trustStorePasswordFileArg = new FileBasedArgument("truststorepasswordfile", OPTION_SHORT_TRUSTSTORE_PWD_FILE, OPTION_LONG_TRUSTSTORE_PWD_FILE, false, false, OPTION_VALUE_TRUSTSTORE_PWD_FILE, null, null, INFO_DESCRIPTION_TRUSTSTOREPASSWORD_FILE.get()); addGlobalArgument(trustStorePasswordFileArg); set.add(trustStorePasswordFileArg); keyStorePathArg = new StringArgument("keyStorePath", OPTION_SHORT_KEYSTOREPATH, OPTION_LONG_KEYSTOREPATH, false, false, true, OPTION_VALUE_KEYSTOREPATH, null, null, INFO_DESCRIPTION_KEYSTOREPATH.get()); addGlobalArgument(keyStorePathArg); set.add(keyStorePathArg); keyStorePasswordArg = new StringArgument("keyStorePassword", null, OPTION_LONG_KEYSTORE_PWD, false, false, true, OPTION_VALUE_KEYSTORE_PWD, null, null, INFO_DESCRIPTION_KEYSTOREPASSWORD.get()); addGlobalArgument(keyStorePasswordArg); set.add(keyStorePasswordArg); keyStorePasswordFileArg = new FileBasedArgument("keystorepasswordfile", OPTION_SHORT_KEYSTORE_PWD_FILE, OPTION_LONG_KEYSTORE_PWD_FILE, false, false, OPTION_VALUE_KEYSTORE_PWD_FILE, null, null, INFO_DESCRIPTION_KEYSTOREPASSWORD_FILE.get()); addGlobalArgument(keyStorePasswordFileArg); set.add(keyStorePasswordFileArg); certNicknameArg = new StringArgument("certnickname", 'N', "certNickname", false, false, true, "{nickname}", null, null, INFO_DESCRIPTION_CERT_NICKNAME.get()); addGlobalArgument(certNicknameArg); set.add(certNicknameArg); verboseArg = new BooleanArgument("verbose", 'v', "verbose", INFO_DESCRIPTION_VERBOSE.get()); addGlobalArgument(verboseArg); set.add(verboseArg); return set; } /** * Initialize the global options with the provided set of arguments. * @param args the arguments to use to initialize the global options. * @throws ArgumentException if there is a conflict with the provided * arguments. */ protected void initializeGlobalArguments(Collection<Argument> args) throws ArgumentException { for (Argument arg : args) { addGlobalArgument(arg); } } /** @@ -463,7 +540,7 @@ * @param buf the MessageBuilder to write the error messages. * @return return code. */ public int validateGlobalOption(MessageBuilder buf) public int validateGlobalOptions(MessageBuilder buf) { ArrayList<Message> errors = new ArrayList<Message>(); // Couldn't have at the same time bindPassword and bindPasswordFile @@ -536,10 +613,10 @@ * @param err the stream to be used to print error message. * @return return code. */ public int validateGlobalOption(PrintStream err) public int validateGlobalOptions(PrintStream err) { MessageBuilder buf = new MessageBuilder(); int returnValue = validateGlobalOption(buf); int returnValue = validateGlobalOptions(buf); if (buf.length() > 0) { err.println(wrapText(buf.toString(), MAX_LINE_WIDTH));