in dubbo-admin-server/src/main/java/org/apache/dubbo/admin/service/impl/OverrideServiceImpl.java [47:75]
public void saveOverride(DynamicConfigDTO override) {
String id = ConvertUtil.getIdFromDTO(override);
String path = getPath(id);
String exitConfig = dynamicConfiguration.getConfig(path);
List<OverrideConfig> configs = new ArrayList<>();
OverrideDTO existOverride = new DynamicConfigDTO2OverrideDTOAdapter(override);
if (exitConfig != null) {
existOverride = YamlParser.loadObject(exitConfig, OverrideDTO.class);
if (existOverride.getConfigs() != null) {
for (OverrideConfig overrideConfig : existOverride.getConfigs()) {
if (Constants.CONFIGS.contains(overrideConfig.getType())) {
configs.add(overrideConfig);
}
}
}
}
configs.addAll(override.getConfigs());
existOverride.setEnabled(override.isEnabled());
existOverride.setConfigs(configs);
dynamicConfiguration.setConfig(path, YamlParser.dumpObject(existOverride));
//for2.6
if (StringUtils.isNotEmpty(override.getService())) {
List<Override> result = convertDTOtoOldOverride(override);
for (Override o : result) {
registry.register(o.toUrl().addParameter(Constants.COMPATIBLE_CONFIG, true));
}
}
}