public static JdbcUrlSpiltResult spilt()

in appactive-java-client/client-bridge/client-bridge-db-mysql/src/main/java/io/appactive/db/mysql/utils/JDBCUrlSplitterUtil.java [27:63]


    public static JdbcUrlSpiltResult spilt(String jdbcUrl) {
        JdbcUrlSpiltResult result = new JdbcUrlSpiltResult();
        int pos, pos1, pos2;
        if (jdbcUrl == null || !jdbcUrl.startsWith("jdbc:")
            || (pos1 = jdbcUrl.indexOf(':', 5)) == -1) {
            return null;
        }
        if (jdbcUrl.contains("?")) {
            jdbcUrl = jdbcUrl.substring(0, jdbcUrl.indexOf("?"));
        }

        if (jdbcUrl.contains(";")) {
            jdbcUrl = jdbcUrl.substring(0, jdbcUrl.indexOf(";"));
        }
        String connUri;
        result.setDriverName(jdbcUrl.substring(5, pos1));
        if ((pos2 = jdbcUrl.indexOf(';', pos1)) == -1) {
            connUri = jdbcUrl.substring(pos1 + 1);
        } else {
            connUri = jdbcUrl.substring(pos1 + 1, pos2);
            result.setParams(jdbcUrl.substring(pos2 + 1));
        }

        if (connUri.startsWith("//")) {
            if ((pos = connUri.indexOf('/', 2)) != -1) {
                result.setHost(connUri.substring(2, pos));
                result.setDbName(connUri.substring(pos + 1));
                if ((pos = result.getHost().indexOf(':')) != -1) {
                    result.setPort(result.getHost().substring(pos + 1));
                    result.setHost(result.getHost().substring(0, pos));
                }
            }
        } else {
            result.setDbName(connUri);
        }
        return result;
    }