Search in sources :

Example 1 with IncConfigs

use of io.servicecomb.foundation.common.config.impl.IncConfigs in project java-chassis by ServiceComb.

the class ConfigMgr method init.

public void init() throws Exception {
    List<Resource> resArr = PaaSResourceUtils.getSortedResources("classpath*:config/config.inc.xml", ".inc.xml");
    IncConfigs incConfigs = new IncConfigs();
    incConfigs.setPropertiesList(new ArrayList<>());
    incConfigs.setXmlList(new ArrayList<>());
    for (Resource resource : resArr) {
        IncConfigs tmp = XmlLoaderUtils.load(resource, IncConfigs.class);
        if (tmp.getPropertiesList() != null) {
            incConfigs.getPropertiesList().addAll(tmp.getPropertiesList());
        }
        if (tmp.getXmlList() != null) {
            incConfigs.getXmlList().addAll(tmp.getXmlList());
        }
    }
    configLoaderMap = new HashMap<>();
    for (IncConfig incConfig : incConfigs.getPropertiesList()) {
        PropertiesLoader loader = (PropertiesLoader) configLoaderMap.get(incConfig.getId());
        if (loader != null) {
            loader.getLocationPatternList().addAll(incConfig.getPathList());
            continue;
        }
        configLoaderMap.put(incConfig.getId(), new PropertiesLoader(incConfig.getPathList()));
    }
    for (IncConfig incConfig : incConfigs.getXmlList()) {
        XmlLoader loader = (XmlLoader) configLoaderMap.get(incConfig.getId());
        if (loader != null) {
            loader.getLocationPatternList().addAll(incConfig.getPathList());
            continue;
        }
        configLoaderMap.put(incConfig.getId(), new XmlLoader(incConfig.getPathList()));
    }
}
Also used : IncConfig(io.servicecomb.foundation.common.config.impl.IncConfigs.IncConfig) IncConfigs(io.servicecomb.foundation.common.config.impl.IncConfigs) Resource(org.springframework.core.io.Resource) XmlLoader(io.servicecomb.foundation.common.config.impl.XmlLoader) PropertiesLoader(io.servicecomb.foundation.common.config.impl.PropertiesLoader)

Aggregations

IncConfigs (io.servicecomb.foundation.common.config.impl.IncConfigs)1 IncConfig (io.servicecomb.foundation.common.config.impl.IncConfigs.IncConfig)1 PropertiesLoader (io.servicecomb.foundation.common.config.impl.PropertiesLoader)1 XmlLoader (io.servicecomb.foundation.common.config.impl.XmlLoader)1 Resource (org.springframework.core.io.Resource)1