YangTextSchemaSource is a CharSource 01/105801/9
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 3 May 2023 01:04:35 +0000 (03:04 +0200)
committerRobert Varga <nite@hq.sk>
Tue, 13 Jun 2023 08:26:52 +0000 (08:26 +0000)
commitd95368f629eb95d9e620d6394d445b689ad7bd11
treeb30086722683a9e5eb2a4e37e786596380820b90
parent729c77feb530927d147dd2119a7f6b07d2a5e833
YangTextSchemaSource is a CharSource

YANG text is inherently a plain text, without the ability to detect the
actual encoding. This patch makes the baseline interface a CharSource,
pushing the control to users and defaulting to UTF_8.

This does not extend to YinTextSchemaSource, as XML provides for
explicit control over the character set that governs the document.

JIRA: YANGTOOLS-1508
Change-Id: I2875bb5850def25a0e9e4c9ce1921f5be3a5c77f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 files changed:
parser/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/YangTextSchemaContextResolver.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/YangStatementStreamSource.java
parser/yang-test-util/src/main/java/org/opendaylight/yangtools/yang/test/util/LiteralYangTextSchemaSource.java
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/ProcessorModuleReactor.java
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/ScannedDependency.java
plugin/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesProcessor.java
yang/yang-repo-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/DelegatedYangTextSchemaSource.java
yang/yang-repo-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/ResourceYangTextSchemaSource.java
yang/yang-repo-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/StringYangTextSchemaSource.java [moved from yang/yang-repo-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/ImmediateYangTextSchemaSource.java with 60% similarity]
yang/yang-repo-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextFileSchemaSource.java
yang/yang-repo-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextSchemaSource.java
yang/yang-repo-fs/src/main/java/org/opendaylight/yangtools/yang/model/repo/fs/FilesystemSchemaSourceCache.java
yang/yang-repo-fs/src/test/java/org/opendaylight/yangtools/yang/model/repo/fs/FilesystemSchemaSourceCacheIntegrationTest.java
yang/yang-repo-fs/src/test/java/org/opendaylight/yangtools/yang/model/repo/fs/FilesystemSchemaSourceCacheTest.java
yang/yang-repo-spi/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/GuavaSchemaSourceCacheTest.java
yang/yang-repo-spi/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/SoftSchemaSourceCacheTest.java