Add Yaml.loadAs() methods. JavaBeanLoader is marked as deprecated. Part of issue 124
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 9efa14f..303a19b 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -7,6 +7,9 @@
</properties>
<body>
<release version="1.9-SNAPSHOT" date="in Mercurial" description="Development">
+ <action dev="py4fun" type="add" issue="124">
+ Add Yaml.loadAs() methods. JavaBeanLoader is marked as deprecated (2011-07-03)
+ </action>
<action dev="py4fun" type="remove" issue="124">
Remove TypeDescription.root property to prepare issue 124. This is a minor backwards incompatible change.
Now instead of setting as root, the TypeDescription must be passed to the Contructor's constructor
diff --git a/src/main/java/org/yaml/snakeyaml/JavaBeanLoader.java b/src/main/java/org/yaml/snakeyaml/JavaBeanLoader.java
index c5831de..87587fb 100644
--- a/src/main/java/org/yaml/snakeyaml/JavaBeanLoader.java
+++ b/src/main/java/org/yaml/snakeyaml/JavaBeanLoader.java
@@ -31,6 +31,7 @@
* global tag with the class definition like '!!com.package.MyBean' it is
* ignored in favour of the runtime class <code>T</code>.
*
+ * @deprecated use Yaml.loadAs() methods instead
* @see http://www.artima.com/weblogs/viewpost.jsp?thread=208860
*/
public class JavaBeanLoader<T> {
diff --git a/src/main/java/org/yaml/snakeyaml/Yaml.java b/src/main/java/org/yaml/snakeyaml/Yaml.java
index 94db235..51ebfa6 100644
--- a/src/main/java/org/yaml/snakeyaml/Yaml.java
+++ b/src/main/java/org/yaml/snakeyaml/Yaml.java
@@ -263,7 +263,7 @@
* @return parsed object
*/
public Object load(String yaml) {
- return loadFromReader(new StreamReader(yaml));
+ return loadFromReader(new StreamReader(yaml), Object.class);
}
/**
@@ -275,7 +275,7 @@
* @return parsed object
*/
public Object load(InputStream io) {
- return loadFromReader(new StreamReader(new UnicodeReader(io)));
+ return loadFromReader(new StreamReader(new UnicodeReader(io)), Object.class);
}
/**
@@ -287,13 +287,64 @@
* @return parsed object
*/
public Object load(Reader io) {
- return loadFromReader(new StreamReader(io));
+ return loadFromReader(new StreamReader(io), Object.class);
}
- private Object loadFromReader(StreamReader sreader) {
+ /**
+ * Parse the only YAML document in a stream and produce the corresponding
+ * Java object.
+ *
+ * @param <T>
+ * Class is defined by the second argument
+ * @param io
+ * data to load from (BOM must not be present)
+ * @param type
+ * Class of the object to be created
+ * @return parsed object
+ */
+ @SuppressWarnings("unchecked")
+ public <T> T loadAs(Reader io, Class<T> type) {
+ return (T) loadFromReader(new StreamReader(io), type);
+ }
+
+ /**
+ * Parse the only YAML document in a String and produce the corresponding
+ * Java object. (Because the encoding in known BOM is not respected.)
+ *
+ * @param <T>
+ * Class is defined by the second argument
+ * @param yaml
+ * YAML data to load from (BOM must not be present)
+ * @param type
+ * Class of the object to be created
+ * @return parsed object
+ */
+ @SuppressWarnings("unchecked")
+ public <T> T loadAs(String yaml, Class<T> type) {
+ return (T) loadFromReader(new StreamReader(yaml), type);
+ }
+
+ /**
+ * Parse the only YAML document in a stream and produce the corresponding
+ * Java object.
+ *
+ * @param <T>
+ * Class is defined by the second argument
+ * @param input
+ * data to load from (BOM is respected and removed)
+ * @param type
+ * Class of the object to be created
+ * @return parsed object
+ */
+ @SuppressWarnings("unchecked")
+ public <T> T loadAs(InputStream input, Class<T> type) {
+ return (T) loadFromReader(new StreamReader(new UnicodeReader(input)), type);
+ }
+
+ private Object loadFromReader(StreamReader sreader, Class<?> type) {
Composer composer = new Composer(new ParserImpl(sreader), resolver);
constructor.setComposer(composer);
- return constructor.getSingleData();
+ return constructor.getSingleData(type);
}
/**
diff --git a/src/main/java/org/yaml/snakeyaml/constructor/BaseConstructor.java b/src/main/java/org/yaml/snakeyaml/constructor/BaseConstructor.java
index 9cbebdf..366339b 100644
--- a/src/main/java/org/yaml/snakeyaml/constructor/BaseConstructor.java
+++ b/src/main/java/org/yaml/snakeyaml/constructor/BaseConstructor.java
@@ -116,11 +116,13 @@
* @throws ComposerException
* in case there are more documents in the stream
*/
- public Object getSingleData() {
+ public Object getSingleData(Class<?> type) {
// Ensure that the stream contains a single document and construct it
Node node = composer.getSingleNode();
if (node != null) {
- if (rootTag != null) {
+ if (Object.class != type) {
+ node.setTag(new Tag(type));
+ } else if (rootTag != null) {
node.setTag(rootTag);
}
return constructDocument(node);
diff --git a/src/test/java/examples/collections/ListFileldBeanTest.java b/src/test/java/examples/collections/ListFileldBeanTest.java
index a6880b1..bbb8efd 100644
--- a/src/test/java/examples/collections/ListFileldBeanTest.java
+++ b/src/test/java/examples/collections/ListFileldBeanTest.java
@@ -22,8 +22,8 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
/**
* Test public field ListBean->List<Developer> developers <br/>
@@ -51,9 +51,8 @@
public void testLoadList() {
String output = Util.getLocalResource("examples/list-bean-1.yaml");
// System.out.println(output);
- JavaBeanLoader<ListFieldBean> beanLoader = new JavaBeanLoader<ListFieldBean>(
- ListFieldBean.class);
- ListFieldBean parsed = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ ListFieldBean parsed = beanLoader.loadAs(output, ListFieldBean.class);
assertNotNull(parsed);
List<String> list2 = parsed.getChildren();
assertEquals(2, list2.size());
diff --git a/src/test/java/examples/collections/TypeSafeListNoGerericsTest.java b/src/test/java/examples/collections/TypeSafeListNoGerericsTest.java
index 28199a3..d258c0a 100644
--- a/src/test/java/examples/collections/TypeSafeListNoGerericsTest.java
+++ b/src/test/java/examples/collections/TypeSafeListNoGerericsTest.java
@@ -23,8 +23,8 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
/**
* Test ListBean->List developers <br/>
@@ -52,8 +52,8 @@
public void testLoadList() {
String output = Util.getLocalResource("examples/list-bean-1.yaml");
// System.out.println(output);
- JavaBeanLoader<ListBean> beanLoader = new JavaBeanLoader<ListBean>(ListBean.class);
- ListBean parsed = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ ListBean parsed = beanLoader.loadAs(output, ListBean.class);
assertNotNull(parsed);
List<String> list2 = parsed.getChildren();
assertEquals(2, list2.size());
diff --git a/src/test/java/examples/collections/TypeSafeListTest.java b/src/test/java/examples/collections/TypeSafeListTest.java
index 94bb28f..4fa83f7 100644
--- a/src/test/java/examples/collections/TypeSafeListTest.java
+++ b/src/test/java/examples/collections/TypeSafeListTest.java
@@ -22,8 +22,8 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
/**
* Test ListBean->List<Developer> developers <br/>
@@ -50,8 +50,8 @@
public void testLoadList() {
String output = Util.getLocalResource("examples/list-bean-1.yaml");
// System.out.println(output);
- JavaBeanLoader<ListBean1> beanLoader = new JavaBeanLoader<ListBean1>(ListBean1.class);
- ListBean1 parsed = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ ListBean1 parsed = beanLoader.loadAs(output, ListBean1.class);
assertNotNull(parsed);
List<String> list2 = parsed.getChildren();
assertEquals(2, list2.size());
diff --git a/src/test/java/examples/collections/TypeSafeListWithInterfaceTest.java b/src/test/java/examples/collections/TypeSafeListWithInterfaceTest.java
index 48094a7..bc5ef3e 100644
--- a/src/test/java/examples/collections/TypeSafeListWithInterfaceTest.java
+++ b/src/test/java/examples/collections/TypeSafeListWithInterfaceTest.java
@@ -22,8 +22,8 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
/**
* Test ListBean->List<Human> developers <br/>
@@ -50,9 +50,9 @@
public void testLoadWrongList() {
String output = Util.getLocalResource("examples/list-bean-1.yaml");
// System.out.println(output);
- JavaBeanLoader<ListBean> beanLoader = new JavaBeanLoader<ListBean>(ListBean.class);
+ Yaml beanLoader = new Yaml();
try {
- beanLoader.load(output);
+ beanLoader.loadAs(output, ListBean.class);
fail("Global tags are required since Human is an interface.");
} catch (Exception e) {
assertTrue(e.getMessage(), e.getMessage().contains("Cannot create property=developers"));
@@ -62,8 +62,8 @@
public void testLoadList() {
String output = Util.getLocalResource("examples/list-bean-2.yaml");
// System.out.println(output);
- JavaBeanLoader<ListBean> beanLoader = new JavaBeanLoader<ListBean>(ListBean.class);
- ListBean parsed = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ ListBean parsed = beanLoader.loadAs(output, ListBean.class);
assertNotNull(parsed);
List<String> list2 = parsed.getChildren();
assertEquals(2, list2.size());
diff --git a/src/test/java/examples/collections/TypeSafeMap2Test.java b/src/test/java/examples/collections/TypeSafeMap2Test.java
index 5291f83..f3b5c60 100644
--- a/src/test/java/examples/collections/TypeSafeMap2Test.java
+++ b/src/test/java/examples/collections/TypeSafeMap2Test.java
@@ -23,8 +23,8 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
/**
* Test MapBean->Map<Enum, Developer> developers <br/>
@@ -66,8 +66,8 @@
String etalon = Util.getLocalResource("examples/map-bean-13.yaml");
assertEquals(etalon, output);
// load
- JavaBeanLoader<MapBean2> beanLoader = new JavaBeanLoader<MapBean2>(MapBean2.class);
- MapBean2 parsed = beanLoader.load(etalon);
+ Yaml beanLoader = new Yaml();
+ MapBean2 parsed = beanLoader.loadAs(etalon, MapBean2.class);
assertNotNull(parsed);
Map<Developer2, Color> parsedData = parsed.getData();
assertEquals(3, parsedData.size());
@@ -82,8 +82,8 @@
public void testLoadMap() {
String output = Util.getLocalResource("examples/map-bean-12.yaml");
// System.out.println(output);
- JavaBeanLoader<MapBean2> beanLoader = new JavaBeanLoader<MapBean2>(MapBean2.class);
- MapBean2 parsed = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ MapBean2 parsed = beanLoader.loadAs(output, MapBean2.class);
assertNotNull(parsed);
Map<Developer2, Color> data = parsed.getData();
assertEquals(2, data.size());
diff --git a/src/test/java/examples/collections/TypeSafeMapImplementationsTest.java b/src/test/java/examples/collections/TypeSafeMapImplementationsTest.java
index 7dc0158..691603b 100644
--- a/src/test/java/examples/collections/TypeSafeMapImplementationsTest.java
+++ b/src/test/java/examples/collections/TypeSafeMapImplementationsTest.java
@@ -26,7 +26,6 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
@@ -54,8 +53,8 @@
public void testLoadMap() {
String output = Util.getLocalResource("examples/map-bean-1.yaml");
// System.out.println(output);
- JavaBeanLoader<MapBean> beanLoader = new JavaBeanLoader<MapBean>(MapBean.class);
- MapBean parsed = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ MapBean parsed = beanLoader.loadAs(output, MapBean.class);
assertNotNull(parsed);
SortedMap<String, String> sortedMap = parsed.getSorted();
assertEquals(2, sortedMap.size());
diff --git a/src/test/java/examples/collections/TypeSafeMapTest.java b/src/test/java/examples/collections/TypeSafeMapTest.java
index 365ad30..ba9afab 100644
--- a/src/test/java/examples/collections/TypeSafeMapTest.java
+++ b/src/test/java/examples/collections/TypeSafeMapTest.java
@@ -22,8 +22,8 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
/**
* Test MapBean->Map<String, Developer> developers <br/>
@@ -69,8 +69,8 @@
public void testLoadMap() {
String output = Util.getLocalResource("examples/map-bean-10.yaml");
// System.out.println(output);
- JavaBeanLoader<MapBean> beanLoader = new JavaBeanLoader<MapBean>(MapBean.class);
- MapBean parsed = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ MapBean parsed = beanLoader.loadAs(output, MapBean.class);
assertNotNull(parsed);
Map<String, Integer> data = parsed.getData();
assertEquals(3, data.size());
@@ -166,9 +166,8 @@
public void testLoadMapWithObject() {
String output = Util.getLocalResource("examples/map-bean-10.yaml");
// System.out.println(output);
- JavaBeanLoader<MapBeanNoGenerics> beanLoader = new JavaBeanLoader<MapBeanNoGenerics>(
- MapBeanNoGenerics.class);
- MapBeanNoGenerics parsed = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ MapBeanNoGenerics parsed = beanLoader.loadAs(output, MapBeanNoGenerics.class);
assertNotNull(parsed);
Map<String, Integer> data = parsed.getData();
assertEquals(3, data.size());
diff --git a/src/test/java/examples/collections/TypeSafePriorityTest.java b/src/test/java/examples/collections/TypeSafePriorityTest.java
index f3362cc..20ddcd4 100644
--- a/src/test/java/examples/collections/TypeSafePriorityTest.java
+++ b/src/test/java/examples/collections/TypeSafePriorityTest.java
@@ -20,9 +20,10 @@
import junit.framework.TestCase;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
+import org.yaml.snakeyaml.constructor.Constructor;
/**
* Test ListBean->List<Human> developers <br/>
@@ -39,8 +40,8 @@
// System.out.println(output);
TypeDescription descr = new TypeDescription(ListBean.class);
descr.putListPropertyType("developers", Developer.class);
- JavaBeanLoader<ListBean> beanLoader = new JavaBeanLoader<ListBean>(descr);
- ListBean parsed = beanLoader.load(output);
+ Yaml beanLoader = new Yaml(new Constructor(descr));
+ ListBean parsed = beanLoader.loadAs(output, ListBean.class);
assertNotNull(parsed);
List<Human> developers = parsed.getDevelopers();
assertEquals(2, developers.size());
diff --git a/src/test/java/examples/collections/TypeSafeSetImplementationsTest.java b/src/test/java/examples/collections/TypeSafeSetImplementationsTest.java
index 1a42a68..f10a6d4 100644
--- a/src/test/java/examples/collections/TypeSafeSetImplementationsTest.java
+++ b/src/test/java/examples/collections/TypeSafeSetImplementationsTest.java
@@ -25,7 +25,6 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
@@ -73,8 +72,8 @@
public void testLoadSet() {
String output = Util.getLocalResource("examples/set-bean-1.yaml");
// System.out.println(output);
- JavaBeanLoader<SetBean> beanLoader = new JavaBeanLoader<SetBean>(SetBean.class);
- SetBean parsed = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ SetBean parsed = beanLoader.loadAs(output, SetBean.class);
assertNotNull(parsed);
SortedSet<String> sortedMap = parsed.getSorted();
assertEquals(3, sortedMap.size());
@@ -93,8 +92,8 @@
public void testLoadSetReversed() {
String output = Util.getLocalResource("examples/set-bean-2.yaml");
// System.out.println(output);
- JavaBeanLoader<SetBean> beanLoader = new JavaBeanLoader<SetBean>(SetBean.class);
- SetBean parsed = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ SetBean parsed = beanLoader.loadAs(output, SetBean.class);
assertNotNull(parsed);
SortedSet<String> sortedMap = parsed.getSorted();
assertEquals(3, sortedMap.size());
diff --git a/src/test/java/examples/staticstate/StaticFieldsWrapperTest.java b/src/test/java/examples/staticstate/StaticFieldsWrapperTest.java
index f3bcc26..ba70e3f 100644
--- a/src/test/java/examples/staticstate/StaticFieldsWrapperTest.java
+++ b/src/test/java/examples/staticstate/StaticFieldsWrapperTest.java
@@ -21,7 +21,6 @@
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.DumperOptions.FlowStyle;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
@@ -98,8 +97,8 @@
// System.out.println(output);
assertEquals("{age: -47, color: Violet, name: Bahrack, type: Type3}\n", output);
// parse back to instance
- JavaBeanLoader<Wrapper> loader = new JavaBeanLoader<Wrapper>(Wrapper.class);
- Wrapper wrapper = loader.load(output);
+ Yaml loader = new Yaml();
+ Wrapper wrapper = loader.loadAs(output, Wrapper.class);
JavaBeanWithStaticState bean2 = wrapper.createBean();
assertEquals(-47, bean2.getAge());
assertEquals("Bahrack", bean2.getName());
diff --git a/src/test/java/org/pyyaml/CanonicalLoader.java b/src/test/java/org/pyyaml/CanonicalLoader.java
index e4c5b45..b96cf80 100644
--- a/src/test/java/org/pyyaml/CanonicalLoader.java
+++ b/src/test/java/org/pyyaml/CanonicalLoader.java
@@ -36,7 +36,7 @@
}
Composer composer = new Composer(new CanonicalParser(buffer.toString()), resolver);
constructor.setComposer(composer);
- return constructor.getSingleData();
+ return constructor.getSingleData(Object.class);
} catch (IOException e) {
throw new YAMLException(e);
}
diff --git a/src/test/java/org/yaml/snakeyaml/JavaBeanLoaderTest.java b/src/test/java/org/yaml/snakeyaml/JavaBeanLoaderTest.java
index 7436cd1..bae4bf8 100644
--- a/src/test/java/org/yaml/snakeyaml/JavaBeanLoaderTest.java
+++ b/src/test/java/org/yaml/snakeyaml/JavaBeanLoaderTest.java
@@ -25,6 +25,7 @@
import junit.framework.TestCase;
+import org.yaml.snakeyaml.constructor.Constructor;
import org.yaml.snakeyaml.introspector.BeanAccess;
public class JavaBeanLoaderTest extends TestCase {
@@ -37,13 +38,12 @@
String output = yaml.dump(bean);
assertEquals("!!org.yaml.snakeyaml.JavaBeanLoaderTest$Bean {id: 3, name: Test me.}\n",
output);
- JavaBeanLoader<Bean> loader = new JavaBeanLoader<Bean>(Bean.class);
- Bean parsed = loader.load(output);
+ Yaml loader = new Yaml();
+ Bean parsed = loader.loadAs(output, Bean.class);
assertEquals(3, parsed.getId());
assertEquals("Test me.", parsed.getName());
// Runtime definition is more important
- JavaBeanLoader<Bean2> loader2 = new JavaBeanLoader<Bean2>(Bean2.class);
- Bean2 parsed2 = loader2.load(output);
+ Bean2 parsed2 = loader.loadAs(output, Bean2.class);
assertEquals(3, parsed2.getId());
assertEquals("Test me.", parsed2.getName());
assertFalse(parsed2.isValid());
@@ -52,8 +52,8 @@
public void testLoadInputStream() {
String yaml = "!!org.yaml.snakeyaml.JavaBeanParserTest$Bean {id: 3, name: Test me.}\n";
InputStream input = new ByteArrayInputStream(yaml.getBytes());
- JavaBeanLoader<Bean> loader = new JavaBeanLoader<Bean>(Bean.class);
- Bean parsed = loader.load(input);
+ Yaml loader = new Yaml();
+ Bean parsed = loader.loadAs(input, Bean.class);
assertEquals(3, parsed.getId());
assertEquals("Test me.", parsed.getName());
}
@@ -61,12 +61,13 @@
public void testLoadReader() {
String yaml = "!!org.yaml.snakeyaml.JavaBeanParserTest$Bean {id: 3, name: Test me.}\n";
Reader input = new StringReader(yaml);
- JavaBeanLoader<Bean> loader = new JavaBeanLoader<Bean>(Bean.class);
- Bean parsed = loader.load(input);
+ Yaml loader = new Yaml();
+ Bean parsed = loader.loadAs(input, Bean.class);
assertEquals(3, parsed.getId());
assertEquals("Test me.", parsed.getName());
}
+ @SuppressWarnings("deprecation")
public void testLoaderNullClass() {
try {
new JavaBeanLoader<Bean>((Class<Bean>) null);
@@ -76,6 +77,7 @@
}
}
+ @SuppressWarnings("deprecation")
public void testLoaderNullTypeDescription() {
try {
new JavaBeanLoader<Bean>((TypeDescription) null);
@@ -85,6 +87,17 @@
}
}
+ public void testLoaderNullRootClass() {
+ try {
+ Yaml loader = new Yaml();
+ loader.loadAs("123", null);
+ fail();
+ } catch (NullPointerException e) {
+ assertEquals("Class for tag must be provided.", e.getMessage());
+ }
+ }
+
+ @SuppressWarnings("deprecation")
public void testLoaderNullOptions() {
try {
new JavaBeanLoader<Bean>((LoaderOptions) null, BeanAccess.DEFAULT);
@@ -157,8 +170,8 @@
assertEquals("bean:\n id: 3\n name: Test me.\nlist: null\nname: Name123\n", output);
TypeDescription td = new TypeDescription(Bean3.class);
td.putListPropertyType("list", Integer.class);
- JavaBeanLoader<Bean3> loader = new JavaBeanLoader<Bean3>(td);
- Bean3 parsed = loader.load(output);
+ Yaml loader = new Yaml(new Constructor(td));
+ Bean3 parsed = (Bean3) loader.load(output);
assertEquals("Name123", parsed.getName());
}
@@ -178,13 +191,29 @@
assertEquals("bean:\n id: 3\n name: Test me.\nlist:\n- 13\n- 17\nname: Name123\n", output);
TypeDescription td = new TypeDescription(Bean3.class);
td.putListPropertyType("list", Integer.class);
- JavaBeanLoader<Bean3> loader = new JavaBeanLoader<Bean3>(td);
- Bean3 parsed = loader.load(output);
+ Yaml loader = new Yaml(new Constructor(td));
+ Bean3 parsed = (Bean3) loader.load(output);
assertEquals("Name123", parsed.getName());
List<Integer> parsedList = parsed.getList();
assertEquals(2, parsedList.size());
}
+ public void testTypeDescription3() {
+ Bean3 bean3 = new Bean3();
+ bean3.setName("Name123");
+ Bean bean = new Bean();
+ bean.setId(3);
+ bean.setName("Test me.");
+ bean3.setBean(bean);
+ JavaBeanDumper dumper = new JavaBeanDumper();
+ String output = dumper.dump(bean3);
+ assertEquals("bean:\n id: 3\n name: Test me.\nlist: null\nname: Name123\n", output);
+ TypeDescription td = new TypeDescription(Bean2.class);
+ Yaml loader = new Yaml(new Constructor(td));
+ Bean3 parsed = loader.loadAs(output, Bean3.class);// Bean3 must be taken
+ assertEquals("Name123", parsed.getName());
+ }
+
public static class Bean3 {
private String name;
private Bean bean;
diff --git a/src/test/java/org/yaml/snakeyaml/JavaBeanTimeStampTest.java b/src/test/java/org/yaml/snakeyaml/JavaBeanTimeStampTest.java
index c4dc1bf..23041e7 100644
--- a/src/test/java/org/yaml/snakeyaml/JavaBeanTimeStampTest.java
+++ b/src/test/java/org/yaml/snakeyaml/JavaBeanTimeStampTest.java
@@ -38,9 +38,9 @@
assertEquals(
"!!org.yaml.snakeyaml.JavaBeanWithSqlTimestamp\ndate: 2001-09-25T00:00:00Z\ntimestamp: 2001-09-09T01:46:40Z\n",
dumpStr);
- JavaBeanLoader<JavaBeanWithSqlTimestamp> loader = new JavaBeanLoader<JavaBeanWithSqlTimestamp>(
+ Yaml loader = new Yaml();
+ JavaBeanWithSqlTimestamp javaBeanToLoad = loader.loadAs(dumpStr,
JavaBeanWithSqlTimestamp.class);
- JavaBeanWithSqlTimestamp javaBeanToLoad = loader.load(dumpStr);
assertEquals(stamp, javaBeanToLoad.getTimestamp());
assertEquals(date, javaBeanToLoad.getDate());
}
@@ -57,9 +57,9 @@
Yaml yaml = new Yaml(options);
String dumpStr = yaml.dump(javaBeanToDump);
assertEquals("date: 2001-09-25T00:00:00Z\ntimestamp: 2001-09-09T01:46:40Z\n", dumpStr);
- JavaBeanLoader<JavaBeanWithSqlTimestamp> loader = new JavaBeanLoader<JavaBeanWithSqlTimestamp>(
+ Yaml loader = new Yaml();
+ JavaBeanWithSqlTimestamp javaBeanToLoad = loader.loadAs(dumpStr,
JavaBeanWithSqlTimestamp.class);
- JavaBeanWithSqlTimestamp javaBeanToLoad = loader.load(dumpStr);
assertEquals(stamp, javaBeanToLoad.getTimestamp());
assertEquals(date, javaBeanToLoad.getDate());
}
diff --git a/src/test/java/org/yaml/snakeyaml/JavaBeanWithNullValuesTest.java b/src/test/java/org/yaml/snakeyaml/JavaBeanWithNullValuesTest.java
index 3f5f184..dc71394 100644
--- a/src/test/java/org/yaml/snakeyaml/JavaBeanWithNullValuesTest.java
+++ b/src/test/java/org/yaml/snakeyaml/JavaBeanWithNullValuesTest.java
@@ -27,11 +27,11 @@
import org.yaml.snakeyaml.representer.Representer;
public class JavaBeanWithNullValuesTest extends TestCase {
- private JavaBeanLoader<JavaBeanWithNullValues> loader;
+ private Yaml loader;
@Override
protected void setUp() throws Exception {
- loader = new JavaBeanLoader<JavaBeanWithNullValues>(JavaBeanWithNullValues.class);
+ loader = new Yaml();
}
public void testNotNull() throws Exception {
@@ -49,7 +49,7 @@
assertNotNull(parsed.getSqlDate());
assertNotNull(parsed.getTimestamp());
//
- parsed = loader.load(dumpStr);
+ parsed = loader.loadAs(dumpStr, JavaBeanWithNullValues.class);
assertNotNull(parsed.getString());
assertNotNull(parsed.getBoolean1());
assertNotNull(parsed.getDate());
@@ -67,7 +67,7 @@
JavaBeanWithNullValues parsed = (JavaBeanWithNullValues) yaml.load(dumpStr);
assertNull(parsed.getString());
//
- parsed = loader.load(dumpStr);
+ parsed = loader.loadAs(dumpStr, JavaBeanWithNullValues.class);
assertNull(parsed.getString());
}
@@ -119,7 +119,7 @@
assertFalse("No explicit root tag must be used.",
dumpStr.contains("JavaBeanWithNullValues"));
yaml = new Yaml(new CustomRepresenter(), options);
- JavaBeanWithNullValues parsed = loader.load(dumpStr);
+ JavaBeanWithNullValues parsed = loader.loadAs(dumpStr, JavaBeanWithNullValues.class);
assertNull(" expect null, got " + parsed.getBoolean1(), parsed.getBoolean1());
assertNull(" expect null, got " + parsed.getString(), parsed.getString());
assertEquals(1d, parsed.getDouble1());
diff --git a/src/test/java/org/yaml/snakeyaml/constructor/ConstructorMappingTest.java b/src/test/java/org/yaml/snakeyaml/constructor/ConstructorMappingTest.java
index 0a8a888..55ab552 100644
--- a/src/test/java/org/yaml/snakeyaml/constructor/ConstructorMappingTest.java
+++ b/src/test/java/org/yaml/snakeyaml/constructor/ConstructorMappingTest.java
@@ -56,7 +56,7 @@
Resolver resolver = new Resolver();
Composer composer = new Composer(parser, resolver);
constructor.setComposer(composer);
- return constructor.getSingleData();
+ return constructor.getSingleData(Object.class);
}
class CustomConstructor extends Constructor {
diff --git a/src/test/java/org/yaml/snakeyaml/constructor/ConstructorSequenceTest.java b/src/test/java/org/yaml/snakeyaml/constructor/ConstructorSequenceTest.java
index 68d6958..0c89598 100644
--- a/src/test/java/org/yaml/snakeyaml/constructor/ConstructorSequenceTest.java
+++ b/src/test/java/org/yaml/snakeyaml/constructor/ConstructorSequenceTest.java
@@ -73,7 +73,7 @@
Resolver resolver = new Resolver();
Composer composer = new Composer(parser, resolver);
constructor.setComposer(composer);
- List<Object> result = (List<Object>) constructor.getSingleData();
+ List<Object> result = (List<Object>) constructor.getSingleData(Object.class);
return result;
}
diff --git a/src/test/java/org/yaml/snakeyaml/constructor/TypeSafeCollectionsTest.java b/src/test/java/org/yaml/snakeyaml/constructor/TypeSafeCollectionsTest.java
index ccf248b..1e33df1 100644
--- a/src/test/java/org/yaml/snakeyaml/constructor/TypeSafeCollectionsTest.java
+++ b/src/test/java/org/yaml/snakeyaml/constructor/TypeSafeCollectionsTest.java
@@ -24,7 +24,6 @@
import junit.framework.TestCase;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
@@ -87,8 +86,8 @@
String output = yaml.dump(c);
assertEquals(Util.getLocalResource("javabeans/mycar-with-global-tag1.yaml"), output);
// load
- JavaBeanLoader<MyCar> beanLoader = new JavaBeanLoader<MyCar>(MyCar.class);
- MyCar car = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ MyCar car = beanLoader.loadAs(output, MyCar.class);
assertNotNull(car);
assertEquals("00-FF-Q2", car.getPlate());
assertEquals(5, car.getWheels().size());
diff --git a/src/test/java/org/yaml/snakeyaml/emitter/template/VelocityTest.java b/src/test/java/org/yaml/snakeyaml/emitter/template/VelocityTest.java
index db4a5e1..753e42f 100644
--- a/src/test/java/org/yaml/snakeyaml/emitter/template/VelocityTest.java
+++ b/src/test/java/org/yaml/snakeyaml/emitter/template/VelocityTest.java
@@ -29,7 +29,6 @@
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.DumperOptions.FlowStyle;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.immutable.Point;
@@ -66,8 +65,8 @@
assertEquals(etalon.length(), output.length());
assertEquals(etalon, output);
// parse the YAML document
- JavaBeanLoader<MyBean> loader = new JavaBeanLoader<MyBean>(MyBean.class);
- MyBean parsedBean = loader.load(output);
+ Yaml loader = new Yaml();
+ MyBean parsedBean = loader.loadAs(output, MyBean.class);
assertEquals(bean, parsedBean);
}
diff --git a/src/test/java/org/yaml/snakeyaml/generics/BirdTest.java b/src/test/java/org/yaml/snakeyaml/generics/BirdTest.java
index 7aebefc..9fbe65e 100644
--- a/src/test/java/org/yaml/snakeyaml/generics/BirdTest.java
+++ b/src/test/java/org/yaml/snakeyaml/generics/BirdTest.java
@@ -21,7 +21,6 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.DumperOptions;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.nodes.Tag;
@@ -40,13 +39,13 @@
String output = yaml.dump(bird);
Bird parsed;
String javaVendor = System.getProperty("java.vm.name");
- JavaBeanLoader<Bird> loader = new JavaBeanLoader<Bird>(Bird.class);
+ Yaml loader = new Yaml();
if (GenericsBugDetector.isProperIntrospection()) {
// no global tags
System.out.println("java.vm.name: " + javaVendor);
assertEquals("no global tags must be emitted.", "home: {height: 3}\nname: Eagle\n",
output);
- parsed = loader.load(output);
+ parsed = loader.loadAs(output, Bird.class);
} else {
// with global tags
@@ -55,7 +54,7 @@
+ javaVendor);
assertEquals("global tags are inevitable here.",
"home: !!org.yaml.snakeyaml.generics.Nest {height: 3}\nname: Eagle\n", output);
- parsed = loader.load(output);
+ parsed = loader.loadAs(output, Bird.class);
}
assertEquals(bird.getName(), parsed.getName());
assertEquals(bird.getHome().getHeight(), parsed.getHome().getHeight());
diff --git a/src/test/java/org/yaml/snakeyaml/generics/GenericArrayTypeTest.java b/src/test/java/org/yaml/snakeyaml/generics/GenericArrayTypeTest.java
index 2dcf141..f6fc380 100644
--- a/src/test/java/org/yaml/snakeyaml/generics/GenericArrayTypeTest.java
+++ b/src/test/java/org/yaml/snakeyaml/generics/GenericArrayTypeTest.java
@@ -21,7 +21,6 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
@@ -114,9 +113,9 @@
// System.out.println(doc);
assertEquals(Util.getLocalResource("javabeans/genericArray-1.yaml"), doc);
//
- JavaBeanLoader<ArrayBean> beanLoader = new JavaBeanLoader<ArrayBean>(ArrayBean.class);
+ Yaml beanLoader = new Yaml();
if (GenericsBugDetector.isProperIntrospection()) {
- ArrayBean loaded = beanLoader.load(doc);
+ ArrayBean loaded = beanLoader.loadAs(doc, ArrayBean.class);
assertEquals("ID556677", loaded.getId());
assertEquals("Array3", loaded.getGa().getName());
assertEquals(3, loaded.getGa().getHome().length);
diff --git a/src/test/java/org/yaml/snakeyaml/generics/ObjectValuesTest.java b/src/test/java/org/yaml/snakeyaml/generics/ObjectValuesTest.java
index f511c61..739df69 100644
--- a/src/test/java/org/yaml/snakeyaml/generics/ObjectValuesTest.java
+++ b/src/test/java/org/yaml/snakeyaml/generics/ObjectValuesTest.java
@@ -24,7 +24,7 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
+import org.yaml.snakeyaml.Yaml;
public class ObjectValuesTest extends TestCase {
@@ -48,9 +48,8 @@
JavaBeanDumper dumper = new JavaBeanDumper();
String dumpedStr = dumper.dump(ov);
-
- JavaBeanLoader<ObjectValues> loader = new JavaBeanLoader<ObjectValues>(ObjectValues.class);
- ObjectValues ov2 = loader.load(dumpedStr);
+ Yaml loader = new Yaml();
+ ObjectValues ov2 = loader.loadAs(dumpedStr, ObjectValues.class);
assertEquals(ov.getObject(), ov2.getObject());
assertEquals(ov.getValues(), ov2.getValues());
@@ -79,10 +78,9 @@
JavaBeanDumper dumper = new JavaBeanDumper();
String dumpedStr = dumper.dump(ov);
-
- JavaBeanLoader<ObjectValuesWithParam<String, Integer>> loader = new JavaBeanLoader<ObjectValuesWithParam<String, Integer>>(
+ Yaml loader = new Yaml();
+ ObjectValuesWithParam<String, Integer> ov2 = loader.loadAs(dumpedStr,
new ObjectValuesWithParam<String, Integer>().getClass());
- ObjectValuesWithParam<String, Integer> ov2 = loader.load(dumpedStr);
assertEquals(ov.getObject(), ov2.getObject());
assertEquals(ov.getValues(), ov2.getValues());
diff --git a/src/test/java/org/yaml/snakeyaml/immutable/ShapeImmutableTest.java b/src/test/java/org/yaml/snakeyaml/immutable/ShapeImmutableTest.java
index fd50504..65fdbb4 100644
--- a/src/test/java/org/yaml/snakeyaml/immutable/ShapeImmutableTest.java
+++ b/src/test/java/org/yaml/snakeyaml/immutable/ShapeImmutableTest.java
@@ -18,7 +18,6 @@
import junit.framework.TestCase;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
@@ -134,8 +133,8 @@
public void testShapeNoTags() {
String source = Util.getLocalResource("immutable/shapeNoTags.yaml");
- JavaBeanLoader<Shape> beanLoader = new JavaBeanLoader<Shape>(Shape.class);
- Shape loaded = beanLoader.load(source);
+ Yaml beanLoader = new Yaml();
+ Shape loaded = beanLoader.loadAs(source, Shape.class);
assertEquals(new Integer(123), loaded.getId());
assertEquals("BLACK", loaded.getColor().getName());
assertEquals(1.17, loaded.getPoint().getX());
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue10/BasicDumpTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue10/BasicDumpTest.java
index d249113..28a7ac8 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue10/BasicDumpTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue10/BasicDumpTest.java
@@ -22,7 +22,6 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
@@ -93,8 +92,8 @@
String etalon = Util.getLocalResource("javabeans/issue10-3.yaml");
assertEquals(etalon.trim(), output.trim());
// load
- JavaBeanLoader<DataSources> beanLoader = new JavaBeanLoader<DataSources>(DataSources.class);
- DataSources bean = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ DataSources bean = beanLoader.loadAs(output, DataSources.class);
Iterator<DataSource> iter = bean.getDataSources().iterator();
assertTrue(iter.next() instanceof JDBCDataSource);
assertFalse("Must be DataSource.", iter.next() instanceof JDBCDataSource);
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue112/ParameterisedTypeLoadingTestCase.java b/src/test/java/org/yaml/snakeyaml/issues/issue112/ParameterisedTypeLoadingTestCase.java
index e82a00e..cf63770 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue112/ParameterisedTypeLoadingTestCase.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue112/ParameterisedTypeLoadingTestCase.java
@@ -24,7 +24,6 @@
import org.junit.Test;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
@@ -34,9 +33,7 @@
@Test
public void testParameterisedTypeLoading() throws IOException {
Yaml yamlParser = new Yaml(new Constructor(MyCompositeObject.class));
-
MyCompositeObject obj = (MyCompositeObject) yamlParser.load(getInput());
-
check(obj);
// dump the object
@@ -47,11 +44,8 @@
@Test
public void testJavaBeanLoader() throws IOException {
- JavaBeanLoader<MyCompositeObject> yamlParser = new JavaBeanLoader<MyCompositeObject>(
- MyCompositeObject.class);
-
- MyCompositeObject obj = yamlParser.load(getInput());
-
+ Yaml yamlParser = new Yaml();
+ MyCompositeObject obj = yamlParser.loadAs(getInput(), MyCompositeObject.class);
check(obj);
}
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue40/DogFoodBeanTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue40/DogFoodBeanTest.java
index 07df8bb..b08e8f4 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue40/DogFoodBeanTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue40/DogFoodBeanTest.java
@@ -21,7 +21,6 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Yaml;
public class DogFoodBeanTest extends TestCase {
@@ -56,8 +55,8 @@
String text = dumper.dump(input);
// System.out.println(text);
assertEquals("decimal: 5.123\n", text);
- JavaBeanLoader<DogFoodBean> loader = new JavaBeanLoader<DogFoodBean>(DogFoodBean.class);
- DogFoodBean output = loader.load(text);
+ Yaml loader = new Yaml();
+ DogFoodBean output = loader.loadAs(text, DogFoodBean.class);
assertEquals(input.getDecimal(), output.getDecimal());
}
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue47/ReadOnlyPropertiesTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue47/ReadOnlyPropertiesTest.java
index 3266490..590c31d 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue47/ReadOnlyPropertiesTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue47/ReadOnlyPropertiesTest.java
@@ -20,7 +20,7 @@
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
+import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.error.YAMLException;
import org.yaml.snakeyaml.nodes.Tag;
import org.yaml.snakeyaml.representer.Representer;
@@ -34,9 +34,8 @@
// System.out.println(output);
assertEquals("name: lunch\n", output);
//
- JavaBeanLoader<IncompleteBean> loader = new JavaBeanLoader<IncompleteBean>(
- IncompleteBean.class);
- IncompleteBean parsed = loader.load(output);
+ Yaml loader = new Yaml();
+ IncompleteBean parsed = loader.loadAs(output, IncompleteBean.class);
assertEquals(bean.getName(), parsed.getName());
}
@@ -51,10 +50,9 @@
// System.out.println(output);
assertEquals("{id: 10, name: lunch}\n", output);
//
- JavaBeanLoader<IncompleteBean> loader = new JavaBeanLoader<IncompleteBean>(
- IncompleteBean.class);
+ Yaml loader = new Yaml();
try {
- loader.load(output);
+ loader.loadAs(output, IncompleteBean.class);
fail("Setter is missing.");
} catch (YAMLException e) {
String message = e.getMessage();
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue49/CalendarTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue49/CalendarTest.java
index 36105e2..7218ff5 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue49/CalendarTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue49/CalendarTest.java
@@ -24,7 +24,6 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Yaml;
public class CalendarTest extends TestCase {
@@ -43,8 +42,8 @@
// System.out.println(output);
assertEquals("calendar: 2001-09-08T17:46:40-8:00\nname: lunch\n", output);
//
- JavaBeanLoader<CalendarBean> loader = new JavaBeanLoader<CalendarBean>(CalendarBean.class);
- CalendarBean parsed = loader.load(output);
+ Yaml loader = new Yaml();
+ CalendarBean parsed = loader.loadAs(output, CalendarBean.class);
assertEquals(bean.getCalendar(), parsed.getCalendar());
}
@@ -93,17 +92,16 @@
// System.out.println(output);
assertEquals(warning, "calendar: " + etalon + "\nname: lunch\n", output);
//
- JavaBeanLoader<CalendarBean> loader = new JavaBeanLoader<CalendarBean>(CalendarBean.class);
- CalendarBean parsed = loader.load(output);
+ Yaml loader = new Yaml();
+ CalendarBean parsed = loader.loadAs(output, CalendarBean.class);
assertFalse("TimeZone must deviate.", bean.getCalendar().equals(parsed.getCalendar()));
assertEquals(bean.getCalendar().getTimeInMillis(), parsed.getCalendar().getTimeInMillis());
}
public void testLoadBean() {
- JavaBeanLoader<CalendarBean> beanLoader = new JavaBeanLoader<CalendarBean>(
- CalendarBean.class);
- CalendarBean bean = beanLoader
- .load("calendar: 2001-12-14t21:59:43.10-05:00\nname: dinner");
+ Yaml beanLoader = new Yaml();
+ CalendarBean bean = beanLoader.loadAs(
+ "calendar: 2001-12-14t21:59:43.10-05:00\nname: dinner", CalendarBean.class);
assertEquals("dinner", bean.getName());
Calendar calendar = bean.getCalendar();
assertEquals(TimeZone.getTimeZone("GMT-5:00").getOffset(calendar.getTime().getTime()),
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue55/FieldListTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue55/FieldListTest.java
index 8e3082f..3f32f17 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue55/FieldListTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue55/FieldListTest.java
@@ -21,24 +21,24 @@
import junit.framework.TestCase;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.introspector.BeanAccess;
public class FieldListTest extends TestCase {
public void testYaml() {
- JavaBeanLoader<BlogField> beanLoader = new JavaBeanLoader<BlogField>(BlogField.class,
- BeanAccess.FIELD);
- BlogField rehydrated = (BlogField) beanLoader.load(Util
- .getLocalResource("issues/issue55_2.txt"));
+ Yaml beanLoader = new Yaml();
+ beanLoader.setBeanAccess(BeanAccess.FIELD);
+ BlogField rehydrated = beanLoader.loadAs(Util.getLocalResource("issues/issue55_2.txt"),
+ BlogField.class);
assertEquals(4, rehydrated.getPosts().size());
}
public void testFailureWithoutFieldAccess() {
- JavaBeanLoader<BlogField> beanLoader = new JavaBeanLoader<BlogField>(BlogField.class);
+ Yaml beanLoader = new Yaml();
try {
- beanLoader.load(Util.getLocalResource("issues/issue55_2.txt"));
+ beanLoader.loadAs(Util.getLocalResource("issues/issue55_2.txt"), BlogField.class);
fail("Private field must not be available");
} catch (Exception e) {
assertTrue(e.getMessage().contains("Unable to find property 'posts'"));
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue55/JavaBeanListTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue55/JavaBeanListTest.java
index 4d4cc65..9aa872d 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue55/JavaBeanListTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue55/JavaBeanListTest.java
@@ -21,24 +21,24 @@
import junit.framework.TestCase;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.introspector.BeanAccess;
public class JavaBeanListTest extends TestCase {
public void testYaml() {
- JavaBeanLoader<BlogBean> beanLoader = new JavaBeanLoader<BlogBean>(BlogBean.class,
- BeanAccess.FIELD);
- BlogBean rehydrated = (BlogBean) beanLoader.load(Util
- .getLocalResource("issues/issue55_2.txt"));
+ Yaml beanLoader = new Yaml();
+ beanLoader.setBeanAccess(BeanAccess.FIELD);
+ BlogBean rehydrated = (BlogBean) beanLoader.loadAs(
+ Util.getLocalResource("issues/issue55_2.txt"), BlogBean.class);
assertEquals(4, rehydrated.getPosts().size());
}
public void testFailureWithoutFieldAccess() {
- JavaBeanLoader<BlogBean> beanLoader = new JavaBeanLoader<BlogBean>(BlogBean.class);
+ Yaml beanLoader = new Yaml();
try {
- beanLoader.load(Util.getLocalResource("issues/issue55_2.txt"));
+ beanLoader.loadAs(Util.getLocalResource("issues/issue55_2.txt"), BlogBean.class);
fail("Private field must not be available");
} catch (Exception e) {
assertTrue(e.getMessage().contains("Unable to find property 'posts'"));
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue55/YamlFieldAccessCollectionTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue55/YamlFieldAccessCollectionTest.java
index 355b99a..89be26f 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue55/YamlFieldAccessCollectionTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue55/YamlFieldAccessCollectionTest.java
@@ -23,7 +23,6 @@
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.DumperOptions.FlowStyle;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.introspector.BeanAccess;
@@ -38,8 +37,9 @@
String serialized = yamlDumper.dump(original);
// System.out.println(serialized);
assertEquals(Util.getLocalResource("issues/issue55_1.txt"), serialized);
- JavaBeanLoader<Blog> blogLoader = new JavaBeanLoader<Blog>(Blog.class, BeanAccess.FIELD);
- Blog rehydrated = (Blog) blogLoader.load(serialized);
+ Yaml blogLoader = new Yaml();
+ blogLoader.setBeanAccess(BeanAccess.FIELD);
+ Blog rehydrated = blogLoader.loadAs(serialized, Blog.class);
checkTestBlog(rehydrated);
}
@@ -52,9 +52,9 @@
}
public void testYamlFailure() {
- JavaBeanLoader<Blog> beanLoader = new JavaBeanLoader<Blog>(Blog.class);
+ Yaml beanLoader = new Yaml();
try {
- beanLoader.load(Util.getLocalResource("issues/issue55_1.txt"));
+ beanLoader.loadAs(Util.getLocalResource("issues/issue55_1.txt"), Blog.class);
fail("BeanAccess.FIELD is required.");
} catch (Exception e) {
assertTrue(e.getMessage(), e.getMessage().contains("Unable to find property 'posts'"));
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue61/GenericListBeanTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue61/GenericListBeanTest.java
index a923fff..9fad7b8 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue61/GenericListBeanTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue61/GenericListBeanTest.java
@@ -22,11 +22,11 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
public class GenericListBeanTest extends TestCase {
- @SuppressWarnings({ "unchecked", "rawtypes" })
+ @SuppressWarnings("unchecked")
public void testGenericList() throws Exception {
JavaBeanDumper beanDumper = new JavaBeanDumper();
ListProvider<String> listProvider = new ListProvider<String>();
@@ -36,8 +36,8 @@
// System.out.println(s);
assertEquals("list:\n- foo\n- bar\n", s);
// parse
- JavaBeanLoader<ListProvider> loader = new JavaBeanLoader<ListProvider>(ListProvider.class);
- ListProvider<String> listProvider2 = loader.load(s);
+ Yaml loader = new Yaml();
+ ListProvider<String> listProvider2 = loader.loadAs(s, ListProvider.class);
assertEquals("foo", listProvider2.getList().get(0));
assertEquals("bar", listProvider2.getList().get(1));
assertEquals(listProvider, listProvider2);
@@ -59,8 +59,8 @@
String etalon = Util.getLocalResource("issues/issue61-1.yaml");
assertEquals(etalon, s);
// parse
- JavaBeanLoader<ListProvider> loader = new JavaBeanLoader<ListProvider>(ListProvider.class);
- ListProvider listProvider2 = loader.load(s);
+ Yaml loader = new Yaml();
+ ListProvider listProvider2 = loader.loadAs(s, ListProvider.class);
Bean foo2 = (Bean) listProvider2.getList().get(0);
assertEquals("foo", foo2.getName());
assertEquals(0, foo2.getNumber());
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue61/GenericMapBeanTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue61/GenericMapBeanTest.java
index 40a1008..60c2d37 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue61/GenericMapBeanTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue61/GenericMapBeanTest.java
@@ -22,11 +22,11 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
public class GenericMapBeanTest extends TestCase {
- @SuppressWarnings({ "unchecked", "rawtypes" })
+ @SuppressWarnings("unchecked")
public void testGenericMap() throws Exception {
JavaBeanDumper beanDumper = new JavaBeanDumper();
MapProvider<String, Integer> listProvider = new MapProvider<String, Integer>();
@@ -36,8 +36,8 @@
// System.out.println(s);
assertEquals("map:\n foo: 17\n bar: 19\n", s);
// parse
- JavaBeanLoader<MapProvider> loader = new JavaBeanLoader<MapProvider>(MapProvider.class);
- MapProvider<String, Integer> listProvider2 = loader.load(s);
+ Yaml loader = new Yaml();
+ MapProvider<String, Integer> listProvider2 = loader.loadAs(s, MapProvider.class);
assertEquals(new Integer(17), listProvider2.getMap().get("foo"));
assertEquals(new Integer(19), listProvider2.getMap().get("bar"));
assertEquals(listProvider, listProvider2);
@@ -59,8 +59,8 @@
String etalon = Util.getLocalResource("issues/issue61-2.yaml");
assertEquals(etalon, s);
// parse
- JavaBeanLoader<MapProvider> loader = new JavaBeanLoader<MapProvider>(MapProvider.class);
- MapProvider listProvider2 = loader.load(s);
+ Yaml loader = new Yaml();
+ MapProvider listProvider2 = loader.loadAs(s, MapProvider.class);
Bean foo2 = (Bean) listProvider2.getMap().get("foo");
assertEquals("foo", foo2.getName());
assertEquals(0, foo2.getNumber());
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue72/CollectionTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue72/CollectionTest.java
index b23438e..3a067a6 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue72/CollectionTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue72/CollectionTest.java
@@ -23,7 +23,7 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
+import org.yaml.snakeyaml.Yaml;
public class CollectionTest extends TestCase {
@@ -32,9 +32,8 @@
JavaBeanDumper dumper = new JavaBeanDumper();
String doc = dumper.dump(bean);
// System.out.println(doc);
- JavaBeanLoader<CollectionList> beanLoader = new JavaBeanLoader<CollectionList>(
- CollectionList.class);
- CollectionList parsed = beanLoader.load(doc);
+ Yaml beanLoader = new Yaml();
+ CollectionList parsed = beanLoader.loadAs(doc, CollectionList.class);
assertTrue(parsed.getNames().contains("aaa"));
assertTrue(parsed.getNames().contains("bbb"));
assertEquals(2, parsed.getNames().size());
@@ -63,9 +62,8 @@
JavaBeanDumper dumper = new JavaBeanDumper();
String doc = dumper.dump(bean);
// System.out.println(doc);
- JavaBeanLoader<CollectionSet> beanLoader = new JavaBeanLoader<CollectionSet>(
- CollectionSet.class);
- CollectionSet parsed = beanLoader.load(doc);
+ Yaml beanLoader = new Yaml();
+ CollectionSet parsed = beanLoader.loadAs(doc, CollectionSet.class);
assertTrue(parsed.getRoles().contains(11));
assertTrue(parsed.getRoles().contains(13));
assertEquals(2, parsed.getRoles().size());
@@ -88,5 +86,4 @@
this.roles = roles;
}
}
-
}
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue73/SetAsSequenceTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue73/SetAsSequenceTest.java
index e04d1a9..0edd7be 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue73/SetAsSequenceTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue73/SetAsSequenceTest.java
@@ -24,7 +24,6 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.DumperOptions;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.introspector.BeanAccess;
@@ -67,8 +66,9 @@
public void testYaml() {
String serialized = Util.getLocalResource("issues/issue73-2.txt");
// System.out.println(serialized);
- JavaBeanLoader<Blog> beanLoader = new JavaBeanLoader<Blog>(Blog.class, BeanAccess.FIELD);
- Blog rehydrated = beanLoader.load(serialized);
+ Yaml beanLoader = new Yaml();
+ beanLoader.setBeanAccess(BeanAccess.FIELD);
+ Blog rehydrated = beanLoader.loadAs(serialized, Blog.class);
checkTestBlog(rehydrated);
}
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue74/ArrayBeanTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue74/ArrayBeanTest.java
index 38aa491..2028aed 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue74/ArrayBeanTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue74/ArrayBeanTest.java
@@ -22,8 +22,8 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
public class ArrayBeanTest extends TestCase {
@@ -46,8 +46,8 @@
String output = beanDumper.dump(bean);
// System.out.println(output);
assertEquals(Util.getLocalResource("issues/issue74-array1.txt"), output);
- JavaBeanLoader<ArrayBean> beanLoader = new JavaBeanLoader<ArrayBean>(ArrayBean.class);
- ArrayBean parsed = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ ArrayBean parsed = beanLoader.loadAs(output, ArrayBean.class);
// System.out.println(parsed);
assertEquals(3, parsed.getMembers().length);
assertEquals(2, parsed.openMembers.length);
diff --git a/src/test/java/org/yaml/snakeyaml/issues/issue82/PropOrderInfluenceWhenAliasedInGenericCollectionTest.java b/src/test/java/org/yaml/snakeyaml/issues/issue82/PropOrderInfluenceWhenAliasedInGenericCollectionTest.java
index baf4e11..37f9782 100644
--- a/src/test/java/org/yaml/snakeyaml/issues/issue82/PropOrderInfluenceWhenAliasedInGenericCollectionTest.java
+++ b/src/test/java/org/yaml/snakeyaml/issues/issue82/PropOrderInfluenceWhenAliasedInGenericCollectionTest.java
@@ -26,7 +26,6 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
@@ -243,8 +242,8 @@
JavaBeanDumper dumper = new JavaBeanDumper();
String dump2 = dumper.dump(customerAB);
// System.out.println(dump2);
- JavaBeanLoader<CustomerAB> loader = new JavaBeanLoader<CustomerAB>(CustomerAB.class);
- CustomerAB parsed = loader.load(dump2);
+ Yaml loader = new Yaml();
+ CustomerAB parsed = loader.loadAs(dump2, CustomerAB.class);
assertNotNull(parsed);
}
diff --git a/src/test/java/org/yaml/snakeyaml/javabeans/ConstructEmptyBeanTest.java b/src/test/java/org/yaml/snakeyaml/javabeans/ConstructEmptyBeanTest.java
index 1d62bf2..606e260 100644
--- a/src/test/java/org/yaml/snakeyaml/javabeans/ConstructEmptyBeanTest.java
+++ b/src/test/java/org/yaml/snakeyaml/javabeans/ConstructEmptyBeanTest.java
@@ -21,7 +21,6 @@
import junit.framework.TestCase;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Yaml;
public class ConstructEmptyBeanTest extends TestCase {
@@ -41,9 +40,10 @@
* global tag is correct (but ignored)
*/
public void testEmptyBean1() throws IOException {
- JavaBeanLoader<EmptyBean> beanLoader = new JavaBeanLoader<EmptyBean>(EmptyBean.class);
- EmptyBean bean = beanLoader
- .load("!!org.yaml.snakeyaml.javabeans.ConstructEmptyBeanTest$EmptyBean {}");
+ Yaml beanLoader = new Yaml();
+ EmptyBean bean = beanLoader.loadAs(
+ "!!org.yaml.snakeyaml.javabeans.ConstructEmptyBeanTest$EmptyBean {}",
+ EmptyBean.class);
assertNotNull(bean);
assertNull(bean.getFirstName());
assertEquals(5, bean.getHatSize());
@@ -53,8 +53,8 @@
* global tag is ignored
*/
public void testEmptyBean2() throws IOException {
- JavaBeanLoader<EmptyBean> beanLoader = new JavaBeanLoader<EmptyBean>(EmptyBean.class);
- EmptyBean bean = beanLoader.load("!!Bla-bla-bla {}");
+ Yaml beanLoader = new Yaml();
+ EmptyBean bean = beanLoader.loadAs("!!Bla-bla-bla {}", EmptyBean.class);
assertNotNull(bean);
assertNull(bean.getFirstName());
assertEquals(5, bean.getHatSize());
@@ -64,8 +64,8 @@
* no tag
*/
public void testEmptyBean3() throws IOException {
- JavaBeanLoader<EmptyBean> beanLoader = new JavaBeanLoader<EmptyBean>(EmptyBean.class);
- EmptyBean bean = beanLoader.load("{ }");
+ Yaml beanLoader = new Yaml();
+ EmptyBean bean = beanLoader.loadAs("{ }", EmptyBean.class);
assertNotNull(bean);
assertNull(bean.getFirstName());
assertEquals(5, bean.getHatSize());
@@ -75,8 +75,8 @@
* empty document
*/
public void testEmptyBean4() throws IOException {
- JavaBeanLoader<EmptyBean> beanLoader = new JavaBeanLoader<EmptyBean>(EmptyBean.class);
- EmptyBean bean = beanLoader.load("");
+ Yaml beanLoader = new Yaml();
+ EmptyBean bean = beanLoader.loadAs("", EmptyBean.class);
assertNull(bean);
}
@@ -84,8 +84,8 @@
* local tag is ignored
*/
public void testEmptyBean5() throws IOException {
- JavaBeanLoader<EmptyBean> beanLoader = new JavaBeanLoader<EmptyBean>(EmptyBean.class);
- EmptyBean bean = beanLoader.load("!Bla-bla-bla {}");
+ Yaml beanLoader = new Yaml();
+ EmptyBean bean = beanLoader.loadAs("!Bla-bla-bla {}", EmptyBean.class);
assertNotNull(bean);
assertNull(bean.getFirstName());
assertEquals(5, bean.getHatSize());
@@ -95,9 +95,9 @@
* invalid document
*/
public void testEmptyBean6() throws IOException {
- JavaBeanLoader<EmptyBean> beanLoader = new JavaBeanLoader<EmptyBean>(EmptyBean.class);
+ Yaml beanLoader = new Yaml();
try {
- beanLoader.load("{");
+ beanLoader.loadAs("{", EmptyBean.class);
fail("Invalid document provided.");
} catch (Exception e) {
assertEquals(
diff --git a/src/test/java/org/yaml/snakeyaml/javabeans/HouseTest.java b/src/test/java/org/yaml/snakeyaml/javabeans/HouseTest.java
index 9012b7d..0cae5c6 100644
--- a/src/test/java/org/yaml/snakeyaml/javabeans/HouseTest.java
+++ b/src/test/java/org/yaml/snakeyaml/javabeans/HouseTest.java
@@ -24,9 +24,10 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
+import org.yaml.snakeyaml.constructor.Constructor;
public class HouseTest extends TestCase {
/**
@@ -56,8 +57,8 @@
String output2 = beanDumper.dump(house);
assertEquals(etalon, output2);
// load
- JavaBeanLoader<House> beanLoader = new JavaBeanLoader<House>(House.class);
- House loadedHouse = beanLoader.load(yaml);
+ Yaml beanLoader = new Yaml();
+ House loadedHouse = beanLoader.loadAs(yaml, House.class);
assertNotNull(loadedHouse);
assertEquals("Wall Street", loadedHouse.getStreet());
// dump again
@@ -91,11 +92,14 @@
// load
TypeDescription description = new TypeDescription(House.class);
description.putListPropertyType("rooms", Room.class);
- JavaBeanLoader<House> beanLoader = new JavaBeanLoader<House>(description);
- House loadedHouse = beanLoader.load(yaml);
+ Yaml beanLoader = new Yaml(new Constructor(description));
+ House loadedHouse = (House) beanLoader.load(yaml);
+ House loadedHouse2 = (House) beanLoader.loadAs(yaml, House.class);
assertNotNull(loadedHouse);
+ assertFalse(loadedHouse == loadedHouse2);
assertEquals("Wall Street", loadedHouse.getStreet());
assertEquals(1, loadedHouse.getNumber());
+ assertEquals(1, loadedHouse2.getNumber());
FrontDoor fdoor = loadedHouse.getFrontDoor();
assertEquals(frontDoor.getId(), fdoor.getId());
assertEquals(frontDoor.getHeight(), fdoor.getHeight());
@@ -132,8 +136,8 @@
String etalon = Util.getLocalResource("javabeans/house-dump2.yaml");
assertEquals(etalon, yaml);
// load
- JavaBeanLoader<House> beanLoader = new JavaBeanLoader<House>(House.class);
- House loadedHouse = beanLoader.load(yaml);
+ Yaml beanLoader = new Yaml();
+ House loadedHouse = beanLoader.loadAs(yaml, House.class);
assertNotNull(loadedHouse);
assertEquals("Wall Street", loadedHouse.getStreet());
// dump again
diff --git a/src/test/java/org/yaml/snakeyaml/javabeans/TriangleBeanTest.java b/src/test/java/org/yaml/snakeyaml/javabeans/TriangleBeanTest.java
index 3ffa34d..674e6d5 100644
--- a/src/test/java/org/yaml/snakeyaml/javabeans/TriangleBeanTest.java
+++ b/src/test/java/org/yaml/snakeyaml/javabeans/TriangleBeanTest.java
@@ -19,7 +19,7 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
+import org.yaml.snakeyaml.Yaml;
public class TriangleBeanTest extends TestCase {
@@ -34,9 +34,8 @@
assertEquals(
"name: Bean25\nshape: !!org.yaml.snakeyaml.javabeans.Triangle\n name: Triangle25\n",
output);
- JavaBeanLoader<TriangleBean> beanLoader = new JavaBeanLoader<TriangleBean>(
- TriangleBean.class);
- TriangleBean loadedBean = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ TriangleBean loadedBean = beanLoader.loadAs(output, TriangleBean.class);
assertNotNull(loadedBean);
assertEquals("Bean25", loadedBean.getName());
assertEquals(7, loadedBean.getShape().process());
@@ -44,10 +43,9 @@
public void testClassNotFound() {
String output = "name: Bean25\nshape: !!org.yaml.snakeyaml.javabeans.Triangle777\n name: Triangle25\n";
- JavaBeanLoader<TriangleBean> beanLoader = new JavaBeanLoader<TriangleBean>(
- TriangleBean.class);
+ Yaml beanLoader = new Yaml();
try {
- beanLoader.load(output);
+ beanLoader.loadAs(output, TriangleBean.class);
fail("Class not found expected.");
} catch (Exception e) {
assertEquals(
@@ -61,10 +59,9 @@
*/
public void testClassAndTag() {
String output = "name: !!whatever Bean25\nshape: !!org.yaml.snakeyaml.javabeans.Triangle\n name: Triangle25\n";
- JavaBeanLoader<TriangleBean> beanLoader = new JavaBeanLoader<TriangleBean>(
- TriangleBean.class);
+ Yaml beanLoader = new Yaml();
try {
- beanLoader.load(output);
+ beanLoader.loadAs(output, TriangleBean.class);
fail("Runtime class has less priority then an explicit tag");
} catch (Exception e) {
assertEquals(
diff --git a/src/test/java/org/yaml/snakeyaml/recursive/HumanTest.java b/src/test/java/org/yaml/snakeyaml/recursive/HumanTest.java
index bf00892..e27ad7d 100644
--- a/src/test/java/org/yaml/snakeyaml/recursive/HumanTest.java
+++ b/src/test/java/org/yaml/snakeyaml/recursive/HumanTest.java
@@ -32,7 +32,6 @@
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.DumperOptions.FlowStyle;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
@@ -139,9 +138,9 @@
assertEquals(etalon, output);
TypeDescription humanDescription = new TypeDescription(Human.class);
humanDescription.putMapPropertyType("children", Human.class, Object.class);
- JavaBeanLoader<Human> beanLoader = new JavaBeanLoader<Human>(humanDescription);
+ Yaml beanLoader = new Yaml(new Constructor(humanDescription));
//
- Human son2 = beanLoader.load(output);
+ Human son2 = beanLoader.loadAs(output, Human.class);
assertNotNull(son2);
assertEquals("Son", son.getName());
@@ -212,9 +211,9 @@
assertEquals(etalon, output);
TypeDescription humanDescription = new TypeDescription(Human.class);
humanDescription.putMapPropertyType("children", Human.class, Object.class);
- JavaBeanLoader<Human> beanLoader = new JavaBeanLoader<Human>(humanDescription);
+ Yaml beanLoader = new Yaml(new Constructor(humanDescription));
//
- Human son2 = beanLoader.load(output);
+ Human son2 = beanLoader.loadAs(output, Human.class);
assertNotNull(son2);
assertEquals("Son", son.getName());
@@ -634,9 +633,9 @@
assertEquals(etalon, output);
TypeDescription humanDescription = new TypeDescription(Human.class);
humanDescription.putMapPropertyType("children", Human.class, Object.class);
- JavaBeanLoader<Human> beanLoader = new JavaBeanLoader<Human>(humanDescription);
+ Yaml beanLoader = new Yaml(new Constructor(humanDescription));
//
- Human son2 = beanLoader.load(output);
+ Human son2 = beanLoader.loadAs(output, Human.class);
assertNotNull(son2);
assertEquals("Son", son.getName());
@@ -659,5 +658,4 @@
// check if hashCode is correct
validateSet(children2);
}
-
}
diff --git a/src/test/java/org/yaml/snakeyaml/recursive/generics/HumanGenericsTest.java b/src/test/java/org/yaml/snakeyaml/recursive/generics/HumanGenericsTest.java
index 929a2e8..e8ba439 100644
--- a/src/test/java/org/yaml/snakeyaml/recursive/generics/HumanGenericsTest.java
+++ b/src/test/java/org/yaml/snakeyaml/recursive/generics/HumanGenericsTest.java
@@ -31,7 +31,6 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.DumperOptions;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
@@ -99,8 +98,8 @@
String etalon = Util.getLocalResource("recursive/generics/no-children-2.yaml");
assertEquals(etalon, output);
//
- JavaBeanLoader<HumanGen> loader = new JavaBeanLoader<HumanGen>(HumanGen.class);
- HumanGen father2 = (HumanGen) loader.load(etalon);
+ Yaml loader = new Yaml();
+ HumanGen father2 = (HumanGen) loader.loadAs(etalon, HumanGen.class);
assertNotNull(father2);
assertEquals("Father", father2.getName());
assertEquals("Mother", father2.getPartner().getName());
@@ -231,9 +230,9 @@
// load
TypeDescription humanDescription = new TypeDescription(HumanGen2.class);
humanDescription.putMapPropertyType("children", HumanGen2.class, String.class);
- JavaBeanLoader<HumanGen2> beanLoader = new JavaBeanLoader<HumanGen2>(humanDescription);
+ Yaml beanLoader = new Yaml(new Constructor(humanDescription));
//
- HumanGen2 son2 = beanLoader.load(output);
+ HumanGen2 son2 = beanLoader.loadAs(output, HumanGen2.class);
assertNotNull(son2);
assertEquals("Son", son.getName());
diff --git a/src/test/java/org/yaml/snakeyaml/ruby/RubyTest.java b/src/test/java/org/yaml/snakeyaml/ruby/RubyTest.java
index 94c4d61..c43e3dd 100644
--- a/src/test/java/org/yaml/snakeyaml/ruby/RubyTest.java
+++ b/src/test/java/org/yaml/snakeyaml/ruby/RubyTest.java
@@ -19,7 +19,6 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.DumperOptions;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
@@ -48,8 +47,8 @@
assertFalse("No tags expected.", output.contains("Sub1"));
// System.out.println(output);
// parse back. Without tags it shall still work
- JavaBeanLoader<TestObject> beanLoader = new JavaBeanLoader<TestObject>(TestObject.class);
- TestObject result2 = beanLoader.load(output);
+ Yaml beanLoader = new Yaml();
+ TestObject result2 = beanLoader.loadAs(output, TestObject.class);
assertEquals(0, result2.getSub1().getAtt2());
assertEquals("MyString", result2.getSub2().getAtt1());
assertEquals(1, result2.getSub2().getAtt2().size());
diff --git a/src/test/java/org/yaml/snakeyaml/stress/ParallelTest.java b/src/test/java/org/yaml/snakeyaml/stress/ParallelTest.java
index 4a27b01..0d6020a 100644
--- a/src/test/java/org/yaml/snakeyaml/stress/ParallelTest.java
+++ b/src/test/java/org/yaml/snakeyaml/stress/ParallelTest.java
@@ -21,8 +21,8 @@
import junit.framework.TestCase;
import org.yaml.snakeyaml.Invoice;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
/**
* Test that Yaml instances are independent and can be used in multiple threads.
@@ -58,11 +58,11 @@
public void run() {
System.out.println("Started: " + id);
- JavaBeanLoader<Invoice> loader = new JavaBeanLoader<Invoice>(Invoice.class);
+ Yaml loader = new Yaml();
long time1 = System.nanoTime();
int cycles = 200;
for (int i = 0; i < cycles; i++) {
- Invoice invoice = loader.load(doc);
+ Invoice invoice = loader.loadAs(doc, Invoice.class);
assertNotNull(invoice);
}
long time2 = System.nanoTime();
diff --git a/src/test/java/org/yaml/snakeyaml/stress/StressEmitterTest.java b/src/test/java/org/yaml/snakeyaml/stress/StressEmitterTest.java
index 53e075e..aec885d 100644
--- a/src/test/java/org/yaml/snakeyaml/stress/StressEmitterTest.java
+++ b/src/test/java/org/yaml/snakeyaml/stress/StressEmitterTest.java
@@ -24,8 +24,8 @@
import org.yaml.snakeyaml.Invoice;
import org.yaml.snakeyaml.JavaBeanDumper;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
+import org.yaml.snakeyaml.Yaml;
public class StressEmitterTest extends TestCase {
@@ -38,8 +38,9 @@
}
public void testPerformance() throws IOException {
- JavaBeanLoader<Invoice> loader = new JavaBeanLoader<Invoice>(Invoice.class);
- Invoice invoice = loader.load(Util.getLocalResource("specification/example2_27.yaml"));
+ Yaml loader = new Yaml();
+ Invoice invoice = loader.loadAs(Util.getLocalResource("specification/example2_27.yaml"),
+ Invoice.class);
JavaBeanDumper dumper = new JavaBeanDumper();
long time1 = System.nanoTime();
dumper.dump(invoice);
diff --git a/src/test/java/org/yaml/snakeyaml/stress/StressTest.java b/src/test/java/org/yaml/snakeyaml/stress/StressTest.java
index 7ffed96..701f1b1 100644
--- a/src/test/java/org/yaml/snakeyaml/stress/StressTest.java
+++ b/src/test/java/org/yaml/snakeyaml/stress/StressTest.java
@@ -23,7 +23,6 @@
import junit.framework.TestSuite;
import org.yaml.snakeyaml.Invoice;
-import org.yaml.snakeyaml.JavaBeanLoader;
import org.yaml.snakeyaml.Util;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
@@ -50,20 +49,20 @@
float duration = (time2 - time1) / 1000000;
System.out.println("Init was " + duration + " ms.");
- JavaBeanLoader<Invoice> loader = new JavaBeanLoader<Invoice>(Invoice.class);
+ Yaml loader = new Yaml();
time1 = System.nanoTime();
- loader.load(doc);
+ loader.loadAs(doc, Invoice.class);
time2 = System.nanoTime();
duration = (time2 - time1) / 1000000;
System.out.println("\nSingle load was " + duration + " ms.");
- loader = new JavaBeanLoader<Invoice>(Invoice.class);
+ loader = new Yaml();
int[] range = new int[] { 1000, 2000 /* , 4000, 8000 */};
System.out.println("\nOne instance.");
for (int number : range) {
time1 = System.nanoTime();
for (int i = 0; i < number; i++) {
- loader.load(doc);
+ loader.loadAs(doc, Invoice.class);
}
time2 = System.nanoTime();
duration = ((time2 - time1) / 1000000) / (float) number;
@@ -79,8 +78,8 @@
for (int number : range) {
time1 = System.nanoTime();
for (int i = 0; i < number; i++) {
- loader = new JavaBeanLoader<Invoice>(Invoice.class);
- loader.load(doc);
+ loader = new Yaml();
+ loader.loadAs(doc, Invoice.class);
}
time2 = System.nanoTime();
duration = ((time2 - time1) / 1000000) / (float) number;