- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中org.cloudfoundry.identity.uaa.impl.config.YamlMapFactoryBean
类的一些代码示例,展示了YamlMapFactoryBean
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。YamlMapFactoryBean
类的具体详情如下:
包路径:org.cloudfoundry.identity.uaa.impl.config.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();
我想实现一个转换特性,涵盖支持现有转换的所有类型。我认为这可以通过以下方式完成: impl Into for T where T: Into, { fn into(self) -> B {
看来我不能在 Rust 中调用相同结构的方法,或者我不明白: struct St1 { aa: String } impl St1 { pub fn method1() -> String {
我正在使用 pimpl idiom在我的代码中有很多,主要是为了减少编译时间。 我遇到了调用 C 库的情况。我有一个 C++ 包装器类,它有它的接口(interface),血淋淋的细节都在 impl
我有以下代码: use std::ops::Div; use std::ops::Mul; #[derive(Debug)] struct Foo { bar: T, } impl Foo w
从 Rust 1.34 开始,我们可以通过实现 TryFrom 来编写类型之间的易错转换。特征: struct Foo(i32); struct Bar; impl TryFrom for Foo {
我开始了一个非常小的程序来玩 Rust 中的解析器组合器,很快就遇到了一个我觉得很奇怪的错误: trait Parser { fn parse(&self, input: &'a [u8])
这个问题在这里已经有了答案: NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton() (4 个答案) 关闭 5 年前。
在扩展其他 crate 中定义的 trait 时,似乎有两种方法可以默认实现新的 trait。 特征的原始定义是 pub trait Trait1 { fn f1(&self); } 为了扩展
我通过扩展 AbstractEntryProcessor 创建了用于更新 map 条目的自定义条目处理器。当我的应用程序在两个实例上的集群中运行并且执行入口处理器时,我收到以下异常: com.haze
我的本地环境:OSX 10.9.2,java1.6 我使用 java api 连接 hbase 和 maven 来管理我的项目,我将 Hbase-0.94.17 和 Hadoop-core-1.0
包装一些生成的类,我使用 classImpl 绑定(bind),但生成的类中的集合返回生成的类型而不是 classImpl 中的类型,我当然想要一个 classImpl 列表...... 我的 xsd
我正在编写一个守护程序来获取某些游戏的服务器统计信息。 在编译中我收到一条消息: cannot access org.apache.commons.pool2.impl.GenericObjectPo
我最近将旧应用程序的后台服务迁移到 WorkManager .在最近的设备上(低至 sdk 22 包括 )它看起来不错,运行重复的工作单元并按预期在设备重新启动时安排它们。 问题是当我测试旧版本时(旧
这个问题在这里已经有了答案: Xerces error: org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl (2 个答案) 关闭 5 年前。 我正在使用
如果我有一个需要Default实现的结构,如果所有字段的类型都有Default实现的themsevles,那么我可以使用derive 宏,否则我需要手动实现 Default。但是,在某些情况下,我有一
我看到 Rust 代码库中经常出现以下模式,但我找不到解释为什么要使用它。 将 impl ... for 用于什么目的? build ? 伪代码: impl Handler { pub fn
我用 Angular js 编写了一些小代码。它有效,但我收到一些错误“无法读取未定义的属性'impl'”。有人知道那是什么吗? 这是我的 html:
我正在尝试创建一个通用实现,用于根据不同的字段类型生成 From/Into。 Link to Playground 我发现了以下问题: error[E0425]: cannot find value
在下面传递一个trait作为参数的例子中,在函数签名中发送impl需要什么? 我知道 traits 是更通用的类型而不是具体类型,但是由于 Rust 编译器不允许跨结构和 traits 共享名称,为什
我有一个带有两个通用 typenum 参数的实现。当参数相同时,impl 的函数应该返回不同的类型。 (不同类型是一种更紧凑的表示,只有当类型参数相同时才能实现。)是否可以使用基于类型相等性的不同实现
我是一名优秀的程序员,十分优秀!