@Override public DatabaseInfo parse(String url) { if (url == null) { return JDBCUrlParser.createUnknownDataBase( ServiceType.CUBRID, ServiceType.CUBRID_EXECUTE_QUERY, null); } final Matcher matcher = PATTERN.matcher(url); if (!matcher.find()) { logger.warn("Cubrid connectionString parse fail. url:{}", url); return JDBCUrlParser.createUnknownDataBase( ServiceType.CUBRID, ServiceType.CUBRID_EXECUTE_QUERY, url); } String host = matcher.group(2); String portString = matcher.group(3); String db = matcher.group(4); String user = matcher.group(5); // String pass = matcher.group(6); // String prop = matcher.group(7); int port = DEFAULT_PORT; // String resolvedUrl; if (host == null || host.length() == 0) { host = DEFAULT_HOSTNAME; } if (portString == null || portString.length() == 0) { port = DEFAULT_PORT; } else { try { port = Integer.parseInt(portString); } catch (NumberFormatException e) { logger.warn("cubrid portString parsing fail. portString:{}, url:{}", portString, url); } } if (user == null) { user = DEFAULT_USER; } // if (pass == null) { // pass = DEFAULT_PASSWORD; // } // resolvedUrl = "jdbc:cubrid:" + host + ":" + port + ":" + db + ":" + user + // ":********:"; StringMaker maker = new StringMaker(url); String normalizedUrl = maker.clear().before('?').value(); List<String> hostList = new ArrayList<String>(1); final String hostAndPort = host + ":" + portString; hostList.add(hostAndPort); // skip alt host return new DefaultDatabaseInfo( ServiceType.CUBRID, ServiceType.CUBRID_EXECUTE_QUERY, url, normalizedUrl, hostList, db); }