Skip to content

Commit

Permalink
[FLINK-35038] Bump org.yaml:snakeyaml to 2.2 (apache#93)
Browse files Browse the repository at this point in the history
* Bump org.yaml:snakeyaml from 1.31 to 2.0 in /flink-connector-kafka

Bumps [org.yaml:snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) from 1.31 to 2.0.
- [Commits](https://bitbucket.org/snakeyaml/snakeyaml/branches/compare/snakeyaml-2.0..snakeyaml-1.31)

---
updated-dependencies:
- dependency-name: org.yaml:snakeyaml
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

* [FLINK-XXXXX] Bump org.yaml:snakeyaml from 2.0 to 2.2

* [FLINK-35038] Fix SnakeYAML usage after version bump

SnakeYAML introduced breaking API changes and behavior changes between 1.31 and
2.2. This commit uses the updated APIs and explicitly allows the global tag
for StreamMetadata (see changed SnakeYAML behavior in [1]).

[1] snakeyaml/snakeyaml@2b8d47c

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martijn Visser <2989614+MartijnVisser@users.noreply.github.com>
  • Loading branch information
3 people authored Apr 11, 2024
1 parent 1c39e3b commit 369e7be
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
2 changes: 1 addition & 1 deletion flink-connector-kafka/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ under the License.
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.31</version>
<version>2.2</version>
<scope>test</scope>
</dependency>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
Expand Down Expand Up @@ -252,19 +253,25 @@ Set<KafkaStream> parseFile() throws IOException {
}

private static Yaml initYamlParser() {
Representer representer = new Representer();
DumperOptions dumperOptions = new DumperOptions();
Representer representer = new Representer(dumperOptions);
representer.addClassTag(StreamMetadata.class, Tag.MAP);
TypeDescription typeDescription = new TypeDescription(StreamMetadata.class);
representer.addTypeDescription(typeDescription);
representer.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
return new Yaml(new ListConstructor<>(StreamMetadata.class), representer);
LoaderOptions loaderOptions = new LoaderOptions();
// Allow global tag for StreamMetadata
loaderOptions.setTagInspector(
tag -> tag.getClassName().equals(StreamMetadata.class.getName()));
return new Yaml(new ListConstructor<>(StreamMetadata.class, loaderOptions), representer);
}

/** A custom constructor is required to read yaml lists at the root. */
private static class ListConstructor<T> extends Constructor {
private final Class<T> clazz;

public ListConstructor(final Class<T> clazz) {
public ListConstructor(final Class<T> clazz, final LoaderOptions loaderOptions) {
super(loaderOptions);
this.clazz = clazz;
}

Expand Down

0 comments on commit 369e7be

Please sign in to comment.