From 6071a13cdd982f42b4ffb9a9ad67380a7abe146e Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 24 Oct 2017 17:49:22 +0200 Subject: [PATCH] BUG-4688: eliminate SimpleDateFormatUtil.DEFAULT_DATE_REV This is the final push for eliminating DEFAULT_DATE_REV, with all other issues resolved, this removes the constant, adjusts the code to correctly interpret non-present revisions and fixes up test cases, eliminating the leaking 1970-01-01 string. This actually fixes a few test cases, which relied on import with revision 1970-01-01 matching modules which do not declare revision. Change-Id: I59dbe8b06ad2d94e6a677959f29f5c2b52357d0b Signed-off-by: Robert Varga --- .../yang/common/SimpleDateFormatUtil.java | 22 -------- .../yang/data/codec/gson/Bug4501Test.java | 5 +- .../yang/data/codec/gson/Bug7246Test.java | 8 ++- .../yang/data/codec/xml/Bug8745Test.java | 2 +- .../yang/data/codec/xml/Bug8803Test.java | 2 +- .../xml/DOMSourceXMLStreamReaderTest.java | 3 +- .../codec/xml/NormalizedNodesToXmlTest.java | 2 +- .../codec/xml/XmlToNormalizedNodesTest.java | 6 +-- .../YangModeledAnyXMLDeserializationTest.java | 6 +-- .../YangModeledAnyXMLSerializationTest.java | 15 ++---- .../StringPatternCheckingCodecTest.java | 7 +-- .../yang/data/impl/leafref/Bug7844Test.java | 16 +++--- .../data/impl/schema/SchemaUtilsTest.java | 3 +- .../data/impl/schema/tree/Bug4295Test.java | 10 ++-- .../data/impl/schema/tree/Bug8291Test.java | 12 ++--- .../impl/schema/tree/OrderedListTest.java | 11 ++-- .../src/test/resources/bug7844/bar.yang | 2 +- .../src/test/resources/bug7844/foo.yang | 2 +- .../yangtools/yang2sources/plugin/Util.java | 15 ++---- .../model/export/SchemaContextEmitter.java | 16 +++--- .../yang/model/export/YinExportUtils.java | 9 +++- .../EffectiveSchemaContextEmitterTest.java | 5 +- .../yang/model/export/test/Bug2444Test.java | 10 ++-- .../model/export/test/YinExportTestUtils.java | 9 ++++ .../bugs/bug2444/yang/import-yang1.yang | 2 +- .../resources/bugs/bug2444/yang/import.yang | 2 +- .../resources/bugs/bug2444/yang/include.yang | 1 - ...cation@1970-01-01.yin => notification.yin} | 3 +- .../yin/{action@1970-01-01.yin => action.yin} | 0 .../{anydata@1970-01-01.yin => anydata.yin} | 0 ...ry-spec@1970-01-01.yin => binary-spec.yin} | 0 .../{default@1970-01-01.yin => default.yin} | 0 ...entities@1970-01-01.yin => identities.yin} | 0 .../bug2444/yin/import-yang1@1970-01-01.yin | 1 - .../yin/{import@1970-01-01.yin => import.yin} | 1 - .../bugs/bug2444/yin/include@2017-06-26.yin | 1 - ...yang1@1970-01-01.yin => leafref-yang1.yin} | 0 .../{leafref@1970-01-01.yin => leafref.yin} | 0 ...ang1@1970-01-01.yin => modifier-yang1.yin} | 0 .../{modifier@1970-01-01.yin => modifier.yin} | 0 ...st-yang1@1970-01-01.yin => must-yang1.yin} | 0 .../yin/{must@1970-01-01.yin => must.yin} | 0 ...cation@1970-01-01.yin => notification.yin} | 0 ...submodule@1970-01-01.yin => submodule.yin} | 0 .../yin/{unique@1970-01-01.yin => unique.yin} | 0 .../model/util/AbstractSchemaContext.java | 6 +-- .../yang/model/util/ModuleDependencySort.java | 53 ++++++++----------- .../stmt/rfc6020/ModuleStatementSupport.java | 13 +---- .../stmt/rfc6020/SubmoduleStatementImpl.java | 5 +- .../ModuleEffectiveStatementImpl.java | 9 +--- .../SubmoduleEffectiveStatementImpl.java | 7 +-- .../repo/MultipleRevImportBug6875Test.java | 3 +- ...haredSchemaRepositoryWithFeaturesTest.java | 2 +- .../yang/parser/stmt/rfc6020/Bug5410Test.java | 3 +- .../yang/parser/stmt/rfc7950/Bug6868Test.java | 5 +- .../yang/parser/stmt/rfc7950/Bug6869Test.java | 5 +- .../yang/parser/stmt/rfc7950/Bug6870Test.java | 3 +- .../yang/parser/stmt/rfc7950/Bug6876Test.java | 3 +- .../yang/parser/stmt/rfc7950/Bug6880Test.java | 3 +- .../yang/parser/stmt/rfc7950/Bug6883Test.java | 3 +- .../yang/parser/stmt/rfc7950/Bug6884Test.java | 3 +- .../yang/parser/stmt/rfc7950/Bug6897Test.java | 10 ++-- .../yang/parser/stmt/rfc7950/Bug6901Test.java | 15 ++---- .../yang/stmt/AugmentProcessTest.java | 18 +++---- .../yang/stmt/Bug3874ExtensionTest.java | 19 ++++--- .../yangtools/yang/stmt/Bug4410Test.java | 2 +- .../yangtools/yang/stmt/Bug4623Test.java | 8 ++- .../yangtools/yang/stmt/Bug5396Test.java | 4 +- .../yangtools/yang/stmt/Bug5518Test.java | 2 +- .../yangtools/yang/stmt/Bug6183Test.java | 9 ++-- .../yangtools/yang/stmt/Bug6316Test.java | 6 +-- .../yangtools/yang/stmt/Bug6491Test.java | 7 ++- .../yangtools/yang/stmt/Bug6771Test.java | 23 ++++---- .../yangtools/yang/stmt/Bug7037Test.java | 5 +- .../yangtools/yang/stmt/Bug7424Test.java | 12 ++--- .../yangtools/yang/stmt/Bug7865Test.java | 3 +- .../yangtools/yang/stmt/Bug7879Test.java | 6 +-- .../yangtools/yang/stmt/Bug8126Test.java | 11 ++-- .../yangtools/yang/stmt/Bug8597Test.java | 3 +- .../yangtools/yang/stmt/Bug8922Test.java | 3 +- .../yang/stmt/EffectiveBuildTest.java | 4 +- .../yang/stmt/EffectiveIdentityTest.java | 6 +-- .../yang/stmt/EffectiveModuleTest.java | 4 +- .../EffectiveModulesAndSubmodulesTest.java | 33 ++++-------- .../yang/stmt/IfFeatureResolutionTest.java | 12 ++--- .../yang/stmt/ImportRevisionsTest.java | 11 ---- .../yang/stmt/IncludeRevisionsTest.java | 23 ++------ .../yang/stmt/MoreRevisionsTest.java | 6 +-- .../yang/stmt/YangParserNegativeTest.java | 18 +++---- .../yang/stmt/YangTypes2StmtTest.java | 4 +- .../src/test/resources/bugs/bug7037/foo.yang | 2 +- .../src/test/resources/bugs/bug7038/bar.yang | 2 +- .../src/test/resources/bugs/bug8126/bar.yang | 2 +- .../root-with-1970-revision-date.yang | 10 ---- .../resources/revisions/mod-1970-rev.yang | 5 -- .../resources/revisions/mod-1970-root.yang | 8 --- .../bug6884/circular-includes/foo.yang | 4 +- .../bug6884/circular-includes/sub-foo.yang | 4 +- .../rfc7950/bug6884/yang1-1/foo.yang | 4 +- .../augments/multiple-augment-root.yang | 4 +- .../stmt-test/submodules/root-module.yang | 6 +-- .../stmt-test/submodules/submodule-1.yang | 2 +- .../parser/spi/meta/StmtContextUtils.java | 30 ++++------- 103 files changed, 250 insertions(+), 455 deletions(-) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin-effective-emitter/{notification@1970-01-01.yin => notification.yin} (96%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{action@1970-01-01.yin => action.yin} (100%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{anydata@1970-01-01.yin => anydata.yin} (100%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{binary-spec@1970-01-01.yin => binary-spec.yin} (100%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{default@1970-01-01.yin => default.yin} (100%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{identities@1970-01-01.yin => identities.yin} (100%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{import@1970-01-01.yin => import.yin} (90%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{leafref-yang1@1970-01-01.yin => leafref-yang1.yin} (100%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{leafref@1970-01-01.yin => leafref.yin} (100%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{modifier-yang1@1970-01-01.yin => modifier-yang1.yin} (100%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{modifier@1970-01-01.yin => modifier.yin} (100%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{must-yang1@1970-01-01.yin => must-yang1.yin} (100%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{must@1970-01-01.yin => must.yin} (100%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{notification@1970-01-01.yin => notification.yin} (100%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{submodule@1970-01-01.yin => submodule.yin} (100%) rename yang/yang-model-export/src/test/resources/bugs/bug2444/yin/{unique@1970-01-01.yin => unique.yin} (100%) delete mode 100644 yang/yang-parser-impl/src/test/resources/import-revision-date-test/root-with-1970-revision-date.yang delete mode 100644 yang/yang-parser-impl/src/test/resources/revisions/mod-1970-rev.yang delete mode 100644 yang/yang-parser-impl/src/test/resources/revisions/mod-1970-root.yang diff --git a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/SimpleDateFormatUtil.java b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/SimpleDateFormatUtil.java index d98926d446..2d8df756c0 100644 --- a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/SimpleDateFormatUtil.java +++ b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/SimpleDateFormatUtil.java @@ -8,9 +8,7 @@ package org.opendaylight.yangtools.yang.common; -import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Date; public final class SimpleDateFormatUtil { @@ -19,26 +17,6 @@ public final class SimpleDateFormatUtil { */ private static final String REVISION_SIMPLE_DATE = "yyyy-MM-dd"; - /** - * default Yang date that is used when date is not present. - */ - private static final String DEFAULT_DATE = "1970-01-01"; - - /** - * {@link SimpleDateFormatUtil#DEFAULT_DATE} for revision statement. - */ - public static final Date DEFAULT_DATE_REV; - - static { - final SimpleDateFormat simpleDateFormat = new SimpleDateFormat(REVISION_SIMPLE_DATE); - - try { - DEFAULT_DATE_REV = simpleDateFormat.parse(DEFAULT_DATE); - } catch (final ParseException e) { - throw new ExceptionInInitializerError(e); - } - } - private SimpleDateFormatUtil() { throw new UnsupportedOperationException("Utility class should not be instantiated"); } diff --git a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug4501Test.java b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug4501Test.java index 20a9536151..cb05b63a1d 100644 --- a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug4501Test.java +++ b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug4501Test.java @@ -53,7 +53,7 @@ public class Bug4501Test { final UnkeyedListNode hop = (UnkeyedListNode) transformedInput; final Optional> lrsBits = hop.getChild(0).getChild( - NodeIdentifier.create(QName.create("foo", "1970-01-01", "lrs-bits"))); + NodeIdentifier.create(QName.create("foo", "lrs-bits"))); final ImmutableSet expectedValue = ImmutableSet.of("lookup", "rloc-probe", "strict"); assertEquals(expectedValue, lrsBits.get().getValue()); @@ -70,8 +70,7 @@ public class Bug4501Test { jsonParser.parse(new JsonReader(new StringReader(inputJson))); fail("IllegalArgumentException should be thrown."); } catch (IllegalArgumentException e) { - assertEquals(e.getMessage(), - "Node '(foo?revision=1970-01-01)lrs-bits' has already set its value to '[lookup]'"); + assertEquals(e.getMessage(), "Node '(foo)lrs-bits' has already set its value to '[lookup]'"); } } } \ No newline at end of file diff --git a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug7246Test.java b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug7246Test.java index 912b89a334..d2d1bbbdcb 100644 --- a/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug7246Test.java +++ b/yang/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug7246Test.java @@ -17,7 +17,6 @@ import java.io.IOException; import java.io.StringWriter; import java.io.Writer; import java.net.URI; -import java.net.URISyntaxException; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -34,7 +33,6 @@ import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; public class Bug7246Test { private static final String NS = "my-namespace"; - private static final String REV = "1970-01-01"; @Test public void test() throws Exception { @@ -56,15 +54,15 @@ public class Bug7246Test { } private static QName qN(final String localName) { - return QName.create(NS, REV, localName); + return QName.create(NS, localName); } private static String normalizedNodeToJsonStreamTransformation(final SchemaContext schemaContext, final SchemaPath path, final Writer writer, final NormalizedNode inputStructure) - throws IOException, URISyntaxException { + throws IOException { final NormalizedNodeStreamWriter jsonStream = JSONNormalizedNodeStreamWriter.createExclusiveWriter( - JSONCodecFactory.getShared(schemaContext), path, new URI(NS), + JSONCodecFactory.getShared(schemaContext), path, URI.create(NS), JsonWriterFactory.createJsonWriter(writer, 2)); final NormalizedNodeWriter nodeWriter = NormalizedNodeWriter.forStreamWriter(jsonStream); nodeWriter.write(inputStructure); diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug8745Test.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug8745Test.java index 7c651935c0..6661c09806 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug8745Test.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug8745Test.java @@ -45,7 +45,7 @@ public class Bug8745Test { @Test public void testParsingAttributes() throws Exception { final SchemaContext schemaContext = YangParserTestUtils.parseYangResource("/bug8745/foo.yang"); - final QName contWithAttributes = QName.create("foo", "1970-01-01", "cont-with-attributes"); + final QName contWithAttributes = QName.create("foo", "cont-with-attributes"); final ContainerSchemaNode contWithAttr = (ContainerSchemaNode) SchemaContextUtil.findDataSchemaNode( schemaContext, SchemaPath.create(true, contWithAttributes)); diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug8803Test.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug8803Test.java index c0a9f657cf..b4a3fd970f 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug8803Test.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/Bug8803Test.java @@ -36,7 +36,7 @@ public class Bug8803Test { @Test public void test() throws Exception { final SchemaContext schemaContext = YangParserTestUtils.parseYangResourceDirectory("/bug8803"); - final SchemaPath topContPath = SchemaPath.create(true, QName.create("foo-ns", "1970-01-01", "top-cont")); + final SchemaPath topContPath = SchemaPath.create(true, QName.create("foo-ns", "top-cont")); final SchemaNode dataSchemaNode = SchemaContextUtil.findDataSchemaNode(schemaContext, topContPath); assertTrue(dataSchemaNode instanceof ContainerSchemaNode); final ContainerSchemaNode topContSchema = (ContainerSchemaNode) dataSchemaNode; diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/DOMSourceXMLStreamReaderTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/DOMSourceXMLStreamReaderTest.java index 9992ce1ca3..6606a44e01 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/DOMSourceXMLStreamReaderTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/DOMSourceXMLStreamReaderTest.java @@ -48,8 +48,7 @@ public class DOMSourceXMLStreamReaderTest { public void test() throws Exception { final SchemaContext schemaContext = YangParserTestUtils.parseYangResourceDirectory("/dom-reader-test"); final ContainerSchemaNode outerContainerSchema = (ContainerSchemaNode) SchemaContextUtil - .findNodeInSchemaContext(schemaContext, ImmutableList.of(QName.create("foo-ns", "1970-01-01", - "top-cont"))); + .findNodeInSchemaContext(schemaContext, ImmutableList.of(QName.create("foo-ns", "top-cont"))); assertNotNull(outerContainerSchema); // deserialization diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/NormalizedNodesToXmlTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/NormalizedNodesToXmlTest.java index 60ad09be75..130478f563 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/NormalizedNodesToXmlTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/NormalizedNodesToXmlTest.java @@ -87,7 +87,7 @@ public class NormalizedNodesToXmlTest { @Before public void setup() { - bazModule = QNameModule.create(URI.create("baz-namespace"), QName.parseRevision("1970-01-01")); + bazModule = QNameModule.create(URI.create("baz-namespace"), null); outerContainer = QName.create(bazModule, "outer-container"); diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlToNormalizedNodesTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlToNormalizedNodesTest.java index 1e072739ac..d7a402c79b 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlToNormalizedNodesTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlToNormalizedNodesTest.java @@ -85,11 +85,11 @@ public class XmlToNormalizedNodesTest { private static QName myLeafInList3; @BeforeClass - public static void setup() throws Exception { - fooModule = QNameModule.create(new URI("foo-namespace"), QName.parseRevision("1970-01-01")); + public static void setup() { + fooModule = QNameModule.create(URI.create("foo-namespace"), null); parentContainer = QName.create(fooModule, "parent-container"); - bazModule = QNameModule.create(new URI("baz-namespace"), QName.parseRevision("1970-01-01")); + bazModule = QNameModule.create(URI.create("baz-namespace"), null); outerContainer = QName.create(bazModule, "outer-container"); myContainer1 = QName.create(bazModule, "my-container-1"); diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java index 32318e981c..2922c3875d 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java @@ -59,13 +59,13 @@ public class YangModeledAnyXMLDeserializationTest { private SchemaContext schemaContext; @Before - public void setUp() throws Exception { - barModuleQName = QNameModule.create(new URI("bar"), QName.parseRevision("1970-01-01")); + public void setUp() { + barModuleQName = QNameModule.create(URI.create("bar"), null); myContainer1 = QName.create(barModuleQName, "my-container-1"); myLeaf1 = QName.create(barModuleQName, "my-leaf-1"); myAnyXMLDataBar = QName.create(barModuleQName, "my-anyxml-data"); - fooModuleQName = QNameModule.create(new URI("foo"), QName.parseRevision("1970-01-01")); + fooModuleQName = QNameModule.create(URI.create("foo"), null); myContainer2 = QName.create(fooModuleQName, "my-container-2"); innerContainer = QName.create(fooModuleQName, "inner-container"); myLeaf3 = QName.create(fooModuleQName, "my-leaf-3"); diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLSerializationTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLSerializationTest.java index 27ab3f1259..57e7312a99 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLSerializationTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLSerializationTest.java @@ -57,18 +57,13 @@ import org.xml.sax.SAXException; public class YangModeledAnyXMLSerializationTest extends XMLTestCase { - private final QNameModule bazModuleQName; - private final QName myAnyXMLDataBaz; - private final QName bazQName; - private final QName myContainer2QName; + private final QNameModule bazModuleQName = QNameModule.create(URI.create("baz"), null); + private final QName myAnyXMLDataBaz = QName.create(bazModuleQName, "my-anyxml-data"); + private final QName bazQName = QName.create(bazModuleQName, "baz"); + private final QName myContainer2QName = QName.create(bazModuleQName, "my-container-2"); private final SchemaContext schemaContext; - public YangModeledAnyXMLSerializationTest() throws Exception { - bazModuleQName = QNameModule.create(new URI("baz"), QName.parseRevision("1970-01-01")); - bazQName = QName.create(bazModuleQName, "baz"); - myContainer2QName = QName.create(bazModuleQName, "my-container-2"); - myAnyXMLDataBaz = QName.create(bazModuleQName, "my-anyxml-data"); - + public YangModeledAnyXMLSerializationTest() { schemaContext = YangParserTestUtils.parseYangResourceDirectory("/anyxml-support/serialization"); } diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/codecs/StringPatternCheckingCodecTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/codecs/StringPatternCheckingCodecTest.java index 244d56bc56..b0aa31c357 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/codecs/StringPatternCheckingCodecTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/codecs/StringPatternCheckingCodecTest.java @@ -17,11 +17,9 @@ import static org.opendaylight.yangtools.yang.data.impl.codecs.TypeDefinitionAwa import java.io.FileNotFoundException; import java.net.URI; import java.net.URISyntaxException; -import java.text.ParseException; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.data.api.codec.StringCodec; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; @@ -37,14 +35,13 @@ public class StringPatternCheckingCodecTest { private static final Logger LOG = LoggerFactory.getLogger(StringPatternCheckingCodecTest.class); @Test - public void testStringPatternCheckingCodec() throws ReactorException, ParseException, URISyntaxException, + public void testStringPatternCheckingCodec() throws ReactorException, URISyntaxException, FileNotFoundException { final SchemaContext schemaContext = YangParserTestUtils.parseYangResource( "/string-pattern-checking-codec-test.yang"); assertNotNull(schemaContext); - final QNameModule testModuleQName = QNameModule.create(new URI("string-pattern-checking-codec-test"), - SimpleDateFormatUtil.DEFAULT_DATE_REV); + final QNameModule testModuleQName = QNameModule.create(new URI("string-pattern-checking-codec-test"), null); final Module testModule = schemaContext.findModules("string-pattern-checking-codec-test").iterator().next(); final ContainerSchemaNode testContainer = (ContainerSchemaNode) testModule.getDataChildByName( diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/leafref/Bug7844Test.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/leafref/Bug7844Test.java index 96a8475bd9..dd20310672 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/leafref/Bug7844Test.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/leafref/Bug7844Test.java @@ -18,7 +18,6 @@ import java.util.Map; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; @@ -26,10 +25,9 @@ public class Bug7844Test { private static final String FOO_NS = "foo"; private static final String BAR_NS = "bar"; private static final String BAZ_NS = "baz"; - private static final String REV = "1970-01-01"; @Test - public void test() throws Exception { + public void test() { final SchemaContext context = YangParserTestUtils.parseYangResourceDirectory("/bug7844"); assertNotNull(context); @@ -39,8 +37,7 @@ public class Bug7844Test { final Map referencingChilds = leafRefContext.getReferencingChilds(); assertEquals(7, referencingChilds.size()); - final QNameModule bazQNameModule = QNameModule.create(new URI(BAZ_NS), - SimpleDateFormatUtil.getRevisionFormat().parse(REV)); + final QNameModule bazQNameModule = QNameModule.create(URI.create(BAZ_NS), null); final LeafRefPath expectedPathToBazTarget = LeafRefPath.create(true, new QNameWithPredicateImpl(bazQNameModule, "root", ImmutableList.of()), new QNameWithPredicateImpl(bazQNameModule, "target", ImmutableList.of())); @@ -52,8 +49,7 @@ public class Bug7844Test { assertLeafRef(referencingChilds.get(bar("my-leafref-in-bar")), expectedPathToBazTarget); assertLeafRef(referencingChilds.get(bar("my-leafref-in-bar-2")), expectedPathToBazTarget); - final QNameModule barQNameModule = QNameModule.create(new URI(BAR_NS), - SimpleDateFormatUtil.getRevisionFormat().parse(REV)); + final QNameModule barQNameModule = QNameModule.create(URI.create(BAR_NS), null); final LeafRefPath expectedPathToBarTarget = LeafRefPath.create(true, new QNameWithPredicateImpl(barQNameModule, "bar-target", ImmutableList.of())); assertLeafRef(referencingChilds.get(foo("direct-leafref")), expectedPathToBarTarget); @@ -89,14 +85,14 @@ public class Bug7844Test { } private static QName foo(final String localName) { - return QName.create(FOO_NS, REV, localName); + return QName.create(FOO_NS, localName); } private static QName bar(final String localName) { - return QName.create(BAR_NS, REV, localName); + return QName.create(BAR_NS, localName); } private static QName baz(final String localName) { - return QName.create(BAZ_NS, REV, localName); + return QName.create(BAZ_NS, localName); } } diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/SchemaUtilsTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/SchemaUtilsTest.java index 28d9a57456..2067575a73 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/SchemaUtilsTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/SchemaUtilsTest.java @@ -24,7 +24,6 @@ import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; public class SchemaUtilsTest { private static final String NS = "my-namespace"; - private static final String REV = "1970-01-01"; @Test public void test() throws Exception { @@ -73,6 +72,6 @@ public class SchemaUtilsTest { } private static QName qN(final String localName) { - return QName.create(NS, REV, localName); + return QName.create(NS, localName); } } diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug4295Test.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug4295Test.java index b07d72988d..d0e20cd428 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug4295Test.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug4295Test.java @@ -9,13 +9,11 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap.Builder; -import java.io.File; import java.net.URI; import org.junit.Before; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; @@ -48,11 +46,9 @@ public class Bug4295Test { private QNameModule foo; @Before - public void init() throws Exception { - final File resourceFile = new File(Bug4295Test.class.getResource("/bug-4295/foo.yang") - .toURI()); - context = YangParserTestUtils.parseYangFiles(resourceFile); - foo = QNameModule.create(new URI("foo"), SimpleDateFormatUtil.getRevisionFormat().parse("1970-01-01")); + public void init() { + context = YangParserTestUtils.parseYangResource("/bug-4295/foo.yang"); + foo = QNameModule.create(URI.create("foo"), null); root = QName.create(foo, "root"); subRoot = QName.create(foo, "sub-root"); outerList = QName.create(foo, "outer-list"); diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug8291Test.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug8291Test.java index f4952d5d59..842c908b7f 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug8291Test.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/Bug8291Test.java @@ -24,19 +24,17 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.TreeType; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; public class Bug8291Test { private static final String NS = "foo"; - private static final String REV = "1970-01-01"; - private static final QName ROOT = QName.create(NS, REV, "root"); - private static final QName OUTER_LIST = QName.create(NS, REV, "outer-list"); - private static final QName OUTER_LIST_ID = QName.create(NS, REV, "id"); - private static final QName INNER_LIST = QName.create(NS, REV, "inner-list"); + private static final QName ROOT = QName.create(NS, "root"); + private static final QName OUTER_LIST = QName.create(NS, "outer-list"); + private static final QName OUTER_LIST_ID = QName.create(NS, "id"); + private static final QName INNER_LIST = QName.create(NS, "inner-list"); private SchemaContext schemaContext; @Before - public void init() throws ReactorException { + public void init() { this.schemaContext = TestModel.createTestContext("/bug8291/foo.yang"); assertNotNull("Schema context must not be null.", this.schemaContext); } diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedListTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedListTest.java index 41dcc93a39..003a1028da 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedListTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/OrderedListTest.java @@ -13,14 +13,12 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import com.google.common.collect.ImmutableMap; -import java.io.File; import java.net.URI; import java.util.Optional; import org.junit.Before; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; @@ -57,12 +55,9 @@ public class OrderedListTest { private QName childOrdinaryLeaf; @Before - public void setup() throws Exception { - final File resourceFile = new File(Bug4295Test.class.getResource("/ordered-list-modification-test.yang") - .toURI()); - context = YangParserTestUtils.parseYangFiles(resourceFile); - testModule = QNameModule.create(new URI("ordered-list-modification-test"), - SimpleDateFormatUtil.getRevisionFormat().parse("1970-01-01")); + public void setup() { + context = YangParserTestUtils.parseYangResource("/ordered-list-modification-test.yang"); + testModule = QNameModule.create(URI.create("ordered-list-modification-test"), null); parentContainer = QName.create(testModule, "parent-container"); childContainer = QName.create(testModule, "child-container"); parentOrderedList = QName.create(testModule, "parent-ordered-list"); diff --git a/yang/yang-data-impl/src/test/resources/bug7844/bar.yang b/yang/yang-data-impl/src/test/resources/bug7844/bar.yang index 8ac871bb50..42dab9372c 100644 --- a/yang/yang-data-impl/src/test/resources/bug7844/bar.yang +++ b/yang/yang-data-impl/src/test/resources/bug7844/bar.yang @@ -2,7 +2,7 @@ module bar { namespace bar; prefix bar-mod; - import baz { prefix baz-imp; revision-date 1970-01-01; } + import baz { prefix baz-imp; } typedef bar-leafref { type baz-imp:my-leafref; diff --git a/yang/yang-data-impl/src/test/resources/bug7844/foo.yang b/yang/yang-data-impl/src/test/resources/bug7844/foo.yang index b7f19b4489..6a50b73e7f 100644 --- a/yang/yang-data-impl/src/test/resources/bug7844/foo.yang +++ b/yang/yang-data-impl/src/test/resources/bug7844/foo.yang @@ -2,7 +2,7 @@ module foo { namespace foo; prefix foo-mod; - import bar { prefix bar-imp; revision-date 1970-01-01; } + import bar { prefix bar-imp; } leaf my-leaf { type foo-leafref; diff --git a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/Util.java b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/Util.java index f142b6f944..776c8c7814 100644 --- a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/Util.java +++ b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/Util.java @@ -18,12 +18,10 @@ import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Date; import java.util.Enumeration; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Optional; import java.util.Set; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; @@ -37,7 +35,6 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.project.MavenProject; import org.apache.maven.repository.RepositorySystem; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; @@ -268,14 +265,8 @@ final class Util { static SourceIdentifier moduleToIdentifier(final Module module) { final QNameModule mod = module.getQNameModule(); - final Date rev = mod.getRevision(); - final Optional optRev; - if (SimpleDateFormatUtil.DEFAULT_DATE_REV.equals(rev)) { - optRev = Optional.empty(); - } else { - optRev = Optional.of(mod.getFormattedRevision()); - } - - return RevisionSourceIdentifier.create(module.getName(), optRev); + final String rev = mod.getFormattedRevision(); + return rev != null ? RevisionSourceIdentifier.create(module.getName(), rev) + : RevisionSourceIdentifier.create(module.getName()); } } diff --git a/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/SchemaContextEmitter.java b/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/SchemaContextEmitter.java index 1cde06daec..71555a38f0 100644 --- a/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/SchemaContextEmitter.java +++ b/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/SchemaContextEmitter.java @@ -1350,15 +1350,15 @@ abstract class SchemaContextEmitter { } private void emitRevision(final Date date) { - super.writer.startRevisionNode(date); - - // - // FIXME: BUG-2444: FIXME: BUG-2444: BUG-2417: descriptionNode - // //FIXME: BUG-2444: Optional - // FIXME: BUG-2444: FIXME: BUG-2444: BUG-2417: referenceNode - // //FIXME: BUG-2444: Optional - super.writer.endNode(); + if (date != null) { + super.writer.startRevisionNode(date); + // FIXME: BUG-2444: FIXME: BUG-2444: BUG-2417: descriptionNode + // //FIXME: BUG-2444: Optional + // FIXME: BUG-2444: FIXME: BUG-2444: BUG-2417: referenceNode + // //FIXME: BUG-2444: Optional + super.writer.endNode(); + } } private void emitRevisionDateNode(@Nullable final Date date) { diff --git a/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/YinExportUtils.java b/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/YinExportUtils.java index ba7c917151..2a955f56dd 100644 --- a/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/YinExportUtils.java +++ b/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/YinExportUtils.java @@ -18,6 +18,7 @@ import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; +import org.opendaylight.yangtools.yang.common.YangConstants; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.ModuleImport; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -39,7 +40,8 @@ public final class YinExportUtils { * @return well-formed file name of YIN file as defined in RFC6020. */ public static String wellFormedYinName(final String name, final Date revision) { - return wellFormedYinName(name, SimpleDateFormatUtil.getRevisionFormat().format(revision)); + return revision == null ? wellFormedYinName(name, (String) null) : + wellFormedYinName(name, SimpleDateFormatUtil.getRevisionFormat().format(revision)); } /** @@ -53,7 +55,10 @@ public final class YinExportUtils { * @return well-formed file name of YIN file as defined in RFC6020. */ public static String wellFormedYinName(final String name, final String revision) { - return String.format("%s@%s.yin", Preconditions.checkNotNull(name), Preconditions.checkNotNull(revision)); + if (revision == null) { + return name + YangConstants.RFC6020_YIN_FILE_EXTENSION; + } + return Preconditions.checkNotNull(name) + '@' + revision + YangConstants.RFC6020_YIN_FILE_EXTENSION; } /** diff --git a/yang/yang-model-export/src/test/java/org/opendaylight/yangtools/yang/model/export/EffectiveSchemaContextEmitterTest.java b/yang/yang-model-export/src/test/java/org/opendaylight/yangtools/yang/model/export/EffectiveSchemaContextEmitterTest.java index c7d683e7de..4a4e68aa80 100644 --- a/yang/yang-model-export/src/test/java/org/opendaylight/yangtools/yang/model/export/EffectiveSchemaContextEmitterTest.java +++ b/yang/yang-model-export/src/test/java/org/opendaylight/yangtools/yang/model/export/EffectiveSchemaContextEmitterTest.java @@ -29,7 +29,6 @@ import org.custommonkey.xmlunit.XMLAssert; import org.custommonkey.xmlunit.XMLUnit; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.ModuleImport; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -59,9 +58,7 @@ public class EffectiveSchemaContextEmitterTest { assertNotNull(output); assertNotEquals(0, output.length()); - final Document doc = YinExportTestUtils - .loadDocument(String.format("/bugs/bug2444/yin-effective-emitter/%s@%s.yin", module.getName(), - SimpleDateFormatUtil.getRevisionFormat().format(module.getRevision()))); + final Document doc = YinExportTestUtils.loadDocument("/bugs/bug2444/yin-effective-emitter", module); assertXMLEquals(doc, output); } finally { byteArrayOutputStream.close(); diff --git a/yang/yang-model-export/src/test/java/org/opendaylight/yangtools/yang/model/export/test/Bug2444Test.java b/yang/yang-model-export/src/test/java/org/opendaylight/yangtools/yang/model/export/test/Bug2444Test.java index d96f600146..cd8776f26a 100644 --- a/yang/yang-model-export/src/test/java/org/opendaylight/yangtools/yang/model/export/test/Bug2444Test.java +++ b/yang/yang-model-export/src/test/java/org/opendaylight/yangtools/yang/model/export/test/Bug2444Test.java @@ -21,7 +21,6 @@ import org.custommonkey.xmlunit.ElementNameAndAttributeQualifier; import org.custommonkey.xmlunit.XMLAssert; import org.custommonkey.xmlunit.XMLUnit; import org.junit.Test; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.export.YinExportUtils; @@ -45,9 +44,8 @@ public class Bug2444Test { assertNotNull(output); assertNotEquals(0, output.length()); - final Document doc = YinExportTestUtils.loadDocument(String.format("/bugs/bug2444/yin/%s@%s.yin", - module.getName(), SimpleDateFormatUtil.getRevisionFormat().format(module.getRevision()))); - assertXMLEquals(doc, output); + final Document doc = YinExportTestUtils.loadDocument("/bugs/bug2444/yin", module); + assertXMLEquals(module.getName(), doc, output); } finally { byteArrayOutputStream.close(); bufferedOutputStream.close(); @@ -64,7 +62,7 @@ public class Bug2444Test { return builder.build(); } - private static void assertXMLEquals(final Document expectedXMLDoc, final String output) + private static void assertXMLEquals(final String fileName, final Document expectedXMLDoc, final String output) throws SAXException, IOException { final String expected = YinExportTestUtils.toString(expectedXMLDoc.getDocumentElement()); @@ -74,6 +72,6 @@ public class Bug2444Test { final Diff diff = new Diff(expected, output); diff.overrideElementQualifier(new ElementNameAndAttributeQualifier()); - XMLAssert.assertXMLEqual(diff, true); + XMLAssert.assertXMLEqual(fileName, diff, true); } } diff --git a/yang/yang-model-export/src/test/java/org/opendaylight/yangtools/yang/model/export/test/YinExportTestUtils.java b/yang/yang-model-export/src/test/java/org/opendaylight/yangtools/yang/model/export/test/YinExportTestUtils.java index 7cf35e8d79..259b8cc835 100644 --- a/yang/yang-model-export/src/test/java/org/opendaylight/yangtools/yang/model/export/test/YinExportTestUtils.java +++ b/yang/yang-model-export/src/test/java/org/opendaylight/yangtools/yang/model/export/test/YinExportTestUtils.java @@ -19,6 +19,9 @@ import javax.xml.transform.TransformerFactoryConfigurationError; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.opendaylight.yangtools.util.xml.UntrustedXML; +import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; +import org.opendaylight.yangtools.yang.common.YangConstants; +import org.opendaylight.yangtools.yang.model.api.Module; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.xml.sax.SAXException; @@ -29,6 +32,12 @@ public class YinExportTestUtils { throw new UnsupportedOperationException("Utility class"); } + public static Document loadDocument(final String prefix, final Module module) throws IOException, SAXException { + final String fileName = module.getRevision() == null ? module.getName() + : module.getName() + '@' + SimpleDateFormatUtil.getRevisionFormat().format(module.getRevision()); + return loadDocument(prefix + '/' + fileName + YangConstants.RFC6020_YIN_FILE_EXTENSION); + } + public static Document loadDocument(final String xmlPath) throws IOException, SAXException { final InputStream resourceAsStream = SchemaContextEmitterTest.class.getResourceAsStream(xmlPath); final Document currentConfigElement = readXmlToDocument(resourceAsStream); diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yang/import-yang1.yang b/yang/yang-model-export/src/test/resources/bugs/bug2444/yang/import-yang1.yang index bd716f6a60..3e708e2d16 100644 --- a/yang/yang-model-export/src/test/resources/bugs/bug2444/yang/import-yang1.yang +++ b/yang/yang-model-export/src/test/resources/bugs/bug2444/yang/import-yang1.yang @@ -3,7 +3,7 @@ module import-yang1 { prefix iy1; yang-version 1; - import action { prefix ac; revision-date 1970-01-01; } + import action { prefix ac; } revision 1970-01-01; } diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yang/import.yang b/yang/yang-model-export/src/test/resources/bugs/bug2444/yang/import.yang index db1f786db1..f8fc24bf4d 100644 --- a/yang/yang-model-export/src/test/resources/bugs/bug2444/yang/import.yang +++ b/yang/yang-model-export/src/test/resources/bugs/bug2444/yang/import.yang @@ -3,5 +3,5 @@ module import { prefix i; yang-version 1.1; - import action { description "txt"; reference "ref"; prefix ac; revision-date 1970-01-01; } + import action { description "txt"; reference "ref"; prefix ac; } } diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yang/include.yang b/yang/yang-model-export/src/test/resources/bugs/bug2444/yang/include.yang index d04249e34e..09f7425f6c 100644 --- a/yang/yang-model-export/src/test/resources/bugs/bug2444/yang/include.yang +++ b/yang/yang-model-export/src/test/resources/bugs/bug2444/yang/include.yang @@ -6,7 +6,6 @@ module include { import deviation-target { prefix dev-tgt; revision-date 2017-01-20; reference "import ref"; description "import desc"; } include submodule { - revision-date 1970-01-01; reference "include ref"; description "include desc"; } diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin-effective-emitter/notification@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin-effective-emitter/notification.yin similarity index 96% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin-effective-emitter/notification@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin-effective-emitter/notification.yin index 8b996e194f..2d89662d3d 100644 --- a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin-effective-emitter/notification@1970-01-01.yin +++ b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin-effective-emitter/notification.yin @@ -3,7 +3,6 @@ - @@ -48,4 +47,4 @@ - \ No newline at end of file + diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/action@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/action.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/action@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/action.yin diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/anydata@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/anydata.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/anydata@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/anydata.yin diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/binary-spec@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/binary-spec.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/binary-spec@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/binary-spec.yin diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/default@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/default.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/default@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/default.yin diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/identities@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/identities.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/identities@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/identities.yin diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/import-yang1@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/import-yang1@1970-01-01.yin index 4bfc82419e..3406313942 100644 --- a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/import-yang1@1970-01-01.yin +++ b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/import-yang1@1970-01-01.yin @@ -5,7 +5,6 @@ - diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/import@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/import.yin similarity index 90% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/import@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/import.yin index 3b97daa05c..1dc8085f61 100644 --- a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/import@1970-01-01.yin +++ b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/import.yin @@ -11,6 +11,5 @@ ref - diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/include@2017-06-26.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/include@2017-06-26.yin index 3e4996b81f..d94492a47e 100644 --- a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/include@2017-06-26.yin +++ b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/include@2017-06-26.yin @@ -14,7 +14,6 @@ - include ref diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/leafref-yang1@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/leafref-yang1.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/leafref-yang1@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/leafref-yang1.yin diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/leafref@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/leafref.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/leafref@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/leafref.yin diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/modifier-yang1@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/modifier-yang1.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/modifier-yang1@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/modifier-yang1.yin diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/modifier@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/modifier.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/modifier@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/modifier.yin diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/must-yang1@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/must-yang1.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/must-yang1@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/must-yang1.yin diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/must@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/must.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/must@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/must.yin diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/notification@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/notification.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/notification@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/notification.yin diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/submodule@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/submodule.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/submodule@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/submodule.yin diff --git a/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/unique@1970-01-01.yin b/yang/yang-model-export/src/test/resources/bugs/bug2444/yin/unique.yin similarity index 100% rename from yang/yang-model-export/src/test/resources/bugs/bug2444/yin/unique@1970-01-01.yin rename to yang/yang-model-export/src/test/resources/bugs/bug2444/yin/unique.yin diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java index 6f3cc009fd..076d2d0ef8 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java @@ -40,11 +40,11 @@ import org.opendaylight.yangtools.yang.model.api.UsesNode; public abstract class AbstractSchemaContext implements SchemaContext { protected static final Comparator REVISION_COMPARATOR = (o1, o2) -> { - if (o2.getRevision() == null) { - return -1; + if (o1.getRevision() == null) { + return o2.getRevision() == null ? 0 : 1; } - return o2.getRevision().compareTo(o1.getRevision()); + return o2.getRevision() == null ? -1 : o2.getRevision().compareTo(o1.getRevision()); }; protected static final TreeSet createModuleSet() { diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/ModuleDependencySort.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/ModuleDependencySort.java index 8bdd17c80d..f4c6da4c78 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/ModuleDependencySort.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/ModuleDependencySort.java @@ -7,8 +7,6 @@ */ package org.opendaylight.yangtools.yang.model.util; -import static org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil.DEFAULT_DATE_REV; - import com.google.common.annotations.Beta; import com.google.common.collect.HashBasedTable; import com.google.common.collect.Lists; @@ -21,6 +19,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; import org.opendaylight.yangtools.util.TopologicalSort; import org.opendaylight.yangtools.util.TopologicalSort.Node; import org.opendaylight.yangtools.util.TopologicalSort.NodeImpl; @@ -76,12 +75,12 @@ public final class ModuleDependencySort { } private static List sortInternal(final Iterable modules) { - final Table moduleGraph = createModuleGraph(modules); + final Table, ModuleNodeImpl> moduleGraph = createModuleGraph(modules); return TopologicalSort.sort(new HashSet<>(moduleGraph.values())); } - private static Table createModuleGraph(final Iterable builders) { - final Table moduleGraph = HashBasedTable.create(); + private static Table, ModuleNodeImpl> createModuleGraph(final Iterable builders) { + final Table, ModuleNodeImpl> moduleGraph = HashBasedTable.create(); processModules(moduleGraph, builders); processDependencies(moduleGraph, builders); @@ -92,7 +91,7 @@ public final class ModuleDependencySort { /** * Extract module:revision from modules. */ - private static void processDependencies(final Table moduleGraph, + private static void processDependencies(final Table, ModuleNodeImpl> moduleGraph, final Iterable mmbs) { final Map allNS = new HashMap<>(); @@ -101,7 +100,7 @@ public final class ModuleDependencySort { final Map imported = new HashMap<>(); final String fromName = module.getName(); final URI ns = module.getNamespace(); - Date fromRevision = module.getRevision(); + final Date fromRevision = module.getRevision(); // check for existence of module with same namespace final Module prev = allNS.putIfAbsent(ns, module); @@ -113,19 +112,12 @@ public final class ModuleDependencySort { } } - // no need to check if other Type of object, check is performed in - // process modules - - if (fromRevision == null) { - fromRevision = DEFAULT_DATE_REV; - } - + // no need to check if other Type of object, check is performed in process modules for (final ModuleImport imprt : module.getImports()) { final String toName = imprt.getModuleName(); - final Date toRevision = imprt.getRevision() == null ? DEFAULT_DATE_REV : imprt.getRevision(); - - final ModuleNodeImpl from = moduleGraph.get(fromName, fromRevision); + final Date toRevision = imprt.getRevision(); + final ModuleNodeImpl from = moduleGraph.get(fromName, Optional.ofNullable(fromRevision)); final ModuleNodeImpl to = getModuleByNameAndRevision(moduleGraph, fromName, fromRevision, toName, toRevision); @@ -135,8 +127,7 @@ public final class ModuleDependencySort { */ if (module.getYangVersion() == YangVersion.VERSION_1) { final Date impRevision = imported.get(toName); - if (impRevision != null && !impRevision.equals(toRevision) - && !DEFAULT_DATE_REV.equals(impRevision) && !DEFAULT_DATE_REV.equals(toRevision)) { + if (impRevision != null && !impRevision.equals(toRevision) && toRevision != null) { throw new IllegalArgumentException(String.format( "Module:%s imported twice with different revisions:%s, %s", toName, formatRevDate(impRevision), formatRevDate(toRevision))); @@ -153,17 +144,18 @@ public final class ModuleDependencySort { /** * Get imported module by its name and revision from moduleGraph. */ - private static ModuleNodeImpl getModuleByNameAndRevision(final Table moduleGraph, + private static ModuleNodeImpl getModuleByNameAndRevision( + final Table, ModuleNodeImpl> moduleGraph, final String fromName, final Date fromRevision, final String toName, final Date toRevision) { - final ModuleNodeImpl exact = moduleGraph.get(toName, toRevision); + final ModuleNodeImpl exact = moduleGraph.get(toName, Optional.ofNullable(toRevision)); if (exact != null) { return exact; } // If revision is not specified in import, but module exists with different revisions, take first one - if (DEFAULT_DATE_REV.equals(toRevision)) { - final Map modulerevs = moduleGraph.row(toName); + if (toRevision == null) { + final Map, ModuleNodeImpl> modulerevs = moduleGraph.row(toName); if (!modulerevs.isEmpty()) { final ModuleNodeImpl first = modulerevs.values().iterator().next(); @@ -186,30 +178,27 @@ public final class ModuleDependencySort { /** * Extract dependencies from modules to fill dependency graph. */ - private static void processModules(final Table moduleGraph, + private static void processModules(final Table, ModuleNodeImpl> moduleGraph, final Iterable modules) { // Process nodes for (final Module momb : modules) { final String name = momb.getName(); - Date rev = momb.getRevision(); - if (rev == null) { - rev = DEFAULT_DATE_REV; - } + final Optional rev = Optional.ofNullable(momb.getRevision()); - final Map revs = moduleGraph.row(name); + final Map, ModuleNodeImpl> revs = moduleGraph.row(name); if (revs.containsKey(rev)) { throw new IllegalArgumentException(String.format("Module:%s with revision:%s declared twice", name, - formatRevDate(rev))); + formatRevDate(rev.orElse(null)))); } - revs.put(rev, new ModuleNodeImpl(name, rev, momb)); + revs.put(rev, new ModuleNodeImpl(name, rev.orElse(null), momb)); } } private static String formatRevDate(final Date rev) { - return rev.equals(DEFAULT_DATE_REV) ? "default" : SimpleDateFormatUtil.getRevisionFormat().format(rev); + return rev == null ? "default" : SimpleDateFormatUtil.getRevisionFormat().format(rev); } private static final class ModuleNodeImpl extends NodeImpl { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ModuleStatementSupport.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ModuleStatementSupport.java index c650e6d729..c19cfafdb1 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ModuleStatementSupport.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ModuleStatementSupport.java @@ -14,7 +14,6 @@ import java.util.Date; import java.util.Optional; import org.opendaylight.yangtools.concepts.SemVer; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; @@ -115,12 +114,8 @@ public class ModuleStatementSupport extends stmt.addContext(PreLinkageModuleNamespace.class, moduleName, stmt); - Optional revisionDate = Optional.ofNullable(StmtContextUtils.getLatestRevision( + final Optional revisionDate = Optional.ofNullable(StmtContextUtils.getLatestRevision( stmt.declaredSubstatements())); - if (!revisionDate.isPresent()) { - revisionDate = Optional.of(SimpleDateFormatUtil.DEFAULT_DATE_REV); - } - final QNameModule qNameModule = QNameModule.create(moduleNs, revisionDate.orElse(null)).intern(); stmt.addToNs(ModuleCtxToModuleQName.class, stmt, qNameModule); @@ -136,12 +131,8 @@ public class ModuleStatementSupport extends SourceException.throwIf(!moduleNs.isPresent(), stmt.getStatementSourceReference(), "Namespace of the module [%s] is missing", stmt.getStatementArgument()); - Optional revisionDate = Optional.ofNullable(StmtContextUtils.getLatestRevision( + final Optional revisionDate = Optional.ofNullable(StmtContextUtils.getLatestRevision( stmt.declaredSubstatements())); - if (!revisionDate.isPresent()) { - revisionDate = Optional.of(SimpleDateFormatUtil.DEFAULT_DATE_REV); - } - final QNameModule qNameModule = QNameModule.create(moduleNs.get(), revisionDate.orElse(null)).intern(); final StmtContext> possibleDuplicateModule = stmt.getFromNamespace(NamespaceToModule.class, qNameModule); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SubmoduleStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SubmoduleStatementImpl.java index 4ea6a4d35d..73ee7dcd33 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SubmoduleStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SubmoduleStatementImpl.java @@ -13,7 +13,6 @@ import static org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils.f import java.util.Date; import java.util.Optional; import javax.annotation.Nonnull; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; @@ -61,7 +60,6 @@ public class SubmoduleStatementImpl extends AbstractRootStatement DEFAULT_REVISION = Optional.of(SimpleDateFormatUtil.DEFAULT_DATE_REV); protected SubmoduleStatementImpl(final StmtContext context) { super(context); @@ -125,10 +123,9 @@ public class SubmoduleStatementImpl extends AbstractRootStatement> stmt) { final Date maybeDate = StmtContextUtils.getLatestRevision(stmt.declaredSubstatements()); - final Optional revisionDate = maybeDate != null ? Optional.of(maybeDate) : DEFAULT_REVISION; final ModuleIdentifier submoduleIdentifier = ModuleIdentifierImpl.create(stmt.getStatementArgument(), - revisionDate); + Optional.ofNullable(maybeDate)); return submoduleIdentifier; } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ModuleEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ModuleEffectiveStatementImpl.java index c7f7d143d8..57f4640b1d 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ModuleEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ModuleEffectiveStatementImpl.java @@ -7,9 +7,9 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective; +import com.google.common.base.Verify; import java.util.Objects; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; @@ -22,12 +22,7 @@ public final class ModuleEffectiveStatementImpl extends AbstractEffectiveModule< final StmtContext> ctx) { super(ctx); - final QNameModule module = ctx.getFromNamespace(ModuleCtxToModuleQName.class, ctx); - if (module.getRevision() == null) { - qnameModule = QNameModule.create(module.getNamespace(), SimpleDateFormatUtil.DEFAULT_DATE_REV).intern(); - } else { - qnameModule = module; - } + qnameModule = Verify.verifyNotNull(ctx.getFromNamespace(ModuleCtxToModuleQName.class, ctx)); } @Override diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/SubmoduleEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/SubmoduleEffectiveStatementImpl.java index 848f02bc22..099c89adb5 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/SubmoduleEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/SubmoduleEffectiveStatementImpl.java @@ -11,7 +11,6 @@ import static org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils.f import java.util.Objects; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement; @@ -30,10 +29,8 @@ public final class SubmoduleEffectiveStatementImpl extends AbstractEffectiveModu final QNameModule belongsToModuleQName = ctx.getFromNamespace(ModuleNameToModuleQName.class, belongsToModuleName); final RevisionEffectiveStatementImpl submoduleRevision = firstEffective(RevisionEffectiveStatementImpl.class); - this.qnameModule = (submoduleRevision == null - ? QNameModule.create(belongsToModuleQName.getNamespace(), SimpleDateFormatUtil.DEFAULT_DATE_REV) - : QNameModule.create(belongsToModuleQName.getNamespace(), submoduleRevision.argument())) - .intern(); + this.qnameModule = QNameModule.create(belongsToModuleQName.getNamespace(), + submoduleRevision == null ? null : submoduleRevision.argument()).intern(); } @Override diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/MultipleRevImportBug6875Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/MultipleRevImportBug6875Test.java index 0a1ad9b1b8..97da30ddc3 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/MultipleRevImportBug6875Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/MultipleRevImportBug6875Test.java @@ -35,7 +35,6 @@ public class MultipleRevImportBug6875Test { private static final String BAR_REV_2 = "1999-01-01"; private static final String BAR_REV_3 = "1970-01-01"; private static final String FOO_NS = "foo"; - private static final String FOO_REV = "1970-01-01"; @Test public void testYang11() throws Exception { @@ -132,7 +131,7 @@ public class MultipleRevImportBug6875Test { } private static QName foo(final String localName) { - return QName.create(FOO_NS, FOO_REV, localName); + return QName.create(FOO_NS, localName); } private static QName bar1(final String localName) { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepositoryWithFeaturesTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepositoryWithFeaturesTest.java index 0312047ff8..c4ee5d771e 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepositoryWithFeaturesTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepositoryWithFeaturesTest.java @@ -33,7 +33,7 @@ public class SharedSchemaRepositoryWithFeaturesTest { @Test public void testSharedSchemaRepositoryWithSomeFeaturesSupported() throws Exception { - final Set supportedFeatures = ImmutableSet.of(QName.create("foobar-namespace", "1970-01-01", "test-feature-1")); + final Set supportedFeatures = ImmutableSet.of(QName.create("foobar-namespace", "test-feature-1")); final SharedSchemaRepository sharedSchemaRepository = new SharedSchemaRepository( "shared-schema-repo-with-features-test"); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Bug5410Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Bug5410Test.java index 26dae2b255..d81fa6a637 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Bug5410Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Bug5410Test.java @@ -30,7 +30,6 @@ import org.opendaylight.yangtools.yang.stmt.StmtTestUtils; public class Bug5410Test { private static final String FOO_NS = "foo"; - private static final String FOO_REV = "1970-01-01"; @Test public void testJavaRegexFromXSD() { @@ -226,7 +225,7 @@ public class Bug5410Test { } private static QName foo(final String localName) { - return QName.create(FOO_NS, FOO_REV, localName); + return QName.create(FOO_NS, localName); } @SuppressWarnings("checkstyle:regexpSinglelineJava") diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6868Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6868Test.java index 4b95697282..a10faff04b 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6868Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6868Test.java @@ -30,7 +30,6 @@ import org.opendaylight.yangtools.yang.stmt.StmtTestUtils; public class Bug6868Test { private static final String FOO_NS = "foo"; - private static final String FOO_REV = "1970-01-01"; private static final String IMP_NS = "imp"; private static final String IMP_REV = "2017-01-09"; private static final Set ALL_CONTAINERS = ImmutableSet.of("my-container-1", "my-container-2", @@ -76,7 +75,7 @@ public class Bug6868Test { final Set supportedFeatures = new HashSet<>(); for (final String featureName : featureNames) { if (featureName.indexOf(':') == -1) { - supportedFeatures.add(QName.create(FOO_NS, FOO_REV, featureName)); + supportedFeatures.add(QName.create(FOO_NS, featureName)); } else { supportedFeatures .add(QName.create(IMP_NS, IMP_REV, featureName.substring(featureName.indexOf(':') + 1))); @@ -88,7 +87,7 @@ public class Bug6868Test { private static SchemaNode findNode(final SchemaContext context, final String localName) { return SchemaContextUtil.findDataSchemaNode(context, - SchemaPath.create(true, QName.create(FOO_NS, FOO_REV, localName))); + SchemaPath.create(true, QName.create(FOO_NS, localName))); } @Test diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6869Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6869Test.java index da54f7aa6c..edf4b86aac 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6869Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6869Test.java @@ -33,7 +33,6 @@ import org.opendaylight.yangtools.yang.stmt.StmtTestUtils; public class Bug6869Test { private static final String FOO_NS = "foo"; - private static final String FOO_REV = "1970-01-01"; @Test public void identityNoFeaureTest() throws Exception { @@ -75,7 +74,7 @@ public class Bug6869Test { private static Set createFeaturesSet(final String... featureNames) { final Set supportedFeatures = new HashSet<>(); for (final String featureName : featureNames) { - supportedFeatures.add(QName.create(FOO_NS, FOO_REV, featureName)); + supportedFeatures.add(QName.create(FOO_NS, featureName)); } return ImmutableSet.copyOf(supportedFeatures); @@ -83,7 +82,7 @@ public class Bug6869Test { private static SchemaNode findNode(final SchemaContext context, final Iterable localNamesPath) { final Iterable qNames = Iterables.transform(localNamesPath, - localName -> QName.create(FOO_NS, FOO_REV, localName)); + localName -> QName.create(FOO_NS, localName)); return SchemaContextUtil.findDataSchemaNode(context, SchemaPath.create(qNames, true)); } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6870Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6870Test.java index 1b7efb0abf..0cd20ee37d 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6870Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6870Test.java @@ -32,7 +32,6 @@ import org.opendaylight.yangtools.yang.stmt.StmtTestUtils; public class Bug6870Test { private static final String FOO_NS = "foo"; - private static final String FOO_REV = "1970-01-01"; @Test public void valid11Test() throws Exception { @@ -62,7 +61,7 @@ public class Bug6870Test { private static SchemaNode findNode(final SchemaContext context, final Iterable localNamesPath) { final Iterable qNames = Iterables.transform(localNamesPath, - localName -> QName.create(FOO_NS, FOO_REV, localName)); + localName -> QName.create(FOO_NS, localName)); return SchemaContextUtil.findDataSchemaNode(context, SchemaPath.create(qNames, true)); } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6876Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6876Test.java index 6717159a6f..b74618d875 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6876Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6876Test.java @@ -25,7 +25,6 @@ public class Bug6876Test { private static final String BAR_NS = "bar"; private static final String BAR_REV = "2017-01-11"; private static final String FOO_NS = "foo"; - private static final String FOO_REV = "1970-01-01"; @Test public void yang11Test() throws Exception { @@ -53,7 +52,7 @@ public class Bug6876Test { } private static QName foo(final String localName) { - return QName.create(FOO_NS, FOO_REV, localName); + return QName.create(FOO_NS, localName); } private static QName bar(final String localName) { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6880Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6880Test.java index 12897ae68a..05ac83409e 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6880Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6880Test.java @@ -26,7 +26,6 @@ import org.opendaylight.yangtools.yang.stmt.StmtTestUtils; public class Bug6880Test { private static final String FOO_NS = "foo"; - private static final String FOO_REV = "1970-01-01"; @Test public void valid10Test() throws Exception { @@ -34,7 +33,7 @@ public class Bug6880Test { assertNotNull(schemaContext); final SchemaNode findDataSchemaNode = SchemaContextUtil.findDataSchemaNode(schemaContext, - SchemaPath.create(true, QName.create(FOO_NS, FOO_REV, "my-leaf-list"))); + SchemaPath.create(true, QName.create(FOO_NS, "my-leaf-list"))); assertTrue(findDataSchemaNode instanceof LeafListSchemaNode); final LeafListSchemaNode myLeafList = (LeafListSchemaNode) findDataSchemaNode; diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6883Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6883Test.java index e7923e8030..00a51c738e 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6883Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6883Test.java @@ -26,7 +26,6 @@ import org.opendaylight.yangtools.yang.stmt.StmtTestUtils; public class Bug6883Test { private static final String FOO_NS = "foo"; - private static final String FOO_REV = "1970-01-01"; @Test public void test() throws Exception { @@ -53,7 +52,7 @@ public class Bug6883Test { private static AnyDataSchemaNode assertAnyData(final SchemaContext context, final Iterable localNamesPath) { final Iterable qNames = Iterables.transform(localNamesPath, - localName -> QName.create(FOO_NS, FOO_REV, localName)); + localName -> QName.create(FOO_NS, localName)); final SchemaNode findDataSchemaNode = SchemaContextUtil.findDataSchemaNode(context, SchemaPath.create(qNames, true)); assertTrue(findDataSchemaNode instanceof AnyDataSchemaNode); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6884Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6884Test.java index 360b6ad0a6..ce98c6d24b 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6884Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6884Test.java @@ -22,7 +22,6 @@ import org.opendaylight.yangtools.yang.stmt.StmtTestUtils; public class Bug6884Test { private static final String FOO_NS = "foo"; - private static final String FOO_REV = "1970-01-01"; @Test public void testYang11() throws Exception { @@ -49,6 +48,6 @@ public class Bug6884Test { } private static QName foo(final String localName) { - return QName.create(FOO_NS, FOO_REV, localName); + return QName.create(FOO_NS, localName); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6897Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6897Test.java index c88851b334..e1efac262a 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6897Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6897Test.java @@ -28,7 +28,6 @@ import org.opendaylight.yangtools.yang.stmt.StmtTestUtils; public class Bug6897Test { private static final String FOO_NS = "foo"; - private static final String FOO_REV = "1970-01-01"; @Test public void notificationsInDataContainersTest() throws Exception { @@ -54,8 +53,8 @@ public class Bug6897Test { private static void assertContainsNotifications(final SchemaContext schemaContext, final String dataContainerName, final String... notificationNames) { - final DataSchemaNode dataChildByName = schemaContext.getDataChildByName(QName.create(FOO_NS, FOO_REV, - dataContainerName)); + final DataSchemaNode dataChildByName = schemaContext.getDataChildByName( + QName.create(FOO_NS, dataContainerName)); assertTrue(dataChildByName instanceof NotificationNodeContainer); assertContainsNotifications((NotificationNodeContainer) dataChildByName, notificationNames); } @@ -69,7 +68,7 @@ public class Bug6897Test { notifications.forEach(n -> notificationQNames.add(n.getQName())); for (final String notificationName : notificationNames) { - assertTrue(notificationQNames.contains(QName.create(FOO_NS, FOO_REV, notificationName))); + assertTrue(notificationQNames.contains(QName.create(FOO_NS, notificationName))); } } @@ -90,8 +89,7 @@ public class Bug6897Test { fail("Test should fail due to invalid Yang 1.1"); } catch (final SomeModifiersUnresolvedException e) { assertTrue(e.getCause().getMessage().startsWith( - "Notification (foo?revision=1970-01-01)grp-notification is defined within an rpc, action, or another " - + "notification")); + "Notification (foo)grp-notification is defined within an rpc, action, or another notification")); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6901Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6901Test.java index 80bd9d6409..33ad7dbd0e 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6901Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6901Test.java @@ -32,8 +32,7 @@ public class Bug6901Test { fail("Test should fail due to invalid Yang 1.1"); } catch (final SomeModifiersUnresolvedException e) { assertTrue(e.getCause().getMessage().startsWith( - "Leaf '(foo?revision=1970-01-01)enum-leaf' has default value 'two' marked with an if-feature " - + "statement.")); + "Leaf '(foo)enum-leaf' has default value 'two' marked with an if-feature statement.")); } } @@ -44,8 +43,7 @@ public class Bug6901Test { fail("Test should fail due to invalid Yang 1.1"); } catch (final SomeModifiersUnresolvedException e) { assertTrue(e.getCause().getMessage().startsWith( - "Leaf '(foo?revision=1970-01-01)enum-leaf' has default value 'two' marked with an if-feature " - + "statement.")); + "Leaf '(foo)enum-leaf' has default value 'two' marked with an if-feature statement.")); } } @@ -56,8 +54,7 @@ public class Bug6901Test { fail("Test should fail due to invalid Yang 1.1"); } catch (final SomeModifiersUnresolvedException e) { assertTrue(e.getCause().getMessage().startsWith( - "Leaf '(foo?revision=1970-01-01)enum-leaf' has default value 'two' marked with an if-feature " - + "statement.")); + "Leaf '(foo)enum-leaf' has default value 'two' marked with an if-feature statement.")); } } @@ -68,8 +65,7 @@ public class Bug6901Test { fail("Test should fail due to invalid Yang 1.1"); } catch (final SomeModifiersUnresolvedException e) { assertTrue(e.getCause().getMessage().startsWith( - "Typedef '(foo?revision=1970-01-01)bits-typedef-2' has default value 'two' marked with an " - + "if-feature statement.")); + "Typedef '(foo)bits-typedef-2' has default value 'two' marked with an if-feature statement.")); } } @@ -80,8 +76,7 @@ public class Bug6901Test { fail("Test should fail due to invalid Yang 1.1"); } catch (final SomeModifiersUnresolvedException e) { assertTrue(e.getCause().getMessage().startsWith( - "Leaf '(foo?revision=1970-01-01)union-leaf' has default value 'two' marked with an if-feature " - + "statement.")); + "Leaf '(foo)union-leaf' has default value 'two' marked with an if-feature statement.")); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/AugmentProcessTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/AugmentProcessTest.java index 47d19c9974..4d3f4d79b3 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/AugmentProcessTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/AugmentProcessTest.java @@ -19,7 +19,6 @@ import java.net.URI; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.ChoiceCaseNode; import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; @@ -30,7 +29,6 @@ import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException; -import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource; import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline; @@ -40,10 +38,8 @@ public class AugmentProcessTest { private static final StatementStreamSource AUGMENTED = sourceForResource("/stmt-test/augments/augmented.yang"); private static final StatementStreamSource ROOT = sourceForResource("/stmt-test/augments/aug-root.yang"); - private static final QNameModule ROOT_QNAME_MODULE = QNameModule.create( - URI.create("root"), SimpleDateFormatUtil.DEFAULT_DATE_REV); - private static final QNameModule AUGMENTED_QNAME_MODULE = QNameModule - .create(URI.create("aug"), SimpleDateFormatUtil.DEFAULT_DATE_REV); + private static final QNameModule ROOT_QNAME_MODULE = QNameModule.create(URI.create("root"), null); + private static final QNameModule AUGMENTED_QNAME_MODULE = QNameModule.create(URI.create("aug"), null); private final QName augParent1 = QName.create(AUGMENTED_QNAME_MODULE, "aug-parent1"); @@ -90,7 +86,7 @@ public class AugmentProcessTest { "/stmt-test/augments/multiple-augment-incorrect2.yang"); @Test - public void multipleAugmentsAndMultipleModulesTest() throws SourceException, ReactorException { + public void multipleAugmentsAndMultipleModulesTest() throws ReactorException { final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR .newBuild(); addSources(reactor, MULTIPLE_AUGMENT_ROOT, MULTIPLE_AUGMENT_IMPORTED, @@ -101,7 +97,7 @@ public class AugmentProcessTest { } @Test - public void multipleAugmentTest() throws SourceException, ReactorException { + public void multipleAugmentTest() throws ReactorException { final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR .newBuild(); addSources(reactor, MULTIPLE_AUGMENT); @@ -111,7 +107,7 @@ public class AugmentProcessTest { } @Test(expected = SomeModifiersUnresolvedException.class) - public void multipleAugmentIncorrectPathTest() throws SourceException, ReactorException { + public void multipleAugmentIncorrectPathTest() throws ReactorException { final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR .newBuild(); addSources(reactor, MULTIPLE_AUGMENT_INCORRECT); @@ -121,7 +117,7 @@ public class AugmentProcessTest { } @Test(expected = SomeModifiersUnresolvedException.class) - public void multipleAugmentIncorrectPathAndGrpTest() throws SourceException, ReactorException { + public void multipleAugmentIncorrectPathAndGrpTest() throws ReactorException { final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR .newBuild(); addSources(reactor, MULTIPLE_AUGMENT_INCORRECT2); @@ -130,7 +126,7 @@ public class AugmentProcessTest { } @Test - public void readAndParseYangFileTest() throws SourceException, ReactorException { + public void readAndParseYangFileTest() throws ReactorException { final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR .newBuild(); addSources(reactor, AUGMENTED, ROOT); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug3874ExtensionTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug3874ExtensionTest.java index 26b7aa3561..94c480952c 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug3874ExtensionTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug3874ExtensionTest.java @@ -11,7 +11,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import java.net.URI; -import java.util.Date; import java.util.List; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; @@ -33,16 +32,17 @@ public class Bug3874ExtensionTest { public void test() throws Exception { SchemaContext context = StmtTestUtils.parseYangSources("/bugs/bug3874"); - Date revision = QName.parseRevision("1970-01-01"); - QNameModule foo = QNameModule.create(new URI("foo"), revision); + QNameModule foo = QNameModule.create(new URI("foo"), null); QName myContainer2QName = QName.create(foo, "my-container-2"); QName myAnyXmlDataQName = QName.create(foo, "my-anyxml-data"); DataSchemaNode dataChildByName = context.getDataChildByName(myAnyXmlDataQName); assertTrue(dataChildByName instanceof YangModeledAnyXmlEffectiveStatementImpl); - YangModeledAnyXmlEffectiveStatementImpl yangModeledAnyXml = (YangModeledAnyXmlEffectiveStatementImpl) dataChildByName; + YangModeledAnyXmlEffectiveStatementImpl yangModeledAnyXml = + (YangModeledAnyXmlEffectiveStatementImpl) dataChildByName; - SchemaNode myContainer2 = SchemaContextUtil.findDataSchemaNode(context, SchemaPath.create(true, myContainer2QName)); + SchemaNode myContainer2 = SchemaContextUtil.findDataSchemaNode(context, + SchemaPath.create(true, myContainer2QName)); assertTrue(myContainer2 instanceof ContainerSchemaNode); assertEquals(myContainer2, yangModeledAnyXml.getSchemaOfAnyXmlData()); @@ -51,8 +51,11 @@ public class Bug3874ExtensionTest { UnknownSchemaNode next = unknownSchemaNodes.iterator().next(); assertTrue(next instanceof AnyxmlSchemaLocationEffectiveStatementImpl); - AnyxmlSchemaLocationEffectiveStatementImpl anyxmlSchemaLocationUnknownNode= (AnyxmlSchemaLocationEffectiveStatementImpl) next; - assertEquals(SupportedExtensionsMapping.ANYXML_SCHEMA_LOCATION.getStatementName(), anyxmlSchemaLocationUnknownNode.getNodeType()); - assertEquals(SupportedExtensionsMapping.ANYXML_SCHEMA_LOCATION.getStatementName(), anyxmlSchemaLocationUnknownNode.getQName()); + AnyxmlSchemaLocationEffectiveStatementImpl anyxmlSchemaLocationUnknownNode = + (AnyxmlSchemaLocationEffectiveStatementImpl) next; + assertEquals(SupportedExtensionsMapping.ANYXML_SCHEMA_LOCATION.getStatementName(), + anyxmlSchemaLocationUnknownNode.getNodeType()); + assertEquals(SupportedExtensionsMapping.ANYXML_SCHEMA_LOCATION.getStatementName(), + anyxmlSchemaLocationUnknownNode.getQName()); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug4410Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug4410Test.java index 389f9b2fdf..5543b3f251 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug4410Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug4410Test.java @@ -26,7 +26,7 @@ public class Bug4410Test { Throwable rootCause = Throwables.getRootCause(e); assertTrue(rootCause instanceof InferenceException); final String message = rootCause.getMessage(); - assertTrue(message.startsWith("Type [(foo?revision=1970-01-01)")); + assertTrue(message.startsWith("Type [(foo)")); assertTrue(message.contains("was not found")); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug4623Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug4623Test.java index 1c6452f960..638e0cc55f 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug4623Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug4623Test.java @@ -8,8 +8,6 @@ package org.opendaylight.yangtools.yang.stmt; -import static org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil.DEFAULT_DATE_REV; - import com.google.common.collect.Range; import java.io.File; import java.net.URI; @@ -38,7 +36,7 @@ public class Bug4623Test { final SchemaContext schemaContext = TestUtils.parseYangSources(extdef, stringWithExt); final LeafSchemaNode leaf = (LeafSchemaNode) typesModule(schemaContext).getDataChildByName( - QName.create(URI.create("urn:custom.types.demo"), DEFAULT_DATE_REV, "leaf-length-pattern-unknown")); + QName.create(URI.create("urn:custom.types.demo"), null, "leaf-length-pattern-unknown")); // then Assert.assertNotNull(leaf); @@ -80,7 +78,7 @@ public class Bug4623Test { final SchemaContext schemaContext = TestUtils.parseYangSources(extdef, stringWithExt); final LeafSchemaNode leaf = (LeafSchemaNode) typesModule(schemaContext).getDataChildByName( - QName.create(URI.create("urn:custom.types.demo"), DEFAULT_DATE_REV, "leaf-length-unknown-pattern")); + QName.create(URI.create("urn:custom.types.demo"), null, "leaf-length-unknown-pattern")); // then Assert.assertNotNull(leaf); @@ -122,7 +120,7 @@ public class Bug4623Test { final SchemaContext schemaContext = TestUtils.parseYangSources(extdef, stringWithExt); final LeafSchemaNode leaf = (LeafSchemaNode) typesModule(schemaContext).getDataChildByName( - QName.create(URI.create("urn:custom.types.demo"), DEFAULT_DATE_REV, "leaf-unknown-length-pattern")); + QName.create(URI.create("urn:custom.types.demo"), null, "leaf-unknown-length-pattern")); // then Assert.assertNotNull(leaf); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5396Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5396Test.java index 816aa58bb8..e0d0f4cabd 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5396Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5396Test.java @@ -32,8 +32,8 @@ public class Bug5396Test { SchemaContext context = StmtTestUtils.parseYangSources("/bugs/bug5396"); assertNotNull(context); - QName root = QName.create("foo", "1970-01-01", "root"); - QName myLeaf2 = QName.create("foo", "1970-01-01", "my-leaf2"); + QName root = QName.create("foo", "root"); + QName myLeaf2 = QName.create("foo", "my-leaf2"); SchemaPath schemaPath = SchemaPath.create(true, root, myLeaf2); SchemaNode findDataSchemaNode = SchemaContextUtil.findDataSchemaNode(context, schemaPath); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5518Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5518Test.java index 0b63b0669b..331fd8fa6a 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5518Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5518Test.java @@ -25,7 +25,7 @@ public class Bug5518Test { final SchemaContext context = StmtTestUtils.parseYangSources("/bugs/bug5518"); assertNotNull(context); - final DataSchemaNode dataChildByName = context.getDataChildByName(QName.create("foo", "1970-01-01", "root")); + final DataSchemaNode dataChildByName = context.getDataChildByName(QName.create("foo", "root")); assertTrue(dataChildByName instanceof ContainerSchemaNode); final ContainerSchemaNode root = (ContainerSchemaNode) dataChildByName; final Set mustConstraints = root.getConstraints().getMustConstraints(); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6183Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6183Test.java index c1b0c31bc6..9bf6bc2684 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6183Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6183Test.java @@ -24,7 +24,6 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext; public class Bug6183Test { private static final String FOO_NS = "foo"; - private static final String FOO_REV = "1970-01-01"; @Test public void testYang10() throws Exception { @@ -85,10 +84,12 @@ public class Bug6183Test { assertEquals(2, secondImplCaseContainer.getChildNodes().size()); assertTrue(getLeafSchemaNode(secondImplCaseContainer, "leaf-inside-second-container").isAugmenting()); - assertFalse(getLeafSchemaNode(secondImplCaseContainer, "declared-leaf-in-second-case-container").isAugmenting()); + assertFalse(getLeafSchemaNode(secondImplCaseContainer, "declared-leaf-in-second-case-container") + .isAugmenting()); } - private static ContainerSchemaNode getContainerSchemaNode(final DataNodeContainer parent, final String containerName) { + private static ContainerSchemaNode getContainerSchemaNode(final DataNodeContainer parent, + final String containerName) { final DataSchemaNode dataChildByName = parent.getDataChildByName(foo(containerName)); assertTrue(dataChildByName instanceof ContainerSchemaNode); return (ContainerSchemaNode) dataChildByName; @@ -101,6 +102,6 @@ public class Bug6183Test { } private static QName foo(final String localName) { - return QName.create(FOO_NS, FOO_REV, localName); + return QName.create(FOO_NS, localName); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6316Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6316Test.java index a4a5dac031..28372cb604 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6316Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6316Test.java @@ -34,8 +34,7 @@ public class Bug6316Test { } private static void verifyEnumTypedefinition(final SchemaContext context) { - final DataSchemaNode dataChildByName = context.getDataChildByName(QName - .create("foo", "1970-01-01", "enum-leaf")); + final DataSchemaNode dataChildByName = context.getDataChildByName(QName.create("foo", "enum-leaf")); assertTrue(dataChildByName instanceof LeafSchemaNode); final LeafSchemaNode enumLeaf = (LeafSchemaNode) dataChildByName; final TypeDefinition> type = enumLeaf.getType(); @@ -67,8 +66,7 @@ public class Bug6316Test { } private static void verifyBitsTypedefinition(final SchemaContext context) { - final DataSchemaNode dataChildByName = context.getDataChildByName(QName - .create("foo", "1970-01-01", "bits-leaf")); + final DataSchemaNode dataChildByName = context.getDataChildByName(QName.create("foo", "bits-leaf")); assertTrue(dataChildByName instanceof LeafSchemaNode); final LeafSchemaNode bitsLeaf = (LeafSchemaNode) dataChildByName; final TypeDefinition> type = bitsLeaf.getType(); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6491Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6491Test.java index 665dfa8da8..a8575b197c 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6491Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6491Test.java @@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.stmt; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; -import static org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil.DEFAULT_DATE_REV; import static org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil.getRevisionFormat; import java.text.ParseException; @@ -31,10 +30,10 @@ public class Bug6491Test { @Test public void tetststs() throws Exception { - testRevision("withoutRevision", DEFAULT_DATE_REV, DEFAULT_DATE_REV); + testRevision("withoutRevision", null, null); testRevision("withRevision", date, date); - testRevision("importedModuleRevisionOnly", DEFAULT_DATE_REV, date); - testRevision("moduleRevisionOnly", date, DEFAULT_DATE_REV); + testRevision("importedModuleRevisionOnly", null, date); + testRevision("moduleRevisionOnly", date, null); } private static void testRevision(final String path, final Date moduleRevision, final Date importedRevision) diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6771Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6771Test.java index 411383f101..af931ca43e 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6771Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6771Test.java @@ -21,11 +21,10 @@ import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil; public class Bug6771Test { private static final String NS = "http://www.example.com/typedef-bug"; - private static final String REV = "1970-01-01"; - private static final QName ROOT = QName.create(NS, REV, "root"); - private static final QName CONT_B = QName.create(NS, REV, "container-b"); - private static final QName LEAF_CONT_B = QName.create(NS, REV, "leaf-container-b"); - private static final QName INNER_CONTAINER = QName.create(NS, REV, "inner-container"); + private static final QName ROOT = QName.create(NS, "root"); + private static final QName CONT_B = QName.create(NS, "container-b"); + private static final QName LEAF_CONT_B = QName.create(NS, "leaf-container-b"); + private static final QName INNER_CONTAINER = QName.create(NS, "inner-container"); @Test public void augmentTest() throws Exception { @@ -43,13 +42,13 @@ public class Bug6771Test { final SchemaContext context = StmtTestUtils.parseYangSources("/bugs/bug6771/choice-case"); assertNotNull(context); - final QName myChoice = QName.create(NS, REV, "my-choice"); - final QName caseOne = QName.create(NS, REV, "one"); - final QName caseTwo = QName.create(NS, REV, "two"); - final QName caseThree = QName.create(NS, REV, "three"); - final QName containerOne = QName.create(NS, REV, "container-one"); - final QName containerTwo = QName.create(NS, REV, "container-two"); - final QName containerThree = QName.create(NS, REV, "container-three"); + final QName myChoice = QName.create(NS, "my-choice"); + final QName caseOne = QName.create(NS, "one"); + final QName caseTwo = QName.create(NS, "two"); + final QName caseThree = QName.create(NS, "three"); + final QName containerOne = QName.create(NS, "container-one"); + final QName containerTwo = QName.create(NS, "container-two"); + final QName containerThree = QName.create(NS, "container-three"); verifyLeafType(SchemaContextUtil.findDataSchemaNode(context, SchemaPath.create(true, ROOT, myChoice, caseOne, containerOne, LEAF_CONT_B))); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7037Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7037Test.java index c10a1559f3..1275578342 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7037Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7037Test.java @@ -26,7 +26,6 @@ import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; public class Bug7037Test { private static final String FOO_NS = "foo"; private static final String BAR_NS = "bar"; - private static final String REV = "1970-01-01"; @Test public void test() throws Exception { @@ -79,10 +78,10 @@ public class Bug7037Test { } private static QName foo(final String localName) { - return QName.create(FOO_NS, REV, localName); + return QName.create(FOO_NS, localName); } private static QName bar(final String localName) { - return QName.create(BAR_NS, REV, localName); + return QName.create(BAR_NS, localName); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7424Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7424Test.java index 6aef3cbc31..7dbc82c697 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7424Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7424Test.java @@ -21,8 +21,7 @@ public class Bug7424Test { fail("Test should fail due to invalid yang model."); } catch (final SomeModifiersUnresolvedException e) { assertTrue(e.getCause().getMessage().startsWith( - "Error in module 'foo': cannot add '(foo?revision=1970-01-01)name'. " - + "Node name collision: '(foo?revision=1970-01-01)name' already declared")); + "Error in module 'foo': cannot add '(foo)name'. Node name collision: '(foo)name' already declared")); } } @@ -33,8 +32,7 @@ public class Bug7424Test { fail("Test should fail due to invalid yang model."); } catch (final SomeModifiersUnresolvedException e) { assertTrue(e.getCause().getMessage().startsWith( - "Error in module 'foo': cannot add '(foo?revision=1970-01-01)name'. " - + "Node name collision: '(foo?revision=1970-01-01)name' already declared")); + "Error in module 'foo': cannot add '(foo)name'. Node name collision: '(foo)name' already declared")); } } @@ -45,8 +43,7 @@ public class Bug7424Test { fail("Test should fail due to invalid yang model."); } catch (final SomeModifiersUnresolvedException e) { assertTrue(e.getCause().getMessage().startsWith( - "Error in module 'foo': cannot add '(foo?revision=1970-01-01)name'. " - + "Node name collision: '(foo?revision=1970-01-01)name' already declared")); + "Error in module 'foo': cannot add '(foo)name'. Node name collision: '(foo)name' already declared")); } } @@ -57,8 +54,7 @@ public class Bug7424Test { fail("Test should fail due to invalid yang model."); } catch (final SomeModifiersUnresolvedException e) { assertTrue(e.getCause().getMessage().startsWith( - "Error in module 'foo': cannot add '(foo?revision=1970-01-01)name'. " - + "Node name collision: '(foo?revision=1970-01-01)name' already declared")); + "Error in module 'foo': cannot add '(foo)name'. Node name collision: '(foo)name' already declared")); } } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7865Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7865Test.java index 90a26b3b4a..8298bb7985 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7865Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7865Test.java @@ -22,7 +22,6 @@ import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; public class Bug7865Test { private static final String NS = "foo"; - private static final String REV = "1970-01-01"; @Test public void test() throws Exception { @@ -48,7 +47,7 @@ public class Bug7865Test { } private static QName foo(final String localName) { - return QName.create(NS, REV, localName); + return QName.create(NS, localName); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7879Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7879Test.java index 0aca667c22..20e7a6db38 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7879Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7879Test.java @@ -23,14 +23,14 @@ import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil; public class Bug7879Test { private static final String NS = "my-model-ns"; - private static final String REV = "1970-01-01"; @Test public void test() throws Exception { final SchemaContext context = TestUtils.parseYangSources("/bugs/bug7879"); assertNotNull(context); - assertTrue(findNode(context, ImmutableList.of(qN("my-alarm"), qN("my-content"), qN("my-event-container"))) instanceof ContainerSchemaNode); + assertTrue(findNode(context, ImmutableList.of(qN("my-alarm"), qN("my-content"), qN("my-event-container"))) + instanceof ContainerSchemaNode); final SchemaNode myEventValueLeaf = findNode(context, ImmutableList.of(qN("my-alarm"), qN("my-content"), qN("my-event-value"))); assertTrue(myEventValueLeaf instanceof LeafSchemaNode); @@ -42,6 +42,6 @@ public class Bug7879Test { } private static QName qN(final String localName) { - return QName.create(NS, REV, localName); + return QName.create(NS, localName); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug8126Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug8126Test.java index 1148994dcc..9149dfbcc2 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug8126Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug8126Test.java @@ -23,7 +23,6 @@ import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil; public class Bug8126Test { private static final String FOO_NS = "foo"; private static final String BAR_NS = "bar"; - private static final String REV = "1970-01-01"; @Test public void test() throws Exception { @@ -31,10 +30,12 @@ public class Bug8126Test { assertNotNull(context); assertTrue(findNode(context, ImmutableList.of(foo("root"), bar("my-container"), bar("my-choice"), bar("one"), bar("one"), bar("mandatory-leaf"))) instanceof LeafSchemaNode); - assertTrue(findNode(context, ImmutableList.of(foo("root"), bar("my-list"), bar("two"), bar("mandatory-leaf-2"))) instanceof LeafSchemaNode); + assertTrue(findNode(context, ImmutableList.of(foo("root"), bar("my-list"), bar("two"), bar("mandatory-leaf-2"))) + instanceof LeafSchemaNode); assertNull(findNode(context, ImmutableList.of(foo("root"), bar("mandatory-list")))); - assertNull(findNode(context, ImmutableList.of(foo("root"), bar("mandatory-container"), bar("mandatory-choice")))); + assertNull(findNode(context, ImmutableList.of(foo("root"), bar("mandatory-container"), + bar("mandatory-choice")))); assertNull(findNode(context, ImmutableList.of(foo("root"), bar("mandatory-container-2"), bar("one"), bar("mandatory-leaf-3")))); } @@ -44,10 +45,10 @@ public class Bug8126Test { } private static QName foo(final String localName) { - return QName.create(FOO_NS, REV, localName); + return QName.create(FOO_NS, localName); } private static QName bar(final String localName) { - return QName.create(BAR_NS, REV, localName); + return QName.create(BAR_NS, localName); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug8597Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug8597Test.java index 9f512b41ee..46d3ffc67a 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug8597Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug8597Test.java @@ -14,7 +14,6 @@ import static org.junit.Assert.fail; import java.util.Set; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.ModuleImport; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -25,7 +24,7 @@ public class Bug8597Test { final SchemaContext context = StmtTestUtils.parseYangSources("/bugs/bug8597"); assertNotNull(context); - final Module foo = context.findModule("foo", SimpleDateFormatUtil.DEFAULT_DATE_REV).get(); + final Module foo = context.findModule("foo", null).get(); final Set imports = foo.getImports(); for (final ModuleImport moduleImport : imports) { diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug8922Test.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug8922Test.java index adf893c565..af6afaa511 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug8922Test.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug8922Test.java @@ -23,7 +23,6 @@ import org.opendaylight.yangtools.yang.model.util.SchemaContextUtil; public class Bug8922Test { private static final String NS = "foo"; - private static final String REV = "1970-01-01"; @Test public void testAllFeaturesSupported() throws Exception { @@ -48,6 +47,6 @@ public class Bug8922Test { } private static QName qN(final String localName) { - return QName.create(NS, REV, localName); + return QName.create(NS, localName); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveBuildTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveBuildTest.java index f7b343daf8..3ffe112908 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveBuildTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveBuildTest.java @@ -21,7 +21,6 @@ import java.util.Set; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; @@ -39,8 +38,7 @@ public class EffectiveBuildTest { private static final StatementStreamSource SIMPLE_MODULE = sourceForResource( "/stmt-test/effective-build/simple-module.yang"); - private static final QNameModule SIMPLE_MODULE_QNAME = QNameModule.create( - URI.create("simple.yang"), SimpleDateFormatUtil.DEFAULT_DATE_REV); + private static final QNameModule SIMPLE_MODULE_QNAME = QNameModule.create(URI.create("simple.yang"), null); private static final StatementStreamSource YANG_EXT = sourceForResource( "/stmt-test/extensions/yang-ext.yang"); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveIdentityTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveIdentityTest.java index 098022c1d4..af298cd1d4 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveIdentityTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveIdentityTest.java @@ -18,7 +18,6 @@ import com.google.common.collect.Iterables; import java.net.URISyntaxException; import java.util.Set; import org.junit.Test; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -56,14 +55,13 @@ public class EffectiveIdentityTest { public void identityTest() throws SourceException, ReactorException, URISyntaxException { - CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR - .newBuild(); + CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); reactor.addSources(IDENTITY_TEST); SchemaContext result = reactor.buildEffective(); assertNotNull(result); - Module module = result.findModule("identity-test", SimpleDateFormatUtil.DEFAULT_DATE_REV).get(); + Module module = result.findModule("identity-test", null).get(); Set identities = module.getIdentities(); assertNotNull(identities); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveModuleTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveModuleTest.java index f5455fbc12..25d0b04acc 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveModuleTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveModuleTest.java @@ -19,7 +19,6 @@ import java.util.Set; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.common.YangVersion; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; @@ -50,8 +49,7 @@ public class EffectiveModuleTest { private static final StatementStreamSource SUBMODULE = sourceForResource( "/semantic-statement-parser/effective-module/submod.yang"); - private static final QNameModule ROOT_MODULE_QNAME = QNameModule.create(URI.create("root-ns"), - SimpleDateFormatUtil.DEFAULT_DATE_REV); + private static final QNameModule ROOT_MODULE_QNAME = QNameModule.create(URI.create("root-ns"), null); private static final QName cont = QName.create(ROOT_MODULE_QNAME, "cont"); private static final QName feature1 = QName.create(ROOT_MODULE_QNAME, "feature1"); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveModulesAndSubmodulesTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveModulesAndSubmodulesTest.java index 057bf5f91c..fe851f2769 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveModulesAndSubmodulesTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveModulesAndSubmodulesTest.java @@ -14,18 +14,15 @@ import static org.junit.Assert.assertNotNull; import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResource; import java.net.URI; -import java.net.URISyntaxException; import java.util.Collection; import java.util.Set; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; -import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource; import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline; @@ -44,8 +41,7 @@ public class EffectiveModulesAndSubmodulesTest { "/stmt-test/submodules/submodule-to-submodule-1.yang"); @Test - public void modulesAndSubmodulesSimpleReferencesTest() - throws SourceException, ReactorException, URISyntaxException { + public void modulesAndSubmodulesSimpleReferencesTest() throws ReactorException { final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR .newBuild(); reactor.addSources(ROOT_MODULE, IMPORTED_MODULE, @@ -113,10 +109,8 @@ public class EffectiveModulesAndSubmodulesTest { assertNotNull(sub1); assertNotNull(sub2); - assertEquals(QNameModule.create(new URI("root-module"), - SimpleDateFormatUtil.DEFAULT_DATE_REV), sub1.getQNameModule()); - assertEquals(QNameModule.create(new URI("root-module"), - SimpleDateFormatUtil.DEFAULT_DATE_REV), sub2.getQNameModule()); + assertEquals(QNameModule.create(URI.create("root-module"), null), sub1.getQNameModule()); + assertEquals(QNameModule.create(URI.create("root-module"), null), sub2.getQNameModule()); final Collection sub1ChildNodes = sub1.getChildNodes(); final Collection sub2ChildNodes = sub2.getChildNodes(); @@ -148,9 +142,7 @@ public class EffectiveModulesAndSubmodulesTest { assertNotNull(sub1Submodule); - assertEquals(QNameModule.create(new URI("root-module"), - SimpleDateFormatUtil.DEFAULT_DATE_REV), - sub1Submodule.getQNameModule()); + assertEquals(QNameModule.create(URI.create("root-module"), null), sub1Submodule.getQNameModule()); final Collection sub1SubmoduleChildNodes = sub1Submodule.getChildNodes(); assertNotNull(sub1SubmoduleChildNodes); @@ -172,12 +164,10 @@ public class EffectiveModulesAndSubmodulesTest { assertEquals("desc", containerInRoot.getDescription()); } - private static void findModulesSubTest(final SchemaContext result, final Module root, final Module imported) - throws URISyntaxException { - final Module foundRoot = result.findModule("root-module", SimpleDateFormatUtil.DEFAULT_DATE_REV).get(); - final Set foundRoots = result.findModules(new URI("root-module")); - final Module foundRoot3 = result.findModule(new URI("root-module"), SimpleDateFormatUtil.DEFAULT_DATE_REV) - .get(); + private static void findModulesSubTest(final SchemaContext result, final Module root, final Module imported) { + final Module foundRoot = result.findModule("root-module", null).get(); + final Set foundRoots = result.findModules(URI.create("root-module")); + final Module foundRoot3 = result.findModule(URI.create("root-module"), null).get(); assertNotNull(foundRoot); assertNotNull(foundRoots); @@ -191,10 +181,9 @@ public class EffectiveModulesAndSubmodulesTest { assertEquals(root, foundRoot2); assertEquals(root, foundRoot3); - final Module foundImported = result.findModule("imported-module", SimpleDateFormatUtil.DEFAULT_DATE_REV).get(); - final Set foundImporteds = result.findModules(new URI("imported-module")); - final Module foundImported3 = result.findModule(new URI("imported-module"), - SimpleDateFormatUtil.DEFAULT_DATE_REV).get(); + final Module foundImported = result.findModule("imported-module", null).get(); + final Set foundImporteds = result.findModules(URI.create("imported-module")); + final Module foundImported3 = result.findModule(URI.create("imported-module"), null).get(); assertNotNull(foundImported); assertNotNull(foundImporteds); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IfFeatureResolutionTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IfFeatureResolutionTest.java index a4c6cc1e5d..b49fec820c 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IfFeatureResolutionTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IfFeatureResolutionTest.java @@ -35,10 +35,10 @@ public class IfFeatureResolutionTest { @Test public void testSomeFeaturesSupported() throws ReactorException { final Set supportedFeatures = ImmutableSet.of( - QName.create("foo-namespace", "1970-01-01", "test-feature-1"), - QName.create("foo-namespace", "1970-01-01", "test-feature-2"), - QName.create("foo-namespace", "1970-01-01", "test-feature-3"), - QName.create("bar-namespace", "1970-01-01", "imp-feature")); + QName.create("foo-namespace", "test-feature-1"), + QName.create("foo-namespace", "test-feature-2"), + QName.create("foo-namespace", "test-feature-3"), + QName.create("bar-namespace", "imp-feature")); final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); reactor.addSources(FOO_MODULE, BAR_MODULE); @@ -47,9 +47,7 @@ public class IfFeatureResolutionTest { final SchemaContext schemaContext = reactor.buildEffective(); assertNotNull(schemaContext); - final Module testModule = schemaContext.findModules("foo").iterator().next(); - assertNotNull(testModule); - + final Module testModule = schemaContext.findModule("foo", null).get(); assertEquals(9, testModule.getChildNodes().size()); final ContainerSchemaNode testContainerA = (ContainerSchemaNode) testModule.getDataChildByName( diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/ImportRevisionsTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/ImportRevisionsTest.java index 8b306941b9..7002de1eb7 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/ImportRevisionsTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/ImportRevisionsTest.java @@ -37,8 +37,6 @@ public class ImportRevisionsTest { "/import-revision-date-test/root-without-revision-date.yang"); private static final StatementStreamSource IMPORTED_WITH_DATE = sourceForResource( "/import-revision-date-test/imported-module-with-revision-date.yang"); - private static final StatementStreamSource ROOT_WITH_1970_DATE = sourceForResource( - "/import-revision-date-test/root-with-1970-revision-date.yang"); private static final StatementStreamSource ROOT_WITH_NO_DATE = sourceForResource( "/import-revision-date-test/root-with-no-revision-date.yang"); private static final StatementStreamSource IMPORTED_WITH_NO_DATE = sourceForResource( @@ -81,15 +79,6 @@ public class ImportRevisionsTest { assertNotNull(result); } - @Test - public void revision1970InRootOnlyTest() throws ReactorException { - CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - reactor.addSources(ROOT_WITH_1970_DATE, IMPORTED_WITHOUT_DATE); - - EffectiveModelContext result = reactor.build(); - assertNotNull(result); - } - @Test public void noRevisionInRootAndImportedTest() throws ReactorException { CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IncludeRevisionsTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IncludeRevisionsTest.java index efe2107c96..20d647f985 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IncludeRevisionsTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IncludeRevisionsTest.java @@ -18,7 +18,6 @@ import org.junit.Test; import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase; import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException; import org.opendaylight.yangtools.yang.parser.spi.meta.SomeModifiersUnresolvedException; -import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource; import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor; import org.opendaylight.yangtools.yang.parser.stmt.reactor.EffectiveModelContext; @@ -34,13 +33,11 @@ public class IncludeRevisionsTest { private static final StatementStreamSource SUBMOD_ONLY_REV = sourceForResource("/revisions/submod-only-rev.yang"); private static final StatementStreamSource MOD_ONLY_ROOT = sourceForResource("/revisions/mod-only-root.yang"); private static final StatementStreamSource MOD_ONLY_REV = sourceForResource("/revisions/mod-only-rev.yang"); - private static final StatementStreamSource MOD_ONLY_1970_ROOT = sourceForResource("/revisions/mod-1970-root.yang"); - private static final StatementStreamSource MOD_ONLY_1970_REV = sourceForResource("/revisions/mod-1970-rev.yang"); private static final StatementStreamSource NOWHERE_ROOT = sourceForResource("/revisions/nowhere-root.yang"); private static final StatementStreamSource NOWHERE_REV = sourceForResource("/revisions/nowhere-rev.yang"); @Test - public void revsEqualTest() throws SourceException, ReactorException { + public void revsEqualTest() throws ReactorException { CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); addSources(reactor, EQUAL_REV, EQUAL_ROOT); @@ -50,7 +47,7 @@ public class IncludeRevisionsTest { } @Test - public void revsUnequalTest() throws SourceException, ReactorException { + public void revsUnequalTest() throws ReactorException { CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); addSources(reactor, UNEQUAL_REV, UNEQUAL_ROOT); @@ -65,7 +62,7 @@ public class IncludeRevisionsTest { } @Test - public void revIncludeOnly() throws SourceException, ReactorException { + public void revIncludeOnly() throws ReactorException { CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); addSources(reactor, SUBMOD_ONLY_REV, SUBMOD_ONLY_ROOT); @@ -75,7 +72,7 @@ public class IncludeRevisionsTest { } @Test - public void revInModuleOnly() throws SourceException, ReactorException { + public void revInModuleOnly() throws ReactorException { CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); addSources(reactor, MOD_ONLY_REV, MOD_ONLY_ROOT); @@ -90,17 +87,7 @@ public class IncludeRevisionsTest { } @Test - public void rev1970InModuleOnlyTest() throws SourceException, ReactorException { - - CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); - addSources(reactor, MOD_ONLY_1970_REV, MOD_ONLY_1970_ROOT); - - EffectiveModelContext result = reactor.build(); - assertNotNull(result); - } - - @Test - public void revNowhereTest() throws SourceException, ReactorException { + public void revNowhereTest() throws ReactorException { CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR.newBuild(); addSources(reactor, NOWHERE_REV, NOWHERE_ROOT); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/MoreRevisionsTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/MoreRevisionsTest.java index 1fe90cff61..dcc3f30548 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/MoreRevisionsTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/MoreRevisionsTest.java @@ -20,7 +20,6 @@ import java.util.Set; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; @@ -251,11 +250,10 @@ public class MoreRevisionsTest { private static void checkNetconfMonitoringModuleSimpleTest(final SchemaContext context, final Date rev20130715, final QName dateTimeTypeDef_20130715) { URI monitoringNS = URI.create("urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring"); - final QNameModule monitoring_19700101 = QNameModule.create(monitoringNS, SimpleDateFormatUtil.DEFAULT_DATE_REV); + final QNameModule monitoring_19700101 = QNameModule.create(monitoringNS, null); QName lockedTime = QName.create(monitoring_19700101, "locked-time"); - Module monitoringModule_19700101 = context.findModule("ietf-netconf-monitoring", - SimpleDateFormatUtil.DEFAULT_DATE_REV).get(); + Module monitoringModule_19700101 = context.findModule("ietf-netconf-monitoring", null).get(); DataSchemaNode leafLockedTime = monitoringModule_19700101.getDataChildByName(lockedTime); assertNotNull(leafLockedTime); diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserNegativeTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserNegativeTest.java index 671ed87348..b82265ce46 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserNegativeTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserNegativeTest.java @@ -76,7 +76,7 @@ public class YangParserNegativeTest { final Throwable rootCause = Throwables.getRootCause(e); assertTrue(rootCause instanceof InferenceException); assertTrue(rootCause.getMessage().startsWith( - "Augment target 'Absolute{path=[(urn:simple.container.demo?revision=1970-01-01)unknown]}' not found")); + "Augment target 'Absolute{path=[(urn:simple.container.demo)unknown]}' not found")); } } @@ -87,7 +87,7 @@ public class YangParserNegativeTest { fail("ReactorException should be thrown"); } catch (final ReactorException e) { assertTrue(e.getCause().getMessage().contains("Error in module 'test4' in the refine of uses " + - "'Relative{path=[(urn:simple.container.demo?revision=1970-01-01)node]}': can not perform refine of 'PRESENCE' for" + + "'Relative{path=[(urn:simple.container.demo)node]}': can not perform refine of 'PRESENCE' for" + " the target 'LEAF_LIST'.")); } } @@ -121,8 +121,7 @@ public class YangParserNegativeTest { fail("SourceException should be thrown"); } catch (final ReactorException e) { final String expected = "Error in module 'container': cannot add '(urn:simple.container" + - ".demo?revision=1970-01-01)foo'. Node name collision: '(urn:simple.container" + - ".demo?revision=1970-01-01)foo' already declared"; + ".demo)foo'. Node name collision: '(urn:simple.container.demo)foo' already declared"; assertTrue(e.getCause().getMessage().contains(expected)); } } @@ -134,8 +133,7 @@ public class YangParserNegativeTest { fail("SourceException should be thrown"); } catch (final ReactorException e) { final String expected = "Error in module 'container-list': cannot add '(urn:simple.container" + - ".demo?revision=1970-01-01)foo'. Node name collision: '(urn:simple.container" + - ".demo?revision=1970-01-01)foo' already declared"; + ".demo)foo'. Node name collision: '(urn:simple.container.demo)foo' already declared"; assertTrue(e.getCause().getMessage().contains(expected)); } } @@ -147,8 +145,7 @@ public class YangParserNegativeTest { fail("SourceException should be thrown"); } catch (final ReactorException e) { final String expected = "Error in module 'container-leaf': cannot add '(urn:simple.container" + - ".demo?revision=1970-01-01)foo'. Node name collision: '(urn:simple.container" + - ".demo?revision=1970-01-01)foo' already declared"; + ".demo)foo'. Node name collision: '(urn:simple.container.demo)foo' already declared"; assertTrue(e.getCause().getMessage().contains(expected)); } } @@ -160,7 +157,7 @@ public class YangParserNegativeTest { fail("SourceException should be thrown"); } catch (final ReactorException e) { assertTrue(e.getCause().getMessage().startsWith( - "Duplicate name for typedef (urn:simple.container.demo?revision=1970-01-01)int-ext [at")); + "Duplicate name for typedef (urn:simple.container.demo)int-ext [at")); } } @@ -198,8 +195,7 @@ public class YangParserNegativeTest { TestUtils.loadModuleResources(getClass(), "/negative-scenario/invalid-list-key-def.yang"); fail("InferenceException should be thrown"); } catch (final ReactorException e) { - final String expected = "Key 'rib-id' misses node 'rib-id' in list " - + "'(invalid:list:key:def?revision=1970-01-01)application-map'"; + final String expected = "Key 'rib-id' misses node 'rib-id' in list '(invalid:list:key:def)application-map'"; assertTrue(e.getCause().getMessage().startsWith(expected)); } } diff --git a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangTypes2StmtTest.java b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangTypes2StmtTest.java index a65714d96e..1f0291c459 100644 --- a/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangTypes2StmtTest.java +++ b/yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/YangTypes2StmtTest.java @@ -16,7 +16,6 @@ import java.net.URI; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition; @@ -36,8 +35,7 @@ public class YangTypes2StmtTest { private static final StatementStreamSource TYPEFILE4 = sourceForResource( "/semantic-statement-parser/identityreftest.yang"); - private static final QNameModule types2Module = QNameModule.create(URI.create("types2"), - SimpleDateFormatUtil.DEFAULT_DATE_REV); + private static final QNameModule types2Module = QNameModule.create(URI.create("types2"), null); private static final QName lfDecimal = QName.create(types2Module, "lf-decimal"); private static final QName lfMyString = QName.create(types2Module, "lf-my-string"); diff --git a/yang/yang-parser-impl/src/test/resources/bugs/bug7037/foo.yang b/yang/yang-parser-impl/src/test/resources/bugs/bug7037/foo.yang index 81262a49ca..5393312979 100644 --- a/yang/yang-parser-impl/src/test/resources/bugs/bug7037/foo.yang +++ b/yang/yang-parser-impl/src/test/resources/bugs/bug7037/foo.yang @@ -2,7 +2,7 @@ module foo { namespace foo; prefix foo; - import bar { prefix bar; revision-date 1970-01-01; } + import bar { prefix bar; } extension foo-ext { argument arg; diff --git a/yang/yang-parser-impl/src/test/resources/bugs/bug7038/bar.yang b/yang/yang-parser-impl/src/test/resources/bugs/bug7038/bar.yang index fa6f4841b8..c9cd57bfb7 100644 --- a/yang/yang-parser-impl/src/test/resources/bugs/bug7038/bar.yang +++ b/yang/yang-parser-impl/src/test/resources/bugs/bug7038/bar.yang @@ -2,7 +2,7 @@ module bar { namespace bar; prefix bar; - import foo { prefix decimal64; revision-date 1970-01-01; } + import foo { prefix decimal64; } decimal64:decimal64 decimal64; } diff --git a/yang/yang-parser-impl/src/test/resources/bugs/bug8126/bar.yang b/yang/yang-parser-impl/src/test/resources/bugs/bug8126/bar.yang index c7db6443ae..c142cbed06 100644 --- a/yang/yang-parser-impl/src/test/resources/bugs/bug8126/bar.yang +++ b/yang/yang-parser-impl/src/test/resources/bugs/bug8126/bar.yang @@ -2,7 +2,7 @@ module bar { namespace bar; prefix bar; - import foo { prefix foo; revision-date 1970-01-01; } + import foo { prefix foo; } //valid augments (non-mandatory choice) augment "/foo:root" { diff --git a/yang/yang-parser-impl/src/test/resources/import-revision-date-test/root-with-1970-revision-date.yang b/yang/yang-parser-impl/src/test/resources/import-revision-date-test/root-with-1970-revision-date.yang deleted file mode 100644 index 4fc2dee595..0000000000 --- a/yang/yang-parser-impl/src/test/resources/import-revision-date-test/root-with-1970-revision-date.yang +++ /dev/null @@ -1,10 +0,0 @@ -module root-with-1970-revision-date { - namespace "urn:opendaylight.org/root-with-1970-revision-date"; - prefix "root-1970-date"; - - import imported-module-without-revision-date { - prefix "imported-without-date"; - revision-date "1970-01-01"; - } - -} \ No newline at end of file diff --git a/yang/yang-parser-impl/src/test/resources/revisions/mod-1970-rev.yang b/yang/yang-parser-impl/src/test/resources/revisions/mod-1970-rev.yang deleted file mode 100644 index d2f24a6f8f..0000000000 --- a/yang/yang-parser-impl/src/test/resources/revisions/mod-1970-rev.yang +++ /dev/null @@ -1,5 +0,0 @@ -submodule mod-1970-rev { - belongs-to "mod-1970-root" { - prefix mod-1970-root; - } -} diff --git a/yang/yang-parser-impl/src/test/resources/revisions/mod-1970-root.yang b/yang/yang-parser-impl/src/test/resources/revisions/mod-1970-root.yang deleted file mode 100644 index 7912ea10ee..0000000000 --- a/yang/yang-parser-impl/src/test/resources/revisions/mod-1970-root.yang +++ /dev/null @@ -1,8 +0,0 @@ -module mod-1970-root { - namespace mod-1970-root; - prefix mod-1970-root; - - include mod-1970-rev { - revision-date "1970-01-01"; - } -} diff --git a/yang/yang-parser-impl/src/test/resources/rfc7950/bug6884/circular-includes/foo.yang b/yang/yang-parser-impl/src/test/resources/rfc7950/bug6884/circular-includes/foo.yang index f0cb96cce7..7b576f94ef 100644 --- a/yang/yang-parser-impl/src/test/resources/rfc7950/bug6884/circular-includes/foo.yang +++ b/yang/yang-parser-impl/src/test/resources/rfc7950/bug6884/circular-includes/foo.yang @@ -5,9 +5,7 @@ module foo { include sub-foo { revision-date 2017-02-09; } - include sub-foo-2 { - revision-date 1970-01-01; - } + include sub-foo-2; container root { } diff --git a/yang/yang-parser-impl/src/test/resources/rfc7950/bug6884/circular-includes/sub-foo.yang b/yang/yang-parser-impl/src/test/resources/rfc7950/bug6884/circular-includes/sub-foo.yang index e8d2158438..b7546d1bba 100644 --- a/yang/yang-parser-impl/src/test/resources/rfc7950/bug6884/circular-includes/sub-foo.yang +++ b/yang/yang-parser-impl/src/test/resources/rfc7950/bug6884/circular-includes/sub-foo.yang @@ -3,9 +3,7 @@ submodule sub-foo { prefix foo; } - include sub-foo-2 { - revision-date 1970-01-01; - } + include sub-foo-2; revision 2017-02-09; diff --git a/yang/yang-parser-impl/src/test/resources/rfc7950/bug6884/yang1-1/foo.yang b/yang/yang-parser-impl/src/test/resources/rfc7950/bug6884/yang1-1/foo.yang index fc31a72fa4..0aefd033d9 100644 --- a/yang/yang-parser-impl/src/test/resources/rfc7950/bug6884/yang1-1/foo.yang +++ b/yang/yang-parser-impl/src/test/resources/rfc7950/bug6884/yang1-1/foo.yang @@ -6,9 +6,7 @@ module foo { include sub-foo { revision-date 2017-02-09; } - include sub-foo-2 { - revision-date 1970-01-01; - } + include sub-foo-2; container root { } diff --git a/yang/yang-parser-impl/src/test/resources/stmt-test/augments/multiple-augment-root.yang b/yang/yang-parser-impl/src/test/resources/stmt-test/augments/multiple-augment-root.yang index 5ec75d342b..d27d804051 100644 --- a/yang/yang-parser-impl/src/test/resources/stmt-test/augments/multiple-augment-root.yang +++ b/yang/yang-parser-impl/src/test/resources/stmt-test/augments/multiple-augment-root.yang @@ -3,9 +3,9 @@ module multiple-augment-root { namespace "multiple-augment-root"; prefix root; - import multiple-augment-imported { prefix imp; revision-date 1970-01-01; } + import multiple-augment-imported { prefix imp; } - include multiple-augment-submodule { revision-date 1970-01-01; } + include multiple-augment-submodule; augment /imp:root-container/imp:container-from-grp1/imp:sub-container-from-grp1/imp:container-in-uses-augment/imp:sub-container-from-augment2 { container sub-container-from-augment3 { diff --git a/yang/yang-parser-impl/src/test/resources/stmt-test/submodules/root-module.yang b/yang/yang-parser-impl/src/test/resources/stmt-test/submodules/root-module.yang index 0756bcd5b9..880e6ee8b3 100644 --- a/yang/yang-parser-impl/src/test/resources/stmt-test/submodules/root-module.yang +++ b/yang/yang-parser-impl/src/test/resources/stmt-test/submodules/root-module.yang @@ -2,10 +2,10 @@ module root-module { namespace "root-module"; prefix root; - import imported-module { prefix imp; revision-date 1970-01-01; } + import imported-module { prefix imp; } - include submodule-1 { revision-date 1970-01-01; } - include submodule-2 { revision-date 1970-01-01; } + include submodule-1; + include submodule-2; container container-in-root-module { description "desc"; diff --git a/yang/yang-parser-impl/src/test/resources/stmt-test/submodules/submodule-1.yang b/yang/yang-parser-impl/src/test/resources/stmt-test/submodules/submodule-1.yang index 406551e054..45e1bf23de 100644 --- a/yang/yang-parser-impl/src/test/resources/stmt-test/submodules/submodule-1.yang +++ b/yang/yang-parser-impl/src/test/resources/stmt-test/submodules/submodule-1.yang @@ -4,7 +4,7 @@ submodule submodule-1 { prefix root; } - include submodule-to-submodule-1 { revision-date 1970-01-01; } + include submodule-to-submodule-1; container container-in-submodule-1 { } diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java index 1538995400..1cdbff5883 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java @@ -15,7 +15,6 @@ import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import java.util.Collection; import java.util.Date; -import java.util.Optional; import java.util.Set; import java.util.function.Predicate; import org.opendaylight.yangtools.yang.common.QName; @@ -500,16 +499,7 @@ public final class StmtContextUtils { qnameModule = InferenceException.throwIfNull(qnameModule, ctx.getStatementSourceReference(), "Cannot resolve QNameModule for '%s'", value); - - final QNameModule resultQNameModule; - if (qnameModule.getRevision() == null) { - resultQNameModule = QNameModule.create(qnameModule.getNamespace(), SimpleDateFormatUtil.DEFAULT_DATE_REV) - .intern(); - } else { - resultQNameModule = qnameModule; - } - - return ctx.getFromNamespace(QNameCacheNamespace.class, QName.create(resultQNameModule, localName)); + return ctx.getFromNamespace(QNameCacheNamespace.class, QName.create(qnameModule, localName)); } public static QNameModule getRootModuleQName(final StmtContext ctx) { @@ -531,11 +521,7 @@ public final class StmtContextUtils { } checkArgument(qnameModule != null, "Failed to look up root QNameModule for %s", ctx); - if (qnameModule.getRevision() != null) { - return qnameModule; - } - - return QNameModule.create(qnameModule.getNamespace(), SimpleDateFormatUtil.DEFAULT_DATE_REV).intern(); + return qnameModule; } public static QNameModule getModuleQNameByPrefix(final StmtContext ctx, final String prefix) { @@ -558,15 +544,19 @@ public final class StmtContextUtils { final QNameModule qNameModule = root.getFromNamespace(ModuleCtxToModuleQName.class, root); if (qNameModule != null) { // creates SourceIdentifier for a module + if (qNameModule.getFormattedRevision() == null) { + return RevisionSourceIdentifier.create((String) root.getStatementArgument()); + } + return RevisionSourceIdentifier.create((String) root.getStatementArgument(), qNameModule.getFormattedRevision()); } // creates SourceIdentifier for a submodule - final Date revision = Optional.ofNullable(getLatestRevision(root.declaredSubstatements())) - .orElse(SimpleDateFormatUtil.DEFAULT_DATE_REV); - final String formattedRevision = SimpleDateFormatUtil.getRevisionFormat().format(revision); - return RevisionSourceIdentifier.create((String) root.getStatementArgument(), formattedRevision); + final Date revision = getLatestRevision(root.declaredSubstatements()); + return revision == null ? RevisionSourceIdentifier.create((String) root.getStatementArgument()) + : RevisionSourceIdentifier.create((String) root.getStatementArgument(), + SimpleDateFormatUtil.getRevisionFormat().format(revision)); } public static Date getLatestRevision(final Iterable> subStmts) { -- 2.36.6