private void init()

in src/main/java/com/aliyun/ha3engine/jdbc/common/config/Ha3Config.java [66:113]


    private void init(String jdbcUrl, Properties props) throws SQLException {
        this.jdbcUrl = jdbcUrl;
        String[] jdbcParts = jdbcUrl.split("\\?");
        if (jdbcParts.length > 0) {
            String urlType = jdbcParts[0].replace(Ha3ToolUtils.URL_PREFIX, "");
            if (StringUtils.isEmpty(urlType)) {
                this.username = props.getProperty("user", props.getProperty("username"));
                this.password = props.getProperty("pass", props.getProperty("password"));

                this.serviceName = props.getProperty("serviceName");

                String enableDetailLog = props.getProperty("enableDetailLog");
                if ("true".equals(enableDetailLog)) {
                    this.enableDetailLog = true;
                }

                String enableDynamicParams = props.getProperty("enableDynamicParams");
                if ("true".equals(enableDynamicParams)) {
                    this.enableDynamicParams = true;
                }

                String mode = props.getProperty("mode");
                if ("local".equals(mode)) {
                    localMode = true;
                }
            } else {
                String[] urlParams = jdbcParts[1].split("&");
                Map<String, String> paramMap = new HashMap();
                for (int i = 0; i < urlParams.length; i++) {
                    String[] keyValue = urlParams[i].split("=");
                    paramMap.put(keyValue[0], keyValue[1]);
                }
                String enableDetailLog = paramMap.get("enableDetailLog");
                if ("true".equals(enableDetailLog)) {
                    this.enableDetailLog = true;
                }

                String enableDynamicParams = paramMap.get("enableDynamicParams");
                if ("true".equals(enableDynamicParams)) {
                    this.enableDynamicParams = true;
                }

                this.serviceName = paramMap.get("serviceName");
                this.username = paramMap.get("username");
                this.password = paramMap.get("password");
            }
        }
    }