Add support for .yaml file extensions

Apparently yaml.org prefers .yaml, but the internet seems
to be more aligned with .yml, so I guess we should support both
out of the box.

Fixes gh-675
This commit is contained in:
Dave Syer 2014-04-15 07:04:05 -07:00
parent 78f8575850
commit 1e0c1d1564
3 changed files with 80 additions and 2 deletions

View File

@ -27,7 +27,7 @@ import org.springframework.core.io.Resource;
import org.springframework.util.ClassUtils;
/**
* Strategy to load '.yml' files into a {@link PropertySource}.
* Strategy to load '.yml' (or '.yaml') files into a {@link PropertySource}.
*
* @author Dave Syer
* @author Phillip Webb
@ -36,7 +36,7 @@ public class YamlPropertySourceLoader implements PropertySourceLoader {
@Override
public String[] getFileExtensions() {
return new String[] { "yml" };
return new String[] { "yml", "yaml" };
}
@Override

View File

@ -0,0 +1,37 @@
/*
* Copyright 2012-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.env;
import org.junit.Test;
import static org.junit.Assert.assertTrue;
/**
* @author Dave Syer
*/
public class PropertySourcesLoaderTests {
private PropertySourcesLoader loader = new PropertySourcesLoader();
@Test
public void test() {
assertTrue(this.loader.getAllFileExtensions().contains("yml"));
assertTrue(this.loader.getAllFileExtensions().contains("yaml"));
assertTrue(this.loader.getAllFileExtensions().contains("properties"));
}
}

View File

@ -0,0 +1,41 @@
/*
* Copyright 2012-2013 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.env;
import org.junit.Test;
import org.springframework.core.env.PropertySource;
import org.springframework.core.io.ByteArrayResource;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
/**
* @author Dave Syer
*/
public class YamlPropertySourceLoaderTests {
private YamlPropertySourceLoader loader = new YamlPropertySourceLoader();
@Test
public void test() throws Exception {
PropertySource<?> source = this.loader.load("resource", new ByteArrayResource(
"foo:\n bar: spam".getBytes()), null);
assertNotNull(source);
assertEquals("spam", source.getProperty("foo.bar"));
}
}