/** * Returns the value of the specified variable. * * @param name the variable name * @param defaultValue the default value if the variable doesn't exist, or is {@code null} */ @Override public String get(String name, String defaultValue) { final String value = properties.getProperty(name, defaultValue); return containsOverride(name) ? overrides.fetch(name, value) : value; }
@Override public boolean containsOverride(String name) { return (overrides != null) && overrides.containsKey(name); }
/** * Launches an {@link AutomatedInstaller}. * * @param path the input file path * @param mediaDir the multi-volume media directory. May be <tt>null</tt> * @param defaults the overrides, pre-initialized with a file name but not loaded * @param args more command line arguments * @throws Exception for any error */ private void launchAutomatedInstaller(String path, String mediaDir, Overrides defaults, String[] args) throws Exception { InstallerContainer container = new AutomatedInstallerContainer(); if (defaults != null) { defaults.setInstallData(container.getComponent(AutomatedInstallData.class)); defaults.load(); logger.info("Loaded " + defaults.size() + " override(s) from " + defaults.getFile()); DefaultVariables variables = container.getComponent(DefaultVariables.class); variables.setOverrides(defaults); } AutomatedInstaller automatedInstaller = container.getComponent(AutomatedInstaller.class); automatedInstaller.init(path, mediaDir, args); automatedInstaller.doInstall(); }
/** * Sets a variable explicitly. * This is considered a permanent user change and overrides on the according name are removed. * * @param name the variable name * @param value the variable value. May be {@code null} */ @Override public void set(String name, String value) { // Prevent from re-applying when pressing Previous button in panel // but preserve user values made at the panel where Previous has been pressed if (overrides != null) { overrides.remove(name); } if (value != null) { properties.setProperty(name, value); logger.fine("Dynamic variable '" + name + "' set to '" + value + "'"); } else { properties.remove(name); logger.fine("Dynamic variable '" + name + "' unset"); } }
defaults.setInstallData(applicationComponent.getComponent(InstallData.class)); defaults.load(); logger.info("Loaded " + defaults.size() + " override(s) from " + defaults.getFile());
defaults.setInstallData(installData); defaults.load(); logger.info("Loaded " + defaults.size() + " override(s) from " + defaults.getFile());
@Override public void processOptions(InstallData installData, Overrides overrides) { String path = overrides.fetch(InstallData.INSTALL_PATH); handleInstallPath(installData, path); }
@Override public void processOptions(InstallData installData, Overrides overrides) { String path = overrides.fetch(InstallData.INSTALL_PATH); if (path != null) { handleInstallPath(installData, path); } }
/** * Returns the value of the specified variable. * * @param name the variable name * @return the value. May be {@code null} */ @Override public String get(String name) { return containsOverride(name) ? overrides.fetch(name) : properties.getProperty(name); }