Escape `.` in `String.replaceFirst` as it acts as a wildcard (#7576)

This commit is contained in:
kezhenxu94 2021-08-26 17:06:02 +08:00 committed by GitHub
parent 157e146953
commit af325b6674
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 10 deletions

View File

@ -59,8 +59,8 @@ public class ConfigmapConfigurationWatcherRegister extends ConfigWatcherRegister
GroupConfigTable.GroupConfigItems groupConfigItems = new GroupConfigTable.GroupConfigItems(key);
groupConfigTable.addGroupConfigItems(groupConfigItems);
configMapData.forEach((groupItemKey, itemValue) -> {
if (groupItemKey.startsWith(key)) {
String itemName = groupItemKey.replaceFirst(key + ".", "");
if (groupItemKey.startsWith(key + ".")) {
String itemName = groupItemKey.substring(key.length() + 1);
groupConfigItems.add(new ConfigTable.ConfigItem(itemName, itemValue));
}
});

View File

@ -29,6 +29,7 @@ import io.kubernetes.client.openapi.models.V1ConfigMapList;
import io.kubernetes.client.util.Config;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ExecutorService;
@ -86,14 +87,17 @@ public class ConfigurationConfigmapInformer {
public Map<String, String> configMapData() {
Map<String, String> configMapData = new HashMap<>();
if (configMapLister != null && configMapLister.list() != null) {
configMapLister.list().forEach(cf -> {
Map<String, String> data = cf.getData();
if (data == null) {
return;
}
configMapData.putAll(data);
});
if (configMapLister != null) {
final List<V1ConfigMap> list = configMapLister.list();
if (list != null) {
list.forEach(cf -> {
Map<String, String> data = cf.getData();
if (data == null) {
return;
}
configMapData.putAll(data);
});
}
}
return configMapData;