package io.cattle.platform.archaius.sources; import java.util.HashMap; import java.util.Map; import org.apache.commons.configuration.MapConfiguration; import org.apache.commons.lang.StringUtils; public abstract class AbstractTransformedEnvironmentProperties extends MapConfiguration implements NamedConfigurationSource { public AbstractTransformedEnvironmentProperties(String contains, String prefix) { super(getValues(contains, prefix)); } protected static Map<String, Object> getValues(String contains, String prefix) { Map<String, Object> values = new HashMap<String, Object>(); for (Map.Entry<String, String> entry : System.getenv().entrySet()) { String key = entry.getKey(); if (StringUtils.isNotBlank(contains) && !key.contains(contains)) { continue; } if (key.startsWith(prefix)) { key = key.substring(prefix.length()); } key = key.replace('_', '.').toLowerCase(); if (!StringUtils.isBlank(entry.getValue())) { values.put(key, entry.getValue()); } } return values; } }