From d126017e3d7bf8483d5e9a0cfb78d9c0a68763d7 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sun, 31 Jul 2016 20:44:00 +0200 Subject: [PATCH] Do not use revision in AbstractEffectiveDocumentedNode Extracting reference from RevisionStatement inside any DocumentedNode is invalid. RevisionStatements hold their own reference and they are valid only for modules and submodules -- which have a reference of their own. Change-Id: I4522ebbc0449462f80609c1eb06f6a486f4af7af Signed-off-by: Robert Varga --- .../effective/AbstractEffectiveDocumentedNode.java | 13 ++++--------- .../yangtools/yang/stmt/YangParserTest.java | 2 +- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AbstractEffectiveDocumentedNode.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AbstractEffectiveDocumentedNode.java index aaafedf3a7..6ff829e21d 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AbstractEffectiveDocumentedNode.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AbstractEffectiveDocumentedNode.java @@ -38,26 +38,21 @@ public abstract class AbstractEffectiveDocumentedNode ctx, boolean buildUnknownSubstatements) { super(ctx, buildUnknownSubstatements); - DescriptionEffectiveStatementImpl descStmt = firstEffective(DescriptionEffectiveStatementImpl.class); + final DescriptionEffectiveStatementImpl descStmt = firstEffective(DescriptionEffectiveStatementImpl.class); if (descStmt != null) { description = descStmt.argument(); } else { description = null; } - ReferenceEffectiveStatementImpl refStmt = firstEffective(ReferenceEffectiveStatementImpl.class); + final ReferenceEffectiveStatementImpl refStmt = firstEffective(ReferenceEffectiveStatementImpl.class); if (refStmt != null) { reference = refStmt.argument(); } else { - RevisionEffectiveStatementImpl revision = firstEffective(RevisionEffectiveStatementImpl.class); - if (revision != null) { - reference = revision.getReference(); - } else { - reference = null; - } + reference = null; } - StatusEffectiveStatementImpl statusStmt = firstEffective(StatusEffectiveStatementImpl.class); + final StatusEffectiveStatementImpl statusStmt = firstEffective(StatusEffectiveStatementImpl.class); if (statusStmt != null) { status = statusStmt.argument(); } else { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java index 1db68b08aa..3bba0fe772 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java @@ -115,7 +115,7 @@ public class YangParserTest { assertEquals("http://www.opendaylight.org/", foo.getContact()); Date expectedRevision = TestUtils.createDate("2013-02-27"); assertEquals(expectedRevision, foo.getRevision()); - assertEquals(" WILL BE DEFINED LATER", foo.getReference()); + assertNull(foo.getReference()); } @Test -- 2.36.6