当前位置: 首页>>代码示例>>Java>>正文


Java PropertiesProvider类代码示例

本文整理汇总了Java中org.cfg4j.source.context.propertiesprovider.PropertiesProvider的典型用法代码示例。如果您正苦于以下问题:Java PropertiesProvider类的具体用法?Java PropertiesProvider怎么用?Java PropertiesProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


PropertiesProvider类属于org.cfg4j.source.context.propertiesprovider包,在下文中一共展示了PropertiesProvider类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: loadConfigFromPath

import org.cfg4j.source.context.propertiesprovider.PropertiesProvider; //导入依赖的package包/类
public void loadConfigFromPath(KeyValueClient kvClient) throws IOException {
  Path start = Paths.get(configPath);
  Files.walkFileTree(start, new SimpleFileVisitor<Path>() {
    @Override
    public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {

      if (acceptablePropertyExtensions.stream()
          .filter(s -> file.toString().toLowerCase().contains(s)).count() > 0) {
        LOGGER.info("found config file: " + file.getFileName().toString() + " in context "
            + start.relativize(file.getParent()).toString());

        try (InputStream input = new FileInputStream(file.toFile())) {

          Properties properties = new Properties();
          PropertiesProvider provider =
              selectPropertiesProviderByExtention(file.getFileName().toString());
          properties.putAll(provider.getProperties(input));

          String prefix = start.relativize(file.getParent()).toString();

          properties.entrySet().stream().parallel().forEach(prop -> {
            LOGGER.debug("found property name: " + prop.getKey().toString() + " ; and value: "
                + prop.getValue().toString());
            kvClient.putValue(globalPrefix + "/" + prefix + "/" + prop.getKey().toString(),
                prop.getValue().toString());
          });

        } catch (IOException e) {
          throw new IllegalStateException("Unable to load properties from file: " + file, e);
        }
      }
      return FileVisitResult.CONTINUE;
    }
  });
}
 
开发者ID:edgexfoundry,项目名称:core-config-seed,代码行数:36,代码来源:EdgeXConfigSeedApplication.java

示例2: selectPropertiesProviderByExtention

import org.cfg4j.source.context.propertiesprovider.PropertiesProvider; //导入依赖的package包/类
public PropertiesProvider selectPropertiesProviderByExtention(String fileName) {
  if (yamlExtensions.stream().filter(s -> fileName.toLowerCase().contains(s))
      .count() > 0) {
    return yamlBasedPropertiesProvider;
  } else {
    return propertyBasedPropertiesProvider;
  }
}
 
开发者ID:edgexfoundry,项目名称:core-config-seed,代码行数:9,代码来源:EdgeXConfigSeedApplication.java

示例3: run

import org.cfg4j.source.context.propertiesprovider.PropertiesProvider; //导入依赖的package包/类
public void run(String... args) throws Exception {

    LOG.info("Connecting to Consul client at " + host + ":" + port);

    Consul consul = Consul.newClient(host, port);
    kvClient = consul.keyValueClient();

    PropertiesProviderSelector propertiesProviderSelector = new PropertiesProviderSelector(
        new PropertyBasedPropertiesProvider(), new YamlBasedPropertiesProvider()
    );

    Path start = Paths.get(configPath);
    Files.walkFileTree(start, new SimpleFileVisitor<Path>() {
      @Override
      public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {

        if (file.toString().endsWith(".yaml") || file.toString().endsWith("properties")) {
          LOG.info("found config file: " + file.getFileName().toString() + " in context " + start.relativize(file.getParent()).toString());

          try (InputStream input = new FileInputStream(file.toFile())) {

            Properties properties = new Properties();
            PropertiesProvider provider = propertiesProviderSelector.getProvider(file.getFileName().toString());
            properties.putAll(provider.getProperties(input));

            String prefix = start.relativize(file.getParent()).toString();

            for (Map.Entry<Object, Object> prop : properties.entrySet()) {
              kvClient.putValue(globalPrefix + "/" + prefix + "/" + prop.getKey().toString(), prop.getValue().toString());
            }

          } catch (IOException e) {
            throw new IllegalStateException("Unable to load properties from file: " + file, e);
          }
        }

        return FileVisitResult.CONTINUE;
      }
    });
  }
 
开发者ID:cfg4j,项目名称:cfg4j-pusher,代码行数:41,代码来源:MainController.java


注:本文中的org.cfg4j.source.context.propertiesprovider.PropertiesProvider类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。