Propagate symbolic name through transformations 55/95855/2
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 20 Apr 2021 20:31:59 +0000 (22:31 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 20 Apr 2021 21:48:02 +0000 (23:48 +0200)
Transformation to IRSchemaSource ends up losing source symbolic name,
leading to anonymous sources. Make sure we propagate any source
symbolic name.

JIRA: YANGTOOLS-1275
Change-Id: I219d4bffa66c1262683db1b6af886a052c644cde
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/ir/IRSchemaSource.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/TextToIRTransformer.java

index e457254af10692e3c41e00b8331e8f6d652bc10f..96ec99a1d2215322244ee6a09e57fd0845c957c2 100644 (file)
@@ -26,7 +26,7 @@ public final class IRSchemaSource extends AbstractSimpleIdentifiable<SourceIdent
     private final @Nullable String symbolicName;
 
     public IRSchemaSource(final @NonNull SourceIdentifier identifier, final @NonNull IRStatement rootStatement,
-            @Nullable final String symbolicName) {
+            final @Nullable String symbolicName) {
         super(identifier);
         this.rootStatement = requireNonNull(rootStatement);
         this.symbolicName = symbolicName;
@@ -45,6 +45,7 @@ public final class IRSchemaSource extends AbstractSimpleIdentifiable<SourceIdent
         checkArgument(rootStatement.argument() != null, "Root statement does not have an argument");
     }
 
+    @Deprecated(forRemoval = true)
     public IRSchemaSource(final @NonNull SourceIdentifier identifier, final @NonNull IRStatement rootStatement) {
         this(identifier, rootStatement, null);
     }
index 4bb1616d8c4a2575cfffc4effe0d5aa4deaea019..60cb017f996dcb4dea3b8d8b68e35e7ca20f80b3 100644 (file)
@@ -42,6 +42,6 @@ public final class TextToIRTransformer extends SchemaSourceTransformer<YangTextS
         final RevisionSourceIdentifier sourceId = latestRevision == null ? RevisionSourceIdentifier.create(name)
                 : RevisionSourceIdentifier.create(name, Revision.of(latestRevision));
 
-        return new IRSchemaSource(sourceId, rootStatement);
+        return new IRSchemaSource(sourceId, rootStatement, text.getSymbolicName().orElse(null));
     }
 }