private static boolean proceedInputProperties(String id, Properties props) {
        while (true) {
            printMessage("property.start1");
            printMessage("property.start2");
            for (String key : PROP_KEYS) {
                String value = props.getProperty(key);
                print(res.get("property.input", key, value));
                String input = getInput("");
                if (input != null && input.length() > 0) {
                    props.setProperty(key, input);
                }
            }
            for (String key : PROP_KEYS) {
                printLine(key + "=" + props.getProperty(key));
            }
            if (confirmYes("property.tryconnect.confirm")) {
                try {
                    Connector c = new Connector(id, props);
                    c.getConnection();
                    printMessage("property.tryconnect.succeeded");
                } catch (SQLException ex) {
                    printMessage("property.tryconnect.failed", ex.getMessage());
                }
            }
            if (confirmYes("property.update.confirm")) {
                return true;
            }
            if (!confirmYes("property.retry.confirm")) {
                printMessage("property.update.cancel");
                return false;
            }
        }
    }