From: Otmar H. <otm...@us...> - 2006-03-28 23:20:35
|
Update of /cvsroot/jython/installer/src/java/org/python/util/install In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20926/src/java/org/python/util/install Modified Files: Installation.java ConsoleInstaller.java FrameInstaller.java Added Files: InstallationType.java Log Message: added finer control over parts to install - in silent mode - in console mode --- NEW FILE: InstallationType.java --- package org.python.util.install; public class InstallationType { private boolean _installLibraryModules = true; private boolean _installDemosAndExamples = true; private boolean _installDocumentation = true; private boolean _installSources = false; private boolean _isStandalone = false; public boolean installLibraryModules() { return _installLibraryModules; } public boolean installDemosAndExamples() { return _installDemosAndExamples; } public boolean installDocumentation() { return _installDocumentation; } public boolean installSources() { return _installSources; } public void addLibraryModules() { _installLibraryModules = true; } public void removeLibraryModules() { _installLibraryModules = false; } public void addDemosAndExamples() { _installDemosAndExamples = true; } public void removeDemosAndExamples() { _installDemosAndExamples = false; } public void addDocumentation() { _installDocumentation = true; } public void removeDocumentation() { _installDocumentation = false; } public void addSources() { _installSources = true; } public void removeSources() { _installSources = false; } public void setStandalone() { _isStandalone = true; addLibraryModules(); removeDemosAndExamples(); removeDocumentation(); removeSources(); } public boolean isStandalone() { return _isStandalone; } public void setAll() { addLibraryModules(); addDemosAndExamples(); addDocumentation(); addSources(); _isStandalone = false; } public boolean isAll() { return installLibraryModules() && installDemosAndExamples() && installDocumentation() && installSources(); } public void setStandard() { addLibraryModules(); addDemosAndExamples(); addDocumentation(); removeSources(); _isStandalone = false; } public boolean isStandard() { return installLibraryModules() && installDemosAndExamples() && installDocumentation() && !installSources(); } public void setMinimum() { removeLibraryModules(); removeDemosAndExamples(); removeDocumentation(); removeSources(); _isStandalone = false; } public boolean isMinimum() { return !installLibraryModules() && !installDemosAndExamples() && !installDocumentation() && !installSources(); } } Index: Installation.java =================================================================== RCS file: /cvsroot/jython/installer/src/java/org/python/util/install/Installation.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Installation.java 20 Mar 2006 22:45:36 -0000 1.6 --- Installation.java 28 Mar 2006 23:20:27 -0000 1.7 *************** *** 18,21 **** --- 18,23 ---- protected static final String STANDARD = "2"; protected static final String MINIMUM = "3"; + protected static final String STANDALONE = "9"; + protected static final String OS_NAME = "os.name"; protected static final String OS_VERSION = "os.version"; *************** *** 183,186 **** --- 185,189 ---- if (binDirectory.list(new JavaFilenameFilter()).length > 0) { try { + ConsoleInstaller.message(getText(TextKeys.C_CHECK_JAVA_VERSION)); // launch the java command - temporary file will be written by the child process File tempFile = File.createTempFile("jython_installation", ".properties"); *************** *** 193,196 **** --- 196,203 ---- command[4] = tempFile.getAbsolutePath(); + if (isVerbose()) { + ConsoleInstaller.message("executing: " + command[0] + " " + command[1] + " " + command[2] + + " " + command[3] + " " + command[4]); + } ChildProcess childProcess = new ChildProcess(command, 10000); // 10 seconds childProcess.setDebug(Installation.isVerbose()); Index: ConsoleInstaller.java =================================================================== RCS file: /cvsroot/jython/installer/src/java/org/python/util/install/ConsoleInstaller.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ConsoleInstaller.java 20 Mar 2006 21:56:03 -0000 1.4 --- ConsoleInstaller.java 28 Mar 2006 23:20:27 -0000 1.5 *************** *** 13,22 **** import org.python.util.install.Installation.JavaVersionInfo; ! public class ConsoleInstaller implements ProgressListener { ! private static final String CANCEL = "c"; ! private static final String PROMPT = ">>>"; ! private static final String BEGIN_ANSWERS = "["; ! private static final String END_ANSWERS = "]"; ! private static final String CURRENT = "=="; private InstallerCommandLine _commandLine; --- 13,22 ---- import org.python.util.install.Installation.JavaVersionInfo; ! public class ConsoleInstaller implements ProgressListener, TextKeys { ! private static final String _CANCEL = "c"; ! private static final String _PROMPT = ">>>"; ! private static final String _BEGIN_ANSWERS = "["; ! private static final String _END_ANSWERS = "]"; ! private static final String _CURRENT = "=="; private InstallerCommandLine _commandLine; *************** *** 37,49 **** selectLanguage(); acceptLicense(); ! String installationType = selectInstallationType(); targetDirectory = determineTargetDirectory(); javaHome = checkVersion(determineJavaHome()); ! promptForCopying(targetDirectory); _jarInstaller.inflate(targetDirectory, installationType, javaHome); showReadme(targetDirectory); success(targetDirectory); } else { ! message(Installation.getText(TextKeys.C_SILENT_INSTALLATION)); targetDirectory = _commandLine.getTargetDirectory(); checkTargetDirectorySilent(targetDirectory); --- 37,49 ---- selectLanguage(); acceptLicense(); ! InstallationType installationType = selectInstallationType(); targetDirectory = determineTargetDirectory(); javaHome = checkVersion(determineJavaHome()); ! promptForCopying(targetDirectory, installationType, javaHome); _jarInstaller.inflate(targetDirectory, installationType, javaHome); showReadme(targetDirectory); success(targetDirectory); } else { ! message(getText(C_SILENT_INSTALLATION)); targetDirectory = _commandLine.getTargetDirectory(); checkTargetDirectorySilent(targetDirectory); *************** *** 59,65 **** private void welcome() { ! message(Installation.getText(TextKeys.C_WELCOME_TO_JYTHON)); ! message(Installation.getText(TextKeys.C_VERSION_INFO, _jarInfo.getVersion())); ! message(Installation.getText(TextKeys.C_AT_ANY_TIME_CANCEL, CANCEL)); } --- 59,65 ---- private void welcome() { ! message(getText(C_WELCOME_TO_JYTHON)); ! message(getText(C_VERSION_INFO, _jarInfo.getVersion())); ! message(getText(C_AT_ANY_TIME_CANCEL, _CANCEL)); } *************** *** 84,100 **** private String question(String question, List answers, boolean answerRequired) { if (answers != null && answers.size() > 0) { ! question = question + " " + BEGIN_ANSWERS; Iterator answersAsIterator = answers.iterator(); while (answersAsIterator.hasNext()) { ! if (!question.endsWith(BEGIN_ANSWERS)) question = question + "/"; question = question + (String) answersAsIterator.next(); } ! question = question + END_ANSWERS; } ! question = question + " " + PROMPT + " "; boolean match = false; String answer = ""; ! while (!match && !answer.equalsIgnoreCase(CANCEL)) { System.out.print(question); // this is print, not println (!) answer = readline(); --- 84,100 ---- private String question(String question, List answers, boolean answerRequired) { if (answers != null && answers.size() > 0) { ! question = question + " " + _BEGIN_ANSWERS; Iterator answersAsIterator = answers.iterator(); while (answersAsIterator.hasNext()) { ! if (!question.endsWith(_BEGIN_ANSWERS)) question = question + "/"; question = question + (String) answersAsIterator.next(); } ! question = question + _END_ANSWERS; } ! question = question + " " + _PROMPT + " "; boolean match = false; String answer = ""; ! while (!match && !_CANCEL.equalsIgnoreCase(answer)) { System.out.print(question); // this is print, not println (!) answer = readline(); *************** *** 112,117 **** } } } ! if (answer.equalsIgnoreCase(CANCEL)) { throw new InstallationCancelledException(); } --- 112,120 ---- } } + if (!match && !_CANCEL.equalsIgnoreCase(answer)) { + message(getText(C_INVALID_ANSWER, answer)); + } } ! if (_CANCEL.equalsIgnoreCase(answer)) { throw new InstallationCancelledException(); } *************** *** 132,137 **** private void selectLanguage() { List availableLanguages = new ArrayList(2); ! availableLanguages.add(Installation.getText(TextKeys.C_ENGLISH)); ! availableLanguages.add(Installation.getText(TextKeys.C_GERMAN)); // 1 == German List answers = new ArrayList(availableLanguages.size()); String languages = ""; --- 135,140 ---- private void selectLanguage() { List availableLanguages = new ArrayList(2); ! availableLanguages.add(getText(C_ENGLISH)); ! availableLanguages.add(getText(C_GERMAN)); // 1 == German List answers = new ArrayList(availableLanguages.size()); String languages = ""; *************** *** 142,147 **** } languages = languages.substring(0, languages.length() - 2); ! message(Installation.getText(TextKeys.C_AVAILABLE_LANGUAGES, languages)); ! String answer = question(Installation.getText(TextKeys.C_SELECT_LANGUAGE), answers); if (answer.equalsIgnoreCase((String) answers.get(1))) { Installation.setLanguage(Locale.GERMAN); --- 145,150 ---- } languages = languages.substring(0, languages.length() - 2); ! message(getText(C_AVAILABLE_LANGUAGES, languages)); ! String answer = question(getText(C_SELECT_LANGUAGE), answers); if (answer.equalsIgnoreCase((String) answers.get(1))) { Installation.setLanguage(Locale.GERMAN); *************** *** 151,164 **** } ! private String selectInstallationType() { ! message(Installation.getText(TextKeys.C_INSTALL_TYPES)); ! message(" " + Installation.ALL + ". " + Installation.getText(TextKeys.C_ALL)); ! message(" " + Installation.STANDARD + ". " + Installation.getText(TextKeys.C_STANDARD)); ! message(" " + Installation.MINIMUM + ". " + Installation.getText(TextKeys.C_MINIMUM)); List answers = new ArrayList(3); answers.add(Installation.ALL); answers.add(Installation.STANDARD); ! answers.add(Installation.MINIMUM); ! return question(Installation.getText(TextKeys.C_SELECT_INSTALL_TYPE), answers); } --- 154,230 ---- } ! private InstallationType selectInstallationType() { ! InstallationType installationType = new InstallationType(); ! String no = getText(C_NO); ! String yes = getText(C_YES); ! message(getText(C_INSTALL_TYPES)); ! message(" " + Installation.ALL + ". " + getText(C_ALL)); ! message(" " + Installation.STANDARD + ". " + getText(C_STANDARD)); ! message(" " + Installation.MINIMUM + ". " + getText(C_MINIMUM)); List answers = new ArrayList(3); answers.add(Installation.ALL); answers.add(Installation.STANDARD); ! answers.add(Installation.MINIMUM); // TODO:oti add standalone ! String answer = question(getText(C_SELECT_INSTALL_TYPE), answers); ! if (Installation.ALL.equals(answer)) { ! installationType.setAll(); ! } else if (Installation.STANDARD.equals(answer)) { ! installationType.setStandard(); ! } else if (Installation.MINIMUM.equals(answer)) { ! installationType.setMinimum(); ! } else if (Installation.STANDALONE.equals(answer)) { ! installationType.setStandalone(); ! } ! if (!installationType.isStandalone()) { ! // include parts ? ! if (!installationType.isAll()) { ! answer = question(getText(C_INCLUDE), getYNAnswers()); ! if (yes.equals(answer)) { ! answers = new ArrayList(5); ! answers.add(InstallerCommandLine.INEXCLUDE_LIBRARY_MODULES); ! answers.add(InstallerCommandLine.INEXCLUDE_DEMOS_AND_EXAMPLES); ! answers.add(InstallerCommandLine.INEXCLUDE_DOCUMENTATION); ! answers.add(InstallerCommandLine.INEXCLUDE_SOURCES); ! answers.add(no); ! do { ! answer = question(getText(C_INEXCLUDE_PARTS, no), answers); ! if (InstallerCommandLine.INEXCLUDE_LIBRARY_MODULES.equals(answer)) { ! installationType.addLibraryModules(); ! } else if (InstallerCommandLine.INEXCLUDE_DEMOS_AND_EXAMPLES.equals(answer)) { ! installationType.addDemosAndExamples(); ! } else if (InstallerCommandLine.INEXCLUDE_DOCUMENTATION.equals(answer)) { ! installationType.addDocumentation(); ! } else if (InstallerCommandLine.INEXCLUDE_SOURCES.equals(answer)) { ! installationType.addSources(); ! } ! if (!no.equals(answer)) { ! message(getText(C_SCHEDULED, answer)); ! } ! } while (!no.equals(answer)); ! } ! } ! // exclude parts ? ! if (!installationType.isMinimum()) { ! answer = question(getText(C_EXCLUDE), getYNAnswers()); ! if (yes.equals(answer)) { ! do { ! answer = question(getText(C_INEXCLUDE_PARTS, no), answers); ! if (InstallerCommandLine.INEXCLUDE_LIBRARY_MODULES.equals(answer)) { ! installationType.removeLibraryModules(); ! } else if (InstallerCommandLine.INEXCLUDE_DEMOS_AND_EXAMPLES.equals(answer)) { ! installationType.removeDemosAndExamples(); ! } else if (InstallerCommandLine.INEXCLUDE_DOCUMENTATION.equals(answer)) { ! installationType.removeDocumentation(); ! } else if (InstallerCommandLine.INEXCLUDE_SOURCES.equals(answer)) { ! installationType.removeSources(); ! } ! if (!no.equals(answer)) { ! message(getText(C_UNSCHEDULED, answer)); ! } ! } while (!no.equals(answer)); ! } ! } ! } ! return installationType; } *************** *** 166,186 **** // handle target java version JavaInfo javaInfo = verifyTargetJava(javaHome); ! message(Installation.getText(TextKeys.C_JAVA_VERSION, javaInfo.getJavaVersionInfo().getVendor(), javaInfo .getJavaVersionInfo().getVersion())); if (Installation.isValidJava(javaInfo.getJavaVersionInfo())) { ! question(Installation.getText(TextKeys.C_PROCEED)); } else { ! message(Installation.getText(TextKeys.C_UNSUPPORTED_JAVA)); ! question(Installation.getText(TextKeys.C_PROCEED_ANYWAY)); } // handle OS String osName = System.getProperty(Installation.OS_NAME); String osVersion = System.getProperty(Installation.OS_VERSION); ! message(Installation.getText(TextKeys.C_OS_VERSION, osName, osVersion)); if (Installation.isValidOs()) { ! question(Installation.getText(TextKeys.C_PROCEED)); } else { ! message(Installation.getText(TextKeys.C_UNSUPPORTED_OS)); ! question(Installation.getText(TextKeys.C_PROCEED_ANYWAY)); } return javaInfo.getJavaHome(); --- 232,252 ---- // handle target java version JavaInfo javaInfo = verifyTargetJava(javaHome); ! message(getText(C_JAVA_VERSION, javaInfo.getJavaVersionInfo().getVendor(), javaInfo .getJavaVersionInfo().getVersion())); if (Installation.isValidJava(javaInfo.getJavaVersionInfo())) { ! question(getText(C_PROCEED)); } else { ! message(getText(C_UNSUPPORTED_JAVA)); ! question(getText(C_PROCEED_ANYWAY)); } // handle OS String osName = System.getProperty(Installation.OS_NAME); String osVersion = System.getProperty(Installation.OS_VERSION); ! message(getText(C_OS_VERSION, osName, osVersion)); if (Installation.isValidOs()) { ! question(getText(C_PROCEED)); } else { ! message(getText(C_UNSUPPORTED_OS)); ! question(getText(C_PROCEED_ANYWAY)); } return javaInfo.getJavaHome(); *************** *** 191,199 **** JavaInfo javaInfo = verifyTargetJava(javaHome); if (!Installation.isValidJava(javaInfo.getJavaVersionInfo())) { ! message(Installation.getText(TextKeys.C_UNSUPPORTED_JAVA)); } // check OS if (!Installation.isValidOs()) { ! message(Installation.getText(TextKeys.C_UNSUPPORTED_OS)); } return javaInfo.getJavaHome(); --- 257,265 ---- JavaInfo javaInfo = verifyTargetJava(javaHome); if (!Installation.isValidJava(javaInfo.getJavaVersionInfo())) { ! message(getText(C_UNSUPPORTED_JAVA)); } // check OS if (!Installation.isValidOs()) { ! message(getText(C_UNSUPPORTED_OS)); } return javaInfo.getJavaHome(); *************** *** 202,216 **** private JavaInfo verifyTargetJava(File javaHome) { JavaVersionInfo javaVersionInfo = new JavaVersionInfo(); if (javaHome != null) { ! javaVersionInfo = Installation.getExternalJavaVersion(javaHome); ! if (javaVersionInfo.getErrorCode() != Installation.NORMAL_RETURN) { ! // switch back to current if an error occurred ! message(Installation.getText(TextKeys.C_TO_CURRENT_JAVA, javaVersionInfo.getReason())); javaHome = null; } } if (javaHome == null) { Installation.fillJavaVersionInfo(javaVersionInfo, System.getProperties()); ! javaHome = new File(System.getProperty(JavaVersionTester.JAVA_HOME)); } JavaInfo javaInfo = new JavaInfo(); --- 268,288 ---- private JavaInfo verifyTargetJava(File javaHome) { JavaVersionInfo javaVersionInfo = new JavaVersionInfo(); + String currentJavaHomeName = System.getProperty(JavaVersionTester.JAVA_HOME); if (javaHome != null) { ! if (currentJavaHomeName.equals(javaHome.getAbsolutePath())) { ! // no experiments if current java is selected javaHome = null; + } else { + javaVersionInfo = Installation.getExternalJavaVersion(javaHome); + if (javaVersionInfo.getErrorCode() != Installation.NORMAL_RETURN) { + // switch back to current if an error occurred + message(getText(C_TO_CURRENT_JAVA, javaVersionInfo.getReason())); + javaHome = null; + } } } if (javaHome == null) { Installation.fillJavaVersionInfo(javaVersionInfo, System.getProperties()); ! javaHome = new File(currentJavaHomeName); } JavaInfo javaInfo = new JavaInfo(); *************** *** 221,226 **** private void acceptLicense() { ! String read = question(Installation.getText(TextKeys.C_READ_LICENSE), getYNAnswers()); ! if (read.equalsIgnoreCase(Installation.getText(TextKeys.C_YES))) { String licenseText = "n/a"; try { --- 293,298 ---- private void acceptLicense() { ! String read = question(getText(C_READ_LICENSE), getYNAnswers()); ! if (read.equalsIgnoreCase(getText(C_YES))) { String licenseText = "n/a"; try { *************** *** 231,236 **** } } ! String accept = question(Installation.getText(TextKeys.C_ACCEPT), getYNAnswers()); ! if (!accept.equalsIgnoreCase(Installation.getText(TextKeys.C_YES))) { throw new InstallationCancelledException(); } --- 303,308 ---- } } ! String accept = question(getText(C_ACCEPT), getYNAnswers()); ! if (!accept.equalsIgnoreCase(getText(C_YES))) { throw new InstallationCancelledException(); } *************** *** 241,256 **** try { do { ! targetDirectory = new File(question(Installation.getText(TextKeys.C_ENTER_TARGET_DIRECTORY), true)); if (targetDirectory.exists()) { if (!targetDirectory.isDirectory()) { ! message(Installation.getText(TextKeys.C_NOT_A_DIRECTORY, targetDirectory.getCanonicalPath())); } else { if (targetDirectory.list().length > 0) { ! String overwrite = question(Installation.getText(TextKeys.C_OVERWRITE_DIRECTORY, targetDirectory.getCanonicalPath()), getYNAnswers()); ! if (overwrite.equalsIgnoreCase(Installation.getText(TextKeys.C_YES))) { ! String clear = question(Installation.getText(TextKeys.C_CLEAR_DIRECTORY, targetDirectory.getCanonicalPath()), getYNAnswers()); ! if (clear.equalsIgnoreCase(Installation.getText(TextKeys.C_YES))) { clearDirectory(targetDirectory); } --- 313,328 ---- try { do { ! targetDirectory = new File(question(getText(C_ENTER_TARGET_DIRECTORY), true)); if (targetDirectory.exists()) { if (!targetDirectory.isDirectory()) { ! message(getText(C_NOT_A_DIRECTORY, targetDirectory.getCanonicalPath())); } else { if (targetDirectory.list().length > 0) { ! String overwrite = question(getText(C_OVERWRITE_DIRECTORY, targetDirectory.getCanonicalPath()), getYNAnswers()); ! if (overwrite.equalsIgnoreCase(getText(C_YES))) { ! String clear = question(getText(C_CLEAR_DIRECTORY, targetDirectory.getCanonicalPath()), getYNAnswers()); ! if (clear.equalsIgnoreCase(getText(C_YES))) { clearDirectory(targetDirectory); } *************** *** 259,267 **** } } else { ! String create = question(Installation.getText(TextKeys.C_CREATE_DIRECTORY, targetDirectory .getCanonicalPath()), getYNAnswers()); ! if (create.equalsIgnoreCase(Installation.getText(TextKeys.C_YES))) { if (!targetDirectory.mkdirs()) { ! throw new InstallerException(Installation.getText(TextKeys.C_UNABLE_CREATE_DIRECTORY, targetDirectory.getCanonicalPath())); } --- 331,339 ---- } } else { ! String create = question(getText(C_CREATE_DIRECTORY, targetDirectory .getCanonicalPath()), getYNAnswers()); ! if (create.equalsIgnoreCase(getText(C_YES))) { if (!targetDirectory.mkdirs()) { ! throw new InstallerException(getText(C_UNABLE_CREATE_DIRECTORY, targetDirectory.getCanonicalPath())); } *************** *** 281,286 **** boolean javaFound = false; do { ! String javaHomeName = question(Installation.getText(TextKeys.C_ENTER_JAVA_HOME, CURRENT), true); ! if (CURRENT.equals(javaHomeName)) { javaHome = new File(System.getProperty(JavaVersionTester.JAVA_HOME)); } else { --- 353,358 ---- boolean javaFound = false; do { ! String javaHomeName = question(getText(C_ENTER_JAVA_HOME, _CURRENT), true); ! if (_CURRENT.equals(javaHomeName)) { javaHome = new File(System.getProperty(JavaVersionTester.JAVA_HOME)); } else { *************** *** 288,302 **** } if (!javaHome.exists()) { ! message(Installation.getText(TextKeys.C_NOT_FOUND, javaHome.getCanonicalPath())); } else { if (!javaHome.isDirectory()) { ! message(Installation.getText(TextKeys.C_NOT_A_DIRECTORY, javaHome.getCanonicalPath())); } else { binDir = new File(javaHome, "bin"); if (!binDir.exists()) { ! message(Installation.getText(TextKeys.C_NO_BIN_DIRECTORY, javaHome.getCanonicalPath())); } else { if (binDir.list(new JavaFilenameFilter()).length <= 0) { ! message(Installation.getText(TextKeys.C_NO_JAVA_EXECUTABLE, binDir.getCanonicalPath())); } else { javaFound = true; --- 360,374 ---- } if (!javaHome.exists()) { ! message(getText(C_NOT_FOUND, javaHome.getCanonicalPath())); } else { if (!javaHome.isDirectory()) { ! message(getText(C_NOT_A_DIRECTORY, javaHome.getCanonicalPath())); } else { binDir = new File(javaHome, "bin"); if (!binDir.exists()) { ! message(getText(C_NO_BIN_DIRECTORY, javaHome.getCanonicalPath())); } else { if (binDir.list(new JavaFilenameFilter()).length <= 0) { ! message(getText(C_NO_JAVA_EXECUTABLE, binDir.getCanonicalPath())); } else { javaFound = true; *************** *** 317,321 **** // create directory if (!targetDirectory.mkdirs()) { ! throw new InstallerException(Installation.getText(TextKeys.C_UNABLE_CREATE_DIRECTORY, targetDirectory.getCanonicalPath())); } --- 389,393 ---- // create directory if (!targetDirectory.mkdirs()) { ! throw new InstallerException(getText(C_UNABLE_CREATE_DIRECTORY, targetDirectory.getCanonicalPath())); } *************** *** 323,331 **** // assert it is an empty directory if (!targetDirectory.isDirectory()) { ! throw new InstallerException(Installation.getText(TextKeys.C_NOT_A_DIRECTORY, targetDirectory .getCanonicalPath())); } else { if (targetDirectory.list().length > 0) { ! throw new InstallerException(Installation.getText(TextKeys.C_NON_EMPTY_TARGET_DIRECTORY, targetDirectory.getCanonicalPath())); } --- 395,403 ---- // assert it is an empty directory if (!targetDirectory.isDirectory()) { ! throw new InstallerException(getText(C_NOT_A_DIRECTORY, targetDirectory .getCanonicalPath())); } else { if (targetDirectory.list().length > 0) { ! throw new InstallerException(getText(C_NON_EMPTY_TARGET_DIRECTORY, targetDirectory.getCanonicalPath())); } *************** *** 338,346 **** private void showReadme(final File targetDirectory) { ! String read = question(Installation.getText(TextKeys.C_READ_README), getYNAnswers()); ! if (read.equalsIgnoreCase(Installation.getText(TextKeys.C_YES))) { try { message(Installation.getReadmeText(targetDirectory.getCanonicalPath())); ! question(Installation.getText(TextKeys.C_PROCEED)); } catch (IOException ioe) { throw new InstallerException(ioe); --- 410,418 ---- private void showReadme(final File targetDirectory) { ! String read = question(getText(C_READ_README), getYNAnswers()); ! if (read.equalsIgnoreCase(getText(C_YES))) { try { message(Installation.getReadmeText(targetDirectory.getCanonicalPath())); ! question(getText(C_PROCEED)); } catch (IOException ioe) { throw new InstallerException(ioe); *************** *** 356,360 **** } if (!files[i].delete()) { ! throw new InstallerException(Installation.getText(TextKeys.C_UNABLE_TO_DELETE, files[i] .getAbsolutePath())); } --- 428,432 ---- } if (!files[i].delete()) { ! throw new InstallerException(getText(C_UNABLE_TO_DELETE, files[i] .getAbsolutePath())); } *************** *** 362,370 **** } ! private void promptForCopying(final File targetDirectory) { try { ! String proceed = question(Installation.getText(TextKeys.C_CONFIRM_TARGET, targetDirectory .getCanonicalPath()), getYNAnswers()); ! if (!proceed.equalsIgnoreCase(Installation.getText(TextKeys.C_YES))) { throw new InstallationCancelledException(); } --- 434,452 ---- } ! private void promptForCopying(final File targetDirectory, final InstallationType installationType, ! final File javaHome) { try { ! message(getText(C_SUMMARY)); ! message(" - " + InstallerCommandLine.INEXCLUDE_LIBRARY_MODULES + ": " ! + installationType.installLibraryModules()); ! message(" - " + InstallerCommandLine.INEXCLUDE_DEMOS_AND_EXAMPLES + ": " ! + installationType.installDemosAndExamples()); ! message(" - " + InstallerCommandLine.INEXCLUDE_DOCUMENTATION + ": " ! + installationType.installDocumentation()); ! message(" - " + InstallerCommandLine.INEXCLUDE_SOURCES + ": " + installationType.installSources()); ! message(" - JRE: " + javaHome.getAbsolutePath()); ! String proceed = question(getText(C_CONFIRM_TARGET, targetDirectory .getCanonicalPath()), getYNAnswers()); ! if (!proceed.equalsIgnoreCase(getText(C_YES))) { throw new InstallationCancelledException(); } *************** *** 376,382 **** private void success(final File targetDirectory) { try { ! message(Installation.getText(TextKeys.C_CONGRATULATIONS) + " " ! + Installation.getText(TextKeys.C_SUCCESS, _jarInfo.getVersion(), targetDirectory .getCanonicalPath())); } catch (IOException ioe) { --- 458,464 ---- private void success(final File targetDirectory) { try { ! message(getText(C_CONGRATULATIONS) + " " ! + getText(C_SUCCESS, _jarInfo.getVersion(), targetDirectory .getCanonicalPath())); } catch (IOException ioe) { *************** *** 387,392 **** private List getYNAnswers() { List answers = new ArrayList(2); ! answers.add(Installation.getText(TextKeys.C_YES)); ! answers.add(Installation.getText(TextKeys.C_NO)); return answers; } --- 469,474 ---- private List getYNAnswers() { List answers = new ArrayList(2); ! answers.add(getText(C_YES)); ! answers.add(getText(C_NO)); return answers; } *************** *** 396,399 **** --- 478,493 ---- } + private String getText(String textKey) { + return Installation.getText(textKey); + } + + private String getText(String textKey, String parameter0) { + return Installation.getText(textKey, parameter0); + } + + private String getText(String textKey, String parameter0, String parameter1) { + return Installation.getText(textKey, parameter0, parameter1); + } + private static class JavaInfo { private JavaVersionInfo _javaVersionInfo; *************** *** 438,442 **** public void progressStartScripts() { ! message(Installation.getText(TextKeys.GENERATING_START_SCRIPTS)); } --- 532,536 ---- public void progressStartScripts() { ! message(getText(GENERATING_START_SCRIPTS)); } Index: FrameInstaller.java =================================================================== RCS file: /cvsroot/jython/installer/src/java/org/python/util/install/FrameInstaller.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** FrameInstaller.java 20 Mar 2006 21:56:03 -0000 1.2 --- FrameInstaller.java 28 Mar 2006 23:20:27 -0000 1.3 *************** *** 14,20 **** private static final String FALSE = "0"; ! private static final String VERSION = "FrameInstaller.Version"; ! private static final String VENDOR = "FrameInstaller.Vendor"; ! private static final String SPEC_VERSION = "FrameInstaller.SpecVersion"; private static Properties _properties = new Properties(); --- 14,25 ---- private static final String FALSE = "0"; ! private static final String JAVA_VERSION_PROPERTY = "FrameInstaller.Version"; ! private static final String JAVA_VENDOR_PROPERTY = "FrameInstaller.Vendor"; ! private static final String JAVA_SPEC_VERSION_PROPERTY = "FrameInstaller.SpecVersion"; ! ! private static final String INEX_MOD_PROPERTY = "FrameInstaller.mod"; ! private static final String INEX_DEMO_PROPERTY = "FrameInstaller.demo"; ! private static final String INEX_DOC_PROPERTY = "FrameInstaller.doc"; ! private static final String INEX_SRC_PROPERTY = "FrameInstaller.src"; private static Properties _properties = new Properties(); *************** *** 72,95 **** } ! protected static String getInstallationType() { ! return getProperty(TextKeys.INSTALLATION_TYPE_PROPERTY, Installation.ALL); } ! protected static void setInstallationType(String installationType) { ! setProperty(TextKeys.INSTALLATION_TYPE_PROPERTY, installationType); } protected static JavaVersionInfo getJavaVersionInfo() { JavaVersionInfo javaVersionInfo = new JavaVersionInfo(); ! javaVersionInfo.setVersion(getProperty(VERSION)); ! javaVersionInfo.setVendor(getProperty(VENDOR)); ! javaVersionInfo.setSpecificationVersion(getProperty(SPEC_VERSION)); return javaVersionInfo; } protected static void setJavaVersionInfo(JavaVersionInfo javaVersionInfo) { ! setProperty(VERSION, javaVersionInfo.getVersion()); ! setProperty(VENDOR, javaVersionInfo.getVendor()); ! setProperty(SPEC_VERSION, javaVersionInfo.getSpecificationVersion()); } --- 77,124 ---- } ! protected static InstallationType getInstallationType() { ! InstallationType installationType = new InstallationType(); ! if (Boolean.valueOf(getProperty(INEX_MOD_PROPERTY)).booleanValue()) { ! installationType.addLibraryModules(); ! } else { ! installationType.removeLibraryModules(); ! } ! if (Boolean.valueOf(getProperty(INEX_DEMO_PROPERTY)).booleanValue()) { ! installationType.addDemosAndExamples(); ! } else { ! installationType.removeDemosAndExamples(); ! } ! if (Boolean.valueOf(getProperty(INEX_DOC_PROPERTY)).booleanValue()) { ! installationType.addDocumentation(); ! } else { ! installationType.removeDocumentation(); ! } ! if (Boolean.valueOf(getProperty(INEX_SRC_PROPERTY)).booleanValue()) { ! installationType.addSources(); ! } else { ! installationType.removeSources(); ! } ! return installationType; } ! protected static void setInstallationType(InstallationType installationType) { ! setProperty(INEX_MOD_PROPERTY, Boolean.toString(installationType.installLibraryModules())); ! setProperty(INEX_DEMO_PROPERTY, Boolean.toString(installationType.installDemosAndExamples())); ! setProperty(INEX_DOC_PROPERTY, Boolean.toString(installationType.installDocumentation())); ! setProperty(INEX_SRC_PROPERTY, Boolean.toString(installationType.installSources())); } protected static JavaVersionInfo getJavaVersionInfo() { JavaVersionInfo javaVersionInfo = new JavaVersionInfo(); ! javaVersionInfo.setVersion(getProperty(JAVA_VERSION_PROPERTY)); ! javaVersionInfo.setVendor(getProperty(JAVA_VENDOR_PROPERTY)); ! javaVersionInfo.setSpecificationVersion(getProperty(JAVA_SPEC_VERSION_PROPERTY)); return javaVersionInfo; } protected static void setJavaVersionInfo(JavaVersionInfo javaVersionInfo) { ! setProperty(JAVA_VERSION_PROPERTY, javaVersionInfo.getVersion()); ! setProperty(JAVA_VENDOR_PROPERTY, javaVersionInfo.getVendor()); ! setProperty(JAVA_SPEC_VERSION_PROPERTY, javaVersionInfo.getSpecificationVersion()); } |