private String askPluginOptionOptional(TransferSettings settings, TransferPluginOption option) throws StorageException { String knownOptionValue = settings.getField(option.getField().getName()); String value = knownOptionValue; if (knownOptionValue == null || "".equals(knownOptionValue)) { String defaultValueDescription = settings.getField(option.getField().getName()); if (defaultValueDescription == null) { defaultValueDescription = "none"; } out.printf("- %s (optional, default is %s): ", getDescription(settings, option), defaultValueDescription); value = console.readLine(); } else { out.printf("- %s (%s): ", getDescription(settings, option), knownOptionValue); value = console.readLine(); if ("".equals(value)) { value = knownOptionValue; } } return value; }
private String askPluginOptionSensitive(TransferSettings settings, TransferPluginOption option) throws StorageException { String knownOptionValue = settings.getField(option.getField().getName()); String value = knownOptionValue; String optionalIndicator = option.isRequired() ? "" : ", optional"; if (option.isSingular() || knownOptionValue == null || "".equals(knownOptionValue)) { out.printf("- %s (not displayed%s): ", getDescription(settings, option), optionalIndicator); value = String.copyValueOf(console.readPassword()); } else { out.printf("- %s (***, not displayed%s): ", getDescription(settings, option), optionalIndicator); value = String.copyValueOf(console.readPassword()); if ("".equals(value)) { value = knownOptionValue; } } return value; }
private String askPluginOptionNormal(TransferSettings settings, TransferPluginOption option) throws StorageException { String knownOptionValue = settings.getField(option.getField().getName()); String value = knownOptionValue; if (option.isSingular() || knownOptionValue == null || "".equals(knownOptionValue)) { out.printf("- %s: ", getDescription(settings, option)); value = console.readLine(); } else { out.printf("- %s (%s): ", getDescription(settings, option), knownOptionValue); value = console.readLine(); if ("".equals(value)) { value = knownOptionValue; } } return value; }
private void askNormalPluginSettings(TransferSettings settings, TransferPluginOption option, Map<String, String> knownPluginSettings, String nestPrefix) throws StorageException, InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException, SecurityException { TransferPluginOptionCallback optionCallback = createOptionCallback(settings, option.getCallback()); TransferPluginOptionConverter optionConverter = createOptionConverter(settings, option.getConverter()); if (!isInteractive && !knownPluginSettings.containsKey(nestPrefix + option.getName())) { throw new IllegalArgumentException("Missing plugin option (" + nestPrefix + option.getName() + ") in non-interactive mode."); } else if (knownPluginSettings.containsKey(nestPrefix + option.getName())) { settings.setField(option.getField().getName(), knownPluginSettings.get(nestPrefix + option.getName())); } else if (!option.isVisible()) { // Do nothing. Invisible option! } else { callAndPrintPreQueryCallback(optionCallback); String optionValue = askPluginOption(settings, option); if (optionConverter != null) { optionValue = optionConverter.convert(optionValue); } settings.setField(option.getField().getName(), optionValue); callAndPrintPostQueryCallback(optionCallback, optionValue); } }
settings.setField(option.getField().getName(), childSettings); nestPrefix = nestPrefix + option.getName() + NESTED_OPTIONS_SEPARATOR;