/** * @param config * @param properties */ public ConnectionURLBuilder(Config config, Properties properties) { List<String> opts = new ArrayList<String>(); for (String key : config.getDbSpecificOptions().keySet()) { opts.add((key.startsWith("-") ? "" : "-") + key); opts.add(config.getDbSpecificOptions().get(key)); } opts.addAll(config.getRemainingParameters()); DbSpecificConfig dbConfig = new DbSpecificConfig(config.getDbType()); options = dbConfig.getOptions(); connectionURL = buildUrl(opts, properties, config); List<String> remaining = config.getRemainingParameters(); for (DbSpecificOption option : options) { int idx = remaining.indexOf("-" + option.getName()); if (idx >= 0) { remaining.remove(idx); // -paramKey remaining.remove(idx); // paramValue } } logger.config("connectionURL: " + connectionURL); }