c9d984b0d2c0fda320e79eb3868dd6fbeb1ffa34 860 |
|
11-Dec-2006 |
jvergara |
The following modifications include the comments from Neil and Brian (thanks to both for your help):
1. Fix a bug with the setup script. Know this script is executable after the Web Start based installation.
2. Provide a different welcome message in the setup depending on whether we are launching the setup from the command line or Web Start. If we are launching the command line setup we make reference in the message to the Web Start installation and provide a link to the downloads page.
3. When the setup is successful, include in the message the path of the installation as was requested by William Hathaway.
4. Try to find a valid default port (of type []389) and not limit the search to 389. This implies not having any explanatory message to be displayed if we cannot connect to 389.
5. Update the code to better handle bug scenarii. Previously the code assumed that only RuntimeException could occur in case of a bug. This is not true in the general case, so know the code handles Throwable objects to detect bugs.
6. Provide the first implementation for the Uninstaller. Some code has been rearranged to maximize code re-use. The first implementation of the uninstaller basically does the following:
- Display a confirmation message informing of what will happen with the installation files and the consequences of uninstalling the server.
Ask the user which parts of the server must be uninstalled.
Check if we have configuration references outside the installation path (for the moment this check is limited to database files and log files). If these references exist show them to the user and ask the user whether these 'external' files must be deteled or not.
If the server is running we ask for confirmation to stop the server and if we are in windows we ask the user to provide a DN and a password to authenticate.
If the user continues and the server is running the code calls stop-ds script, if the script succeeds the code tries to delete the files in the installation that the user wanted to uninstall and in the case there are external files to the installation path and the user wants to delete them delete also these external files.
If everything works properly the uninstaller will delete all the files except the <install-root>/lib/quicksetup.jar and <install-root>/lib/OpenDS.jar file.
OpenDS.jar file is required by the command line uninstaller to share some code.
I preferred not to try to delete these files from the scripts as we cannot provide proper feedback (for instance localization) if we encounter a problem deleting these files.
In both cases we inform the user that there are some files that must be deleted manually.
7. Provide the code to launch uninstall through command line that is analogous in terms of interaction to the graphical one.
I have included two scripts to launch the uninstallation. The uninstall script for Unix is very similar to the setup script. However the uninstall.bat script has a difference with setup.bat.
The difference is that I limit the class path to include only quicksetup.jar. This is done because I have not found a way to delete the jar files that are in the class path of the java application using pure java code, so as the uninstaller does only require OpenDS.jar and quicksetup.jar files I have chosen to minimize the jar files in the class path.
This way the only files that are not deleted during installation is quicksetup.jar and OpenDS.jar.
8. Improve the wording of the install wizard as proposed by Brian and Neil.
9 . One minor tweak to the QuickSetup Welcome screen: make the reference to the "setup" command a monospace font to highlight it a bit more.
10. Fix for issue 1057 (stop-ds.bat and start-ds.bat do not work when called using Runtime.exec). The quicksetup code used to overwrite the environment variables when calling Runtime.exec which made the server not be able to start/stop correctly.
11. Fix some minor bugs with the default focus on some panels.
12. Update the setup scripts to use the java home file if the setup was previously called. |