Do not use revision in AbstractEffectiveDocumentedNode 61/42861/4
authorRobert Varga <rovarga@cisco.com>
Sun, 31 Jul 2016 18:44:00 +0000 (20:44 +0200)
committerRobert Varga <nite@hq.sk>
Thu, 4 Aug 2016 08:16:05 +0000 (08:16 +0000)
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 <rovarga@cisco.com>
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AbstractEffectiveDocumentedNode.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserTest.java

index aaafedf3a782f469935d1582c986ccac27112835..6ff829e21d35d96674c5b0c68a30b133775bf436 100644 (file)
@@ -38,26 +38,21 @@ public abstract class AbstractEffectiveDocumentedNode<A, D extends DeclaredState
     protected AbstractEffectiveDocumentedNode(final StmtContext<A, D, ?> 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 {
index 1db68b08aafa3e306a9016de5bddd10911148bad..3bba0fe772b08e3635867ffd2811801c979e720a 100644 (file)
@@ -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