package com.alibaba.doris.common.adminservice.impl; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; import com.alibaba.doris.common.AdminServiceConstants; import com.alibaba.doris.common.adminservice.BaseAdminService; import com.alibaba.doris.common.adminservice.CommonConfigService; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; public class CommonConfigServiceImpl extends BaseAdminService<Map<String, String>> implements CommonConfigService { public static final CommonConfigService instance = new CommonConfigServiceImpl(); private CommonConfigServiceImpl() { } public static CommonConfigService getInstance() { return instance; } /** * any value inside this map cannot be null; otherwise, treated as no * version specified. */ public Map<String, String> getConfig(Map<String, Long> actionVersions) { Map<String, String> paras = new HashMap<String, String>(); String actionName = StringUtils.join(actionVersions.keySet(), ","); String versions = StringUtils.join(actionVersions.values(), ","); paras.put(AdminServiceConstants.COMMON_CONFIG_ACTION_ITEMS, actionName); paras.put(AdminServiceConstants.COMMON_CONFIG_VERSION_ITEMS, versions); return requestForce(paras); } @Override public Map<String, String> convert(String response) { if (response == null) { return new HashMap<String, String>(); } TypeReference<Map<String, String>> mtf = new TypeReference<Map<String, String>>() {}; return JSON.parseObject(response, mtf); } @Override public String getActionName() { return AdminServiceConstants.COMMON_CONFIG_ACTION; } public Map<String, String> getConfig(List<String> actions) { Map<String, Long> paras = new HashMap<String, Long>(); for (String action : actions) { paras.put(action, null); } return getConfig(paras); } }