private void initFromUri()

in appactive-java-client/client-rule/src/main/java/io/appactive/rule/traffic/impl/IdSourceRuleImpl.java [52:74]


    private void initFromUri(String uri) {

        ConverterInterface<String, IdSourceRule> converterInterface = (source) -> {
            JSONObject jo = JSON.parseObject(source);
            String tokenKey = jo.getString("tokenKey");
            List<IdSourceEnum> list = new LinkedList<>();
            for (String s : jo.getString("source").split(",")) {
                list.add(IdSourceEnum.valueOf(s));
            }
            IdSourceRule idSourceRule = new IdSourceRule();
            idSourceRule.setTokenKey(tokenKey);
            idSourceRule.setSourceList(list);
            return idSourceRule;
        };
        ConfigReadDataSource<IdSourceRule> readDataSource =  ClientChannelService.getConfigReadDataSource(uri, converterInterface);
        try {
            idSourceRule = readDataSource.read();
        } catch (Exception e) {
            String msg = "initFromUri exception:" + e.getMessage();
            LogUtil.error(msg,e);
            throw ExceptionFactory.makeFault(msg);
        }
    }