gpt4 book ai didi

org.cloudfoundry.identity.uaa.impl.config.YamlMapFactoryBean类的使用及代码示例

转载 作者:知者 更新时间:2024-03-16 03:55:31 25 4
gpt4 key购买 nike

本文整理了Java中org.cloudfoundry.identity.uaa.impl.config.YamlMapFactoryBean类的一些代码示例,展示了YamlMapFactoryBean类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。YamlMapFactoryBean类的具体详情如下:
包路径:org.cloudfoundry.identity.uaa.impl.config.YamlMapFactoryBean
类名称:YamlMapFactoryBean

YamlMapFactoryBean介绍

[英]Factory for Map that reads from a YAML source. YAML is a nice human-readable format for configuration, and it has some useful hierarchical properties. It's more or less a superset of JSON, so it has a lot of similar features. If multiple resources are provided the later ones will override entries in the earlier ones hierarchically - that is all entries with the same nested key of type Map at any depth are merged. For example:

foo: 
bar: 
one: two 
three: four

plus (later in the list)

foo: 
bar: 
one: 2 
five: six

results in an effecive input of

foo: 
bar: 
one: 2 
three: four 
five: six

Note that the value of "foo" in the first document is not simply replaced with the value in the second, but it's nested values are merged.
[中]从YAML源读取地图的工厂。YAML是一种很好的人类可读的配置格式,它具有一些有用的层次属性。它或多或少是JSON的超集,所以它有很多类似的特性。如果提供了多个资源,后面的资源将按层次覆盖前面资源中的条目——也就是说,在任何深度具有相同类型映射的嵌套键的所有条目都将被合并。例如:

foo: 
bar: 
one: two 
three: four

plus(列表后面)

foo: 
bar: 
one: 2 
five: six

会产生有效的

foo: 
bar: 
one: 2 
three: four 
five: six

输入。请注意,第一个文档中的“foo”值不是简单地替换为第二个文档中的值,而是合并了它的嵌套值。

代码示例

代码示例来源:origin: cloudfoundry/uaa

public Map<String, Object> getYamlConfig(Resource resource) {
  YamlMapFactoryBean factory = new YamlMapFactoryBean();
  factory.setResolutionMethod(YamlProcessor.ResolutionMethod.OVERRIDE_AND_IGNORE);
  factory.setResources(new Resource[] {resource});
  Map<String, Object> result = factory.getObject();
  String yamlStr = (new Yaml()).dump(result);
  result.put(RAW_YAML, yamlStr);
  return result;
}

代码示例来源:origin: cloudfoundry/uaa

@Override
public Map<String, Object> getObject() {
  if (instance == null) {
    instance = doGetObject();
  }
  return instance;
}

代码示例来源:origin: cloudfoundry/uaa

@SuppressWarnings({ "unchecked", "rawtypes" })
private void merge(Map<String, Object> output, Map<String, Object> map) {
  for (Entry<String, Object> entry : map.entrySet()) {
    String key = entry.getKey();
    Object value = entry.getValue();
    Object existing = output.get(key);
    if (value instanceof Map && existing instanceof Map) {
      Map<String, Object> result = new LinkedHashMap<String, Object>((Map) existing);
      merge(result, (Map) value);
      output.put(key, result);
    }
    else {
      output.put(key, value);
    }
  }
}

代码示例来源:origin: cloudfoundry/uaa

@Test
public void testSetIgnoreResourceNotFound() throws Exception {
  factory.setResolutionMethod(YamlMapFactoryBean.ResolutionMethod.OVERRIDE_AND_IGNORE);
  factory.setResources(new FileSystemResource[] { new FileSystemResource("non-exsitent-file.yml") });
  assertEquals(0, factory.getObject().size());
}

代码示例来源:origin: cloudfoundry/uaa

@Test(expected = IllegalStateException.class)
public void testSetBarfOnResourceNotFound() throws Exception {
  factory.setResources(new FileSystemResource[] { new FileSystemResource("non-exsitent-file.yml") });
  assertEquals(0, factory.getObject().size());
}

代码示例来源:origin: cloudfoundry/uaa

private Map<String, Object> doGetObject() {
  final Map<String, Object> result = new LinkedHashMap<String, Object>();
  MatchCallback callback = new MatchCallback() {
    @Override
    public void process(Properties properties, Map<String, Object> map) {
      merge(result, map);
    }
  };
  process(callback);
  return result;
}

代码示例来源:origin: cloudfoundry/uaa

@Test
public void testFirstFound() throws Exception {
  factory.setResolutionMethod(ResolutionMethod.FIRST_FOUND);
  factory.setResources(new Resource[] { new AbstractResource() {
    @Override
    public String getDescription() {
      return "non-existent";
    }
    @Override
    public InputStream getInputStream() throws IOException {
      throw new IOException("planned");
    }
  }, new ByteArrayResource("foo:\n  spam: bar".getBytes()) });
  assertEquals(1, factory.getObject().size());
}

代码示例来源:origin: cloudfoundry/uaa

@SuppressWarnings("unchecked")
@Test
public void testOverrideAndremoveDefaults() throws Exception {
  factory.setResources(new ByteArrayResource[] { new ByteArrayResource("foo:\n  bar: spam".getBytes()),
          new ByteArrayResource("foo:\n  spam: bar".getBytes()) });
  assertEquals(1, factory.getObject().size());
  assertEquals(2, ((Map<String, Object>) factory.getObject().get("foo")).size());
}

代码示例来源:origin: cloudfoundry/uaa

public Map<String,Object> getLdapConfig(String config) throws UnsupportedEncodingException {
  YamlMapFactoryBean factory = new YamlMapFactoryBean();
  factory.setResolutionMethod(YamlProcessor.ResolutionMethod.OVERRIDE_AND_IGNORE);
  factory.setResources(new Resource[]{new ByteArrayResource(config.getBytes("UTF-8"))});
  Map<String, Object> map = (Map<String, Object>) factory.getObject().get(LDAP);
  Map<String, Object> result = new HashMap<>();
  result.put(LDAP, map);
  return UaaMapUtils.flatten(result);
}

代码示例来源:origin: cloudfoundry/uaa

@Test
public void testGetObject() throws Exception {
  factory.setResources(new ByteArrayResource[] { new ByteArrayResource("foo: bar".getBytes()) });
  assertEquals(1, factory.getObject().size());
}

代码示例来源:origin: cloudfoundry/uaa

@Override
  public org.springframework.core.env.PropertySource<?> createPropertySource(String name, EncodedResource resource) {
    YamlMapFactoryBean factory = new YamlMapFactoryBean();
    factory.setResolutionMethod(YamlProcessor.ResolutionMethod.OVERRIDE_AND_IGNORE);
    factory.setResources(new Resource[]{resource.getResource()});

    Map<String, Object> yamlMap = factory.getObject();
    String yamlStr = (new Yaml()).dump(yamlMap);
    yamlMap.put("environmentYamlKey", yamlStr);

    return new NestedMapPropertySource("servletConfigYaml", yamlMap);
  }
}

代码示例来源:origin: cloudfoundry/uaa

@Override
  public org.springframework.core.env.PropertySource<?> createPropertySource(String name, EncodedResource resource) {
    YamlMapFactoryBean factory = new YamlMapFactoryBean();
    factory.setResolutionMethod(YamlProcessor.ResolutionMethod.OVERRIDE_AND_IGNORE);
    factory.setResources(new Resource[]{resource.getResource()});

    Map<String, Object> yamlMap = factory.getObject();
    String yamlStr = (new Yaml()).dump(yamlMap);
    yamlMap.put("environmentYamlKey", yamlStr);

    return new NestedMapPropertySource("servletConfigYaml", yamlMap);
  }
}

代码示例来源:origin: cloudfoundry/uaa

public Map<String, Map<String, Object>> parseMfaYaml(String sampleYaml) {
  YamlMapFactoryBean factory = new YamlMapFactoryBean();
  factory.setResolutionMethod(YamlProcessor.ResolutionMethod.OVERRIDE_AND_IGNORE);
  List<Resource> resources = new ArrayList<>();
  ByteArrayResource resource = new ByteArrayResource(sampleYaml.getBytes());
  resources.add(resource);
  factory.setResources(resources.toArray(new Resource[resources.size()]));
  Map<String, Object> tmpdata = factory.getObject();
  Map<String, Map<String, Object>> dataList = new HashMap<>();
  for (Map.Entry<String, Map<String, Object>> entry : ((Map<String, Map<String, Object>>)tmpdata.get("mfa-providers")).entrySet()) {
    dataList.put(entry.getKey(), entry.getValue());
  }
  return dataList;
}

代码示例来源:origin: cloudfoundry/uaa

public static Map<String, Map<String, Object>> parseYaml(String sampleYaml) {
  YamlMapFactoryBean factory = new YamlMapFactoryBean();
  factory.setResolutionMethod(YamlProcessor.ResolutionMethod.OVERRIDE_AND_IGNORE);
  List<Resource> resources = new ArrayList<>();
  ByteArrayResource resource = new ByteArrayResource(sampleYaml.getBytes());
  resources.add(resource);
  factory.setResources(resources.toArray(new Resource[resources.size()]));
  Map<String, Object> tmpdata = factory.getObject();
  Map<String, Map<String, Object>> dataMap = new HashMap<>();
  for (Map.Entry<String, Object> entry : ((Map<String, Object>)tmpdata.get("providers")).entrySet()) {
    dataMap.put(entry.getKey(), (Map<String, Object>)entry.getValue());
  }
  return Collections.unmodifiableMap(dataMap);
}

代码示例来源:origin: cloudfoundry/uaa

YamlMapFactoryBean factory = new YamlMapFactoryBean();
factory.setResolutionMethod(ResolutionMethod.OVERRIDE_AND_IGNORE);
factory.setResources(resources.toArray(new Resource[resources.size()]));
Map<String, Object> map = factory.getObject();
String yamlStr = (new Yaml()).dump(map);
map.put(rawYamlKey, yamlStr);

代码示例来源:origin: cloudfoundry/uaa

YamlMapFactoryBean factory = new YamlMapFactoryBean();
factory.setResources(resources.toArray(new Resource[resources.size()]));
factory.setResolutionMethod(ResolutionMethod.OVERRIDE_AND_IGNORE);
Map<String, Object> properties = factory.getObject();

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com