public void addAclConfig()

in src/main/java/org/apache/rocketmq/dashboard/service/impl/AclServiceImpl.java [81:108]


    public void addAclConfig(PlainAccessConfig config) {
        try {
            Set<String> masterSet = getMasterSet();

            if (masterSet.isEmpty()) {
                throw new IllegalStateException("broker addr list is empty");
            }
            // check to see if account is exists
            for (String addr : masterSet) {
                AclConfig aclConfig = mqAdminExt.examineBrokerClusterAclConfig(addr);
                List<PlainAccessConfig> plainAccessConfigs = aclConfig.getPlainAccessConfigs();
                for (PlainAccessConfig pac : plainAccessConfigs) {
                    if (pac.getAccessKey().equals(config.getAccessKey())) {
                        throw new IllegalArgumentException(String.format("broker: %s, exist accessKey: %s", addr, config.getAccessKey()));
                    }
                }
            }

            // all broker
            for (String addr : getBrokerAddrs()) {
                mqAdminExt.createAndUpdatePlainAccessConfig(addr, config);
            }
        } catch (Exception e) {
            Throwables.throwIfUnchecked(e);
            throw new RuntimeException(e);
        }

    }