Skip to content

Commit b5505ac

Browse files
committed
SnakeYAML Engine is updated to its release 1.0
1 parent 21efb26 commit b5505ac

File tree

9 files changed

+58
-55
lines changed

9 files changed

+58
-55
lines changed

yaml/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<dependency>
3131
<groupId>org.snakeyaml</groupId>
3232
<artifactId>snakeyaml-engine</artifactId>
33-
<version>0.1-SNAPSHOT</version>
33+
<version>1.0</version>
3434
</dependency>
3535

3636
<!-- and for testing need annotations -->

yaml/src/main/java/com/fasterxml/jackson/dataformat/yaml/WriterWrapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import java.io.IOException;
44
import java.io.Writer;
55

6-
import org.snakeyaml.engine.api.StreamDataWriter;
6+
import org.snakeyaml.engine.v1.api.StreamDataWriter;
77

88
public class WriterWrapper implements StreamDataWriter {
99
private final Writer _writer;

yaml/src/main/java/com/fasterxml/jackson/dataformat/yaml/YAMLFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import java.io.*;
44
import java.nio.charset.Charset;
55

6-
import org.snakeyaml.engine.common.SpecVersion;
6+
import org.snakeyaml.engine.v1.common.SpecVersion;
77

88
import com.fasterxml.jackson.core.*;
99
import com.fasterxml.jackson.core.base.TextualTSFactory;

yaml/src/main/java/com/fasterxml/jackson/dataformat/yaml/YAMLGenerator.java

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,25 @@
99
import java.util.Optional;
1010
import java.util.regex.Pattern;
1111

12-
import org.snakeyaml.engine.api.DumpSettings;
13-
import org.snakeyaml.engine.common.Anchor;
14-
import org.snakeyaml.engine.common.FlowStyle;
15-
import org.snakeyaml.engine.common.ScalarStyle;
16-
import org.snakeyaml.engine.common.SpecVersion;
17-
import org.snakeyaml.engine.emitter.Emitter;
18-
import org.snakeyaml.engine.events.AliasEvent;
19-
import org.snakeyaml.engine.events.DocumentEndEvent;
20-
import org.snakeyaml.engine.events.DocumentStartEvent;
21-
import org.snakeyaml.engine.events.ImplicitTuple;
22-
import org.snakeyaml.engine.events.MappingEndEvent;
23-
import org.snakeyaml.engine.events.MappingStartEvent;
24-
import org.snakeyaml.engine.events.ScalarEvent;
25-
import org.snakeyaml.engine.events.SequenceEndEvent;
26-
import org.snakeyaml.engine.events.SequenceStartEvent;
27-
import org.snakeyaml.engine.events.StreamEndEvent;
28-
import org.snakeyaml.engine.events.StreamStartEvent;
29-
import org.snakeyaml.engine.nodes.Tag;
12+
import org.snakeyaml.engine.v1.api.DumpSettings;
13+
import org.snakeyaml.engine.v1.api.DumpSettingsBuilder;
14+
import org.snakeyaml.engine.v1.common.Anchor;
15+
import org.snakeyaml.engine.v1.common.FlowStyle;
16+
import org.snakeyaml.engine.v1.common.ScalarStyle;
17+
import org.snakeyaml.engine.v1.common.SpecVersion;
18+
import org.snakeyaml.engine.v1.emitter.Emitter;
19+
import org.snakeyaml.engine.v1.events.AliasEvent;
20+
import org.snakeyaml.engine.v1.events.DocumentEndEvent;
21+
import org.snakeyaml.engine.v1.events.DocumentStartEvent;
22+
import org.snakeyaml.engine.v1.events.ImplicitTuple;
23+
import org.snakeyaml.engine.v1.events.MappingEndEvent;
24+
import org.snakeyaml.engine.v1.events.MappingStartEvent;
25+
import org.snakeyaml.engine.v1.events.ScalarEvent;
26+
import org.snakeyaml.engine.v1.events.SequenceEndEvent;
27+
import org.snakeyaml.engine.v1.events.SequenceStartEvent;
28+
import org.snakeyaml.engine.v1.events.StreamEndEvent;
29+
import org.snakeyaml.engine.v1.events.StreamStartEvent;
30+
import org.snakeyaml.engine.v1.nodes.Tag;
3031

3132
import com.fasterxml.jackson.core.*;
3233
import com.fasterxml.jackson.core.base.GeneratorBase;
@@ -111,7 +112,12 @@ public enum Feature implements FormatFeature
111112
* If disabled, Unix linefeed ({@code \n}) will be used.
112113
* <p>
113114
* Default value is `false` for backwards compatibility.
115+
*
116+
* This setting does not do anything. Regardless of its value, SnakeYAML Engine will use the line break defined
117+
* in System.getProperty("line.separator")
118+
* @deprecated
114119
*/
120+
@Deprecated
115121
USE_PLATFORM_LINE_BREAKS(false),
116122

117123
/**
@@ -254,7 +260,7 @@ public YAMLGenerator(ObjectWriteContext writeContext, IOContext ioCtxt,
254260
protected DumpSettings buildDumperOptions(int jsonFeatures, int yamlFeatures,
255261
SpecVersion version)
256262
{
257-
DumpSettings opt = new DumpSettings();
263+
DumpSettingsBuilder opt = new DumpSettingsBuilder();
258264
// would we want canonical?
259265
if (Feature.CANONICAL_OUTPUT.enabledIn(_formatFeatures)) {
260266
opt.setCanonical(true);
@@ -274,11 +280,7 @@ protected DumpSettings buildDumperOptions(int jsonFeatures, int yamlFeatures,
274280
opt.setIndicatorIndent(1);
275281
opt.setIndent(2);
276282
}
277-
// 14-May-2018: [dataformats-text#84] allow use of platform linefeed
278-
if (Feature.USE_PLATFORM_LINE_BREAKS.enabledIn(_formatFeatures)) {
279-
opt.setLineBreak(DumperOptions.LineBreak.getPlatformLineBreak());
280-
}
281-
return opt;
283+
return opt.build();
282284
}
283285

284286
/*

yaml/src/main/java/com/fasterxml/jackson/dataformat/yaml/YAMLParser.java

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,21 @@
66
import java.util.Optional;
77
import java.util.regex.Pattern;
88

9-
import org.snakeyaml.engine.api.LoadSettings;
10-
import org.snakeyaml.engine.common.Anchor;
11-
import org.snakeyaml.engine.events.AliasEvent;
12-
import org.snakeyaml.engine.events.CollectionStartEvent;
13-
import org.snakeyaml.engine.events.Event;
14-
import org.snakeyaml.engine.events.MappingStartEvent;
15-
import org.snakeyaml.engine.events.NodeEvent;
16-
import org.snakeyaml.engine.events.ScalarEvent;
17-
import org.snakeyaml.engine.exceptions.Mark;
18-
import org.snakeyaml.engine.nodes.Tag;
19-
import org.snakeyaml.engine.parser.ParserImpl;
20-
import org.snakeyaml.engine.resolver.JsonScalarResolver;
21-
import org.snakeyaml.engine.resolver.ScalarResolver;
22-
import org.snakeyaml.engine.scanner.StreamReader;
9+
import org.snakeyaml.engine.v1.api.LoadSettings;
10+
import org.snakeyaml.engine.v1.api.LoadSettingsBuilder;
11+
import org.snakeyaml.engine.v1.common.Anchor;
12+
import org.snakeyaml.engine.v1.events.AliasEvent;
13+
import org.snakeyaml.engine.v1.events.CollectionStartEvent;
14+
import org.snakeyaml.engine.v1.events.Event;
15+
import org.snakeyaml.engine.v1.events.MappingStartEvent;
16+
import org.snakeyaml.engine.v1.events.NodeEvent;
17+
import org.snakeyaml.engine.v1.events.ScalarEvent;
18+
import org.snakeyaml.engine.v1.exceptions.Mark;
19+
import org.snakeyaml.engine.v1.nodes.Tag;
20+
import org.snakeyaml.engine.v1.parser.ParserImpl;
21+
import org.snakeyaml.engine.v1.resolver.JsonScalarResolver;
22+
import org.snakeyaml.engine.v1.resolver.ScalarResolver;
23+
import org.snakeyaml.engine.v1.scanner.StreamReader;
2324

2425
import com.fasterxml.jackson.core.Base64Variant;
2526
import com.fasterxml.jackson.core.Base64Variants;
@@ -161,7 +162,7 @@ public YAMLParser(ObjectReadContext readCtxt, IOContext ioCtxt,
161162
super(readCtxt, ioCtxt, parserFeatures);
162163
// _formatFeatures = formatFeatures;
163164
_reader = reader;
164-
LoadSettings settings = new LoadSettings();//TODO use parserFeatures
165+
LoadSettings settings = new LoadSettingsBuilder().build();//TODO use parserFeatures
165166
_yamlParser = new ParserImpl(new StreamReader(reader, settings), settings);
166167
}
167168

@@ -286,10 +287,10 @@ public JsonToken nextToken() throws IOException
286287
Event evt;
287288
try {
288289
evt = _yamlParser.next();
289-
} catch (org.snakeyaml.engine.exceptions.YamlEngineException e) {
290-
if (e instanceof org.snakeyaml.engine.exceptions.MarkedYamlEngineException) {
290+
} catch (org.snakeyaml.engine.v1.exceptions.YamlEngineException e) {
291+
if (e instanceof org.snakeyaml.engine.v1.exceptions.MarkedYamlEngineException) {
291292
throw com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.MarkedYAMLException.from
292-
(this, (org.snakeyaml.engine.exceptions.MarkedYamlEngineException) e);
293+
(this, (org.snakeyaml.engine.v1.exceptions.MarkedYamlEngineException) e);
293294
}
294295
throw com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.YAMLException.from(this, e);
295296
}
@@ -371,7 +372,7 @@ public JsonToken nextToken() throws IOException
371372
case Alias:
372373
AliasEvent alias = (AliasEvent) evt;
373374
_currentIsAlias = true;
374-
_textValue = alias.getAlias().getAnchor();
375+
_textValue = alias.getAnchor().orElseThrow(() -> new RuntimeException("Alias must be provided.")).getAnchor();
375376
_cleanedTextValue = null;
376377
// for now, nothing to do: in future, maybe try to expose as ObjectIds?
377378
return (_currToken = JsonToken.VALUE_STRING);

yaml/src/main/java/com/fasterxml/jackson/dataformat/yaml/snakeyaml/error/Mark.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212
@Deprecated // since 2.8
1313
public class Mark
1414
{
15-
protected final org.snakeyaml.engine.exceptions.Mark _source;
15+
protected final org.snakeyaml.engine.v1.exceptions.Mark _source;
1616

17-
protected Mark(org.snakeyaml.engine.exceptions.Mark src) {
17+
protected Mark(org.snakeyaml.engine.v1.exceptions.Mark src) {
1818
_source = src;
1919
}
2020

21-
public static Mark from(Optional<org.snakeyaml.engine.exceptions.Mark> src) {
21+
public static Mark from(Optional<org.snakeyaml.engine.v1.exceptions.Mark> src) {
2222
return (!src.isPresent()) ? null : new Mark(src.get());
2323
}
2424

yaml/src/main/java/com/fasterxml/jackson/dataformat/yaml/snakeyaml/error/MarkedYAMLException.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@ public class MarkedYAMLException extends YAMLException
1414
{
1515
private static final long serialVersionUID = 1L;
1616

17-
protected final org.snakeyaml.engine.exceptions.MarkedYamlEngineException _source;
17+
protected final org.snakeyaml.engine.v1.exceptions.MarkedYamlEngineException _source;
1818

1919
protected MarkedYAMLException(JsonParser p,
20-
org.snakeyaml.engine.exceptions.MarkedYamlEngineException src) {
20+
org.snakeyaml.engine.v1.exceptions.MarkedYamlEngineException src) {
2121
super(p, src);
2222
_source = src;
2323
}
2424

2525
public static MarkedYAMLException from(JsonParser p,
26-
org.snakeyaml.engine.exceptions.MarkedYamlEngineException src) {
26+
org.snakeyaml.engine.v1.exceptions.MarkedYamlEngineException src) {
2727
return new MarkedYAMLException(p, src);
2828
}
2929

yaml/src/main/java/com/fasterxml/jackson/dataformat/yaml/snakeyaml/error/YAMLException.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ public class YAMLException extends JacksonYAMLParseException
1616
private static final long serialVersionUID = 1L;
1717

1818
public YAMLException(JsonParser p,
19-
org.snakeyaml.engine.exceptions.YamlEngineException src) {
19+
org.snakeyaml.engine.v1.exceptions.YamlEngineException src) {
2020
super(p, src.getMessage(), src);
2121
}
2222

2323
public static YAMLException from(JsonParser p,
24-
org.snakeyaml.engine.exceptions.YamlEngineException src) {
24+
org.snakeyaml.engine.v1.exceptions.YamlEngineException src) {
2525
return new YAMLException(p, src);
2626
}
2727
}

yaml/src/test/java/com/fasterxml/jackson/dataformat/yaml/ExceptionConversionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public void testSimpleParsingLeakage() throws Exception
1414
try {
1515
mapper.readTree("foo:\nbar: true\n baz: false");
1616
fail("Should not pass with invalid YAML");
17-
} catch (org.snakeyaml.engine.exceptions.ScannerException e) {
17+
} catch (org.snakeyaml.engine.v1.exceptions.ScannerException e) {
1818
fail("Internal exception type: "+e);
1919
} catch (JacksonYAMLParseException e) { // as of 2.8, this is the type to expect
2020
// (subtype of JsonParseException)

0 commit comments

Comments
 (0)