Backed out changeset 533e5b41feca
Remove using direct String in StreamReader till mark setting is removed
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 3b1d44a..cb5f630 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -7,10 +7,6 @@
</properties>
<body>
<release version="1.8-SNAPSHOT" date="in Mercurial" description="Performance improvement">
- <action dev="py4fun" type="update">
- When the YAML document to be loaded is provided as String parse it directly
- without making a Reader first (2011-01-23)
- </action>
<action dev="maslovalex" type="update" issue="100">
Merge JavaBean properties when an explicit tag is provided (2011-01-11)
</action>
diff --git a/src/main/java/org/yaml/snakeyaml/Yaml.java b/src/main/java/org/yaml/snakeyaml/Yaml.java
index b00f41b..01014c8 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, loaderOptions.isWithMarkContext()));
+ return load(new StringReader(yaml));
}
/**
@@ -275,8 +275,7 @@
* @return parsed object
*/
public Object load(InputStream io) {
- return loadFromReader(new StreamReader(new UnicodeReader(io),
- loaderOptions.isWithMarkContext()));
+ return load(new UnicodeReader(io));
}
/**
@@ -288,11 +287,8 @@
* @return parsed object
*/
public Object load(Reader io) {
- return loadFromReader(new StreamReader(io, loaderOptions.isWithMarkContext()));
- }
-
- private Object loadFromReader(StreamReader sreader) {
- Composer composer = new Composer(new ParserImpl(sreader), resolver);
+ Composer composer = new Composer(new ParserImpl(new StreamReader(io, loaderOptions
+ .isWithMarkContext())), resolver);
constructor.setComposer(composer);
return constructor.getSingleData();
}
@@ -307,8 +303,8 @@
* sequence
*/
public Iterable<Object> loadAll(Reader yaml) {
- Composer composer = new Composer(new ParserImpl(new StreamReader(yaml,
- loaderOptions.isWithMarkContext())), resolver);
+ Composer composer = new Composer(new ParserImpl(new StreamReader(yaml, loaderOptions
+ .isWithMarkContext())), resolver);
constructor.setComposer(composer);
Iterator<Object> result = new Iterator<Object>() {
public boolean hasNext() {
@@ -375,8 +371,8 @@
* @return parsed root Node for the specified YAML document
*/
public Node compose(Reader yaml) {
- Composer composer = new Composer(new ParserImpl(new StreamReader(yaml,
- loaderOptions.isWithMarkContext())), resolver);
+ Composer composer = new Composer(new ParserImpl(new StreamReader(yaml, loaderOptions
+ .isWithMarkContext())), resolver);
constructor.setComposer(composer);
return composer.getSingleNode();
}
@@ -390,8 +386,8 @@
* @return parsed root Nodes for all the specified YAML documents
*/
public Iterable<Node> composeAll(Reader yaml) {
- final Composer composer = new Composer(new ParserImpl(new StreamReader(yaml,
- loaderOptions.isWithMarkContext())), resolver);
+ final Composer composer = new Composer(new ParserImpl(new StreamReader(yaml, loaderOptions
+ .isWithMarkContext())), resolver);
constructor.setComposer(composer);
Iterator<Node> result = new Iterator<Node>() {
public boolean hasNext() {
@@ -489,8 +485,8 @@
* @return parsed events
*/
public Iterable<Event> parse(Reader yaml) {
- final Parser parser = new ParserImpl(new StreamReader(yaml,
- loaderOptions.isWithMarkContext()));
+ final Parser parser = new ParserImpl(new StreamReader(yaml, loaderOptions
+ .isWithMarkContext()));
Iterator<Event> result = new Iterator<Event>() {
public boolean hasNext() {
return parser.peekEvent() != null;
diff --git a/src/main/java/org/yaml/snakeyaml/reader/StreamReader.java b/src/main/java/org/yaml/snakeyaml/reader/StreamReader.java
index 4294d30..8e4f778 100644
--- a/src/main/java/org/yaml/snakeyaml/reader/StreamReader.java
+++ b/src/main/java/org/yaml/snakeyaml/reader/StreamReader.java
@@ -87,7 +87,6 @@
if (!putBufferInMark) {
return new Mark(name, this.index, this.line, this.column, null, this.pointer);
}
- // TODO buffer.toString() creates a lot of useless Strings
return new Mark(name, this.index, this.line, this.column, this.buffer.toString(),
this.pointer);
}
diff --git a/src/test/resources/issues/issue67-error1.txt b/src/test/resources/issues/issue67-error1.txt
index 0fbfd37..265401a 100644
--- a/src/test/resources/issues/issue67-error1.txt
+++ b/src/test/resources/issues/issue67-error1.txt
@@ -1,8 +1,8 @@
while scanning a tag
- in "<string>", line 1, column 1:
+ in "<reader>", line 1, column 1:
!!org.yaml.snakeyaml.issues.issu ...
^
expected URI escape sequence of 2 hexadecimal numbers, but found 9(57) and %(37)
- in "<string>", line 1, column 71:
+ in "<reader>", line 1, column 71:
... nAsciiCharsInClassNameTest$Acad%9%A9mico {id: 3, name: Foo bar}
^
diff --git a/src/test/resources/issues/issue67-error2.txt b/src/test/resources/issues/issue67-error2.txt
index 41e045e..c4a7c5b 100644
--- a/src/test/resources/issues/issue67-error2.txt
+++ b/src/test/resources/issues/issue67-error2.txt
@@ -1,8 +1,8 @@
while scanning a tag
- in "<string>", line 1, column 1:
+ in "<reader>", line 1, column 1:
!!org.yaml.snakeyaml.issues.issu ...
^
expected URI in UTF-8: Input length = 1
- in "<string>", line 1, column 70:
+ in "<reader>", line 1, column 70:
... onAsciiCharsInClassNameTest$Acad%C0mico {id: 3, name: Foo bar}
^