Migrate users of Optional.get() 51/105351/4
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 8 Apr 2023 20:28:58 +0000 (22:28 +0200)
committerRobert Varga <nite@hq.sk>
Tue, 11 Apr 2023 11:17:51 +0000 (11:17 +0000)
Optional.orElseThrow() has a more explicit name, preventing potential
confusion with Future.get() and making it clear there might be an
exception coming.

Also take the time to modernize code with local variable type inference,
instanceof patterns and similar.

Change-Id: Ifca580e0f6c652da270260dc126f79d7f32b9ff2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit c5e2515ee057d1a7f63d88053a77678739356054)
(cherry picked from commit b66cbba275126b82d2951bbd812c05fb3f21a74d)

124 files changed:
benchmarks/src/main/java/org/opendaylight/yangtools/yang/data/impl/tree/InMemoryDataTreeBenchmark.java
codec/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractMagnesiumDataOutput.java
codec/yang-data-codec-binfmt/src/main/java/org/opendaylight/yangtools/yang/data/codec/binfmt/DataTreeCandidateInputOutput.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/NormalizedNodeStreamReaderWriterTest.java
codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/AbstractYT1027Test.java
codec/yang-data-codec-gson/src/test/java/org/opendaylight/yangtools/yang/data/codec/gson/Bug8083Test.java
codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java
codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlParserStream.java
common/concepts/src/main/java/org/opendaylight/yangtools/concepts/Either.java
common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Decimal64.java
common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QName.java
common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/Revision.java
common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/YangNamespaceContext.java
common/yang-common/src/test/java/org/opendaylight/yangtools/yang/common/RevisionTest.java
data/rfc8528-data-util/src/main/java/org/opendaylight/yangtools/rfc8528/data/util/AbstractDynamicMountPointContextFactory.java
data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodes.java
data/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifierTest.java
data/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/schema/NormalizedNodesTest.java
data/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/codec/StringPatternCheckingCodecTest.java
data/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/BuilderTest.java
data/yang-data-tree-api/src/main/java/org/opendaylight/yangtools/yang/data/tree/api/CursorAwareDataTreeModification.java
data/yang-data-tree-api/src/main/java/org/opendaylight/yangtools/yang/data/tree/api/CursorAwareDataTreeSnapshot.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractDataTreeTip.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/AbstractNodeContainerModificationStrategy.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/AutomaticLifecycleMixin.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/CaseEnforcer.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/ContainerModificationStrategy.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/InMemoryDataTree.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/InMemoryDataTreeModification.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/InMemoryDataTreeSnapshotCursor.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/ListModificationStrategy.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/MapEntryModificationStrategy.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/MinMaxElementsValidation.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/ModifiedNode.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/OperationWithModification.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/SchemaAwareApplyOperation.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/impl/di/InMemoryDataTreeFactory.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/leafref/AbstractQNameWithPredicate.java
data/yang-data-tree-ri/src/main/java/org/opendaylight/yangtools/yang/data/tree/leafref/LeafRefValidation.java
data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug2690Test.java
data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/Bug4454Test.java
data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ConcurrentTreeModificationTest.java
data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/DataTreeCandidatesTest.java
data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ListConstraintsValidation.java
data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/ModificationMetadataTreeTest.java
data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/impl/StoreTreeNodesTest.java
data/yang-data-tree-ri/src/test/java/org/opendaylight/yangtools/yang/data/tree/leafref/DataTreeCandidateValidatorTest.java
data/yang-data-tree-spi/src/main/java/org/opendaylight/yangtools/yang/data/tree/spi/DataTreeCandidateNodes.java
data/yang-data-tree-spi/src/main/java/org/opendaylight/yangtools/yang/data/tree/spi/DataTreeCandidates.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ImmutableMetadataNormalizedAnydata.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/SchemaContext.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BitStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ImportStatement.java
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/TypeAwareDeclaredStatement.java
model/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/YinXMLEventReader.java
model/yang-model-export/src/test/java/org/opendaylight/yangtools/yang/model/export/Bug6856Test.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/TypedefEffectiveStatementImpl.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/ConcreteTypes.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/DerivedTypeBuilder.java
model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/EffectiveStatementMixins.java
model/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/ModuleNameNamespaceContext.java
model/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/SchemaContextProxyTest.java
model/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/util/SchemaInferenceStackTest.java
parser/rfc6241-parser-support/src/test/java/org/opendaylight/yangtools/rfc6241/parser/NetconfTest.java
parser/rfc6536-parser-support/src/test/java/org/opendaylight/yangtools/rfc6536/parser/NACMTest.java
parser/rfc6643-parser-support/src/test/java/org/opendaylight/yangtools/rfc6643/parser/IetfYangSmiv2ExtensionsMappingTest.java
parser/rfc7952-parser-support/src/test/java/org/opendaylight/yangtools/rfc7952/parser/AnnotationTest.java
parser/rfc8040-parser-support/src/test/java/org/opendaylight/yangtools/rfc8040/parser/YangDataExtensionTest.java
parser/rfc8528-parser-support/src/test/java/org/opendaylight/yangtools/rfc8528/parser/MountPointTest.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/StatementContextVisitor.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/YinStatementStreamSource.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveModule.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/augment/AugmentInferenceAction.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/ModuleEffectiveStatementImpl.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BitsSpecificationSupport.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/TypeStatementRFC7950Support.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesStatementSupport.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ElementCountConstraintsTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6868Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6887Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug9241Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/IdentityStatementTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/IdentityrefStatementTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/LeafrefStatementTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug4623Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5396Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug5884Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6183Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug6972Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7440Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug7480Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/Bug9244Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/CaseStmtTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/ChoiceStmtTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/ControllerStmtParserTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/DeviationResolutionTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/DeviationStmtTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveModulesAndSubmodulesTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveStatementTypeTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/EffectiveUsesRefineAndConstraintsTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/GroupingTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/IfFeatureResolutionTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/ListTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/MoreRevisionsTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/RpcStmtTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/TypedefConstraintsTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/TypesResolutionTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YT1201Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YT911Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YT956Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YT983Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/YangParserWithContextTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/test/Bug5200Test.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/yin/YinFileAugmentStmtTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/yin/YinFileChoiceStmtTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/yin/YinFileGroupingStmtTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/yin/YinFileLeafListStmtTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/yin/YinFileListStmtTest.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/yin/YinFileUsesStmtTest.java
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceException.java
xpath/yang-xpath-impl/src/main/java/org/opendaylight/yangtools/yang/xpath/impl/AntlrXPathParser.java
yang/yang-repo-fs/src/main/java/org/opendaylight/yangtools/yang/model/repo/fs/FilesystemSchemaSourceCache.java

index 3480a2c7beedf7f065b0f030e8fa0157eeae19e7..4097379a54779747765a8ed7966116df07a2d9fb 100644 (file)
@@ -22,7 +22,6 @@ import org.opendaylight.yangtools.yang.data.tree.api.CursorAwareDataTreeModifica
 import org.opendaylight.yangtools.yang.data.tree.api.DataTree;
 import org.opendaylight.yangtools.yang.data.tree.api.DataTreeConfiguration;
 import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModification;
-import org.opendaylight.yangtools.yang.data.tree.api.DataTreeModificationCursor;
 import org.opendaylight.yangtools.yang.data.tree.api.DataValidationFailedException;
 import org.opendaylight.yangtools.yang.data.tree.impl.di.InMemoryDataTreeFactory;
 import org.openjdk.jmh.annotations.Benchmark;
@@ -145,7 +144,7 @@ public class InMemoryDataTreeBenchmark {
     @Measurement(iterations = MEASUREMENT_ITERATIONS, timeUnit = TimeUnit.MILLISECONDS)
     public void write100KSingleNodeWithOneInnerItemInOneCommitCursorBenchmark() throws DataValidationFailedException {
         final CursorAwareDataTreeModification modification = begin();
-        try (DataTreeModificationCursor cursor = modification.openCursor(BenchmarkModel.OUTER_LIST_PATH).get()) {
+        try (var cursor = modification.openCursor(BenchmarkModel.OUTER_LIST_PATH).orElseThrow()) {
             for (int outerListKey = 0; outerListKey < OUTER_LIST_100K; ++outerListKey) {
                 cursor.write(OUTER_LIST_IDS[outerListKey], OUTER_LIST_ONE_ITEM_INNER_LIST[outerListKey]);
             }
@@ -180,7 +179,7 @@ public class InMemoryDataTreeBenchmark {
     @Measurement(iterations = MEASUREMENT_ITERATIONS, timeUnit = TimeUnit.MILLISECONDS)
     public void write50KSingleNodeWithTwoInnerItemsInOneCommitCursorBenchmark() throws DataValidationFailedException {
         final CursorAwareDataTreeModification modification = begin();
-        try (DataTreeModificationCursor cursor = modification.openCursor(BenchmarkModel.OUTER_LIST_PATH).get()) {
+        try (var cursor = modification.openCursor(BenchmarkModel.OUTER_LIST_PATH).orElseThrow()) {
             for (int outerListKey = 0; outerListKey < OUTER_LIST_50K; ++outerListKey) {
                 cursor.write(OUTER_LIST_IDS[outerListKey], OUTER_LIST_TWO_ITEM_INNER_LIST[outerListKey]);
             }
@@ -215,7 +214,7 @@ public class InMemoryDataTreeBenchmark {
     @Measurement(iterations = MEASUREMENT_ITERATIONS, timeUnit = TimeUnit.MILLISECONDS)
     public void write10KSingleNodeWithTenInnerItemsInOneCommitCursorBenchmark() throws DataValidationFailedException {
         final CursorAwareDataTreeModification modification = begin();
-        try (DataTreeModificationCursor cursor = modification.openCursor(BenchmarkModel.OUTER_LIST_PATH).get()) {
+        try (var cursor = modification.openCursor(BenchmarkModel.OUTER_LIST_PATH).orElseThrow()) {
             for (int outerListKey = 0; outerListKey < OUTER_LIST_10K; ++outerListKey) {
                 cursor.write(OUTER_LIST_IDS[outerListKey], OUTER_LIST_TEN_ITEM_INNER_LIST[outerListKey]);
             }
index ddc76d8ef756a4c72149d7265725b752ae10ad56..41e61b5bb65f90174bef09e5368e27dabe0d566d 100644 (file)
@@ -614,7 +614,7 @@ abstract class AbstractMagnesiumDataOutput extends AbstractNormalizedNodeDataOut
             encodeString(module.getNamespace().toString());
             final Optional<Revision> rev = module.getRevision();
             if (rev.isPresent()) {
-                encodeString(rev.get().toString());
+                encodeString(rev.orElseThrow().toString());
             } else {
                 output.writeByte(MagnesiumValue.STRING_EMPTY);
             }
index e6c3e06efab32572ec109684143b26812163eba6..e22beaa73e78cb5bce5c37d6606cdf92b6fd1f31 100644 (file)
@@ -86,7 +86,7 @@ public final class DataTreeCandidateInputOutput {
             case UNMODIFIED -> out.writeByte(UNMODIFIED);
             case WRITE -> {
                 out.writeByte(WRITE);
-                out.writeNormalizedNode(node.getDataAfter().get());
+                out.writeNormalizedNode(node.getDataAfter().orElseThrow());
             }
             default -> throw unhandledNodeType(node);
         }
@@ -167,7 +167,7 @@ public final class DataTreeCandidateInputOutput {
             }
             case WRITE -> {
                 out.writeByte(WRITE);
-                out.writeNormalizedNode(node.getDataAfter().get());
+                out.writeNormalizedNode(node.getDataAfter().orElseThrow());
             }
             case UNMODIFIED -> {
                 out.writeByte(UNMODIFIED);
index 3f07fddc2a622d247c157ff6611f968180c28673..23fa40e7f45c50bcf33a9b6da1d14b2c02c32362 100644 (file)
@@ -225,11 +225,11 @@ public class NormalizedNodeStreamReaderWriterTest {
         StreamResult xmlOutput = new StreamResult(new StringWriter());
         Transformer transformer = TransformerFactory.newInstance().newTransformer();
         transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
-        transformer.transform(((DOMSourceAnyxmlNode)child.get()).body(), xmlOutput);
+        transformer.transform(((DOMSourceAnyxmlNode)child.orElseThrow()).body(), xmlOutput);
 
         assertEquals("XML", xml, xmlOutput.getWriter().toString());
         assertEquals("http://www.w3.org/TR/html4/",
-            ((DOMSourceAnyxmlNode)child.get()).body().getNode().getNamespaceURI());
+            ((DOMSourceAnyxmlNode)child.orElseThrow()).body().getNode().getNamespaceURI());
     }
 
     @Test
index 72567634d47f0be1e35bd6a69878b4096f0738a8..179bd50df1441f70c2d9a162bdca9f179af4283f 100644 (file)
@@ -48,15 +48,18 @@ public abstract class AbstractYT1027Test {
     static final LeafNode<?> INT64_DATA = ImmutableNodes.leafNode(INT64, 2L);
     static final LeafNode<?> UINT64_DATA = ImmutableNodes.leafNode(UINT64, Uint64.ONE);
 
-    static final String UNQUOTED_DECIMAL = "{\n"
-            + "  \"yt1027:decimal\": 1.1\n"
-            + "}";
-    static final String UNQUOTED_INT64 = "{\n"
-            + "  \"yt1027:int64\": 2\n"
-            + "}";
-    static final String UNQUOTED_UINT64 = "{\n"
-            + "  \"yt1027:uint64\": 1\n"
-            + "}";
+    static final String UNQUOTED_DECIMAL = """
+        {
+          "yt1027:decimal": 1.1
+        }""";
+    static final String UNQUOTED_INT64 = """
+        {
+          "yt1027:int64": 2
+        }""";
+    static final String UNQUOTED_UINT64 = """
+        {
+          "yt1027:uint64": 1
+        }""";
 
     static EffectiveModelContext SCHEMA_CONTEXT;
     private static DecimalTypeDefinition DECIMAL_TYPE;
@@ -72,7 +75,7 @@ public abstract class AbstractYT1027Test {
     }
 
     private static TypeDefinition<?> getTypeDefinition(final QName name) {
-        DataSchemaNode child = SCHEMA_CONTEXT.findDataTreeChild(name).get();
+        DataSchemaNode child = SCHEMA_CONTEXT.findDataTreeChild(name).orElseThrow();
         verify(child instanceof LeafSchemaNode);
         return ((LeafSchemaNode) child).getType();
     }
index 1a2dd5b46ea9257316c0349610234e40297f311e..60b210f3ffe5b12f56fe8fae6d6b1c9be94211c4 100644 (file)
@@ -158,9 +158,9 @@ public class Bug8083Test {
     }
 
     private static JSONCodec<YangInstanceIdentifier> getCodec(final JSONCodecFactorySupplier supplier) {
-        final DataSchemaNode top = FULL_SCHEMA_CONTEXT.findDataChildByName(TOP_QNAME).get();
+        final DataSchemaNode top = FULL_SCHEMA_CONTEXT.getDataChildByName(TOP_QNAME);
         assertTrue(top instanceof ContainerSchemaNode);
-        final DataSchemaNode foo = ((ContainerSchemaNode) top).findDataChildByName(FOO_QNAME).get();
+        final DataSchemaNode foo = ((ContainerSchemaNode) top).getDataChildByName(FOO_QNAME);
         assertTrue(foo instanceof LeafSchemaNode);
         final TypeDefinition<? extends TypeDefinition<?>> type = ((LeafSchemaNode) foo).getType();
         assertTrue(type instanceof InstanceIdentifierTypeDefinition);
index 42ed26ec40c414af631a28d421d296b4fb423d18..7749dec790c32a47c6a1719b656e3678815fb015 100644 (file)
@@ -13,7 +13,6 @@ import static com.google.common.base.Preconditions.checkState;
 import static java.util.Objects.requireNonNull;
 
 import java.io.IOException;
-import java.util.Optional;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 import javax.xml.transform.dom.DOMSource;
@@ -47,7 +46,7 @@ final class SchemaAwareXMLStreamNormalizedNodeStreamWriter
             final NormalizedNodeStreamWriterStack tracker) {
         super(writer);
         this.tracker = requireNonNull(tracker);
-        this.streamUtils = new SchemaAwareXMLStreamWriterUtils(context);
+        streamUtils = new SchemaAwareXMLStreamWriterUtils(context);
     }
 
     @Override
@@ -60,10 +59,9 @@ final class SchemaAwareXMLStreamNormalizedNodeStreamWriter
     @Override
     String encodeAnnotationValue(final ValueWriter xmlWriter, final QName qname, final Object value)
             throws XMLStreamException {
-        final Optional<AnnotationSchemaNode> optAnnotation =
-            AnnotationSchemaNode.find(streamUtils.getEffectiveModelContext(), qname);
+        final var optAnnotation = AnnotationSchemaNode.find(streamUtils.getEffectiveModelContext(), qname);
         if (optAnnotation.isPresent()) {
-            return streamUtils.encodeValue(xmlWriter, resolveType(optAnnotation.get().getType()), value,
+            return streamUtils.encodeValue(xmlWriter, resolveType(optAnnotation.orElseThrow().getType()), value,
                 qname.getModule());
         }
 
index 4e5a9c366bd3ec2c129d09d5a9f2e696d2fabace..125b4284e0015f3723685307698b6cb420ccdbbd 100644 (file)
@@ -398,11 +398,10 @@ public final class XmlParserStream implements Closeable, Flushable {
             // Cross-relate attribute namespace to the module
             final Optional<QNameModule> optModule = resolveXmlNamespace(attributeNS);
             if (optModule.isPresent()) {
-                final QName qname = QName.create(optModule.get(), localName);
-                final Optional<AnnotationSchemaNode> optAnnotation = AnnotationSchemaNode.find(
-                    codecs.getEffectiveModelContext(), qname);
+                final QName qname = QName.create(optModule.orElseThrow(), localName);
+                final var optAnnotation = AnnotationSchemaNode.find(codecs.getEffectiveModelContext(), qname);
                 if (optAnnotation.isPresent()) {
-                    final AnnotationSchemaNode schema = optAnnotation.get();
+                    final AnnotationSchemaNode schema = optAnnotation.orElseThrow();
                     final Object value = codecs.codecFor(schema, stack)
                         .parseValue(in.getNamespaceContext(), attrValue);
                     attributes.put(schema.getQName(), value);
@@ -580,7 +579,7 @@ public final class XmlParserStream implements Closeable, Flushable {
                         }
 
                         if (optMount.isPresent()) {
-                            final MountPointIdentifier mountId = MountPointIdentifier.of(optMount.get().getQName());
+                            final var mountId = MountPointIdentifier.of(optMount.orElseThrow().getQName());
                             LOG.debug("Assuming node {} and namespace {} belongs to mount point {}", xmlElementName,
                                 nsUri, mountId);
 
@@ -588,7 +587,7 @@ public final class XmlParserStream implements Closeable, Flushable {
                                     .findMountPoint(mountId);
                             if (optFactory.isPresent()) {
                                 final MountPointData mountData =
-                                    mountParent.getMountPointData(mountId, optFactory.get());
+                                    mountParent.getMountPointData(mountId, optFactory.orElseThrow());
                                 addMountPointChild(mountData, nsUri, xmlElementName,
                                     new DOMSource(readAnyXmlValue(in).getDocumentElement()));
                                 continue;
@@ -635,9 +634,9 @@ public final class XmlParserStream implements Closeable, Flushable {
             final String localName, final DOMSource source) {
         final DOMSourceMountPointChild child = new DOMSourceMountPointChild(source);
         if (YangLibraryConstants.MODULE_NAMESPACE.equals(namespace)) {
-            final Optional<ContainerName> optName = ContainerName.forLocalName(localName);
+            final var optName = ContainerName.forLocalName(localName);
             if (optName.isPresent()) {
-                mount.setContainer(optName.get(), child);
+                mount.setContainer(optName.orElseThrow(), child);
                 return;
             }
 
index 9bfbdc63963961a2dde4e3e4915242bb7cb475d7..c98e2980a30621eb52c34d6367bebb8606d0fc8e 100644 (file)
@@ -83,7 +83,7 @@ public class Either<T, U> implements Immutable {
     }
 
     public final T getFirst() {
-        return tryFirst().get();
+        return tryFirst().orElseThrow();
     }
 
     public final Optional<T> tryFirst() {
@@ -95,7 +95,7 @@ public class Either<T, U> implements Immutable {
     }
 
     public final U getSecond() {
-        return trySecond().get();
+        return trySecond().orElseThrow();
     }
 
     public final Optional<U> trySecond() {
index 7f1ef8254a8e47e63dc60e7d9820288fafeb109e..a026cd75e9195efe383f78fbbe988ed87cf7b46a 100644 (file)
@@ -344,10 +344,10 @@ public class Decimal64 extends Number implements CanonicalValue<Decimal64> {
         final Either<Decimal64, CanonicalValueViolation> variant = SUPPORT.fromString(str);
         final Optional<Decimal64> value = variant.tryFirst();
         if (value.isPresent()) {
-            return value.get();
+            return value.orElseThrow();
         }
         final Optional<String> message = variant.getSecond().getMessage();
-        throw message.isPresent() ? new NumberFormatException(message.get()) : new NumberFormatException();
+        throw message.isPresent() ? new NumberFormatException(message.orElseThrow()) : new NumberFormatException();
     }
 
     /**
index e222274d6e72b34f345805a83debac822ed97b5b..88adc7141a9080dedeff9083d4a11ce907c1ee5d 100644 (file)
@@ -292,7 +292,7 @@ public final class QName extends AbstractQName implements Comparable<QName> {
         final StringBuilder sb = new StringBuilder().append('(').append(getNamespace());
         final Optional<Revision> rev = getRevision();
         if (rev.isPresent()) {
-            sb.append("?revision=").append(rev.get());
+            sb.append("?revision=").append(rev.orElseThrow());
         }
         return sb.append(')').append(getLocalName()).toString();
     }
index 317c836c3cde1cad9aff16c9bdae849d363ef3da..443f3d7d7002ee71ff7a49da9dc072f7a39d5ecc 100644 (file)
@@ -111,7 +111,7 @@ public final class Revision implements Comparable<Revision>, Immutable, Serializ
      */
     public static int compare(final @NonNull Optional<Revision> first, final @NonNull Optional<Revision> second) {
         if (first.isPresent()) {
-            return second.isPresent() ? first.get().compareTo(second.get()) : 1;
+            return second.isPresent() ? first.orElseThrow().compareTo(second.orElseThrow()) : 1;
         }
         return second.isPresent() ? -1 : 0;
     }
index 9986eb8e786409421f676b109af7ea86beb46f1a..edc97f8ae852ac76e501f4c1623aed7711c16813 100644 (file)
@@ -61,6 +61,6 @@ public interface YangNamespaceContext extends Immutable, Serializable {
     default @NonNull QName createQName(final String prefix, final String localName) {
         final Optional<QNameModule> namespace = findNamespaceForPrefix(prefix);
         checkArgument(namespace.isPresent(), "Prefix %s is not bound", prefix);
-        return QName.create(namespace.get(), localName);
+        return QName.create(namespace.orElseThrow(), localName);
     }
 }
index e2eb54edfc7da3fe84e80baecf139a48892c85f9..24221cf8a524b547b324aad9a8cc3acd41d30082 100644 (file)
@@ -77,7 +77,7 @@ public class RevisionTest {
 
         final Optional<Revision> opt = Revision.ofNullable("2017-12-25");
         assertTrue(opt.isPresent());
-        assertEquals("2017-12-25", opt.get().toString());
+        assertEquals("2017-12-25", opt.orElseThrow().toString());
     }
 
     @Test
index f5078f1ce0b42ab9a49221b9070ba76c2922e736..31ad72e2f9784c112ede224c79c172f42dd936fc 100644 (file)
@@ -54,7 +54,7 @@ public abstract class AbstractDynamicMountPointContextFactory extends AbstractSi
 
             final NormalizedNode libData;
             try {
-                libData = entry.getValue().normalizeTo(optLibContext.get());
+                libData = entry.getValue().normalizeTo(optLibContext.orElseThrow());
             } catch (IOException e) {
                 throw new YangParserException("Failed to interpret yang-library data", e);
             }
index f54d353f7f0561e74d3e0a60d6c2b245afedd94e..3a3a0befafcdf1ee860472c405d53f65654b1e3c 100644 (file)
@@ -13,7 +13,6 @@ import com.google.common.annotations.Beta;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import java.util.Arrays;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
@@ -50,17 +49,16 @@ public final class NormalizedNodes {
 
     public static Optional<NormalizedNode> findNode(final YangInstanceIdentifier rootPath,
             final NormalizedNode rootNode, final YangInstanceIdentifier childPath) {
-        final Optional<YangInstanceIdentifier> relativePath = childPath.relativeTo(rootPath);
-        return relativePath.isPresent() ? findNode(rootNode, relativePath.get()) : Optional.empty();
+        final var relativePath = childPath.relativeTo(rootPath);
+        return relativePath.isPresent() ? findNode(rootNode, relativePath.orElseThrow()) : Optional.empty();
     }
 
     public static Optional<NormalizedNode> findNode(final Optional<NormalizedNode> parent,
             final Iterable<PathArgument> relativePath) {
-        final Iterator<PathArgument> pathIterator = requireNonNull(relativePath, "Relative path must not be null")
-                .iterator();
-        Optional<NormalizedNode> currentNode = requireNonNull(parent, "Parent must not be null");
+        final var pathIterator = requireNonNull(relativePath, "Relative path must not be null").iterator();
+        var currentNode = requireNonNull(parent, "Parent must not be null");
         while (currentNode.isPresent() && pathIterator.hasNext()) {
-            currentNode = getDirectChild(currentNode.get(), pathIterator.next());
+            currentNode = getDirectChild(currentNode.orElseThrow(), pathIterator.next());
         }
         return currentNode;
     }
@@ -104,12 +102,12 @@ public final class NormalizedNodes {
     @SuppressWarnings({ "unchecked", "rawtypes" })
     public static Optional<NormalizedNode> getDirectChild(final NormalizedNode node,
             final PathArgument pathArg) {
-        if (node instanceof DataContainerNode) {
-            return (Optional) ((DataContainerNode) node).findChildByArg(pathArg);
-        } else if (node instanceof MapNode && pathArg instanceof NodeIdentifierWithPredicates) {
-            return (Optional) ((MapNode) node).findChildByArg((NodeIdentifierWithPredicates) pathArg);
-        } else if (node instanceof LeafSetNode && pathArg instanceof NodeWithValue) {
-            return (Optional) ((LeafSetNode<?>) node).findChildByArg((NodeWithValue<?>) pathArg);
+        if (node instanceof DataContainerNode dataContainer) {
+            return (Optional) dataContainer.findChildByArg(pathArg);
+        } else if (node instanceof MapNode map && pathArg instanceof NodeIdentifierWithPredicates nip) {
+            return (Optional) map.findChildByArg(nip);
+        } else if (node instanceof LeafSetNode<?> leafSet && pathArg instanceof NodeWithValue<?> nwv) {
+            return (Optional) leafSet.findChildByArg(nwv);
         }
         // Anything else, including ValueNode
         return Optional.empty();
@@ -130,9 +128,9 @@ public final class NormalizedNodes {
     private static void toStringTree(final StringBuilder sb, final NormalizedNode node, final int offset) {
         final String prefix = " ".repeat(offset);
         appendPathArgument(sb.append(prefix), node.getIdentifier());
-        if (node instanceof NormalizedNodeContainer) {
+        if (node instanceof NormalizedNodeContainer<?> container) {
             sb.append(" {\n");
-            for (NormalizedNode child : ((NormalizedNodeContainer<?>) node).body()) {
+            for (var child : container.body()) {
                 toStringTree(sb, child, offset + STRINGTREE_INDENT);
             }
             sb.append(prefix).append('}');
@@ -143,8 +141,8 @@ public final class NormalizedNodes {
     }
 
     private static void appendPathArgument(final StringBuilder sb, final PathArgument arg) {
-        if (arg instanceof NodeIdentifierWithPredicates) {
-            sb.append(arg.getNodeType().getLocalName()).append(((NodeIdentifierWithPredicates) arg).values());
+        if (arg instanceof NodeIdentifierWithPredicates nip) {
+            sb.append(arg.getNodeType().getLocalName()).append(nip.values());
         } else if (arg instanceof AugmentationIdentifier) {
             sb.append("augmentation");
         } else {
index aacb13d3e7bf289e533f5b5a68614b0007f6301d..e5a1cfb198352512fbc3e3fc2a55f067407f2e24 100644 (file)
@@ -129,14 +129,14 @@ public class YangInstanceIdentifierTest {
         Optional<YangInstanceIdentifier> relative = id1.relativeTo(id2);
         assertTrue(relative.isPresent());
 
-        List<PathArgument> path = relative.get().getPathArguments();
+        List<PathArgument> path = relative.orElseThrow().getPathArguments();
         assertEquals(2, path.size());
         assertEquals(NODENAME3, path.get(0).getNodeType());
         assertEquals(NODENAME4, path.get(1).getNodeType());
 
         relative = id2.relativeTo(id3);
         assertTrue(relative.isPresent());
-        assertEquals(0, relative.get().getPathArguments().size());
+        assertEquals(0, relative.orElseThrow().getPathArguments().size());
 
         relative = id2.relativeTo(id1);
         assertFalse(relative.isPresent());
index 5cea4b8386d30b1bc0f70002fa6e9cf7ef9c67a5..f1ab0fdca907f10bcfb9f3254c16876e8e32ba4f 100644 (file)
@@ -32,33 +32,32 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum
 public class NormalizedNodesTest {
     @Test
     public void testGetDirectChild() {
-        final PathArgument mockedPathArgument = mock(PathArgument.class);
+        final var mockedPathArgument = mock(PathArgument.class);
 
-        final LeafNode<?> mockedLeafNode = mock(LeafNode.class);
+        final var mockedLeafNode = mock(LeafNode.class);
         assertEquals(Optional.empty(), NormalizedNodes.getDirectChild(mockedLeafNode, mockedPathArgument));
 
-        final LeafSetEntryNode<?> mockedLeafSetEntryNode = mock(LeafSetEntryNode.class);
+        final var mockedLeafSetEntryNode = mock(LeafSetEntryNode.class);
         assertEquals(Optional.empty(), NormalizedNodes.getDirectChild(mockedLeafSetEntryNode, mockedPathArgument));
 
-        final DataContainerNode mockedDataContainerNode = mock(DataContainerNode.class);
-        final ContainerNode mockedContainerNode = mock(ContainerNode.class);
+        final var mockedDataContainerNode = mock(DataContainerNode.class);
+        final var mockedContainerNode = mock(ContainerNode.class);
         doReturn(mockedContainerNode).when(mockedDataContainerNode).childByArg(any(PathArgument.class));
         doCallRealMethod().when(mockedDataContainerNode).findChildByArg(any(PathArgument.class));
 
-        assertEquals(mockedContainerNode, NormalizedNodes.getDirectChild(mockedDataContainerNode, mockedPathArgument)
-                .get());
+        assertEquals(Optional.of(mockedContainerNode),
+            NormalizedNodes.getDirectChild(mockedDataContainerNode, mockedPathArgument));
 
-        final SystemMapNode mockedMapNode = mock(SystemMapNode.class);
+        final var mockedMapNode = mock(SystemMapNode.class);
         final QName listQName = QName.create("test-ns", "test-list");
         final QName listKeyQName = QName.create("test-ns", "test-list-key");
-        final NodeIdentifierWithPredicates nodeIdentifierWithPredicates =
-                NodeIdentifierWithPredicates.of(listQName, listKeyQName, "str-value");
-        final MapEntryNode mockedMapEntryNode = mock(MapEntryNode.class);
+        final var nodeIdentifierWithPredicates = NodeIdentifierWithPredicates.of(listQName, listKeyQName, "str-value");
+        final var mockedMapEntryNode = mock(MapEntryNode.class);
         doReturn(mockedMapEntryNode).when(mockedMapNode).childByArg(any(NodeIdentifierWithPredicates.class));
         doCallRealMethod().when(mockedMapNode).findChildByArg(any(NodeIdentifierWithPredicates.class));
 
-        assertEquals(mockedMapEntryNode, NormalizedNodes.getDirectChild(mockedMapNode, nodeIdentifierWithPredicates)
-                .get());
+        assertEquals(Optional.of(mockedMapEntryNode),
+            NormalizedNodes.getDirectChild(mockedMapNode, nodeIdentifierWithPredicates));
         assertEquals(Optional.empty(), NormalizedNodes.getDirectChild(mockedMapNode, mockedPathArgument));
 
         final SystemLeafSetNode<?> mockedLeafSetNode = mock(SystemLeafSetNode.class);
@@ -66,7 +65,8 @@ public class NormalizedNodesTest {
         final NodeWithValue<?> nodeWithValue = new NodeWithValue<>(leafListQName, "str-value");
         doReturn(mockedLeafSetEntryNode).when(mockedLeafSetNode).childByArg(any(NodeWithValue.class));
         doCallRealMethod().when(mockedLeafSetNode).findChildByArg(any(NodeWithValue.class));
-        assertEquals(mockedLeafSetEntryNode, NormalizedNodes.getDirectChild(mockedLeafSetNode, nodeWithValue).get());
+        assertEquals(Optional.of(mockedLeafSetEntryNode),
+            NormalizedNodes.getDirectChild(mockedLeafSetNode, nodeWithValue));
     }
 
     @Test
@@ -89,16 +89,17 @@ public class NormalizedNodesTest {
         final YangInstanceIdentifier childPath = YangInstanceIdentifier.create(new NodeIdentifier(node1QName),
                 new NodeIdentifier(node2Qname), new NodeIdentifier(node3QName), new NodeIdentifier(node4Qname));
 
-        assertEquals(mockedLeafNode, NormalizedNodes.findNode(rootPath, mockedDataContainerNode, childPath).get());
+        assertEquals(Optional.of(mockedLeafNode),
+            NormalizedNodes.findNode(rootPath, mockedDataContainerNode, childPath));
         assertEquals(Optional.empty(), NormalizedNodes.findNode(childPath, mockedDataContainerNode, rootPath));
 
-        final Optional<YangInstanceIdentifier> relativePath = childPath.relativeTo(rootPath);
-        final PathArgument[] pathArguments = relativePath.get().getPathArguments().toArray(new PathArgument[2]);
+        final var pathArguments = childPath.relativeTo(rootPath).orElseThrow().getPathArguments()
+            .toArray(new PathArgument[0]);
 
-        assertEquals(mockedLeafNode, NormalizedNodes.findNode(Optional.of(mockedDataContainerNode),
-                pathArguments).get());
+        assertEquals(Optional.of(mockedLeafNode),
+            NormalizedNodes.findNode(Optional.of(mockedDataContainerNode), pathArguments));
 
-        assertEquals(mockedLeafNode, NormalizedNodes.findNode(mockedDataContainerNode, pathArguments).get());
+        assertEquals(Optional.of(mockedLeafNode), NormalizedNodes.findNode(mockedDataContainerNode, pathArguments));
     }
 
     @Test
index 5a70ec7a3ed38f6a6690eabce1702b717a95e524..9cb8214b4932e793ef98559b9f870464470ec927 100644 (file)
@@ -9,7 +9,7 @@ package org.opendaylight.yangtools.yang.data.impl.codec;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.assertThrows;
 import static org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodecTestHelper.getCodec;
 
 import org.junit.Test;
@@ -19,42 +19,29 @@ import org.opendaylight.yangtools.yang.common.XMLNamespace;
 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;
-import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class StringPatternCheckingCodecTest {
-
-    private static final Logger LOG = LoggerFactory.getLogger(StringPatternCheckingCodecTest.class);
-
     @Test
     public void testStringPatternCheckingCodec() {
-        final SchemaContext schemaContext = YangParserTestUtils.parseYangResource(
-            "/string-pattern-checking-codec-test.yang");
+        final var schemaContext = YangParserTestUtils.parseYangResource("/string-pattern-checking-codec-test.yang");
         assertNotNull(schemaContext);
 
-        final QNameModule testModuleQName = QNameModule.create(XMLNamespace.of("string-pattern-checking-codec-test"));
+        final var testModuleQName = QNameModule.create(XMLNamespace.of("string-pattern-checking-codec-test"));
 
-        final Module testModule = schemaContext.findModules("string-pattern-checking-codec-test").iterator().next();
-        final ContainerSchemaNode testContainer = (ContainerSchemaNode) testModule.findDataChildByName(
-                QName.create(testModuleQName, "test-container")).get();
+        final var testModule = schemaContext.findModules("string-pattern-checking-codec-test").iterator().next();
+        final var testContainer = (ContainerSchemaNode) testModule.getDataChildByName(
+                QName.create(testModuleQName, "test-container"));
 
-        final LeafSchemaNode testLeaf = (LeafSchemaNode) testContainer.findDataChildByName(
-                QName.create(testModuleQName, "string-leaf-with-valid-pattern")).get();
+        final var testLeaf = (LeafSchemaNode) testContainer.getDataChildByName(
+                QName.create(testModuleQName, "string-leaf-with-valid-pattern"));
 
-        final StringCodec<String> codec = getCodec(testLeaf.getType(), StringCodec.class);
+        final var codec = getCodec(testLeaf.getType(), StringCodec.class);
         assertNotNull(codec);
         assertEquals("ABCD", codec.serialize("ABCD"));
         assertEquals("ABCD", codec.deserialize("ABCD"));
 
-        try {
-            codec.deserialize("abcd");
-            fail("Exception should have been thrown.");
-        } catch (final IllegalArgumentException ex) {
-            LOG.debug("IllegalArgumentException was thrown as expected", ex);
-            assertEquals("Value 'abcd' does not match regular expression '[A-Z]+'", ex.getMessage());
-        }
+        final var ex = assertThrows(IllegalArgumentException.class, () -> codec.deserialize("abcd"));
+        assertEquals("Value 'abcd' does not match regular expression '[A-Z]+'", ex.getMessage());
     }
 }
index d1e1d72fb6c68b637e34a79529854e360457b34c..50492810e01c218a6478f4ef18808f19e5e770a9 100644 (file)
@@ -54,7 +54,6 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 
 public class BuilderTest {
@@ -86,11 +85,11 @@ public class BuilderTest {
     public void setup() throws URISyntaxException {
         final File leafRefTestYang = new File(getClass().getResource("/builder-test/immutable-ordered-map-node.yang")
                 .toURI());
-        final SchemaContext schema = YangParserTestUtils.parseYangFiles(leafRefTestYang);
+        final var schema = YangParserTestUtils.parseYangFiles(leafRefTestYang);
         final Module module = schema.getModules().iterator().next();
-        final DataSchemaNode root = module.findDataChildByName(ROOT_CONTAINER).get();
-        list = (ListSchemaNode)((ContainerSchemaNode) root).findDataChildByName(LIST_MAIN).get();
-        leafList = (LeafListSchemaNode)((ContainerSchemaNode) root).findDataChildByName(LEAF_LIST_MAIN).get();
+        final DataSchemaNode root = module.getDataChildByName(ROOT_CONTAINER);
+        list = (ListSchemaNode)((ContainerSchemaNode) root).getDataChildByName(LIST_MAIN);
+        leafList = (LeafListSchemaNode)((ContainerSchemaNode) root).getDataChildByName(LEAF_LIST_MAIN);
     }
 
     @Test
index 3844717313a7f794d833e9968d44e15b0037433f..bd9c171400e0a7585ab267e866cffb3589450cf7 100644 (file)
@@ -36,6 +36,6 @@ public interface CursorAwareDataTreeModification extends DataTreeModification, C
      */
     @Override
     default DataTreeModificationCursor openCursor() {
-        return openCursor(YangInstanceIdentifier.empty()).get();
+        return openCursor(YangInstanceIdentifier.empty()).orElseThrow();
     }
 }
index 930ff057c21f3546128d52dc646b1c34a615086b..f36f90887a274be748b0a27a2994c9bcc62cf12e 100644 (file)
@@ -34,7 +34,7 @@ public interface CursorAwareDataTreeSnapshot extends DataTreeSnapshot {
      * @throws IllegalStateException if there is another cursor currently open.
      */
     default DataTreeSnapshotCursor openCursor() {
-        return openCursor(YangInstanceIdentifier.empty()).get();
+        return openCursor(YangInstanceIdentifier.empty()).orElseThrow();
     }
 
     @Override
index f48d2079bc265a1d334e87de3a961a38c61ab04a..9bf4f65f55e2ee9e6528a05441f2770285c6e82e 100644 (file)
@@ -50,10 +50,9 @@ abstract class AbstractDataTreeTip implements DataTreeTip {
             return new NoopDataTreeCandidate(YangInstanceIdentifier.empty(), root, currentRoot);
         }
 
-        final Optional<? extends TreeNode> newRoot = m.getStrategy().apply(m.getRootModification(),
-            Optional.of(currentRoot), m.getVersion());
+        final var newRoot = m.getStrategy().apply(m.getRootModification(), Optional.of(currentRoot), m.getVersion());
         checkState(newRoot.isPresent(), "Apply strategy failed to produce root node for modification %s", modification);
-        return new InMemoryDataTreeCandidate(YangInstanceIdentifier.empty(), root, currentRoot, newRoot.get());
+        return new InMemoryDataTreeCandidate(YangInstanceIdentifier.empty(), root, currentRoot, newRoot.orElseThrow());
     }
 
     private static InMemoryDataTreeModification checkedCast(final DataTreeModification mod) {
index dd2a4a195514ffd095f7bb03e5a30cd66022ba8a..49d49f005cb11fb9e96d1e094c7f0ad7157f66e6 100644 (file)
@@ -93,7 +93,7 @@ abstract class AbstractNodeContainerModificationStrategy<T extends WithStatus>
     AbstractNodeContainerModificationStrategy(final NormalizedNodeContainerSupport<?, ?> support,
             final DataTreeConfiguration treeConfig) {
         this.support = requireNonNull(support);
-        this.verifyChildrenStructure = treeConfig.getTreeType() == TreeType.CONFIGURATION;
+        verifyChildrenStructure = treeConfig.getTreeType() == TreeType.CONFIGURATION;
     }
 
     @Override
@@ -218,7 +218,7 @@ abstract class AbstractNodeContainerModificationStrategy<T extends WithStatus>
 
             final Optional<? extends TreeNode> result = resolveChildOperation(id).apply(mod, cm, nodeVersion);
             if (result.isPresent()) {
-                final TreeNode tn = result.get();
+                final TreeNode tn = result.orElseThrow();
                 meta.putChild(tn);
                 data.addChild(tn.getData());
             } else {
@@ -292,7 +292,7 @@ abstract class AbstractNodeContainerModificationStrategy<T extends WithStatus>
                     final Optional<? extends TreeNode> current = apply(modification, modification.getOriginal(),
                         Version.initial());
                     if (current.isPresent()) {
-                        modification.updateValue(LogicalOperation.WRITE, current.get().getData());
+                        modification.updateValue(LogicalOperation.WRITE, current.orElseThrow().getData());
                         mergeChildrenIntoModification(modification, children, version);
                         return;
                     }
@@ -368,7 +368,7 @@ abstract class AbstractNodeContainerModificationStrategy<T extends WithStatus>
                     "Node was deleted by other transaction.");
             }
         } else {
-            currentNode = current.get();
+            currentNode = current.orElseThrow();
         }
 
         checkChildPreconditions(path, modification, currentNode, version);
@@ -393,7 +393,7 @@ abstract class AbstractNodeContainerModificationStrategy<T extends WithStatus>
     protected final void checkMergeApplicable(final ModificationPath path, final NodeModification modification,
             final Optional<? extends TreeNode> current, final Version version) throws DataValidationFailedException {
         if (current.isPresent()) {
-            checkChildPreconditions(path, modification, current.get(), version);
+            checkChildPreconditions(path, modification, current.orElseThrow(), version);
         }
     }
 
index c57b01aaaec0377fd86d1cc43b33c1387b041a0f..177f5cf1f26e2aa6f0fc3088e0c7bee61b4b413d 100644 (file)
@@ -61,7 +61,7 @@ final class AutomaticLifecycleMixin {
             ret = delegate.apply(modification, storeMeta, version);
         }
 
-        return ret.isPresent() ? disappearResult(modification, ret.get(), storeMeta) : ret;
+        return ret.isPresent() ? disappearResult(modification, ret.orElseThrow(), storeMeta) : ret;
     }
 
     private static Optional<? extends TreeNode> applyTouch(final Apply delegate, final NormalizedNode emptyNode,
index c582703ec2fdf3e6147fab3409c17c8ed61f6e11..46ef873a435c4484b6dbfa82b8bc8dc350ef718c 100644 (file)
@@ -77,7 +77,7 @@ class CaseEnforcer implements Immutable {
         }
         final ImmutableMap<AugmentationIdentifier, AugmentationSchemaNode> augmentations = augmentationsBuilder.build();
         final Optional<MandatoryLeafEnforcer> enforcer = MandatoryLeafEnforcer.forContainer(schema, treeConfig);
-        return enforcer.isPresent() ? new EnforcingMandatory(children, augmentations, enforcer.get())
+        return enforcer.isPresent() ? new EnforcingMandatory(children, augmentations, enforcer.orElseThrow())
                 : new CaseEnforcer(children, augmentations);
     }
 
index 4c00109fc0dce21fa4299adf2434892c014ff5cd..845e9287906c19464c45796ed6fe21d4f56f6a62 100644 (file)
@@ -75,8 +75,8 @@ class ContainerModificationStrategy extends DataNodeContainerModificationStrateg
 
     static ModificationApplyOperation of(final ContainerSchemaNode schema, final DataTreeConfiguration treeConfig) {
         if (schema.isPresenceContainer()) {
-            final Optional<MandatoryLeafEnforcer> enforcer = MandatoryLeafEnforcer.forContainer(schema, treeConfig);
-            return enforcer.isPresent() ? new EnforcingMandatory(schema, treeConfig, enforcer.get())
+            final var enforcer = MandatoryLeafEnforcer.forContainer(schema, treeConfig);
+            return enforcer.isPresent() ? new EnforcingMandatory(schema, treeConfig, enforcer.orElseThrow())
                     : new ContainerModificationStrategy(schema, treeConfig);
         }
 
index 8642e7f3c2b44b9996f6dc21a9e7174c85dbd378..d35337e95bb88bdab82ec6b9e565b9f8bea39336 100644 (file)
@@ -115,7 +115,7 @@ public final class InMemoryDataTree extends AbstractDataTreeTip implements DataT
             return;
         }
 
-        final DataSchemaNode rootSchemaNode = rootContextNode.get().getDataSchemaNode();
+        final DataSchemaNode rootSchemaNode = rootContextNode.orElseThrow().getDataSchemaNode();
         if (!(rootSchemaNode instanceof DataNodeContainer)) {
             LOG.warn("Root {} resolves to non-container type {}, not upgrading", getRootPath(), rootSchemaNode);
             return;
@@ -141,11 +141,10 @@ public final class InMemoryDataTree extends AbstractDataTreeTip implements DataT
         if (candidate instanceof NoopDataTreeCandidate) {
             return;
         }
-        if (!(candidate instanceof InMemoryDataTreeCandidate)) {
+        if (!(candidate instanceof InMemoryDataTreeCandidate c)) {
             throw new IllegalArgumentException("Invalid candidate class " + candidate.getClass());
         }
 
-        final InMemoryDataTreeCandidate c = (InMemoryDataTreeCandidate)candidate;
         if (LOG.isTraceEnabled()) {
             LOG.trace("Data Tree is {}", NormalizedNodes.toStringTree(c.getTipRoot().getData()));
         }
index fc44e96c640e46b40f5845ec364a86f27536fed4..a6a34d436c7b9af0d1fdca6bd5cdff5b9b8a2077 100644 (file)
@@ -57,8 +57,8 @@ final class InMemoryDataTreeModification extends AbstractCursorAware implements
     InMemoryDataTreeModification(final InMemoryDataTreeSnapshot snapshot,
             final RootApplyStrategy resolver) {
         this.snapshot = requireNonNull(snapshot);
-        this.strategyTree = requireNonNull(resolver).snapshot();
-        this.rootNode = ModifiedNode.createUnmodified(snapshot.getRootNode(), getStrategy().getChildPolicy());
+        strategyTree = requireNonNull(resolver).snapshot();
+        rootNode = ModifiedNode.createUnmodified(snapshot.getRootNode(), getStrategy().getChildPolicy());
 
         /*
          * We could allocate version beforehand, since Version contract
@@ -69,7 +69,7 @@ final class InMemoryDataTreeModification extends AbstractCursorAware implements
          * node in modification and in data tree (if successfully
          * committed) will be same and will not change.
          */
-        this.version = snapshot.getRootNode().getSubtreeVersion().next();
+        version = snapshot.getRootNode().getSubtreeVersion().next();
     }
 
     ModifiedNode getRootModification() {
@@ -124,7 +124,7 @@ final class InMemoryDataTreeModification extends AbstractCursorAware implements
 
         final Optional<? extends TreeNode> result = resolveSnapshot(key, mod);
         if (result.isPresent()) {
-            final NormalizedNode data = result.get().getData();
+            final NormalizedNode data = result.orElseThrow().getData();
             return NormalizedNodes.findNode(key, data, path);
         }
 
@@ -219,7 +219,7 @@ final class InMemoryDataTreeModification extends AbstractCursorAware implements
         checkState(tempRoot.isPresent(), "Data tree root is not present, possibly removed by previous modification");
 
         final InMemoryDataTreeSnapshot tempTree = new InMemoryDataTreeSnapshot(snapshot.getEffectiveModelContext(),
-            tempRoot.get(), strategyTree);
+            tempRoot.orElseThrow(), strategyTree);
         return tempTree.newModification();
     }
 
index 07b5389f283e7f6b2253496b9596525588b026ff..5976064a9699da6f74fe4c61d99f57dfca4dbb41 100644 (file)
@@ -34,7 +34,7 @@ final class InMemoryDataTreeSnapshotCursor extends AbstractCursor<InMemoryDataTr
         final Optional<NormalizedNode> maybeChildNode = NormalizedNodes.getDirectChild(stack.peek(), child);
         checkArgument(maybeChildNode.isPresent(), "Child %s not found", child);
 
-        final NormalizedNode childNode = maybeChildNode.get();
+        final NormalizedNode childNode = maybeChildNode.orElseThrow();
         checkArgument(childNode instanceof NormalizedNodeContainer, "Child %s is not a container", child);
         stack.push((DistinctNodeContainer<?, ?>) childNode);
     }
@@ -45,7 +45,7 @@ final class InMemoryDataTreeSnapshotCursor extends AbstractCursor<InMemoryDataTr
         final Optional<NormalizedNode> maybeChildNode = NormalizedNodes.findNode(stack.peek(), path);
         checkArgument(maybeChildNode.isPresent(), "Child %s not found", path);
 
-        final NormalizedNode childNode = maybeChildNode.get();
+        final NormalizedNode childNode = maybeChildNode.orElseThrow();
         checkArgument(childNode instanceof NormalizedNodeContainer, "Child %s is not a container", path);
 
         int depth = 0;
index 60c77f9d07f0c936875a80d769e81611237b4deb..8770991ba2c303a49cb359f1b03567a24283216b 100644 (file)
@@ -110,7 +110,7 @@ final class ListModificationStrategy extends SchemaAwareApplyOperation<ListSchem
 
             final Optional<? extends TreeNode> result = resolveChildOperation(id).apply(mod, cm, nodeVersion);
             if (result.isPresent()) {
-                final TreeNode tn = result.get();
+                final TreeNode tn = result.orElseThrow();
                 meta.putChild(tn);
                 data.addChild(tn.getData());
             } else {
index dfc6d465580dba21a86096b40849820c3421db19..e897bff93cef9aa1f6c19671f12dd51504936771 100644 (file)
@@ -70,8 +70,8 @@ class MapEntryModificationStrategy extends DataNodeContainerModificationStrategy
 
     static @NonNull MapEntryModificationStrategy of(final ListSchemaNode schema,
             final DataTreeConfiguration treeConfig) {
-        final Optional<MandatoryLeafEnforcer> enforcer = MandatoryLeafEnforcer.forContainer(schema, treeConfig);
-        return enforcer.isPresent() ? new EnforcingMandatory(schema, treeConfig, enforcer.get())
+        final var enforcer = MandatoryLeafEnforcer.forContainer(schema, treeConfig);
+        return enforcer.isPresent() ? new EnforcingMandatory(schema, treeConfig, enforcer.orElseThrow())
                 : new MapEntryModificationStrategy(schema, treeConfig);
     }
 }
index 55c55be913c2e8fd345e1e3d68130aa99226bfb6..29f97d1065943d5eee97615b777f67670bbac71c 100644 (file)
@@ -10,14 +10,12 @@ package org.opendaylight.yangtools.yang.data.tree.impl;
 import static com.google.common.base.Preconditions.checkArgument;
 
 import com.google.common.base.MoreObjects.ToStringHelper;
-import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer;
 import org.opendaylight.yangtools.yang.data.tree.api.RequiredElementCountException;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint;
 import org.opendaylight.yangtools.yang.model.api.ElementCountConstraintAware;
 
 final class MinMaxElementsValidation<T extends DataSchemaNode & ElementCountConstraintAware>
@@ -34,12 +32,12 @@ final class MinMaxElementsValidation<T extends DataSchemaNode & ElementCountCons
 
     static <T extends DataSchemaNode & ElementCountConstraintAware> ModificationApplyOperation from(
             final SchemaAwareApplyOperation<T> delegate) {
-        final Optional<ElementCountConstraint> optConstraint = delegate.getSchema().getElementCountConstraint();
-        if (!optConstraint.isPresent()) {
+        final var optConstraint = delegate.getSchema().getElementCountConstraint();
+        if (optConstraint.isEmpty()) {
             return delegate;
         }
 
-        final ElementCountConstraint constraint = optConstraint.get();
+        final var constraint = optConstraint.orElseThrow();
         return new MinMaxElementsValidation<>(delegate, constraint.getMinElements(), constraint.getMaxElements());
     }
 
index b3722a6e72df64be6334d91be7fb364c5198dce0..a041fb1c425ffd53ceffa61a76146d3dc2cfb147 100644 (file)
@@ -108,7 +108,7 @@ final class ModifiedNode extends NodeModification implements StoreTreeNode<Modif
     }
 
     private Optional<? extends TreeNode> metadataFromSnapshot(final @NonNull PathArgument child) {
-        return original.isPresent() ? original.get().findChildByArg(child) : Optional.empty();
+        return original.isPresent() ? original.orElseThrow().findChildByArg(child) : Optional.empty();
     }
 
     private Optional<? extends TreeNode> metadataFromData(final @NonNull PathArgument child, final Version modVersion) {
index e3be1cb02dde269f7397e5bcfb441b86f7648100..52a8072b2daa54ad8ebce4603ab12fd40cf520a1 100644 (file)
@@ -20,8 +20,8 @@ final class OperationWithModification {
     private final ModifiedNode modification;
 
     private OperationWithModification(final ModificationApplyOperation op, final ModifiedNode mod) {
-        this.applyOperation = requireNonNull(op);
-        this.modification = requireNonNull(mod);
+        applyOperation = requireNonNull(op);
+        modification = requireNonNull(mod);
     }
 
     void write(final NormalizedNode value) {
@@ -73,7 +73,7 @@ final class OperationWithModification {
         }
 
         if (snapshot.isPresent()) {
-            return snapshot.get().findChildByArg(child).map(TreeNode::getData);
+            return snapshot.orElseThrow().findChildByArg(child).map(TreeNode::getData);
         }
 
         return Optional.empty();
index 856840acb56c1031e9729f5f98def1cd9d7f28df..a875c3d55f318c1501e2ba26cf7df60909862ad6 100644 (file)
@@ -175,8 +175,8 @@ abstract class SchemaAwareApplyOperation<T extends WithStatus> extends Modificat
              * it should not cause transaction to fail, since result of this merge
              * leads to same data.
              */
-            final TreeNode orig = original.get();
-            final TreeNode cur = current.get();
+            final TreeNode orig = original.orElseThrow();
+            final TreeNode cur = current.orElseThrow();
             if (!orig.getData().equals(cur.getData())) {
                 checkNotConflicting(path, orig, cur);
             }
@@ -197,7 +197,7 @@ abstract class SchemaAwareApplyOperation<T extends WithStatus> extends Modificat
             final Optional<? extends TreeNode> current, final Version version) throws DataValidationFailedException {
         final Optional<? extends TreeNode> original = modification.getOriginal();
         if (original.isPresent() && current.isPresent()) {
-            checkNotConflicting(path, original.get(), current.get());
+            checkNotConflicting(path, original.orElseThrow(), current.orElseThrow());
         } else {
             checkConflicting(path, !original.isPresent(), "Node was deleted by other transaction.");
             checkConflicting(path, !current.isPresent(), "Node was created by other transaction.");
@@ -238,7 +238,7 @@ abstract class SchemaAwareApplyOperation<T extends WithStatus> extends Modificat
                     result = applyWrite(modification, modification.getWrittenValue(), currentMeta, version);
                     fullVerifyStructure(result.getData());
                 } else {
-                    result = applyMerge(modification, currentMeta.get(), version);
+                    result = applyMerge(modification, currentMeta.orElseThrow(), version);
                 }
 
                 yield modification.setSnapshot(Optional.of(result));
index 11a8ffd99f8ddd8f55b1f85ec9b2164a785cd635..f36c7ed836c31bf340d5efdf190021497676c6a4 100644 (file)
@@ -159,7 +159,7 @@ public final class InMemoryDataTreeFactory implements DataTreeFactory {
         final Optional<DataSchemaContextNode<?>> rootContextNode = contextTree.findChild(rootPath);
         checkArgument(rootContextNode.isPresent(), "Failed to find root %s in schema context", rootPath);
 
-        final DataSchemaNode rootSchemaNode = rootContextNode.get().getDataSchemaNode();
+        final DataSchemaNode rootSchemaNode = rootContextNode.orElseThrow().getDataSchemaNode();
         checkArgument(rootSchemaNode instanceof DataNodeContainer, "Root %s resolves to non-container type %s",
             rootPath, rootSchemaNode);
         return rootSchemaNode;
index 74158671c2fa2509ba578f89ac01bc39677bff08..92e7f210eb5c180f4132dc063285637ec44f1251 100644 (file)
@@ -8,24 +8,16 @@
 package org.opendaylight.yangtools.yang.data.tree.leafref;
 
 import java.util.Objects;
-import java.util.Optional;
 import org.opendaylight.yangtools.concepts.Immutable;
 import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.common.Revision;
 
 abstract class AbstractQNameWithPredicate implements Immutable, QNameWithPredicate {
     @Override
     public final boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof QNameWithPredicate)) {
-            return false;
-        }
-        final QNameWithPredicate other = (QNameWithPredicate) obj;
-        // FIXME: check also predicates ...
-        return Objects.equals(getLocalName(), other.getLocalName())
-                && Objects.equals(getModuleQname(), other.getModuleQname());
+        return this == obj || obj instanceof QNameWithPredicate other
+            // FIXME: check also predicates ...
+            && Objects.equals(getLocalName(), other.getLocalName())
+            && Objects.equals(getModuleQname(), other.getModuleQname());
     }
 
     @Override
@@ -40,9 +32,9 @@ abstract class AbstractQNameWithPredicate implements Immutable, QNameWithPredica
         final QNameModule moduleQname = getModuleQname();
         if (moduleQname != null) {
             sb.append('(').append(moduleQname.getNamespace());
-            final Optional<Revision> rev = moduleQname.getRevision();
+            final var rev = moduleQname.getRevision();
             if (rev.isPresent()) {
-                sb.append("?revision=").append(rev.get());
+                sb.append("?revision=").append(rev.orElseThrow());
             }
             sb.append(')');
         }
index c141428157ee1a785aa7b35eeea533813ac41491..91050b627d0bdf3953b07f16fb029290ea490094 100644 (file)
@@ -61,15 +61,16 @@ public final class LeafRefValidation {
 
     public static void validate(final DataTreeCandidate tree, final LeafRefContext rootLeafRefCtx)
             throws LeafRefDataValidationFailedException {
-        final Optional<NormalizedNode> root = tree.getRootNode().getDataAfter();
+        final var root = tree.getRootNode().getDataAfter();
         if (root.isPresent()) {
-            new LeafRefValidation(root.get()).validateChildren(rootLeafRefCtx, tree.getRootNode().getChildNodes());
+            new LeafRefValidation(root.orElseThrow())
+                .validateChildren(rootLeafRefCtx, tree.getRootNode().getChildNodes());
         }
     }
 
     private void validateChildren(final LeafRefContext rootLeafRefCtx, final Collection<DataTreeCandidateNode> children)
             throws LeafRefDataValidationFailedException {
-        for (final DataTreeCandidateNode dataTreeCandidateNode : children) {
+        for (var dataTreeCandidateNode : children) {
             if (dataTreeCandidateNode.getModificationType() != ModificationType.UNMODIFIED) {
                 final PathArgument identifier = dataTreeCandidateNode.getIdentifier();
                 final QName childQName = identifier.getNodeType();
@@ -86,7 +87,7 @@ public final class LeafRefValidation {
         if (!errorsMessages.isEmpty()) {
             final StringBuilder message = new StringBuilder();
             int errCount = 0;
-            for (final String errorMessage : errorsMessages) {
+            for (var errorMessage : errorsMessages) {
                 message.append(errorMessage);
                 errCount++;
             }
@@ -98,17 +99,18 @@ public final class LeafRefValidation {
         final LeafRefContext referencingCtx, final YangInstanceIdentifier current) {
 
         if (node.getModificationType() == ModificationType.WRITE && node.getDataAfter().isPresent()) {
-            validateNodeData(node.getDataAfter().get(), referencedByCtx, referencingCtx, node.getModificationType(),
-                current);
+            validateNodeData(node.getDataAfter().orElseThrow(), referencedByCtx, referencingCtx,
+                node.getModificationType(), current);
             return;
         }
 
         if (node.getModificationType() == ModificationType.DELETE && referencedByCtx != null) {
-            validateNodeData(node.getDataBefore().get(), referencedByCtx, null, node.getModificationType(), current);
+            validateNodeData(node.getDataBefore().orElseThrow(), referencedByCtx, null, node.getModificationType(),
+                current);
             return;
         }
 
-        for (final DataTreeCandidateNode childNode : node.getChildNodes()) {
+        for (var childNode : node.getChildNodes()) {
             if (childNode.getModificationType() != ModificationType.UNMODIFIED) {
                 final LeafRefContext childReferencedByCtx = getReferencedByCtxChild(referencedByCtx, childNode);
                 final LeafRefContext childReferencingCtx = getReferencingCtxChild(referencingCtx, childNode);
@@ -130,7 +132,7 @@ public final class LeafRefValidation {
         final QName childQName = childNode.getIdentifier().getNodeType();
         LeafRefContext childReferencingCtx = referencingCtx.getReferencingChildByName(childQName);
         if (childReferencingCtx == null) {
-            final NormalizedNode data = childNode.getDataAfter().get();
+            final NormalizedNode data = childNode.getDataAfter().orElseThrow();
             if (data instanceof MapEntryNode || data instanceof UnkeyedListEntryNode) {
                 childReferencingCtx = referencingCtx;
             }
@@ -148,7 +150,7 @@ public final class LeafRefValidation {
         final QName childQName = childNode.getIdentifier().getNodeType();
         LeafRefContext childReferencedByCtx = referencedByCtx.getReferencedChildByName(childQName);
         if (childReferencedByCtx == null) {
-            final NormalizedNode data = childNode.getDataAfter().get();
+            final NormalizedNode data = childNode.getDataAfter().orElseThrow();
             if (data instanceof MapEntryNode || data instanceof UnkeyedListEntryNode) {
                 childReferencedByCtx = referencedByCtx;
             }
@@ -449,7 +451,7 @@ public final class LeafRefValidation {
         while (pathIterator.hasNext()) {
             final PathArgument childPathArgument = pathIterator.next();
             if (pathIterator.hasNext() && currentNode.isPresent()) {
-                currentNode = NormalizedNodes.getDirectChild(currentNode.get(), childPathArgument);
+                currentNode = NormalizedNodes.getDirectChild(currentNode.orElseThrow(), childPathArgument);
             } else {
                 return currentNode;
             }
index 26a81fc25c983abed2314962154239733b3796ce..5139361c6538566e42be5737e30c72edca5f1ee3 100644 (file)
@@ -66,7 +66,7 @@ public class Bug2690Test extends AbstractTestModelTest {
         final DataTreeModification modificationAfterTx = snapshotAfterTx.newModification();
         final Optional<NormalizedNode> readNode = modificationAfterTx.readNode(TestModel.OUTER_LIST_PATH);
         assertTrue(readNode.isPresent());
-        assertEquals(2, ((NormalizedNodeContainer<?>)readNode.get()).size());
+        assertEquals(2, ((NormalizedNodeContainer<?>)readNode.orElseThrow()).size());
     }
 
     @Test
index fbc63d30b88d5fb9db8ff0834ec0502814e01fc0..2bc35dcedd7be00f76590509ac25b9966aec77ff 100644 (file)
@@ -230,7 +230,7 @@ public class Bug4454Test {
         DataTreeSnapshot test2 = inMemoryDataTree.takeSnapshot();
         minMaxListRead = test2.readNode(MIN_MAX_LIST_PATH);
         assertTrue(minMaxListRead.isPresent());
-        assertEquals(3, ((NormalizedNodeContainer<?>) minMaxListRead.get()).size());
+        assertEquals(3, ((NormalizedNodeContainer<?>) minMaxListRead.orElseThrow()).size());
 
         DataTreeModification tempMod2 = test2.newModification();
         tempMod2.write(MIN_MAX_LIST_PATH, mapNodeBaz);
@@ -244,8 +244,8 @@ public class Bug4454Test {
         DataTreeSnapshot test3 = inMemoryDataTree.takeSnapshot();
         minMaxListRead = test3.readNode(MIN_MAX_LIST_PATH);
         assertTrue(minMaxListRead.isPresent());
-        assertEquals(1, ((NormalizedNodeContainer<?>) minMaxListRead.get()).size());
-        assertThat(minMaxListRead.get().body().toString(), containsString("test2"));
+        assertEquals(1, ((NormalizedNodeContainer<?>) minMaxListRead.orElseThrow()).size());
+        assertThat(minMaxListRead.orElseThrow().body().toString(), containsString("test2"));
 
         DataTreeModification tempMod3 = test3.newModification();
         tempMod3.merge(MIN_MAX_LIST_PATH, mapNodeBar);
@@ -301,10 +301,10 @@ public class Bug4454Test {
         final DataTreeSnapshot snapshotAfterCommit = inMemoryDataTree.takeSnapshot();
         final Optional<NormalizedNode> masterContainer = snapshotAfterCommit.readNode(MASTER_CONTAINER_PATH);
         assertTrue(masterContainer.isPresent());
-        final Optional<NormalizedNodeContainer<?>> leafList = ((DistinctNodeContainer) masterContainer.get())
+        final Optional<NormalizedNodeContainer<?>> leafList = ((DistinctNodeContainer) masterContainer.orElseThrow())
                 .findChildByArg(new NodeIdentifier(MIN_MAX_LEAF_LIST_QNAME));
         assertTrue(leafList.isPresent());
-        assertEquals(3, leafList.get().size());
+        assertEquals(3, leafList.orElseThrow().size());
     }
 
     @Test
@@ -343,7 +343,7 @@ public class Bug4454Test {
 
         // Empty list should have disappeared, along with the container, as we are not enforcing root
         final NormalizedNode data = inMemoryDataTree.takeSnapshot()
-                .readNode(YangInstanceIdentifier.empty()).get();
+                .readNode(YangInstanceIdentifier.empty()).orElseThrow();
         assertTrue(data instanceof ContainerNode);
         assertEquals(0, ((ContainerNode) data).size());
     }
@@ -378,10 +378,10 @@ public class Bug4454Test {
             modificationTree.ready();
             fail("Should have failed with IAE");
         } catch (IllegalArgumentException e) {
-            assertEquals("Node (urn:opendaylight:params:xml:ns:yang:list-constraints-validation-test-model?"
-                    + "revision=2015-02-02)presence is missing mandatory descendant "
-                    + "/(urn:opendaylight:params:xml:ns:yang:list-constraints-validation-test-model?"
-                    + "revision=2015-02-02)min-max-list", e.getMessage());
+            assertEquals("""
+                Node (urn:opendaylight:params:xml:ns:yang:list-constraints-validation-test-model?revision=2015-02-02)\
+                presence is missing mandatory descendant /(urn:opendaylight:params:xml:ns:yang:list-constraints-\
+                validation-test-model?revision=2015-02-02)min-max-list""", e.getMessage());
         }
     }
 
@@ -431,9 +431,9 @@ public class Bug4454Test {
     private static void testLoop(final DataTreeSnapshot snapshot, final String first, final String second) {
         Optional<NormalizedNode> minMaxListRead = snapshot.readNode(MIN_MAX_LIST_PATH);
         assertTrue(minMaxListRead.isPresent());
-        assertEquals(2, ((NormalizedNodeContainer<?>) minMaxListRead.get()).size());
+        assertEquals(2, ((NormalizedNodeContainer<?>) minMaxListRead.orElseThrow()).size());
 
-        for (Object collectionChild : (Collection<?>) minMaxListRead.get().body()) {
+        for (Object collectionChild : (Collection<?>) minMaxListRead.orElseThrow().body()) {
             if (collectionChild.toString().contains(first)) {
                 assertTrue(collectionChild.toString().contains(first));
             } else {
index 3cf7d97f173bee582259aec5afaea26fc3c6069c..fb66c633bba617b5526dc773d35ce34fad17c8e8 100644 (file)
@@ -85,8 +85,8 @@ public class ConcurrentTreeModificationTest extends AbstractTestModelTest {
     private static <T> T assertPresentAndType(final Optional<?> potential, final Class<T> type) {
         assertNotNull(potential);
         assertTrue(potential.isPresent());
-        assertTrue(type.isInstance(potential.get()));
-        return type.cast(potential.get());
+        assertTrue(type.isInstance(potential.orElseThrow()));
+        return type.cast(potential.orElseThrow());
     }
 
     @Test
index de98b9e3ffabf747659ed6dcfa45692303a5a35b..ec76f707e41236b1801c0882e819685fe5461611 100644 (file)
@@ -98,7 +98,7 @@ public class DataTreeCandidatesTest extends AbstractTestModelTest {
         DataTreeCandidates.applyToModification(newModification,
                 newCandidate);
 
-        final LeafNode<?> readLeaf = (LeafNode<?>) newModification.readNode(TestModel.INNER_VALUE_PATH).get();
+        final LeafNode<?> readLeaf = (LeafNode<?>) newModification.readNode(TestModel.INNER_VALUE_PATH).orElseThrow();
         assertEquals(readLeaf, leaf);
     }
 
index d3435f0a0bf66fbc39577c4416158c5fbb046d9d..cc0c8ba995e55eca4e4838f58853185aaf6a6eb5 100644 (file)
@@ -123,7 +123,7 @@ public class ListConstraintsValidation {
         final DataTreeSnapshot snapshotAfterCommit = inMemoryDataTree.takeSnapshot();
         final Optional<NormalizedNode> minMaxListRead = snapshotAfterCommit.readNode(MIN_MAX_LIST_PATH);
         assertTrue(minMaxListRead.isPresent());
-        assertEquals(2, ((NormalizedNodeContainer<?>) minMaxListRead.get()).size());
+        assertEquals(2, ((NormalizedNodeContainer<?>) minMaxListRead.orElseThrow()).size());
     }
 
     @Test(expected = DataValidationFailedException.class)
@@ -154,7 +154,7 @@ public class ListConstraintsValidation {
         DataTreeSnapshot snapshotAfterCommit = inMemoryDataTree.takeSnapshot();
         Optional<NormalizedNode> minMaxListRead = snapshotAfterCommit.readNode(MIN_MAX_LIST_PATH);
         assertTrue(minMaxListRead.isPresent());
-        assertEquals(2, ((NormalizedNodeContainer<?>) minMaxListRead.get()).size());
+        assertEquals(2, ((NormalizedNodeContainer<?>) minMaxListRead.orElseThrow()).size());
 
         modificationTree = inMemoryDataTree.takeSnapshot().newModification();
         modificationTree.write(gooPath, gooEntryNode);
@@ -167,7 +167,7 @@ public class ListConstraintsValidation {
         snapshotAfterCommit = inMemoryDataTree.takeSnapshot();
         minMaxListRead = snapshotAfterCommit.readNode(MIN_MAX_LIST_PATH);
         assertTrue(minMaxListRead.isPresent());
-        assertEquals(3, ((NormalizedNodeContainer<?>) minMaxListRead.get()).size());
+        assertEquals(3, ((NormalizedNodeContainer<?>) minMaxListRead.orElseThrow()).size());
 
         modificationTree = inMemoryDataTree.takeSnapshot().newModification();
 
@@ -208,7 +208,7 @@ public class ListConstraintsValidation {
         final Optional<NormalizedNode> masterContainer = snapshotAfterCommit.readNode(MASTER_CONTAINER_PATH);
         assertTrue(masterContainer.isPresent());
         final NormalizedNodeContainer<?> leafList =
-            (NormalizedNodeContainer<?>) ((DistinctNodeContainer) masterContainer.get())
+            (NormalizedNodeContainer<?>) ((DistinctNodeContainer) masterContainer.orElseThrow())
                 .childByArg(new NodeIdentifier(MIN_MAX_LEAF_LIST_QNAME));
         assertNotNull(leafList);
         assertEquals(2, leafList.size());
@@ -270,7 +270,7 @@ public class ListConstraintsValidation {
         final DataTreeSnapshot snapshotAfterCommit = inMemoryDataTree.takeSnapshot();
         final Optional<NormalizedNode> unkeyedListRead = snapshotAfterCommit.readNode(UNKEYED_LIST_PATH);
         assertTrue(unkeyedListRead.isPresent());
-        assertEquals(1, ((UnkeyedListNode) unkeyedListRead.get()).size());
+        assertEquals(1, ((UnkeyedListNode) unkeyedListRead.orElseThrow()).size());
     }
 
     @Test
index 87d15a9516532285a4e08330cdf081f483358969..0495d89e7c660db2e5e0bbea46650789a9663626 100644 (file)
@@ -138,7 +138,7 @@ public class ModificationMetadataTreeTest extends AbstractTestModelTest {
                 TreeNode.of(createDocumentOne(), Version.initial()), rootOper), rootOper);
         final Optional<NormalizedNode> originalBarNode = modificationTree.readNode(OUTER_LIST_2_PATH);
         assertTrue(originalBarNode.isPresent());
-        assertSame(BAR_NODE, originalBarNode.get());
+        assertSame(BAR_NODE, originalBarNode.orElseThrow());
 
         // writes node to /outer-list/1/inner_list/two/value
         modificationTree.write(TWO_TWO_VALUE_PATH, ImmutableNodes.leafNode(TestModel.VALUE_QNAME, "test"));
@@ -147,7 +147,7 @@ public class ModificationMetadataTreeTest extends AbstractTestModelTest {
         // and checks if node is already present
         final Optional<NormalizedNode> barTwoCModified = modificationTree.readNode(TWO_TWO_VALUE_PATH);
         assertTrue(barTwoCModified.isPresent());
-        assertEquals(ImmutableNodes.leafNode(TestModel.VALUE_QNAME, "test"), barTwoCModified.get());
+        assertEquals(ImmutableNodes.leafNode(TestModel.VALUE_QNAME, "test"), barTwoCModified.orElseThrow());
 
         // delete node to /outer-list/1/inner_list/two/value
         modificationTree.delete(TWO_TWO_VALUE_PATH);
@@ -218,7 +218,7 @@ public class ModificationMetadataTreeTest extends AbstractTestModelTest {
     private static <T> T assertPresentAndType(final Optional<?> potential, final Class<T> type) {
         assertNotNull(potential);
         assertTrue(potential.isPresent());
-        assertTrue(type.isInstance(potential.get()));
-        return type.cast(potential.get());
+        assertTrue(type.isInstance(potential.orElseThrow()));
+        return type.cast(potential.orElseThrow());
     }
 }
index a67f74af2edd560023133c5fd30e9349d04e11b7..d0264de4f77d76bb4eab042f6c61dea334374364 100644 (file)
@@ -138,7 +138,7 @@ public class StoreTreeNodesTest extends AbstractTestModelTest {
         assertPresentAndType(expectedNode, TreeNode.class);
 
         final Entry<YangInstanceIdentifier, TreeNode> actualNode = StoreTreeNodes.findClosest(rootNode, TWO_TWO_PATH);
-        assertTreeNodeEquals(expectedNode.get(), actualNode.getValue());
+        assertTreeNodeEquals(expectedNode.orElseThrow(), actualNode.getValue());
     }
 
     @Test
@@ -158,7 +158,7 @@ public class StoreTreeNodesTest extends AbstractTestModelTest {
 
         final Entry<YangInstanceIdentifier, TreeNode> actualNode = StoreTreeNodes.findClosest(rootNode,
             twoTwoInvalidPath);
-        assertTreeNodeEquals(expectedNode.get(), actualNode.getValue());
+        assertTreeNodeEquals(expectedNode.orElseThrow(), actualNode.getValue());
     }
 
     private static ContainerNode createTestContainer() {
@@ -175,8 +175,8 @@ public class StoreTreeNodesTest extends AbstractTestModelTest {
             final Class<T> type) {
         assertNotNull(potential);
         assertTrue(potential.isPresent());
-        assertTrue(type.isInstance(potential.get()));
-        return type.cast(potential.get());
+        assertTrue(type.isInstance(potential.orElseThrow()));
+        return type.cast(potential.orElseThrow());
     }
 
     private static void assertTreeNodeEquals(final TreeNode expected, final TreeNode actual) {
index f2b98dfc676065b41786cbb58852d485df8d56e9..79f5eb6f0ff826a43fc4af7a38472c7c80b36f84 100644 (file)
@@ -424,7 +424,7 @@ public class DataTreeCandidateValidatorTest {
     private static ContainerNode createContributorContainer(final ContainerSchemaNode contributorCont) {
         return Builders.containerBuilder()
             .withNodeIdentifier(new NodeIdentifier(odlContributor))
-            .addChild(createContributorList((ListSchemaNode) contributorCont.findDataChildByName(contributor).get()))
+            .addChild(createContributorList((ListSchemaNode) contributorCont.getDataChildByName(contributor)))
             .build();
 
     }
index 7ab94e1857c282bba489d12c5529234cb6126c9a..6a584c8bfe4676422e7eb7ec9bcf412cee7d5c7c 100644 (file)
@@ -165,7 +165,7 @@ public final class DataTreeCandidateNodes {
                 // No-op
                 break;
             case WRITE:
-                cursor.write(node.getIdentifier(), node.getDataAfter().get());
+                cursor.write(node.getIdentifier(), node.getDataAfter().orElseThrow());
                 break;
             default:
                 throw new IllegalArgumentException("Unsupported modification " + node.getModificationType());
@@ -197,7 +197,7 @@ public final class DataTreeCandidateNodes {
                 // No-op
                 break;
             case WRITE:
-                cursor.write(rootPath.getLastPathArgument(), node.getDataAfter().get());
+                cursor.write(rootPath.getLastPathArgument(), node.getDataAfter().orElseThrow());
                 break;
             default:
                 throw new IllegalArgumentException("Unsupported modification " + node.getModificationType());
@@ -283,7 +283,7 @@ public final class DataTreeCandidateNodes {
                         // No-op
                         break;
                     case WRITE:
-                        cursor.write(node.getIdentifier(), node.getDataAfter().get());
+                        cursor.write(node.getIdentifier(), node.getDataAfter().orElseThrow());
                         break;
                     default:
                         throw new IllegalArgumentException("Unsupported modification " + node.getModificationType());
index b2a24fceddc0105ea1031de394c48fe947773d68..ba8ccc3e50e69b053d6b19e7c14abbf50fb1435a 100644 (file)
@@ -81,7 +81,7 @@ public final class DataTreeCandidates {
                 // No-op
                 break;
             case WRITE:
-                modification.write(path, node.getDataAfter().get());
+                modification.write(path, node.getDataAfter().orElseThrow());
                 LOG.debug("Modification {} written path {}", modification, path);
                 break;
             default:
@@ -135,7 +135,7 @@ public final class DataTreeCandidates {
                 if (dataBefore.isEmpty()) {
                     return new TerminalDataTreeCandidateNode(null, ModificationType.UNMODIFIED, null, null);
                 }
-                return new TerminalDataTreeCandidateNode(null, nodeModification, dataBefore.get(), null);
+                return new TerminalDataTreeCandidateNode(null, nodeModification, dataBefore.orElseThrow(), null);
             case WRITE:
                 return new TerminalDataTreeCandidateNode(null, nodeModification, dataBefore.orElse(null),
                         dataAfter.orElseThrow());
@@ -414,7 +414,7 @@ public final class DataTreeCandidates {
                         // No-op
                         break;
                     case WRITE:
-                        modification.write(child, node.getDataAfter().get());
+                        modification.write(child, node.getDataAfter().orElseThrow());
                         LOG.debug("Modification {} written path {}", modification, child);
                         break;
                     default:
index 0e46f0816265b7cc0251d395e1cba33b6401209b..4865db091016a110ebf90fc450c28bc02fe49a95 100644 (file)
@@ -34,7 +34,7 @@ public final class ImmutableMetadataNormalizedAnydata extends ImmutableNormalize
     public static ImmutableNormalizedAnydata ofOptional(final EffectiveStatementInference inference,
             final NormalizedNode data, final Optional<NormalizedMetadata> metadata) {
         return metadata.isPresent()
-                ? new ImmutableMetadataNormalizedAnydata(inference, data, metadata.get())
+                ? new ImmutableMetadataNormalizedAnydata(inference, data, metadata.orElseThrow())
                         : new ImmutableNormalizedAnydata(inference, data);
     }
 
index 37e120753f5d0212938028b1e3ab1f56c295e027..5670906d8058b95d4beed586c4c194c26cc5dd04 100644 (file)
@@ -201,10 +201,9 @@ public interface SchemaContext extends ContainerLike, Immutable {
 
     @Override
     default Optional<NotificationDefinition> findNotification(final QName qname) {
-        final Optional<Collection<? extends @NonNull NotificationDefinition>> defs = findModule(qname.getModule())
-                .map(Module::getNotifications);
+        final var defs = findModule(qname.getModule()).map(Module::getNotifications);
         if (defs.isPresent()) {
-            for (NotificationDefinition def : defs.get()) {
+            for (var def : defs.orElseThrow()) {
                 if (qname.equals(def.getQName())) {
                     return Optional.of(def);
                 }
index 02a2149b3115749d6bee557e8206dd9514236751..d39932b322022481588637a1dc398e427fd964e8 100644 (file)
@@ -23,6 +23,6 @@ public interface BelongsToStatement extends DeclaredStatement<Unqualified> {
     }
 
     default @NonNull PrefixStatement getPrefix() {
-        return findFirstDeclaredSubstatement(PrefixStatement.class).get();
+        return findFirstDeclaredSubstatement(PrefixStatement.class).orElseThrow();
     }
 }
index aa6a5400ff9bbcee6c93e73ebbf88fb68b45c301..b7b67cbe31446cdbfd62709462431ba4481557dc 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.model.api.stmt;
 
-import java.util.Optional;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
@@ -23,7 +22,7 @@ public interface BitStatement extends DocumentedDeclaredStatement.WithStatus<Str
     }
 
     default @Nullable PositionStatement getPosition() {
-        final Optional<PositionStatement> opt = findFirstDeclaredSubstatement(PositionStatement.class);
-        return opt.isPresent() ? opt.get() : null;
+        final var opt = findFirstDeclaredSubstatement(PositionStatement.class);
+        return opt.isPresent() ? opt.orElseThrow() : null;
     }
 }
index 744d5e73d753b844c1138d2306bb393ad6caf169..388f38b87470efc19b1daf7b6a7931b00a83508a 100644 (file)
@@ -23,7 +23,7 @@ public interface ImportStatement extends DocumentedDeclaredStatement<Unqualified
     }
 
     default @NonNull PrefixStatement getPrefix() {
-        return findFirstDeclaredSubstatement(PrefixStatement.class).get();
+        return findFirstDeclaredSubstatement(PrefixStatement.class).orElseThrow();
     }
 
     default @Nullable RevisionDateStatement getRevisionDate() {
index 14b507fbddbc38976cf14cc8ad45b77f179f4d12..1046be628da5ac538fc986dd9f58872c50d851da 100644 (file)
@@ -16,7 +16,7 @@ import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 @Beta
 public interface TypeAwareDeclaredStatement extends DeclaredStatement<QName> {
     default @NonNull TypeStatement getType() {
-        return findFirstDeclaredSubstatement(TypeStatement.class).get();
+        return findFirstDeclaredSubstatement(TypeStatement.class).orElseThrow();
     }
 
     default @NonNull Optional<UnitsStatement> getUnits() {
index 6eeb2adc47dd04e41d66676e13d5a772ad2f6aae..c272bfee1749901e4ab904babcc2570f5aeb9742 100644 (file)
@@ -55,7 +55,7 @@ final class YinXMLEventReader implements XMLEventReader {
 
         final StatementDefinition def = root.statementDefinition();
         final QName name = def.getStatementName();
-        final ArgumentDefinition arg = def.getArgumentDefinition().get();
+        final ArgumentDefinition arg = def.getArgumentDefinition().orElseThrow();
 
         events.add(eventFactory.createStartElement(XMLConstants.DEFAULT_NS_PREFIX, name.getNamespace().toString(),
             name.getLocalName(), singletonIterator(attribute(arg.argumentName(), root.rawArgument())),
index d5bb60f4d1a35c5e51bc6038e6c0c5a6ef77c20a..1328b58fc7ada22b78de2780fb9536079930bc63 100644 (file)
@@ -29,7 +29,7 @@ public class Bug6856Test {
         final var fooModule = schemaContext.findModule("foo", Revision.of("2017-02-28")).orElseThrow();
         YinExportUtils.writeModuleAsYinText(fooModule.asEffectiveStatement(), bufferedOutputStream);
 
-        final String output = byteArrayOutputStream.toString();
+        final var output = byteArrayOutputStream.toString();
         assertNotNull(output);
         assertFalse(output.isEmpty());
 
@@ -45,10 +45,10 @@ public class Bug6856Test {
         final var byteArrayOutputStream = new ByteArrayOutputStream();
         final var bufferedOutputStream = new BufferedOutputStream(byteArrayOutputStream);
 
-        final var barModule = schemaContext.findModule("bar", Revision.of("2017-02-28")).get();
+        final var barModule = schemaContext.findModule("bar", Revision.of("2017-02-28")).orElseThrow();
         YinExportUtils.writeModuleAsYinText(barModule.asEffectiveStatement(), bufferedOutputStream);
 
-        final String output = byteArrayOutputStream.toString();
+        final var output = byteArrayOutputStream.toString();
         assertNotNull(output);
         assertFalse(output.isEmpty());
 
index dea98907d0755fe9ee206abd61282d027dabe871..a35ea0b169d611828d9ffcbc7edd0e819a0bac43 100644 (file)
@@ -25,7 +25,6 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.TypedefEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.TypedefStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnitsEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.ri.type.DerivedTypeBuilder;
 import org.opendaylight.yangtools.yang.model.ri.type.DerivedTypes;
 import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements;
 import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.SchemaNodeMixin;
@@ -73,7 +72,7 @@ public final class TypedefEffectiveStatementImpl extends WithSubstatements<QName
 
     @Override
     public TypeDefinition<?> getTypeDefinition() {
-        final TypeDefinition<?> existing = (TypeDefinition<?>) TYPE_DEFINITION.getAcquire(this);
+        final var existing = (TypeDefinition<?>) TYPE_DEFINITION.getAcquire(this);
         return existing != null ? existing : loadTypeDefinition();
     }
 
@@ -84,36 +83,36 @@ public final class TypedefEffectiveStatementImpl extends WithSubstatements<QName
     }
 
     private @NonNull TypeDefinition<?> loadTypeDefinition() {
-        final TypeEffectiveStatement<?> type = findFirstEffectiveSubstatement(TypeEffectiveStatement.class).get();
-        final DerivedTypeBuilder<?> builder = DerivedTypes.derivedTypeBuilder(type.getTypeDefinition(), argument());
+        final var type = findFirstEffectiveSubstatement(TypeEffectiveStatement.class).orElseThrow();
+        final var builder = DerivedTypes.derivedTypeBuilder(type.getTypeDefinition(), argument());
 
         for (final EffectiveStatement<?, ?> stmt : effectiveSubstatements()) {
-            if (stmt instanceof DefaultEffectiveStatement) {
-                builder.setDefaultValue(((DefaultEffectiveStatement) stmt).argument());
-            } else if (stmt instanceof DescriptionEffectiveStatement) {
-                builder.setDescription(((DescriptionEffectiveStatement)stmt).argument());
-            } else if (stmt instanceof ReferenceEffectiveStatement) {
-                builder.setReference(((ReferenceEffectiveStatement)stmt).argument());
-            } else if (stmt instanceof StatusEffectiveStatement) {
-                builder.setStatus(((StatusEffectiveStatement)stmt).argument());
-            } else if (stmt instanceof UnitsEffectiveStatement) {
-                builder.setUnits(((UnitsEffectiveStatement)stmt).argument());
-            } else if (stmt instanceof UnknownSchemaNode) {
+            if (stmt instanceof DefaultEffectiveStatement dflt) {
+                builder.setDefaultValue(dflt.argument());
+            } else if (stmt instanceof DescriptionEffectiveStatement description) {
+                builder.setDescription(description.argument());
+            } else if (stmt instanceof ReferenceEffectiveStatement reference) {
+                builder.setReference(reference.argument());
+            } else if (stmt instanceof StatusEffectiveStatement status) {
+                builder.setStatus(status.argument());
+            } else if (stmt instanceof UnitsEffectiveStatement units) {
+                builder.setUnits(units.argument());
+            } else if (stmt instanceof UnknownSchemaNode unknown) {
                 // FIXME: should not directly implement, I think
-                builder.addUnknownSchemaNode((UnknownSchemaNode)stmt);
+                builder.addUnknownSchemaNode(unknown);
             } else if (!(stmt instanceof TypeEffectiveStatement)) {
                 LOG.debug("Ignoring statement {}", stmt);
             }
         }
 
-        final TypeDefinition<?> created = builder.build();
-        final Object witness = TYPE_DEFINITION.compareAndExchangeRelease(this, null, created);
+        final var created = builder.build();
+        final var witness = TYPE_DEFINITION.compareAndExchangeRelease(this, null, created);
         return witness == null ? created : (TypeDefinition<?>) witness;
     }
 
     private @NonNull ProxyTypeEffectiveStatement loadTypeStatement() {
-        final ProxyTypeEffectiveStatement created = new ProxyTypeEffectiveStatement();
-        final Object witness = TYPE_STATEMENT.compareAndExchangeRelease(this, null, created);
+        final var created = new ProxyTypeEffectiveStatement();
+        final var witness = TYPE_STATEMENT.compareAndExchangeRelease(this, null, created);
         return witness == null ? created : (ProxyTypeEffectiveStatement) witness;
     }
 
index e46d6d4e840bb79005db8346759a9589f51a6353..24196acb8d96dfa4c056af5ce3cb6091cd9f2021 100644 (file)
@@ -50,44 +50,44 @@ public final class ConcreteTypes {
     }
 
     public static ConcreteTypeBuilder<?> concreteTypeBuilder(final TypeDefinition<?> baseType, final QName qname) {
-        if (baseType instanceof BinaryTypeDefinition) {
-            return concreteBinaryBuilder((BinaryTypeDefinition) baseType, qname);
-        } else if (baseType instanceof BitsTypeDefinition) {
-            return concreteBitsBuilder((BitsTypeDefinition) baseType, qname);
-        } else if (baseType instanceof BooleanTypeDefinition) {
-            return concreteBooleanBuilder((BooleanTypeDefinition) baseType, qname);
-        } else if (baseType instanceof DecimalTypeDefinition) {
-            return concreteDecimalBuilder((DecimalTypeDefinition) baseType, qname);
-        } else if (baseType instanceof EmptyTypeDefinition) {
-            return concreteEmptyBuilder((EmptyTypeDefinition) baseType, qname);
-        } else if (baseType instanceof EnumTypeDefinition) {
-            return concreteEnumerationBuilder((EnumTypeDefinition) baseType, qname);
-        } else if (baseType instanceof IdentityrefTypeDefinition) {
-            return concreteIdentityrefBuilder((IdentityrefTypeDefinition) baseType, qname);
-        } else if (baseType instanceof InstanceIdentifierTypeDefinition) {
-            return concreteInstanceIdentifierBuilder((InstanceIdentifierTypeDefinition) baseType, qname);
-        } else if (baseType instanceof Int8TypeDefinition) {
-            return concreteInt8Builder((Int8TypeDefinition) baseType, qname);
-        } else if (baseType instanceof Int16TypeDefinition) {
-            return concreteInt16Builder((Int16TypeDefinition) baseType, qname);
-        } else if (baseType instanceof Int32TypeDefinition) {
-            return concreteInt32Builder((Int32TypeDefinition) baseType, qname);
-        } else if (baseType instanceof Int64TypeDefinition) {
-            return concreteInt64Builder((Int64TypeDefinition) baseType, qname);
-        } else if (baseType instanceof LeafrefTypeDefinition) {
-            return concreteLeafrefBuilder((LeafrefTypeDefinition) baseType, qname);
-        } else if (baseType instanceof StringTypeDefinition) {
-            return concreteStringBuilder((StringTypeDefinition) baseType, qname);
-        } else if (baseType instanceof UnionTypeDefinition) {
-            return concreteUnionBuilder((UnionTypeDefinition) baseType, qname);
-        } else if (baseType instanceof Uint8TypeDefinition) {
-            return concreteUint8Builder((Uint8TypeDefinition) baseType, qname);
-        } else if (baseType instanceof Uint16TypeDefinition) {
-            return concreteUint16Builder((Uint16TypeDefinition) baseType, qname);
-        } else if (baseType instanceof Uint32TypeDefinition) {
-            return concreteUint32Builder((Uint32TypeDefinition) baseType, qname);
-        } else if (baseType instanceof Uint64TypeDefinition) {
-            return concreteUint64Builder((Uint64TypeDefinition) baseType, qname);
+        if (baseType instanceof BinaryTypeDefinition binary) {
+            return concreteBinaryBuilder(binary, qname);
+        } else if (baseType instanceof BitsTypeDefinition bits) {
+            return concreteBitsBuilder(bits, qname);
+        } else if (baseType instanceof BooleanTypeDefinition bool) {
+            return concreteBooleanBuilder(bool, qname);
+        } else if (baseType instanceof DecimalTypeDefinition decimal) {
+            return concreteDecimalBuilder(decimal, qname);
+        } else if (baseType instanceof EmptyTypeDefinition empty) {
+            return concreteEmptyBuilder(empty, qname);
+        } else if (baseType instanceof EnumTypeDefinition enumType) {
+            return concreteEnumerationBuilder(enumType, qname);
+        } else if (baseType instanceof IdentityrefTypeDefinition identityRef) {
+            return concreteIdentityrefBuilder(identityRef, qname);
+        } else if (baseType instanceof InstanceIdentifierTypeDefinition instanceIdentifier) {
+            return concreteInstanceIdentifierBuilder(instanceIdentifier, qname);
+        } else if (baseType instanceof Int8TypeDefinition int8) {
+            return concreteInt8Builder(int8, qname);
+        } else if (baseType instanceof Int16TypeDefinition int16) {
+            return concreteInt16Builder(int16, qname);
+        } else if (baseType instanceof Int32TypeDefinition int32) {
+            return concreteInt32Builder(int32, qname);
+        } else if (baseType instanceof Int64TypeDefinition int64) {
+            return concreteInt64Builder(int64, qname);
+        } else if (baseType instanceof LeafrefTypeDefinition leafRef) {
+            return concreteLeafrefBuilder(leafRef, qname);
+        } else if (baseType instanceof StringTypeDefinition string) {
+            return concreteStringBuilder(string, qname);
+        } else if (baseType instanceof UnionTypeDefinition union) {
+            return concreteUnionBuilder(union, qname);
+        } else if (baseType instanceof Uint8TypeDefinition uint8) {
+            return concreteUint8Builder(uint8, qname);
+        } else if (baseType instanceof Uint16TypeDefinition uint16) {
+            return concreteUint16Builder(uint16, qname);
+        } else if (baseType instanceof Uint32TypeDefinition uint32) {
+            return concreteUint32Builder(uint32, qname);
+        } else if (baseType instanceof Uint64TypeDefinition uint64) {
+            return concreteUint64Builder(uint64, qname);
         } else {
             throw new IllegalArgumentException("Unhandled type definition class " + baseType.getClass());
         }
@@ -97,34 +97,34 @@ public final class ConcreteTypes {
         final var typeStmt = leaf.findFirstEffectiveSubstatement(TypeEffectiveStatement.class).orElseThrow();
         final var builder = concreteTypeBuilder(typeStmt.getTypeDefinition(), leaf.argument());
         for (var stmt : leaf.effectiveSubstatements()) {
-            if (stmt instanceof DefaultEffectiveStatement) {
-                builder.setDefaultValue(((DefaultEffectiveStatement)stmt).argument());
-            } else if (stmt instanceof DescriptionEffectiveStatement) {
-                builder.setDescription(((DescriptionEffectiveStatement)stmt).argument());
-            } else if (stmt instanceof ReferenceEffectiveStatement) {
-                builder.setReference(((ReferenceEffectiveStatement)stmt).argument());
-            } else if (stmt instanceof StatusEffectiveStatement) {
-                builder.setStatus(((StatusEffectiveStatement)stmt).argument());
-            } else if (stmt instanceof UnitsEffectiveStatement) {
-                builder.setUnits(((UnitsEffectiveStatement)stmt).argument());
+            if (stmt instanceof DefaultEffectiveStatement dflt) {
+                builder.setDefaultValue(dflt.argument());
+            } else if (stmt instanceof DescriptionEffectiveStatement description) {
+                builder.setDescription(description.argument());
+            } else if (stmt instanceof ReferenceEffectiveStatement reference) {
+                builder.setReference(reference.argument());
+            } else if (stmt instanceof StatusEffectiveStatement status) {
+                builder.setStatus(status.argument());
+            } else if (stmt instanceof UnitsEffectiveStatement units) {
+                builder.setUnits(units.argument());
             }
         }
         return builder.build();
     }
 
     public static TypeDefinition<?> typeOf(final LeafListEffectiveStatement leafList) {
-        final var typeStmt = leafList.findFirstEffectiveSubstatement(TypeEffectiveStatement.class).get();
+        final var typeStmt = leafList.findFirstEffectiveSubstatement(TypeEffectiveStatement.class).orElseThrow();
         final var builder = concreteTypeBuilder(typeStmt.getTypeDefinition(), leafList.argument());
         for (var stmt : leafList.effectiveSubstatements()) {
             // NOTE: 'default' is omitted here on purpose
-            if (stmt instanceof DescriptionEffectiveStatement) {
-                builder.setDescription(((DescriptionEffectiveStatement)stmt).argument());
-            } else if (stmt instanceof ReferenceEffectiveStatement) {
-                builder.setReference(((ReferenceEffectiveStatement)stmt).argument());
-            } else if (stmt instanceof StatusEffectiveStatement) {
-                builder.setStatus(((StatusEffectiveStatement)stmt).argument());
-            } else if (stmt instanceof UnitsEffectiveStatement) {
-                builder.setUnits(((UnitsEffectiveStatement)stmt).argument());
+            if (stmt instanceof DescriptionEffectiveStatement description) {
+                builder.setDescription(description.argument());
+            } else if (stmt instanceof ReferenceEffectiveStatement reference) {
+                builder.setReference(reference.argument());
+            } else if (stmt instanceof StatusEffectiveStatement status) {
+                builder.setStatus(status.argument());
+            } else if (stmt instanceof UnitsEffectiveStatement units) {
+                builder.setUnits(units.argument());
             }
         }
         return builder.build();
index fe34016e40b302dcf7da2cad3f09387fe8d9a9b2..bf103c94b727502dc99d4e5a08fcc32994a1dbd1 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.yangtools.yang.model.ri.type;
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
-import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.Status;
@@ -64,8 +63,8 @@ public abstract class DerivedTypeBuilder<T extends TypeDefinition<T>> extends Ty
     public final void setUnits(final String units) {
         requireNonNull(units);
 
-        final Optional<String> baseUnits = getBaseType().getUnits();
-        if (baseUnits.isPresent() && !units.equals(baseUnits.get())) {
+        final var baseUnits = getBaseType().getUnits();
+        if (baseUnits.isPresent() && !units.equals(baseUnits.orElseThrow())) {
             LOG.warn("Type {} uverrides 'units' of type {} to \"{}\"", getQName(), getBaseType(), units);
         }
 
index 3d7dfeaed9f3c98732ffb58a5762382cd9f98ffb..c721b40f4a9ac32c51ef5abc706b28e86acbd22f 100644 (file)
@@ -542,7 +542,7 @@ public final class EffectiveStatementMixins {
 
     static <T extends ContainerLike> T findAsContainer(final EffectiveStatement<?, ?> stmt,
             final Class<? extends EffectiveStatement<QName, ?>> type, final Class<T> target) {
-        return target.cast(stmt.findFirstEffectiveSubstatement(type).get());
+        return target.cast(stmt.findFirstEffectiveSubstatement(type).orElseThrow());
     }
 
     static Collection<? extends @NonNull TypeDefinition<?>> filterTypeDefinitions(final Mixin<?, ?> stmt) {
index 46309a6cc99c736d6f4b0c228b66f61067b7aa84..5e2c3e004bf40151fabb13edcc5fa631ad92f69a 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.model.util;
 
 import com.google.common.annotations.Beta;
 import com.google.common.collect.ImmutableBiMap;
-import com.google.common.collect.ImmutableBiMap.Builder;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import java.util.Optional;
 import org.opendaylight.yangtools.yang.common.BiMapYangNamespaceContext;
@@ -17,7 +16,6 @@ import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.YangNamespaceContext;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.spi.AbstractEffectiveModelContextProvider;
 
 /**
@@ -47,10 +45,10 @@ public final class ModuleNameNamespaceContext extends AbstractEffectiveModelCont
      * @return A BiMapYangNamespaceContext.
      */
     public BiMapYangNamespaceContext toBiMap() {
-        final Builder<String, QNameModule> builder = ImmutableBiMap.builder();
-        for (ModuleEffectiveStatement module : getEffectiveModelContext().getModuleStatements().values()) {
-            final String name = module.argument().getLocalName();
-            builder.put(name, findNamespaceForPrefix(name).get());
+        final var builder = ImmutableBiMap.<String, QNameModule>builder();
+        for (var module : getEffectiveModelContext().getModuleStatements().values()) {
+            final var name = module.argument().getLocalName();
+            builder.put(name, findNamespaceForPrefix(name).orElseThrow());
         }
         return new BiMapYangNamespaceContext(builder.build());
     }
index 757968f13301a72eeb7df2e7f678cfa6449942cc..ba714eef0d26c4fea6abffc866da0b0f0a4354cb 100644 (file)
@@ -26,7 +26,7 @@ import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
 import org.opendaylight.yangtools.yang.common.XMLNamespace;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
 import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
 import org.opendaylight.yangtools.yang.model.api.Module;
@@ -34,7 +34,6 @@ import org.opendaylight.yangtools.yang.model.api.ModuleImport;
 import org.opendaylight.yangtools.yang.model.api.ModuleLike;
 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.Submodule;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
@@ -56,9 +55,9 @@ class SchemaContextProxyTest {
     private static final String MODULE41_NAME = "module41";
     private static final String MODULE5_NAME = "module5";
 
-    private static SchemaContext mockSchema(final Module... modules) {
+    private static EffectiveModelContext mockSchema(final Module... modules) {
         Arrays.sort(modules, AbstractSchemaContext.NAME_REVISION_COMPARATOR);
-        SchemaContext mock = mock(SchemaContext.class);
+        var mock = mock(EffectiveModelContext.class);
         doReturn(ImmutableSet.copyOf(modules)).when(mock).getModules();
         return mock;
     }
@@ -71,17 +70,16 @@ class SchemaContextProxyTest {
      */
     @Test
     void testBasic() {
-        Module moduleConfig = mockModule(CONFIG_NAME);
-        Module module2 = mockModule(MODULE2_NAME);
-        Module module3 = mockModule(MODULE3_NAME);
+        var moduleConfig = mockModule(CONFIG_NAME);
+        var module2 = mockModule(MODULE2_NAME);
+        var module3 = mockModule(MODULE3_NAME);
 
         mockModuleImport(module2, moduleConfig);
         mockModuleImport(module3, module2, moduleConfig);
 
-        SchemaContext schemaContext = mockSchema(moduleConfig, module2, module3);
+        var schemaContext = mockSchema(moduleConfig, module2, module3);
 
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null,
-                moduleConfig);
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, moduleConfig);
         assertProxyContext(filteringSchemaContextProxy, moduleConfig, module2, module3);
     }
 
@@ -93,16 +91,16 @@ class SchemaContextProxyTest {
      */
     @Test
     void testNull() {
-        Module moduleConfig = mockModule(CONFIG_NAME);
-        Module module2 = mockModule(MODULE2_NAME);
-        Module module3 = mockModule(MODULE3_NAME);
+        var moduleConfig = mockModule(CONFIG_NAME);
+        var module2 = mockModule(MODULE2_NAME);
+        var module3 = mockModule(MODULE3_NAME);
 
         mockModuleImport(module2, moduleConfig);
         mockModuleImport(module3, module2, moduleConfig);
 
-        SchemaContext schemaContext = mockSchema(moduleConfig, module2, module3);
+        var schemaContext = mockSchema(moduleConfig, module2, module3);
 
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, null);
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, null);
         assertProxyContext(filteringSchemaContextProxy, null);
     }
 
@@ -114,19 +112,18 @@ class SchemaContextProxyTest {
      */
     @Test
     void testConfigDifferentRevisions() {
-        Module moduleConfigNullRevision = mockModule(CONFIG_NAME, null);
-        Module moduleConfig = mockModule(CONFIG_NAME, REVISION);
-        Module moduleConfig2 = mockModule(CONFIG_NAME, REVISION2);
-        Module module2 = mockModule(MODULE2_NAME);
-        Module module3 = mockModule(MODULE3_NAME);
+        var moduleConfigNullRevision = mockModule(CONFIG_NAME, null);
+        var moduleConfig = mockModule(CONFIG_NAME, REVISION);
+        var moduleConfig2 = mockModule(CONFIG_NAME, REVISION2);
+        var module2 = mockModule(MODULE2_NAME);
+        var module3 = mockModule(MODULE3_NAME);
 
         mockModuleImport(module2, moduleConfig);
         mockModuleImport(module3, module2, moduleConfigNullRevision);
 
-        SchemaContext schemaContext = mockSchema(moduleConfig, moduleConfig2, module2, module3);
+        var schemaContext = mockSchema(moduleConfig, moduleConfig2, module2, module3);
 
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null,
-                moduleConfig);
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, moduleConfig);
         assertProxyContext(filteringSchemaContextProxy, moduleConfig, moduleConfig2, module2, module3);
     }
 
@@ -138,22 +135,20 @@ class SchemaContextProxyTest {
      */
     @Test
     void testBasicNullRevision() throws Exception {
-        final Module moduleConfig = mockModule(CONFIG_NAME, Revision.of("2013-04-05"));
-        final Module module2 = mockModule(MODULE2_NAME, Revision.of("2014-06-17"));
-        final Module module20 = mockModule(MODULE2_NAME, null);
-        final Module module3 = mockModule(MODULE3_NAME, Revision.of("2014-06-12"));
-        final Module module30 = mockModule(MODULE3_NAME, null);
+        final var moduleConfig = mockModule(CONFIG_NAME, Revision.of("2013-04-05"));
+        final var module2 = mockModule(MODULE2_NAME, Revision.of("2014-06-17"));
+        final var module20 = mockModule(MODULE2_NAME, null);
+        final var module3 = mockModule(MODULE3_NAME, Revision.of("2014-06-12"));
+        final var module30 = mockModule(MODULE3_NAME, null);
 
         mockModuleImport(module20, moduleConfig);
         mockModuleImport(module2, moduleConfig);
         mockModuleImport(module3, module20, moduleConfig);
         mockModuleImport(module30, module20, moduleConfig);
 
-        SchemaContext schemaContext = mockSchema(moduleConfig, module2, module3);
-
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null,
-                moduleConfig);
+        var schemaContext = mockSchema(moduleConfig, module2, module3);
 
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, moduleConfig);
         assertProxyContext(filteringSchemaContextProxy, moduleConfig, module2, module3);
     }
 
@@ -165,18 +160,17 @@ class SchemaContextProxyTest {
      */
     @Test
     void testBasicMoreRootModules() {
-        final Module moduleConfig = mockModule(CONFIG_NAME);
-        final Module moduleRoot = mockModule(ROOT_NAME);
-        final Module module2 = mockModule(MODULE2_NAME);
-        final Module module3 = mockModule(MODULE3_NAME);
+        final var moduleConfig = mockModule(CONFIG_NAME);
+        final var moduleRoot = mockModule(ROOT_NAME);
+        final var module2 = mockModule(MODULE2_NAME);
+        final var module3 = mockModule(MODULE3_NAME);
 
         mockModuleImport(module2, moduleConfig);
         mockModuleImport(module3, moduleRoot);
 
-        SchemaContext schemaContext = mockSchema(moduleConfig, moduleRoot, module2, module3);
+        var schemaContext = mockSchema(moduleConfig, moduleRoot, module2, module3);
 
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, moduleRoot,
-                moduleConfig);
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, moduleRoot, moduleConfig);
         assertProxyContext(filteringSchemaContextProxy, moduleRoot, module3, moduleConfig, module2);
     }
 
@@ -188,17 +182,16 @@ class SchemaContextProxyTest {
      */
     @Test
     void testChainNotDepend() {
-        Module moduleConfig = mockModule(CONFIG_NAME);
-        Module module2 = mockModule(MODULE2_NAME);
-        Module module3 = mockModule(MODULE3_NAME);
+        var moduleConfig = mockModule(CONFIG_NAME);
+        var module2 = mockModule(MODULE2_NAME);
+        var module3 = mockModule(MODULE3_NAME);
 
         mockModuleImport(module2, moduleConfig);
         mockModuleImport(module3, module2);
 
-        SchemaContext schemaContext = mockSchema(moduleConfig, module2, module3);
+        var schemaContext = mockSchema(moduleConfig, module2, module3);
 
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null,
-                moduleConfig);
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, moduleConfig);
         assertProxyContext(filteringSchemaContextProxy, moduleConfig, module2);
     }
 
@@ -210,20 +203,19 @@ class SchemaContextProxyTest {
      */
     @Test
     void testChainDependMulti() {
-        Module moduleConfig = mockModule(CONFIG_NAME);
-        Module module2 = mockModule(MODULE2_NAME);
-        Module module3 = mockModule(MODULE3_NAME);
-        Module module4 = mockModule(MODULE4_NAME);
-        Module module5 = mockModule(MODULE5_NAME);
+        var moduleConfig = mockModule(CONFIG_NAME);
+        var module2 = mockModule(MODULE2_NAME);
+        var module3 = mockModule(MODULE3_NAME);
+        var module4 = mockModule(MODULE4_NAME);
+        var module5 = mockModule(MODULE5_NAME);
 
         mockModuleImport(module2, moduleConfig, module3);
         mockModuleImport(module3, module4);
         mockModuleImport(module4, module5);
 
-        SchemaContext schemaContext = mockSchema(moduleConfig, module2, module3, module4, module5);
+        var schemaContext = mockSchema(moduleConfig, module2, module3, module4, module5);
 
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null,
-                moduleConfig);
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, moduleConfig);
         assertProxyContext(filteringSchemaContextProxy, moduleConfig, module2, module3, module4, module5);
     }
 
@@ -235,18 +227,17 @@ class SchemaContextProxyTest {
      */
     @Test
     void testChainNotDependMulti() {
-        Module moduleConfig = mockModule(CONFIG_NAME);
-        Module module2 = mockModule(MODULE2_NAME);
-        Module module3 = mockModule(MODULE3_NAME);
-        Module module4 = mockModule(MODULE4_NAME);
+        var moduleConfig = mockModule(CONFIG_NAME);
+        var module2 = mockModule(MODULE2_NAME);
+        var module3 = mockModule(MODULE3_NAME);
+        var module4 = mockModule(MODULE4_NAME);
 
         mockModuleImport(module2, moduleConfig, module3);
         mockModuleImport(module4, module3);
 
-        SchemaContext schemaContext = mockSchema(moduleConfig, module2, module3, module4);
+        var schemaContext = mockSchema(moduleConfig, module2, module3, module4);
 
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null,
-                moduleConfig);
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, moduleConfig);
         assertProxyContext(filteringSchemaContextProxy, moduleConfig, module2, module3);
     }
 
@@ -258,21 +249,20 @@ class SchemaContextProxyTest {
      */
     @Test
     void testChainNotMulti() {
-        final Module moduleConfig = mockModule(CONFIG_NAME);
-        final Module module2 = mockModule(MODULE2_NAME);
-        final Module module3 = mockModule(MODULE3_NAME);
-        final Module module4 = mockModule(MODULE4_NAME);
-        final Module module5 = mockModule(MODULE5_NAME);
+        final var moduleConfig = mockModule(CONFIG_NAME);
+        final var module2 = mockModule(MODULE2_NAME);
+        final var module3 = mockModule(MODULE3_NAME);
+        final var module4 = mockModule(MODULE4_NAME);
+        final var module5 = mockModule(MODULE5_NAME);
 
         mockModuleImport(module2, moduleConfig);
         mockModuleImport(module3, moduleConfig);
         mockModuleImport(module4, moduleConfig);
         mockModuleImport(module5, moduleConfig);
 
-        SchemaContext schemaContext = mockSchema(moduleConfig, module2, module3, module4, module5);
+        var schemaContext = mockSchema(moduleConfig, module2, module3, module4, module5);
 
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null,
-                moduleConfig);
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, moduleConfig);
         assertProxyContext(filteringSchemaContextProxy, moduleConfig, module2, module3, module4, module5);
     }
 
@@ -284,18 +274,17 @@ class SchemaContextProxyTest {
      */
     @Test
     void testBasicRevisionChange() throws Exception {
-        Module moduleConfig = mockModule(CONFIG_NAME);
-        Module module2 = mockModule(MODULE2_NAME);
-        Module module3 = mockModule(MODULE3_NAME);
-        Module module4 = mockModule(MODULE3_NAME, Revision.of("2015-10-10"));
+        var moduleConfig = mockModule(CONFIG_NAME);
+        var module2 = mockModule(MODULE2_NAME);
+        var module3 = mockModule(MODULE3_NAME);
+        var module4 = mockModule(MODULE3_NAME, Revision.of("2015-10-10"));
 
         mockModuleImport(module2, moduleConfig);
         mockModuleImport(module3, module2, moduleConfig);
 
-        SchemaContext schemaContext = mockSchema(moduleConfig, module2, module3, module4);
+        var schemaContext = mockSchema(moduleConfig, module2, module3, module4);
 
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null,
-                moduleConfig);
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, moduleConfig);
         assertProxyContext(filteringSchemaContextProxy, moduleConfig, module2, module3);
     }
 
@@ -306,19 +295,17 @@ class SchemaContextProxyTest {
      */
     @Test
     void testImportNoRevision() {
-        Module moduleConfig = mockModule(CONFIG_NAME, REVISION);
-        Module module2 = mockModule(MODULE2_NAME, REVISION);
+        var moduleConfig = mockModule(CONFIG_NAME, REVISION);
+        var module2 = mockModule(MODULE2_NAME, REVISION);
 
-        Module module3 = mockModule(MODULE3_NAME, null);
-        Module module30 = mockModule(MODULE3_NAME, REVISION);
-        Module module31 = mockModule(MODULE3_NAME, REVISION2);
+        var module3 = mockModule(MODULE3_NAME, null);
+        var module30 = mockModule(MODULE3_NAME, REVISION);
+        var module31 = mockModule(MODULE3_NAME, REVISION2);
         mockModuleImport(module2, moduleConfig, module3);
 
-        SchemaContext schemaContext = mockSchema(moduleConfig, module2, module30, module31);
-
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null,
-                moduleConfig);
+        var schemaContext = mockSchema(moduleConfig, module2, module30, module31);
 
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, moduleConfig);
         assertProxyContext(filteringSchemaContextProxy, moduleConfig, module2, module31);
     }
 
@@ -332,20 +319,19 @@ class SchemaContextProxyTest {
      */
     @Test
     void testBasicSubmodule() {
-        Module moduleConfig = mockModule(CONFIG_NAME);
-        Module module2 = mockModule(MODULE2_NAME);
-        Module module3 = mockModule(MODULE3_NAME);
-        Module module4 = mockModule(MODULE4_NAME);
-        Submodule module41 = mockSubmodule(MODULE41_NAME);
+        var moduleConfig = mockModule(CONFIG_NAME);
+        var module2 = mockModule(MODULE2_NAME);
+        var module3 = mockModule(MODULE3_NAME);
+        var module4 = mockModule(MODULE4_NAME);
+        var module41 = mockSubmodule(MODULE41_NAME);
 
         mockSubmodules(module4, module41);
         mockModuleImport(module2, moduleConfig, module3);
         mockModuleImport(module41, moduleConfig);
 
-        SchemaContext schemaContext = mockSchema(moduleConfig, module2, module3, module4);
+        var schemaContext = mockSchema(moduleConfig, module2, module3, module4);
 
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null,
-                moduleConfig);
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, null, moduleConfig);
         assertProxyContext(filteringSchemaContextProxy, moduleConfig, module2, module3, module4);
     }
 
@@ -354,19 +340,18 @@ class SchemaContextProxyTest {
      */
     @Test
     void testChainAdditionalModules() {
-        Module module2 = mockModule(MODULE2_NAME);
-        Module module3 = mockModule(MODULE3_NAME);
-        Module module4 = mockModule(MODULE4_NAME);
-        Module module5 = mockModule(MODULE5_NAME);
+        var module2 = mockModule(MODULE2_NAME);
+        var module3 = mockModule(MODULE3_NAME);
+        var module4 = mockModule(MODULE4_NAME);
+        var module5 = mockModule(MODULE5_NAME);
 
         mockModuleImport(module2, module3);
         mockModuleImport(module3, module4);
         mockModuleImport(module4, module5);
 
-        SchemaContext schemaContext = mockSchema(module2, module3, module4, module5);
+        var schemaContext = mockSchema(module2, module3, module4, module5);
 
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(module2),
-                null);
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(module2), null);
         assertProxyContext(filteringSchemaContextProxy, module2, module3, module4, module5);
     }
 
@@ -381,31 +366,29 @@ class SchemaContextProxyTest {
      */
     @Test
     void testChainAdditionalModulesConfig() {
-        Module moduleConfig = mockModule(CONFIG_NAME);
-        Module module2 = mockModule(MODULE2_NAME);
+        var moduleConfig = mockModule(CONFIG_NAME);
+        var module2 = mockModule(MODULE2_NAME);
 
-        Module module3 = mockModule(MODULE3_NAME);
-        Module module4 = mockModule(MODULE4_NAME);
-        Module module5 = mockModule(MODULE5_NAME);
+        var module3 = mockModule(MODULE3_NAME);
+        var module4 = mockModule(MODULE4_NAME);
+        var module5 = mockModule(MODULE5_NAME);
 
         mockModuleImport(module2, moduleConfig);
         mockModuleImport(module3, module4);
 
-        SchemaContext schemaContext = mockSchema(moduleConfig, module2, module3, module4, module5);
+        var schemaContext = mockSchema(moduleConfig, module2, module3, module4, module5);
 
-        FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(module3),
-                moduleConfig);
+        var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(module3), moduleConfig);
         assertProxyContext(filteringSchemaContextProxy, moduleConfig, module2, module3, module4);
     }
 
     @Test
     void testGetDataDefinitions() {
-        final Module moduleConfig = mockModule(CONFIG_NAME);
-        final SchemaContext schemaContext = mockSchema(moduleConfig);
-        final FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(),
-                moduleConfig);
+        final var moduleConfig = mockModule(CONFIG_NAME);
+        final var schemaContext = mockSchema(moduleConfig);
+        final var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(), moduleConfig);
 
-        final ContainerSchemaNode mockedContainer = mock(ContainerSchemaNode.class);
+        final var mockedContainer = mock(ContainerSchemaNode.class);
         doReturn(Set.of(mockedContainer)).when(moduleConfig).getChildNodes();
 
         final var dataDefinitions = filteringSchemaContextProxy.getDataDefinitions();
@@ -414,12 +397,11 @@ class SchemaContextProxyTest {
 
     @Test
     void testGetNotifications() {
-        final Module moduleConfig = mockModule(CONFIG_NAME);
-        final SchemaContext schemaContext = mockSchema(moduleConfig);
-        final FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(),
-                moduleConfig);
+        final var moduleConfig = mockModule(CONFIG_NAME);
+        final var schemaContext = mockSchema(moduleConfig);
+        final var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(), moduleConfig);
 
-        final NotificationDefinition mockedNotification = mock(NotificationDefinition.class);
+        final var mockedNotification = mock(NotificationDefinition.class);
         doReturn(Set.of(mockedNotification)).when(moduleConfig).getNotifications();
 
         final var schemaContextProxyNotifications = filteringSchemaContextProxy.getNotifications();
@@ -428,12 +410,11 @@ class SchemaContextProxyTest {
 
     @Test
     void testGetOperations() {
-        final Module moduleConfig = mockModule(CONFIG_NAME);
-        final SchemaContext schemaContext = mockSchema(moduleConfig);
-        final FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(),
-                moduleConfig);
+        final var moduleConfig = mockModule(CONFIG_NAME);
+        final var schemaContext = mockSchema(moduleConfig);
+        final var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(), moduleConfig);
 
-        final RpcDefinition mockedRpc = mock(RpcDefinition.class);
+        final var mockedRpc = mock(RpcDefinition.class);
         doReturn(Set.of(mockedRpc)).when(moduleConfig).getRpcs();
 
         final var operations = filteringSchemaContextProxy.getOperations();
@@ -442,12 +423,11 @@ class SchemaContextProxyTest {
 
     @Test
     void testGetExtensions() {
-        final Module moduleConfig = mockModule(CONFIG_NAME);
-        final SchemaContext schemaContext = mockSchema(moduleConfig);
-        final FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(),
-                moduleConfig);
+        final var moduleConfig = mockModule(CONFIG_NAME);
+        final var schemaContext = mockSchema(moduleConfig);
+        final var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(), moduleConfig);
 
-        final ExtensionDefinition mockedExtension = mock(ExtensionDefinition.class);
+        final var mockedExtension = mock(ExtensionDefinition.class);
         doReturn(List.of(mockedExtension)).when(moduleConfig).getExtensionSchemaNodes();
 
         final var schemaContextProxyExtensions = filteringSchemaContextProxy.getExtensions();
@@ -456,12 +436,11 @@ class SchemaContextProxyTest {
 
     @Test
     void testGetUnknownSchemaNodes() {
-        final Module moduleConfig = mockModule(CONFIG_NAME);
-        final SchemaContext schemaContext = mockSchema(moduleConfig);
-        final FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(),
-                moduleConfig);
+        final var moduleConfig = mockModule(CONFIG_NAME);
+        final var schemaContext = mockSchema(moduleConfig);
+        final var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(), moduleConfig);
 
-        final UnknownSchemaNode mockedUnknownSchemaNode = mock(UnknownSchemaNode.class);
+        final var mockedUnknownSchemaNode = mock(UnknownSchemaNode.class);
         doReturn(List.of(mockedUnknownSchemaNode)).when(moduleConfig).getUnknownSchemaNodes();
 
         final var schemaContextProxyUnknownSchemaNodes = filteringSchemaContextProxy.getUnknownSchemaNodes();
@@ -470,12 +449,11 @@ class SchemaContextProxyTest {
 
     @Test
     void testGetTypeDefinitions() {
-        final Module moduleConfig = mockModule(CONFIG_NAME);
-        final SchemaContext schemaContext = mockSchema(moduleConfig);
-        final FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(),
-                moduleConfig);
+        final var moduleConfig = mockModule(CONFIG_NAME);
+        final var schemaContext = mockSchema(moduleConfig);
+        final var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(), moduleConfig);
 
-        final TypeDefinition<?> mockedTypeDefinition = mock(TypeDefinition.class);
+        final var mockedTypeDefinition = mock(TypeDefinition.class);
         doReturn(Set.of(mockedTypeDefinition)).when(moduleConfig).getTypeDefinitions();
 
         final var schemaContextProxyTypeDefinitions = filteringSchemaContextProxy.getTypeDefinitions();
@@ -484,12 +462,11 @@ class SchemaContextProxyTest {
 
     @Test
     void testGetChildNodes() {
-        final Module moduleConfig = mockModule(CONFIG_NAME);
-        final SchemaContext schemaContext = mockSchema(moduleConfig);
-        final FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(),
-                moduleConfig);
+        final var moduleConfig = mockModule(CONFIG_NAME);
+        final var schemaContext = mockSchema(moduleConfig);
+        final var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(), moduleConfig);
 
-        final ContainerSchemaNode mockedContainer = mock(ContainerSchemaNode.class);
+        final var mockedContainer = mock(ContainerSchemaNode.class);
         doReturn(Set.of(mockedContainer)).when(moduleConfig).getChildNodes();
 
         final var schemaContextProxyChildNodes = filteringSchemaContextProxy.getChildNodes();
@@ -498,12 +475,11 @@ class SchemaContextProxyTest {
 
     @Test
     void testGetGroupings() {
-        final Module moduleConfig = mockModule(CONFIG_NAME);
-        final SchemaContext schemaContext = mockSchema(moduleConfig);
-        final FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(),
-                moduleConfig);
+        final var moduleConfig = mockModule(CONFIG_NAME);
+        final var schemaContext = mockSchema(moduleConfig);
+        final var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(), moduleConfig);
 
-        final GroupingDefinition mockedGrouping = mock(GroupingDefinition.class);
+        final var mockedGrouping = mock(GroupingDefinition.class);
         doReturn(Set.of(mockedGrouping)).when(moduleConfig).getGroupings();
 
         final var schemaContextProxyGroupings = filteringSchemaContextProxy.getGroupings();
@@ -512,30 +488,29 @@ class SchemaContextProxyTest {
 
     @Test
     void testGetDataChildByName() {
-        final Module moduleConfig = mockModule(CONFIG_NAME);
-        final SchemaContext schemaContext = mockSchema(moduleConfig);
-        final FilteringSchemaContextProxy filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(),
-                moduleConfig);
+        final var moduleConfig = mockModule(CONFIG_NAME);
+        final var schemaContext = mockSchema(moduleConfig);
+        final var filteringSchemaContextProxy = createProxySchemaCtx(schemaContext, Set.of(), moduleConfig);
 
-        final QName qname = QName.create("config-namespace", "2016-08-11", "cont");
-        final ContainerSchemaNode mockedContainer = mock(ContainerSchemaNode.class);
+        final var qname = QName.create("config-namespace", "2016-08-11", "cont");
+        final var mockedContainer = mock(ContainerSchemaNode.class);
         doReturn(mockedContainer).when(moduleConfig).dataChildByName(any(QName.class));
 
-        final DataSchemaNode dataSchemaNode = filteringSchemaContextProxy.getDataChildByName(qname);
+        final var dataSchemaNode = filteringSchemaContextProxy.getDataChildByName(qname);
         assertTrue(dataSchemaNode instanceof ContainerSchemaNode);
     }
 
     private static void assertProxyContext(final FilteringSchemaContextProxy filteringSchemaContextProxy,
             final Module... expected) {
 
-        final Set<Module> modSet = expected != null ? ImmutableSet.copyOf(expected) : Set.of();
-        Set<Module> modSetFiltering = filteringSchemaContextProxy.getModules();
+        final var modSet = expected != null ? ImmutableSet.copyOf(expected) : Set.of();
+        var modSetFiltering = filteringSchemaContextProxy.getModules();
 
         assertEquals(modSet, modSetFiltering);
 
         //asserting collections
         if (expected != null) {
-            for (final Module module : expected) {
+            for (var module : expected) {
                 assertEquals(Optional.of(module),
                     filteringSchemaContextProxy.findModule(module.getName(), module.getRevision()));
 
@@ -547,7 +522,7 @@ class SchemaContextProxyTest {
         }
     }
 
-    private static FilteringSchemaContextProxy createProxySchemaCtx(final SchemaContext schemaContext,
+    private static FilteringSchemaContextProxy createProxySchemaCtx(final EffectiveModelContext schemaContext,
             final Set<Module> additionalModules, final Module... modules) {
         final var modulesSet = modules != null ? ImmutableSet.copyOf(modules) : Set.<Module>of();
         return new FilteringSchemaContextProxy(schemaContext, createModuleIds(modulesSet),
@@ -571,7 +546,7 @@ class SchemaContextProxyTest {
 
     private static void mockModuleImport(final ModuleLike importer, final Module... imports) {
         final var mockedImports = new HashSet<ModuleImport>();
-        for (final var module : imports) {
+        for (var module : imports) {
             mockedImports.add(new ModuleImport() {
                 @Override
                 public Unqualified getModuleName() {
@@ -639,7 +614,7 @@ class SchemaContextProxyTest {
     private static void mockModuleLike(final ModuleLike mockedModule, final String name) {
         doReturn(name).when(mockedModule).getName();
         doReturn(Optional.of(REVISION)).when(mockedModule).getRevision();
-        final XMLNamespace newNamespace = XMLNamespace.of(NAMESPACE + ":" + name);
+        final var newNamespace = XMLNamespace.of(NAMESPACE + ":" + name);
         doReturn(newNamespace).when(mockedModule).getNamespace();
         doReturn(QNameModule.create(newNamespace, REVISION)).when(mockedModule).getQNameModule();
         doReturn(Set.of()).when(mockedModule).getSubmodules();
index bfc024c9a775fcd7d1bf0b3a1e1ccb896a28fd54..76284ebbae245855400268bbc2a6fbd6a63b7c39 100644 (file)
@@ -9,6 +9,7 @@
 package org.opendaylight.yangtools.yang.model.util;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertSame;
 import static org.junit.jupiter.api.Assertions.assertThrows;
@@ -27,7 +28,6 @@ import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.PathExpression;
 import org.opendaylight.yangtools.yang.model.api.PathExpression.LocationPathSteps;
-import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 import org.opendaylight.yangtools.yang.xpath.api.YangLocationPath;
 import org.opendaylight.yangtools.yang.xpath.api.YangXPathAxis;
@@ -44,16 +44,16 @@ class SchemaInferenceStackTest {
 
     @Test
     void findDataSchemaNodeTest() {
-        final Module importedModule = context.findModule(XMLNamespace.of("uri:imported-module"),
+        final var importedModule = context.findModule(XMLNamespace.of("uri:imported-module"),
                 Revision.of("2014-10-07")).orElseThrow();
 
         final QName myImportedContainer = QName.create(importedModule.getQNameModule(), "my-imported-container");
         final QName myImportedLeaf = QName.create(importedModule.getQNameModule(), "my-imported-leaf");
 
-        final SchemaNode testNode = ((ContainerSchemaNode) importedModule.getDataChildByName(myImportedContainer))
-                .getDataChildByName(myImportedLeaf);
+        final var testNode = assertInstanceOf(ContainerSchemaNode.class,
+            importedModule.getDataChildByName(myImportedContainer)).getDataChildByName(myImportedLeaf);
 
-        final PathExpression expr = mock(PathExpression.class);
+        final var expr = mock(PathExpression.class);
         doReturn(true).when(expr).isAbsolute();
         doReturn(new LocationPathSteps(YangLocationPath.absolute(
                 YangXPathAxis.CHILD.asStep(myImportedContainer), YangXPathAxis.CHILD.asStep(myImportedLeaf))))
@@ -65,20 +65,20 @@ class SchemaInferenceStackTest {
     @Test
     void findDataSchemaNodeTest2() {
         final QName myLeafInGrouping2 = QName.create(myModule.getQNameModule(), "my-leaf-in-gouping2");
-        final PathExpression expr = mock(PathExpression.class);
+        final var expr = mock(PathExpression.class);
         doReturn(true).when(expr).isAbsolute();
         doReturn(new LocationPathSteps(YangLocationPath.relative(YangXPathAxis.CHILD.asStep(myLeafInGrouping2))))
                 .when(expr).getSteps();
 
-        final GroupingDefinition grouping = getGroupingByName(myModule, "my-grouping");
-        final SchemaInferenceStack stack = SchemaInferenceStack.of(context);
+        final var grouping = getGroupingByName(myModule, "my-grouping");
+        final var stack = SchemaInferenceStack.of(context);
         assertSame(grouping, stack.enterGrouping(grouping.getQName()));
         assertEquals(grouping.getDataChildByName(myLeafInGrouping2), stack.resolvePathExpression(expr));
     }
 
     @Test
     void enterGroupingNegativeTest() {
-        final SchemaInferenceStack stack = SchemaInferenceStack.of(context);
+        final var stack = SchemaInferenceStack.of(context);
         assertNotExistentGrouping(stack, "module (uri:my-module?revision=2014-10-07)my-module");
         stack.enterDataTree(QName.create(myModule.getQNameModule(), "my-container"));
         assertNotExistentGrouping(stack, "schema parent (uri:my-module?revision=2014-10-07)my-container");
@@ -86,14 +86,14 @@ class SchemaInferenceStackTest {
 
     @Test
     void enterNestedTypedefTest() {
-        final SchemaInferenceStack stack = SchemaInferenceStack.of(context);
+        final var stack = SchemaInferenceStack.of(context);
         stack.enterDataTree(QName.create(myModule.getQNameModule(), "my-container"));
         assertNotNull(stack.enterTypedef(QName.create(myModule.getQNameModule(), "my-typedef-in-container")));
     }
 
     @Test
     void enterTypedefNegativeTest() {
-        final SchemaInferenceStack stack = SchemaInferenceStack.of(context);
+        final var stack = SchemaInferenceStack.of(context);
         assertNotExistentTypedef(stack, "module (uri:my-module?revision=2014-10-07)my-module");
         stack.enterDataTree(QName.create(myModule.getQNameModule(), "my-container"));
         assertNotExistentTypedef(stack, "schema parent (uri:my-module?revision=2014-10-07)my-container");
@@ -112,7 +112,7 @@ class SchemaInferenceStackTest {
     }
 
     private static GroupingDefinition getGroupingByName(final DataNodeContainer dataNodeContainer, final String name) {
-        for (final GroupingDefinition grouping : dataNodeContainer.getGroupings()) {
+        for (var grouping : dataNodeContainer.getGroupings()) {
             if (grouping.getQName().getLocalName().equals(name)) {
                 return grouping;
             }
index 0479a98ba2ebdf5d99abf7d520b2a8fd832ba3bb..eba84fa2f68d0556e85e00aae87044cb3d38f8fa 100644 (file)
@@ -13,10 +13,6 @@ import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Optional;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -24,17 +20,12 @@ import org.opendaylight.yangtools.rfc6241.model.api.GetFilterElementAttributesSc
 import org.opendaylight.yangtools.rfc6241.model.api.NetconfConstants;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 import org.opendaylight.yangtools.yang.parser.api.YangParserConfiguration;
-import org.opendaylight.yangtools.yang.parser.api.YangSyntaxErrorException;
 import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.RFC7950Reactors;
 import org.opendaylight.yangtools.yang.parser.rfc7950.repo.YangStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
-import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
 
 public class NetconfTest {
@@ -56,18 +47,18 @@ public class NetconfTest {
     }
 
     @Test
-    public void testResolution() throws ReactorException, IOException, YangSyntaxErrorException {
-        final SchemaContext context = reactor.newBuild()
+    public void testResolution() throws Exception {
+        final var context = reactor.newBuild()
                 .addLibSources(YangStatementStreamSource.create(
                     YangTextSchemaSource.forResource("/ietf-inet-types@2013-07-15.yang")))
                 .addSource(YangStatementStreamSource.create(
                     YangTextSchemaSource.forResource("/ietf-netconf@2011-06-01.yang")))
                 .buildEffective();
 
-        final Module module = context.findModule(NetconfConstants.RFC6241_MODULE).get();
-        final Collection<? extends RpcDefinition> rpcs = module.getRpcs();
+        final var module = context.findModule(NetconfConstants.RFC6241_MODULE).orElseThrow();
+        final var rpcs = module.getRpcs();
         assertEquals(13, rpcs.size());
-        final Iterator<? extends RpcDefinition> it = module.getRpcs().iterator();
+        final var it = module.getRpcs().iterator();
         // get-config
         assertExtension(true, it.next());
         assertExtension(false, it.next());
@@ -81,7 +72,7 @@ public class NetconfTest {
     }
 
     private static void assertExtension(final boolean expected, final RpcDefinition def) {
-        final Optional<DataSchemaNode> optFilter = def.getInput().findDataTreeChild(FILTER);
+        final var optFilter = def.getInput().findDataTreeChild(FILTER);
         assertEquals(expected, optFilter.isPresent());
         optFilter.ifPresent(filter -> {
             assertThat(filter, is(instanceOf(AnyxmlSchemaNode.class)));
index 61e95ecb983418cb2cee1ce85581e9ca7ff98862..9ff471daab4bb5199decdd74931cab6c5bdeaf04 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.yangtools.rfc6536.parser;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import java.io.IOException;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -18,25 +17,19 @@ import org.opendaylight.yangtools.rfc6536.model.api.DefaultDenyAllSchemaNode;
 import org.opendaylight.yangtools.rfc6536.model.api.DefaultDenyWriteSchemaNode;
 import org.opendaylight.yangtools.rfc6536.model.api.NACMConstants;
 import org.opendaylight.yangtools.yang.common.QName;
-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.model.repo.api.YangTextSchemaSource;
 import org.opendaylight.yangtools.yang.parser.api.YangParserConfiguration;
-import org.opendaylight.yangtools.yang.parser.api.YangSyntaxErrorException;
 import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.RFC7950Reactors;
 import org.opendaylight.yangtools.yang.parser.rfc7950.repo.YangStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
-import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
-import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor.BuildAction;
 
 public class NACMTest {
-    private static CrossSourceStatementReactor reactor;
+    private static CrossSourceStatementReactor REACTOR;
 
     @BeforeClass
     public static void createReactor() {
-        reactor = RFC7950Reactors.defaultReactorBuilder()
+        REACTOR = RFC7950Reactors.defaultReactorBuilder()
                 .addStatementSupport(ModelProcessingPhase.FULL_DECLARATION,
                     new DefaultDenyAllStatementSupport(YangParserConfiguration.DEFAULT))
                 .addStatementSupport(ModelProcessingPhase.FULL_DECLARATION,
@@ -46,21 +39,19 @@ public class NACMTest {
 
     @AfterClass
     public static void freeReactor() {
-        reactor = null;
+        REACTOR = null;
     }
 
     @Test
-    public void testResolution() throws ReactorException, IOException, YangSyntaxErrorException {
-        final BuildAction build = reactor.newBuild();
-        build.addSource(YangStatementStreamSource.create(
-            YangTextSchemaSource.forResource("/ietf-netconf-acm@2012-02-22.yang")));
-        build.addSource(YangStatementStreamSource.create(
-            YangTextSchemaSource.forResource("/ietf-yang-types@2013-07-15.yang")));
-        final SchemaContext context = build.buildEffective();
+    public void testResolution() throws Exception {
+        final var context = REACTOR.newBuild()
+            .addSources(
+                YangStatementStreamSource.create(YangTextSchemaSource.forResource("/ietf-netconf-acm@2012-02-22.yang")),
+                YangStatementStreamSource.create(YangTextSchemaSource.forResource("/ietf-yang-types@2013-07-15.yang")))
+            .buildEffective();
 
-        final Module module = context.findModule(NACMConstants.RFC6536_MODULE).get();
-        final DataSchemaNode nacm = module.findDataChildByName(QName.create(NACMConstants.RFC6536_MODULE, "nacm"))
-                .get();
+        final var module = context.findModule(NACMConstants.RFC6536_MODULE).orElseThrow();
+        final var nacm = module.getDataChildByName(QName.create(NACMConstants.RFC6536_MODULE, "nacm"));
         assertTrue(DefaultDenyAllSchemaNode.findIn(nacm).isPresent());
         assertFalse(DefaultDenyWriteSchemaNode.findIn(nacm).isPresent());
     }
index 46ef7d825d8ac85f43531a65a9021e51c744727a..0c2d437494e6c805d793e87ac914702f92d7df1b 100644 (file)
@@ -17,13 +17,12 @@ import org.opendaylight.yangtools.rfc6643.model.api.IetfYangSmiv2ExtensionsMappi
 public class IetfYangSmiv2ExtensionsMappingTest {
     @Test
     public void testGetEffectiveRepresentationClass() {
-        IetfYangSmiv2ExtensionsMapping extensionMapping = IetfYangSmiv2ExtensionsMapping.ALIAS;
-        assertEquals(extensionMapping.getEffectiveRepresentationClass(), AliasEffectiveStatement.class);
+        assertEquals(IetfYangSmiv2ExtensionsMapping.ALIAS.getEffectiveRepresentationClass(),
+            AliasEffectiveStatement.class);
     }
 
     @Test
     public void testIsArgumentYinElement() {
-        IetfYangSmiv2ExtensionsMapping extensionMapping = IetfYangSmiv2ExtensionsMapping.ALIAS;
-        assertFalse(extensionMapping.getArgumentDefinition().get().isYinElement());
+        assertFalse(IetfYangSmiv2ExtensionsMapping.ALIAS.getArgumentDefinition().orElseThrow().isYinElement());
     }
 }
index 806ce4b5df398dd02871074d43ce68a77889f8f0..251c581ea51f54b8f301befe93c83cb6fafbde80 100644 (file)
@@ -12,34 +12,28 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
-import java.io.IOException;
-import java.util.Map;
 import java.util.Optional;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.opendaylight.yangtools.rfc7952.model.api.AnnotationSchemaNode;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 import org.opendaylight.yangtools.yang.model.ri.type.BaseTypes;
 import org.opendaylight.yangtools.yang.parser.api.YangParserConfiguration;
-import org.opendaylight.yangtools.yang.parser.api.YangSyntaxErrorException;
 import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.RFC7950Reactors;
 import org.opendaylight.yangtools.yang.parser.rfc7950.repo.YangStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
-import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
-import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor.BuildAction;
 
 public class AnnotationTest {
     private static final QName LAST_MODIFIED_QNAME = QName.create("http://example.org/example-last-modified",
             "last-modified");
-    private static CrossSourceStatementReactor reactor;
+    private static CrossSourceStatementReactor REACTOR;
 
     @BeforeClass
     public static void createReactor() {
-        reactor = RFC7950Reactors.vanillaReactorBuilder()
+        REACTOR = RFC7950Reactors.vanillaReactorBuilder()
                 .addStatementSupport(ModelProcessingPhase.FULL_DECLARATION,
                     new AnnotationStatementSupport(YangParserConfiguration.DEFAULT))
                 .build();
@@ -47,26 +41,25 @@ public class AnnotationTest {
 
     @AfterClass
     public static void freeReactor() {
-        reactor = null;
+        REACTOR = null;
     }
 
     @Test
-    public void testAnnotationResolution() throws ReactorException, IOException, YangSyntaxErrorException {
-        final BuildAction build = reactor.newBuild();
-        build.addSource(YangStatementStreamSource.create(
-            YangTextSchemaSource.forResource("/ietf-yang-metadata@2016-08-05.yang")));
-        build.addSource(YangStatementStreamSource.create(
-            YangTextSchemaSource.forResource("/example-last-modified.yang")));
-        final SchemaContext context = build.buildEffective();
+    public void testAnnotationResolution() throws Exception {
+        final var context = REACTOR.newBuild()
+            .addSources(YangStatementStreamSource.create(
+                    YangTextSchemaSource.forResource("/ietf-yang-metadata@2016-08-05.yang")),
+                YangStatementStreamSource.create(YangTextSchemaSource.forResource("/example-last-modified.yang")))
+            .buildEffective();
 
-        final Map<QName, AnnotationSchemaNode> annotations = AnnotationSchemaNode.findAll(context);
+        final var annotations = AnnotationSchemaNode.findAll(context);
         assertEquals(1, annotations.size());
-        final AnnotationSchemaNode annotation = annotations.get(LAST_MODIFIED_QNAME);
+        final var annotation = annotations.get(LAST_MODIFIED_QNAME);
         assertNotNull(annotation);
 
-        final Optional<AnnotationSchemaNode> findAnnotation = AnnotationSchemaNode.find(context, LAST_MODIFIED_QNAME);
+        final var findAnnotation = AnnotationSchemaNode.find(context, LAST_MODIFIED_QNAME);
         assertTrue(findAnnotation.isPresent());
-        assertSame(annotation, findAnnotation.get());
+        assertSame(annotation, findAnnotation.orElseThrow());
 
         assertEquals(BaseTypes.stringType(), annotation.getType());
         assertEquals(Optional.empty(), annotation.getReference());
index 7ec5b6a57b6d16a65404853efdb8960e20352a2c..d6fa481ce4e4708dc9731c881764810ed5584df1 100644 (file)
@@ -29,7 +29,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
 
 public class YangDataExtensionTest extends AbstractYangDataTest {
-
     private static final StatementStreamSource FOO_MODULE = sourceForResource(
             "/yang-data-extension-test/foo.yang");
     private static final StatementStreamSource FOO_INVALID_1_MODULE = sourceForResource(
@@ -65,7 +64,7 @@ public class YangDataExtensionTest extends AbstractYangDataTest {
         for (var unknownSchemaNode : unknownSchemaNodes) {
             assertThat(unknownSchemaNode, instanceOf(YangDataSchemaNode.class));
             final var yangDataSchemaNode = (YangDataSchemaNode) unknownSchemaNode;
-            if ("my-yang-data-a".equals(unknownSchemaNode.getNodeParameter())) {
+            if ("my-yang-data-a".equals(yangDataSchemaNode.getNodeParameter())) {
                 myYangDataANode = yangDataSchemaNode;
             } else if ("my-yang-data-b".equals(yangDataSchemaNode.getNodeParameter())) {
                 myYangDataBNode = yangDataSchemaNode;
@@ -81,7 +80,7 @@ public class YangDataExtensionTest extends AbstractYangDataTest {
         final var schemaContext = REACTOR.newBuild().addSources(BAZ_MODULE, IETF_RESTCONF_MODULE).buildEffective();
         assertNotNull(schemaContext);
 
-        final var baz = schemaContext.findModule("baz", REVISION).get();
+        final var baz = schemaContext.findModule("baz", REVISION).orElseThrow();
         final var unknownSchemaNodes = baz.getUnknownSchemaNodes();
         assertEquals(1, unknownSchemaNodes.size());
 
@@ -115,7 +114,7 @@ public class YangDataExtensionTest extends AbstractYangDataTest {
             .buildEffective();
         assertNotNull(schemaContext);
 
-        final var foobar = schemaContext.findModule("foobar", REVISION).get();
+        final var foobar = schemaContext.findModule("foobar", REVISION).orElseThrow();
         final var unknownSchemaNodes = foobar.getUnknownSchemaNodes();
         assertEquals(1, unknownSchemaNodes.size());
 
@@ -145,9 +144,8 @@ public class YangDataExtensionTest extends AbstractYangDataTest {
         final var schemaContext = REACTOR.newBuild().addSources(BAR_MODULE, IETF_RESTCONF_MODULE).buildEffective();
         assertNotNull(schemaContext);
 
-        final var bar = schemaContext.findModule("bar", REVISION).get();
-        final var cont = (ContainerSchemaNode) bar.getDataChildByName(
-                QName.create(bar.getQNameModule(), "cont"));
+        final var bar = schemaContext.findModule("bar", REVISION).orElseThrow();
+        final var cont = (ContainerSchemaNode) bar.getDataChildByName(QName.create(bar.getQNameModule(), "cont"));
         assertNotNull(cont);
 
         final var extensions = schemaContext.getExtensions();
index ce18074e0be622437163920182e5c0b34a201c28..2dcbc529a795499d8169454372c3bdb83d1315db 100644 (file)
@@ -11,9 +11,6 @@ import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 
-import java.io.IOException;
-import java.util.List;
-import java.util.stream.Collectors;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -22,16 +19,12 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.XMLNamespace;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 import org.opendaylight.yangtools.yang.parser.api.YangParserConfiguration;
-import org.opendaylight.yangtools.yang.parser.api.YangSyntaxErrorException;
 import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.RFC7950Reactors;
 import org.opendaylight.yangtools.yang.parser.rfc7950.repo.YangStatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
-import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
 
 public class MountPointTest {
@@ -58,8 +51,8 @@ public class MountPointTest {
     }
 
     @Test
-    public void testMountPointResolution() throws ReactorException, IOException, YangSyntaxErrorException {
-        final SchemaContext context = reactor.newBuild()
+    public void testMountPointResolution() throws Exception {
+        final var context = reactor.newBuild()
                 .addLibSources(
                     YangStatementStreamSource.create(YangTextSchemaSource.forResource(
                             "/ietf-inet-types@2013-07-15.yang")),
@@ -74,23 +67,22 @@ public class MountPointTest {
 
         assertEquals(5, context.getModules().size());
 
-        DataSchemaNode child = context.findDataTreeChild(EXAMPLE_CONT).get();
+        var child = context.findDataTreeChild(EXAMPLE_CONT).orElseThrow();
         assertThat(child, instanceOf(ContainerSchemaNode.class));
-        List<MountPointSchemaNode> mps = MountPointSchemaNode.streamAll((ContainerSchemaNode) child)
-                .collect(Collectors.toList());
+        var mps = MountPointSchemaNode.streamAll((ContainerSchemaNode) child).toList();
         assertEquals(2, mps.size());
         assertEquals(EXAMPLE_CONT, mps.get(0).getQName());
         assertEquals(EXAMPLE_CONT, mps.get(1).getQName());
 
-        child = context.findDataTreeChild(EXAMPLE_GRP_CONT).get();
+        child = context.findDataTreeChild(EXAMPLE_GRP_CONT).orElseThrow();
         assertThat(child, instanceOf(ContainerSchemaNode.class));
-        mps = MountPointSchemaNode.streamAll((ContainerSchemaNode) child).collect(Collectors.toList());
+        mps = MountPointSchemaNode.streamAll((ContainerSchemaNode) child).toList();
         assertEquals(1, mps.size());
         assertEquals(EXAMPLE_GRP, mps.get(0).getQName());
 
-        child = context.findDataTreeChild(EXAMPLE_LIST).get();
+        child = context.findDataTreeChild(EXAMPLE_LIST).orElseThrow();
         assertThat(child, instanceOf(ListSchemaNode.class));
-        mps = MountPointSchemaNode.streamAll((ListSchemaNode) child).collect(Collectors.toList());
+        mps = MountPointSchemaNode.streamAll((ListSchemaNode) child).toList();
         assertEquals(1, mps.size());
         assertEquals(EXAMPLE_LIST, mps.get(0).getQName());
     }
index 930c92edfc1724f7c8f064591a056f20b766f22b..e3ac23f204049ed26fd9d56316d37a7b0333cdbe 100644 (file)
@@ -263,7 +263,7 @@ final class BuildGlobalContext extends AbstractNamespaceStorage implements Globa
                 continue;
             }
 
-            final SourceException sourceEx = optSourceEx.get();
+            final SourceException sourceEx = optSourceEx.orElseThrow();
             // Workaround for broken logging implementations which ignore
             // suppressed exceptions
             final Throwable cause = sourceEx.getCause() != null ? sourceEx.getCause() : sourceEx;
index 6f8e8802b42f62069768ae41370f06d92f3323b9..2346051315f0e2c2ca5a7149668cd55388347c5c 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.repo;
 
 import static java.util.Objects.requireNonNull;
 
-import java.util.Optional;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.YangConstants;
@@ -24,7 +23,6 @@ import org.opendaylight.yangtools.yang.parser.spi.source.PrefixResolver;
 import org.opendaylight.yangtools.yang.parser.spi.source.QNameToStatementDefinition;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementWriter;
-import org.opendaylight.yangtools.yang.parser.spi.source.StatementWriter.ResumedStatement;
 
 class StatementContextVisitor {
     private final QNameToStatementDefinition stmtDef;
@@ -88,9 +86,9 @@ class StatementContextVisitor {
 
     // Normal entry point, checks for potential resume
     private boolean processStatement(final int myOffset, final IRStatement stmt) {
-        final Optional<? extends ResumedStatement> optResumed = writer.resumeStatement(myOffset);
+        final var optResumed = writer.resumeStatement(myOffset);
         if (optResumed.isPresent()) {
-            final ResumedStatement resumed = optResumed.get();
+            final var resumed = optResumed.orElseThrow();
             return resumed.isFullyDefined() || doProcessStatement(stmt, resumed.getSourceReference());
         }
         return processNewStatement(myOffset, stmt);
index 72e193986c7be086dce01edf55c5d3888a0301da..68978409a44e432bd0a79d181979a3bd4a69365b 100644 (file)
@@ -15,13 +15,11 @@ import com.google.common.annotations.Beta;
 import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
-import java.util.Optional;
 import javax.xml.transform.TransformerException;
 import org.opendaylight.yangtools.concepts.AbstractSimpleIdentifiable;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.XMLNamespace;
 import org.opendaylight.yangtools.yang.common.YangVersion;
-import org.opendaylight.yangtools.yang.model.api.meta.ArgumentDefinition;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YinDomSchemaSource;
@@ -33,7 +31,6 @@ import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementWriter;
-import org.opendaylight.yangtools.yang.parser.spi.source.StatementWriter.ResumedStatement;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.w3c.dom.Attr;
@@ -88,9 +85,9 @@ public final class YinStatementStreamSource extends AbstractSimpleIdentifiable<S
 
     private static boolean processAttribute(final int childId, final Attr attr, final StatementWriter writer,
             final QNameToStatementDefinition stmtDef, final StatementSourceReference ref) {
-        final Optional<? extends ResumedStatement> optResumed = writer.resumeStatement(childId);
+        final var optResumed = writer.resumeStatement(childId);
         if (optResumed.isPresent()) {
-            final ResumedStatement resumed = optResumed.get();
+            final var resumed = optResumed.orElseThrow();
             checkState(resumed.isFullyDefined(), "Statement %s is not fully defined", resumed);
             return true;
         }
@@ -128,22 +125,22 @@ public final class YinStatementStreamSource extends AbstractSimpleIdentifiable<S
     private static boolean processElement(final int childId, final Element element, final StatementWriter writer,
             final QNameToStatementDefinition stmtDef) {
 
-        final Optional<? extends ResumedStatement> optResumed = writer.resumeStatement(childId);
+        final var optResumed = writer.resumeStatement(childId);
         final StatementSourceReference ref;
         final QName argName;
         final boolean allAttrs;
         final boolean allElements;
         if (optResumed.isPresent()) {
-            final ResumedStatement resumed = optResumed.get();
+            final var resumed = optResumed.orElseThrow();
             if (resumed.isFullyDefined()) {
                 return true;
             }
 
             final StatementDefinition def = resumed.getDefinition();
             ref = resumed.getSourceReference();
-            final Optional<ArgumentDefinition> optArgDef = def.getArgumentDefinition();
+            final var optArgDef = def.getArgumentDefinition();
             if (optArgDef.isPresent()) {
-                final ArgumentDefinition argDef = optArgDef.get();
+                final var argDef = optArgDef.orElseThrow();
                 argName = argDef.argumentName();
                 allAttrs = argDef.isYinElement();
                 allElements = !allAttrs;
@@ -161,9 +158,9 @@ public final class YinStatementStreamSource extends AbstractSimpleIdentifiable<S
             }
 
             final String argValue;
-            final Optional<ArgumentDefinition> optArgDef = def.getArgumentDefinition();
+            final var optArgDef = def.getArgumentDefinition();
             if (optArgDef.isPresent()) {
-                final ArgumentDefinition argDef = optArgDef.get();
+                final var argDef = optArgDef.orElseThrow();
                 argName = argDef.argumentName();
                 allAttrs = argDef.isYinElement();
                 allElements = !allAttrs;
index 970222ea293283bb36f44a92e1897fff62b66e0b..d2b5905ad872a96e070e2b921b5a766d7e68fbf6 100644 (file)
@@ -74,7 +74,7 @@ public abstract class AbstractEffectiveModule<D extends DeclaredStatement<Unqual
         final Set<UsesNode> mutableUses = new LinkedHashSet<>();
         final Set<TypeDefinition<?>> mutableTypeDefinitions = new LinkedHashSet<>();
 
-        for (final EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
+        for (var effectiveStatement : effectiveSubstatements()) {
             if (effectiveStatement instanceof UsesNode usesNode && !mutableUses.add(usesNode)) {
                 throw EffectiveStmtUtils.createNameCollisionSourceException(stmt, effectiveStatement);
             }
index 3cac5cb71c8fa5e538f565f3bf450a3651daf4b9..2e2e87f1f6cd1417ad2f5750dbaf2a1ae66e27b9 100644 (file)
@@ -16,7 +16,6 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Objects;
-import java.util.Optional;
 import org.opendaylight.yangtools.yang.common.Empty;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
@@ -98,10 +97,10 @@ final class AugmentInferenceAction implements InferenceAction {
                 return;
             }
 
-            final SchemaNodeIdentifier augmentArg = augmentNode.getArgument();
-            final Optional<StmtContext<?, ?, ?>> targetNode = ParserNamespaces.findSchemaTreeStatement(
+            final var augmentArg = augmentNode.getArgument();
+            final var targetNode = ParserNamespaces.findSchemaTreeStatement(
                 AbstractAugmentStatementSupport.getSearchRoot(augmentNode), augmentArg);
-            if (targetNode.isPresent() && StmtContextUtils.isUnknownStatement(targetNode.get())) {
+            if (targetNode.isPresent() && StmtContextUtils.isUnknownStatement(targetNode.orElseThrow())) {
                 augmentNode.setUnsupported();
                 LOG.warn("Uses-augment to unknown node {}. Augmentation has not been performed. At line: {}",
                     augmentArg, augmentNode.sourceReference());
@@ -244,10 +243,10 @@ final class AugmentInferenceAction implements InferenceAction {
             // This could be an augmentation stacked on top of a previous augmentation from the same module, which is
             // conditional -- in which case we do not run further checks
             if (targetCtx.history().getLastOperation() == CopyType.ADDED_BY_AUGMENTATION) {
-                final Optional<? extends StmtContext<?, ?, ?>> optPrevCopy = targetCtx.getPreviousCopyCtx();
+                final var optPrevCopy = targetCtx.getPreviousCopyCtx();
                 if (optPrevCopy.isPresent()) {
-                    final StmtContext<?, ?, ?> original = optPrevCopy.get();
-                    final Object origArg = original.getArgument();
+                    final var original = optPrevCopy.orElseThrow();
+                    final var origArg = original.getArgument();
                     verify(origArg instanceof QName, "Unexpected statement argument %s", origArg);
 
                     if (sourceStmtQName.getModule().equals(((QName) origArg).getModule())
index 19481e1245fe82119122602f98bf911a7f371537..098a628d43bcc5de4c99c738f61701ddcd5622ef 100644 (file)
@@ -119,7 +119,7 @@ final class ModuleEffectiveStatementImpl extends AbstractEffectiveModule<ModuleS
     }
 
     @Override
-    public Optional<ExtensionEffectiveStatement> findExtension(QName qname) {
+    public Optional<ExtensionEffectiveStatement> findExtension(final QName qname) {
         return findValue(qnameToExtension, qname);
     }
 
@@ -154,7 +154,7 @@ final class ModuleEffectiveStatementImpl extends AbstractEffectiveModule<ModuleS
     }
 
     @Override
-    public Optional<String> findNamespacePrefix(QNameModule namespace) {
+    public Optional<String> findNamespacePrefix(final QNameModule namespace) {
         return findValue(namespaceToPrefix, namespace);
     }
 
@@ -169,7 +169,7 @@ final class ModuleEffectiveStatementImpl extends AbstractEffectiveModule<ModuleS
     }
 
     @Override
-    public Optional<SubmoduleEffectiveStatement> findSubmodule(Unqualified submoduleName) {
+    public Optional<SubmoduleEffectiveStatement> findSubmodule(final Unqualified submoduleName) {
         return findValue(nameToSubmodule, submoduleName);
     }
 }
index 0c60ae89c0178f35547fdd26b836cc4aa4b2dd64..46b3e3f5b17a79c8f0bce4308b1ee21926ba0857 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.type;
 
 import com.google.common.collect.ImmutableList;
-import java.util.Optional;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
@@ -60,11 +59,9 @@ final class BitsSpecificationSupport extends AbstractTypeSupport<BitsSpecificati
 
         final BitsTypeBuilder builder = BaseTypes.bitsTypeBuilder(stmt.argumentAsTypeQName());
         Uint32 highestPosition = null;
-        for (final EffectiveStatement<?, ?> subStmt : substatements) {
-            if (subStmt instanceof BitEffectiveStatement) {
-                final BitEffectiveStatement bitSubStmt = (BitEffectiveStatement) subStmt;
-
-                final Optional<Uint32> declaredPosition = bitSubStmt.findDeclaredPosition();
+        for (var subStmt : substatements) {
+            if (subStmt instanceof BitEffectiveStatement bitSubStmt) {
+                var declaredPosition = bitSubStmt.findDeclaredPosition();
                 final Uint32 effectivePos;
                 if (declaredPosition.isEmpty()) {
                     if (highestPosition != null) {
@@ -75,7 +72,7 @@ final class BitsSpecificationSupport extends AbstractTypeSupport<BitsSpecificati
                         effectivePos = Uint32.ZERO;
                     }
                 } else {
-                    effectivePos = declaredPosition.get();
+                    effectivePos = declaredPosition.orElseThrow();
                 }
 
                 final Bit bit = EffectiveTypeUtil.buildBit(bitSubStmt, effectivePos);
index 8b458671f51ef9d15ecbcaf3b9e1bf71e32ddbb1..0b670f7eccf79a77823d4380e9c3f5abf0127b9a 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.type;
 
 import com.google.common.annotations.Beta;
 import com.google.common.collect.ImmutableMap;
-import java.util.Optional;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.model.api.stmt.BitEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.EnumEffectiveStatement;
@@ -52,12 +51,12 @@ public final class TypeStatementRFC7950Support extends AbstractTypeStatementSupp
     @Override
     Bit addRestrictedBit(final EffectiveStmtCtx stmt, final BitsTypeDefinition base, final BitEffectiveStatement bit) {
         // FIXME: this looks like a duplicate of BitsSpecificationEffectiveStatement
-        final Optional<Uint32> declaredPosition = bit.findDeclaredPosition();
+        final var declaredPosition = bit.findDeclaredPosition();
         final Uint32 effectivePos;
         if (declaredPosition.isEmpty()) {
             effectivePos = getBaseTypeBitPosition(bit.argument(), base, stmt);
         } else {
-            effectivePos = declaredPosition.get();
+            effectivePos = declaredPosition.orElseThrow();
         }
 
         return EffectiveTypeUtil.buildBit(bit, effectivePos);
@@ -66,17 +65,15 @@ public final class TypeStatementRFC7950Support extends AbstractTypeStatementSupp
     @Override
     EnumPair addRestrictedEnum(final EffectiveStmtCtx stmt, final EnumTypeDefinition base,
             final EnumEffectiveStatement enumStmt) {
-        final EnumEffectiveStatement enumSubStmt = enumStmt;
-        final Optional<Integer> declaredValue =
-                enumSubStmt.findFirstEffectiveSubstatementArgument(ValueEffectiveStatement.class);
+        final var declaredValue = enumStmt.findFirstEffectiveSubstatementArgument(ValueEffectiveStatement.class);
         final int effectiveValue;
         if (declaredValue.isEmpty()) {
-            effectiveValue = getBaseTypeEnumValue(enumSubStmt.getDeclared().rawArgument(), base, stmt);
+            effectiveValue = getBaseTypeEnumValue(enumStmt.getDeclared().rawArgument(), base, stmt);
         } else {
             effectiveValue = declaredValue.orElseThrow();
         }
 
-        return EffectiveTypeUtil.buildEnumPair(enumSubStmt, effectiveValue);
+        return EffectiveTypeUtil.buildEnumPair(enumStmt, effectiveValue);
     }
 
     private static Uint32 getBaseTypeBitPosition(final String bitName, final BitsTypeDefinition baseType,
index a69b42d7c14252c9403947fa4465c079aa191c81..64700fc0d43c8100feb75f1aba8f6d02d305b20a 100644 (file)
@@ -15,7 +15,6 @@ import com.google.common.collect.ImmutableMap;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.LinkedHashMap;
-import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.Empty;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -275,20 +274,21 @@ public final class UsesStatementSupport
 
     private static void performRefine(final Mutable<?, ?, ?> subStmtCtx, final StmtContext<?, ?, ?> usesParentCtx) {
         final Object refineArgument = subStmtCtx.argument();
-        InferenceException.throwIf(!(refineArgument instanceof SchemaNodeIdentifier), subStmtCtx,
-            "Invalid refine argument %s. It must be instance of SchemaNodeIdentifier.", refineArgument);
+        if (!(refineArgument instanceof SchemaNodeIdentifier refineTarget)) {
+            throw new InferenceException(subStmtCtx,
+                "Invalid refine argument %s. It must be instance of SchemaNodeIdentifier.", refineArgument);
+        }
 
         // FIXME: this really should be handled via separate inference, i.e. we first instantiate the template and when
         //        it appears, this refine will trigger on it. This reinforces the FIXME below.
-        final Optional<StmtContext<?, ?, ?>> optRefineTargetCtx = ParserNamespaces.findSchemaTreeStatement(
-            usesParentCtx, (SchemaNodeIdentifier) refineArgument);
+        final var optRefineTargetCtx = ParserNamespaces.findSchemaTreeStatement(usesParentCtx, refineTarget);
         InferenceException.throwIf(!optRefineTargetCtx.isPresent(), subStmtCtx, "Refine target node %s not found.",
-            refineArgument);
+            refineTarget);
 
         // FIXME: This communicates the looked-up target node to RefineStatementSupport.buildEffective(). We should do
         //        this trick through a shared namespace or similar reactor-agnostic meeting place. It really feels like
         //        an inference action RefineStatementSupport should be doing.
-        final StmtContext<?, ?, ?> refineTargetNodeCtx = optRefineTargetCtx.get();
+        final var refineTargetNodeCtx = optRefineTargetCtx.orElseThrow();
         if (StmtContextUtils.isUnknownStatement(refineTargetNodeCtx)) {
             LOG.trace("Refine node '{}' in uses '{}' has target node unknown statement '{}'. "
                 + "Refine has been skipped. At line: {}", subStmtCtx.argument(),
index 7bb24671f1b21272880ef45b6765ebca208a357f..b749cf80a6b5957b44d46480e67e9f7a116c3e2c 100644 (file)
@@ -8,14 +8,13 @@
 package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Revision;
-import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.stmt.AbstractYangTest;
 
 class ElementCountConstraintsTest extends AbstractYangTest {
@@ -23,28 +22,28 @@ class ElementCountConstraintsTest extends AbstractYangTest {
     void testElementCountConstraints() {
         final var context = assertEffectiveModel("/constraint-definitions-test/foo.yang");
 
-        final Module testModule = context.findModule("foo", Revision.of("2016-09-20")).get();
-        final LeafListSchemaNode constrainedLeafList1 = (LeafListSchemaNode) testModule.getDataChildByName(
-            QName.create(testModule.getQNameModule(), "constrained-leaf-list-1"));
-        ElementCountConstraint constraints1 = constrainedLeafList1.getElementCountConstraint().get();
+        final var testModule = context.findModule("foo", Revision.of("2016-09-20")).orElseThrow();
+        final var constraints1 = assertInstanceOf(LeafListSchemaNode.class,
+            testModule.getDataChildByName(QName.create(testModule.getQNameModule(), "constrained-leaf-list-1")))
+            .getElementCountConstraint().orElseThrow();
 
-        final LeafListSchemaNode constrainedLeafList2 = (LeafListSchemaNode) testModule.getDataChildByName(
-            QName.create(testModule.getQNameModule(), "constrained-leaf-list-2"));
-        ElementCountConstraint constraints2 = constrainedLeafList2.getElementCountConstraint().get();
+        var constraints2 = assertInstanceOf(LeafListSchemaNode.class,
+            testModule.getDataChildByName(QName.create(testModule.getQNameModule(), "constrained-leaf-list-2")))
+            .getElementCountConstraint().orElseThrow();
 
         assertEquals(constraints1.hashCode(), constraints2.hashCode());
         assertEquals(constraints1, constraints2);
 
-        final LeafListSchemaNode constrainedLeafList3 = (LeafListSchemaNode) testModule.getDataChildByName(
-            QName.create(testModule.getQNameModule(), "constrained-leaf-list-3"));
-        ElementCountConstraint constraints3 = constrainedLeafList3.getElementCountConstraint().get();
+        var constraints3 = assertInstanceOf(LeafListSchemaNode.class,
+            testModule.getDataChildByName(QName.create(testModule.getQNameModule(), "constrained-leaf-list-3")))
+            .getElementCountConstraint().orElseThrow();
 
         assertNotEquals(constraints2.hashCode(), constraints3.hashCode());
         assertNotEquals(constraints2, constraints3);
 
-        final LeafListSchemaNode constrainedLeafList4 = (LeafListSchemaNode) testModule.getDataChildByName(
-            QName.create(testModule.getQNameModule(), "constrained-leaf-list-4"));
-        ElementCountConstraint constraints4 = constrainedLeafList4.getElementCountConstraint().get();
+        var constraints4 = assertInstanceOf(LeafListSchemaNode.class,
+            testModule.getDataChildByName(QName.create(testModule.getQNameModule(), "constrained-leaf-list-4")))
+            .getElementCountConstraint().orElseThrow();
 
         assertNotEquals(constraints3.hashCode(), constraints4.hashCode());
         assertNotEquals(constraints3, constraints4);
index 58a15cc683df6521e1d7101687775a964630347d..286723c2150dac86ea8d286e1071480b39572f4b 100644 (file)
@@ -55,7 +55,7 @@ class Bug6868Test extends AbstractYangTest {
 
         for (var expectedContainer : expectedContainers) {
             assertThat(String.format("Expected container %s not found.", expectedContainer),
-                schemaContext.findDataTreeChild(QName.create(FOO_NS, expectedContainer)).get(),
+                schemaContext.findDataTreeChild(QName.create(FOO_NS, expectedContainer)).orElseThrow(),
                 instanceOf(ContainerSchemaNode.class));
         }
 
@@ -67,7 +67,7 @@ class Bug6868Test extends AbstractYangTest {
     }
 
     private static Set<QName> createFeaturesSet(final Set<String> featureNames) {
-        final Set<QName> supportedFeatures = new HashSet<>();
+        final var supportedFeatures = new HashSet<QName>();
         for (var featureName : featureNames) {
             if (featureName.indexOf(':') == -1) {
                 supportedFeatures.add(QName.create(FOO_NS, featureName));
index 543a404587f690b8587033f57aa60cd05999c51a..3a9506a66394cdf99079074278a769dadfbe662e 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc7950;
 
 import static org.hamcrest.CoreMatchers.startsWith;
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.Collection;
@@ -18,7 +19,6 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition.Bit;
 import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
@@ -28,39 +28,38 @@ import org.opendaylight.yangtools.yang.model.ri.type.EnumPairBuilder;
 import org.opendaylight.yangtools.yang.stmt.AbstractYangTest;
 
 class Bug6887Test extends AbstractYangTest {
-
     @Test
     void testRestrictedEnumeration() {
         final var context = assertEffectiveModel("/rfc7950/bug6887/foo.yang");
 
-        final Module foo = context.findModule("foo", Revision.of("2017-01-26")).get();
-        final LeafSchemaNode myEnumerationLeaf = (LeafSchemaNode) foo.getDataChildByName(
-            QName.create(foo.getQNameModule(), "my-enumeration-leaf"));
+        final var foo = context.findModule("foo", Revision.of("2017-01-26")).orElseThrow();
+        final var myEnumerationLeaf = assertInstanceOf(LeafSchemaNode.class,
+            foo.getDataChildByName(QName.create(foo.getQNameModule(), "my-enumeration-leaf")));
 
-        EnumTypeDefinition enumerationType = (EnumTypeDefinition) myEnumerationLeaf.getType();
+        var enumerationType = assertInstanceOf(EnumTypeDefinition.class, myEnumerationLeaf.getType());
 
-        List<EnumPair> enums = enumerationType.getValues();
+        var enums = enumerationType.getValues();
         assertEquals(2, enums.size());
-        final EnumPair yellowEnum = createEnumPair("yellow", 2);
-        final EnumPair redEnum = createEnumPair("red", 3);
+        final var yellowEnum = createEnumPair("yellow", 2);
+        final var redEnum = createEnumPair("red", 3);
         assertContainsEnums(enums, yellowEnum, redEnum);
 
         enumerationType = enumerationType.getBaseType();
         enums = enumerationType.getValues();
         assertEquals(3, enums.size());
-        final EnumPair blackEnum = createEnumPair("black", 4);
+        final var blackEnum = createEnumPair("black", 4);
         assertContainsEnums(enums, yellowEnum, redEnum, blackEnum);
 
         enumerationType = enumerationType.getBaseType();
         enums = enumerationType.getValues();
         assertEquals(4, enums.size());
-        final EnumPair whiteEnum = createEnumPair("white", 1);
+        final var whiteEnum = createEnumPair("white", 1);
         assertContainsEnums(enums, whiteEnum, yellowEnum, redEnum, blackEnum);
 
-        final LeafSchemaNode myEnumerationLeaf2 = (LeafSchemaNode) foo.getDataChildByName(
-            QName.create(foo.getQNameModule(), "my-enumeration-leaf-2"));
+        final var myEnumerationLeaf2 = assertInstanceOf(LeafSchemaNode.class, foo.getDataChildByName(
+            QName.create(foo.getQNameModule(), "my-enumeration-leaf-2")));
 
-        enumerationType = (EnumTypeDefinition) myEnumerationLeaf2.getType();
+        enumerationType = assertInstanceOf(EnumTypeDefinition.class, myEnumerationLeaf2.getType());
         enums = enumerationType.getValues();
         assertEquals(3, enums.size());
         assertContainsEnums(enums, yellowEnum, redEnum, blackEnum);
@@ -80,16 +79,16 @@ class Bug6887Test extends AbstractYangTest {
 
     @Test
     void testInvalidRestrictedEnumeration3() {
-        assertInvalidEnumDefinitionException(startsWith("Value of enum 'red' must be the same as the value of "
-            + "corresponding enum in the base enumeration type (foo?revision=2017-02-02)"
-            + "my-derived-enumeration-type."), "/rfc7950/bug6887/foo-invalid-3.yang");
+        assertInvalidEnumDefinitionException(startsWith("""
+            Value of enum 'red' must be the same as the value of corresponding enum in the base enumeration type \
+            (foo?revision=2017-02-02)my-derived-enumeration-type."""), "/rfc7950/bug6887/foo-invalid-3.yang");
     }
 
     @Test
     void testInvalidRestrictedEnumeration4() {
-        assertInvalidEnumDefinitionException(startsWith("Value of enum 'black' must be the same as the value of "
-            + "corresponding enum in the base enumeration type (foo?revision=2017-02-02)"
-            + "my-base-enumeration-type."), "/rfc7950/bug6887/foo-invalid-4.yang");
+        assertInvalidEnumDefinitionException(startsWith("""
+            Value of enum 'black' must be the same as the value of corresponding enum in the base enumeration type \
+            (foo?revision=2017-02-02)my-base-enumeration-type."""), "/rfc7950/bug6887/foo-invalid-4.yang");
     }
 
     @Test
@@ -113,16 +112,16 @@ class Bug6887Test extends AbstractYangTest {
     void testRestrictedBits() {
         final var context = assertEffectiveModel("/rfc7950/bug6887/bar.yang");
 
-        final Module bar = context.findModule("bar", Revision.of("2017-02-02")).get();
-        final LeafSchemaNode myBitsLeaf = (LeafSchemaNode) bar.getDataChildByName(
-            QName.create(bar.getQNameModule(), "my-bits-leaf"));
+        final var bar = context.findModule("bar", Revision.of("2017-02-02")).orElseThrow();
+        final var myBitsLeaf = assertInstanceOf(LeafSchemaNode.class, bar.getDataChildByName(
+            QName.create(bar.getQNameModule(), "my-bits-leaf")));
 
-        BitsTypeDefinition bitsType = (BitsTypeDefinition) myBitsLeaf.getType();
+        var bitsType = assertInstanceOf(BitsTypeDefinition.class, myBitsLeaf.getType());
 
-        Collection<? extends Bit> bits = bitsType.getBits();
+        var bits = bitsType.getBits();
         assertEquals(2, bits.size());
-        Bit bitB = createBit("bit-b", 2);
-        Bit bitC = createBit("bit-c", 3);
+        var bitB = createBit("bit-b", 2);
+        var bitC = createBit("bit-c", 3);
         assertContainsBits(bits, bitB, bitC);
 
         bitsType = bitsType.getBaseType();
@@ -130,20 +129,20 @@ class Bug6887Test extends AbstractYangTest {
         assertEquals(3, bits.size());
         bitB = createBit("bit-b", 2);
         bitC = createBit("bit-c", 3);
-        Bit bitD = createBit("bit-d", 4);
+        var bitD = createBit("bit-d", 4);
         assertContainsBits(bits, bitB, bitC, bitD);
 
         bitsType = bitsType.getBaseType();
         bits = bitsType.getBits();
         assertEquals(4, bits.size());
-        final Bit bitA = createBit("bit-a", 1);
+        final var bitA = createBit("bit-a", 1);
         bitB = createBit("bit-b", 2);
         bitC = createBit("bit-c", 3);
         bitD = createBit("bit-d", 4);
         assertContainsBits(bits, bitA, bitB, bitC, bitD);
 
-        final LeafSchemaNode myBitsLeaf2 = (LeafSchemaNode) bar.getDataChildByName(
-            QName.create(bar.getQNameModule(), "my-bits-leaf-2"));
+        final var myBitsLeaf2 = assertInstanceOf(LeafSchemaNode.class, bar.getDataChildByName(
+            QName.create(bar.getQNameModule(), "my-bits-leaf-2")));
 
         bitsType = (BitsTypeDefinition) myBitsLeaf2.getType();
         bits = bitsType.getBits();
@@ -202,7 +201,7 @@ class Bug6887Test extends AbstractYangTest {
     }
 
     private static void assertContainsEnums(final List<EnumPair> enumList, final EnumPair... enumPairs) {
-        for (final EnumPair enumPair : enumPairs) {
+        for (var enumPair : enumPairs) {
             assertTrue(enumList.contains(enumPair));
         }
     }
@@ -212,7 +211,7 @@ class Bug6887Test extends AbstractYangTest {
     }
 
     private static void assertContainsBits(final Collection<? extends Bit> bitList, final Bit... bits) {
-        for (final Bit bit : bits) {
+        for (var bit : bits) {
             assertTrue(bitList.contains(bit));
         }
     }
index 00a82c4277aaf2f2649a402d2ad305b2a5fa81d8..5973d06f98ae00a24ed34eabe319fe1c8984890c 100644 (file)
@@ -8,16 +8,12 @@
 package org.opendaylight.yangtools.yang.parser.stmt.rfc7950;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Revision;
-import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.InputSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.OutputSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementOrigin;
 import org.opendaylight.yangtools.yang.stmt.AbstractYangTest;
@@ -28,20 +24,18 @@ class Bug9241Test extends AbstractYangTest {
     void testImplicitInputAndOutputInAction() {
         final var context = assertEffectiveModel("/rfc7950/bug9241/foo.yang");
 
-        final Module fooModule = context.findModule("foo", Revision.of("2017-10-13")).get();
+        final var fooModule = context.findModule("foo", Revision.of("2017-10-13")).orElseThrow();
 
-        final ContainerSchemaNode actionCont = (ContainerSchemaNode) fooModule.getDataChildByName(QName.create(
-            fooModule.getQNameModule(), "action-cont"));
+        final var actionCont = assertInstanceOf(ContainerSchemaNode.class,
+            fooModule.getDataChildByName(QName.create(fooModule.getQNameModule(), "action-cont")));
 
-        final ActionDefinition actionInCont = actionCont.getActions().iterator().next();
+        final var actionInCont = actionCont.getActions().iterator().next();
 
-        final InputSchemaNode input = actionInCont.getInput();
-        assertNotNull(input);
+        final var input = actionInCont.getInput();
         assertEquals(1, input.getChildNodes().size());
         assertEquals(StatementOrigin.CONTEXT, ((EffectiveStatement<?, ?>) input).statementOrigin());
 
-        final OutputSchemaNode output = actionInCont.getOutput();
-        assertNotNull(output);
+        final var output = actionInCont.getOutput();
         assertEquals(1, output.getChildNodes().size());
         assertEquals(StatementOrigin.CONTEXT, ((EffectiveStatement<?, ?>) output).statementOrigin());
     }
index e1dedf00c85572926d4d033ec91f5f618485e904..d65262b8923309b405e41209d7a950b25e8d8d53 100644 (file)
@@ -10,23 +10,19 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc7950;
 import static org.hamcrest.CoreMatchers.startsWith;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-import java.util.Collection;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.Revision;
-import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.stmt.AbstractYangTest;
 
 class IdentityStatementTest extends AbstractYangTest {
-
     @Test
     void testMultipleBaseIdentities() {
         final var context = assertEffectiveModel("/rfc7950/identity-stmt/foo.yang");
 
-        final Module foo = context.findModule("foo", Revision.of("2016-12-21")).get();
-        for (final IdentitySchemaNode identity : foo.getIdentities()) {
+        final var foo = context.findModule("foo", Revision.of("2016-12-21")).orElseThrow();
+        for (var identity : foo.getIdentities()) {
             if ("derived-id".equals(identity.getQName().getLocalName())) {
-                final Collection<? extends IdentitySchemaNode> baseIdentities = identity.getBaseIdentities();
+                final var baseIdentities = identity.getBaseIdentities();
                 assertEquals(3, baseIdentities.size());
             }
         }
index b764ce3bbdae5b79f59c63bb2b1445cdcffcf2bb..0473dd195eee3a102f66a1474a7773dfbfe235c1 100644 (file)
@@ -11,12 +11,12 @@ import static org.hamcrest.CoreMatchers.startsWith;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder;
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition;
 import org.opendaylight.yangtools.yang.stmt.AbstractYangTest;
 
@@ -26,13 +26,13 @@ class IdentityrefStatementTest extends AbstractYangTest {
     void testIdentityrefWithMultipleBaseIdentities() {
         final var context = assertEffectiveModel("/rfc7950/identityref-stmt/foo.yang");
 
-        final Module foo = context.findModule("foo", Revision.of("2017-01-11")).get();
+        final var foo = context.findModule("foo", Revision.of("2017-01-11")).orElseThrow();
         final var identities = foo.getIdentities();
         assertEquals(3, identities.size());
 
-        final LeafSchemaNode idrefLeaf = (LeafSchemaNode) foo.getDataChildByName(QName.create(foo.getQNameModule(),
-            "idref-leaf"));
-        final IdentityrefTypeDefinition idrefType = (IdentityrefTypeDefinition) idrefLeaf.getType();
+        final var idrefLeaf = assertInstanceOf(LeafSchemaNode.class,
+            foo.getDataChildByName(QName.create(foo.getQNameModule(), "idref-leaf")));
+        final var idrefType = assertInstanceOf(IdentityrefTypeDefinition.class, idrefLeaf.getType());
         final var referencedIdentities = idrefType.getIdentities();
         assertEquals(3, referencedIdentities.size());
         assertThat(referencedIdentities, containsInAnyOrder(identities.toArray()));
index fd94328529f8fb3b9588ab4784405bc07bb4eb5f..0767247fa8f3f177e7775cdf0cfc852af6c239d2 100644 (file)
@@ -9,48 +9,44 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc7950;
 
 import static org.hamcrest.CoreMatchers.startsWith;
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import java.util.Collection;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition;
 import org.opendaylight.yangtools.yang.stmt.AbstractYangTest;
 
 class LeafrefStatementTest extends AbstractYangTest {
-
     @Test
     void testRequireInstanceInLeafrefs() {
         final var context = assertEffectiveModel("/rfc7950/leafref-stmt/foo.yang");
 
-        final Module foo = context.findModule("foo", Revision.of("2016-12-20")).get();
-        final Collection<? extends TypeDefinition<?>> typeDefinitions = foo.getTypeDefinitions();
+        final var foo = context.findModule("foo", Revision.of("2016-12-20")).orElseThrow();
+        final var typeDefinitions = foo.getTypeDefinitions();
         assertEquals(1, typeDefinitions.size());
 
-        final TypeDefinition<?> typeDefinition = typeDefinitions.iterator().next();
-        final LeafrefTypeDefinition leafrefTypeDefinition = (LeafrefTypeDefinition) typeDefinition;
+        final var leafrefTypeDefinition = assertInstanceOf(LeafrefTypeDefinition.class,
+            typeDefinitions.iterator().next());
         assertTrue(leafrefTypeDefinition.requireInstance());
 
-        final LeafSchemaNode leafrefA = (LeafSchemaNode) foo.getDataChildByName(QName.create(foo.getQNameModule(),
-            "leafref-a"));
+        final var leafrefA = assertInstanceOf(LeafSchemaNode.class,
+            foo.getDataChildByName(QName.create(foo.getQNameModule(), "leafref-a")));
         assertRequireInstanceInLeafref(leafrefA, true);
 
-        final LeafSchemaNode leafrefB = (LeafSchemaNode) foo.getDataChildByName(QName.create(foo.getQNameModule(),
-            "leafref-b"));
+        final var leafrefB = assertInstanceOf(LeafSchemaNode.class,
+            foo.getDataChildByName(QName.create(foo.getQNameModule(), "leafref-b")));
         assertRequireInstanceInLeafref(leafrefB, true);
 
-        final LeafSchemaNode leafrefC = (LeafSchemaNode) foo.getDataChildByName(QName.create(foo.getQNameModule(),
-            "leafref-c"));
+        final var leafrefC = assertInstanceOf(LeafSchemaNode.class,
+            foo.getDataChildByName(QName.create(foo.getQNameModule(), "leafref-c")));
         assertRequireInstanceInLeafref(leafrefC, true);
     }
 
     private static void assertRequireInstanceInLeafref(final LeafSchemaNode leaf, final boolean requireInstance) {
-        final LeafrefTypeDefinition leafrefTypeDefnition = (LeafrefTypeDefinition) leaf.getType();
-        assertEquals(requireInstance, leafrefTypeDefnition.requireInstance());
+        assertEquals(requireInstance, assertInstanceOf(LeafrefTypeDefinition.class, leaf.getType()).requireInstance());
     }
 
     @Test
index d6f68a95493b0681590755835a41773aab79e6c4..bd48f3ab179045a4612c64278251e5a6e7f92048 100644 (file)
@@ -11,20 +11,14 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-import com.google.common.collect.Range;
-import java.util.Collection;
-import java.util.List;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.XMLNamespace;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
-import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint;
-import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
 import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition;
 
 class Bug4623Test extends AbstractYangTest {
@@ -39,98 +33,97 @@ class Bug4623Test extends AbstractYangTest {
     @Test
     void testStringTypeWithUnknownSchemaNodeAtTheEndOfTypeDefinition() {
         // when
-        final LeafSchemaNode leaf = (LeafSchemaNode) TYPES.getDataChildByName(
+        final var leaf = (LeafSchemaNode) TYPES.getDataChildByName(
             QName.create(XMLNamespace.of("urn:custom.types.demo"), "leaf-length-pattern-unknown"));
 
         // then
-        final TypeDefinition<?> type = leaf.getType();
+        final var type = leaf.getType();
         assertNotNull(type);
 
         // here are no effective extensions
         assertEquals(0, type.getUnknownSchemaNodes().size());
         assertExtension(leaf);
 
-        final LengthConstraint lengthConstraint = ((StringTypeDefinition) type).getLengthConstraint().get();
-        final List<PatternConstraint> patternConstraints = ((StringTypeDefinition) type).getPatternConstraints();
+        final var lengthConstraint = ((StringTypeDefinition) type).getLengthConstraint().orElseThrow();
+        final var patternConstraints = ((StringTypeDefinition) type).getPatternConstraints();
 
         assertNotNull(lengthConstraint);
         assertNotNull(patternConstraints);
         assertFalse(lengthConstraint.getAllowedRanges().isEmpty());
         assertFalse(patternConstraints.isEmpty());
 
-        final Range<Integer> span = lengthConstraint.getAllowedRanges().span();
+        final var span = lengthConstraint.getAllowedRanges().span();
         assertEquals(Integer.valueOf(2), span.lowerEndpoint());
         assertEquals(Integer.valueOf(10), span.upperEndpoint());
 
-        final PatternConstraint patternConstraint = patternConstraints.get(0);
+        final var patternConstraint = patternConstraints.get(0);
         assertEquals("[0-9a-fA-F]", patternConstraint.getRegularExpressionString());
     }
 
     @Test
     void testStringTypeWithUnknownSchemaNodeBetweenStringRestrictionStatements() {
         // when
-        final LeafSchemaNode leaf = (LeafSchemaNode) TYPES.getDataChildByName(
+        final var leaf = (LeafSchemaNode) TYPES.getDataChildByName(
             QName.create(XMLNamespace.of("urn:custom.types.demo"), "leaf-length-unknown-pattern"));
 
         // then
         assertNotNull(leaf);
 
-        final TypeDefinition<?> type = leaf.getType();
+        final var type = leaf.getType();
         assertNotNull(type);
         assertEquals(0, type.getUnknownSchemaNodes().size());
         assertExtension(leaf);
 
-        final LengthConstraint lengthConstraints = ((StringTypeDefinition) type).getLengthConstraint().get();
-        final List<PatternConstraint> patternConstraints = ((StringTypeDefinition) type).getPatternConstraints();
+        final var lengthConstraints = ((StringTypeDefinition) type).getLengthConstraint().orElseThrow();
+        final var patternConstraints = ((StringTypeDefinition) type).getPatternConstraints();
 
         assertNotNull(lengthConstraints);
         assertNotNull(patternConstraints);
         assertEquals(1, lengthConstraints.getAllowedRanges().asRanges().size());
         assertFalse(patternConstraints.isEmpty());
 
-        final Range<Integer> lengthConstraint = lengthConstraints.getAllowedRanges().span();
+        final var lengthConstraint = lengthConstraints.getAllowedRanges().span();
         assertEquals(Integer.valueOf(2), lengthConstraint.lowerEndpoint());
         assertEquals(Integer.valueOf(10), lengthConstraint.upperEndpoint());
 
-        final PatternConstraint patternConstraint = patternConstraints.get(0);
+        final var patternConstraint = patternConstraints.get(0);
         assertEquals("[0-9a-fA-F]", patternConstraint.getRegularExpressionString());
     }
 
     @Test
     void testStringTypeWithUnknownSchemaNodeOnTheStartOfTypeDefinition() {
         // when
-        final LeafSchemaNode leaf = (LeafSchemaNode) TYPES.getDataChildByName(
-            QName.create(XMLNamespace.of("urn:custom.types.demo"), "leaf-unknown-length-pattern"));
+        final var leaf = (LeafSchemaNode) TYPES.getDataChildByName(
+                QName.create(XMLNamespace.of("urn:custom.types.demo"), "leaf-unknown-length-pattern"));
 
         // then
-        final TypeDefinition<?> type = leaf.getType();
+        final var type = leaf.getType();
         assertNotNull(type);
         assertEquals(0, type.getUnknownSchemaNodes().size());
         assertExtension(leaf);
 
-        final LengthConstraint lengthConstraints =
-            ((StringTypeDefinition) type).getLengthConstraint().get();
+        final var lengthConstraints = ((StringTypeDefinition) type).getLengthConstraint().orElseThrow();
         assertEquals(1, lengthConstraints.getAllowedRanges().asRanges().size());
 
-        final Range<Integer> lengthConstraint = lengthConstraints.getAllowedRanges().span();
+        final var lengthConstraint = lengthConstraints.getAllowedRanges().span();
         assertEquals(Integer.valueOf(2), lengthConstraint.lowerEndpoint());
         assertEquals(Integer.valueOf(10), lengthConstraint.upperEndpoint());
 
-        final List<PatternConstraint> patternConstraints = ((StringTypeDefinition) type).getPatternConstraints();
+        final var patternConstraints = ((StringTypeDefinition) type).getPatternConstraints();
         assertEquals(1, patternConstraints.size());
-        final PatternConstraint patternConstraint = patternConstraints.get(0);
+        final var patternConstraint = patternConstraints.get(0);
         assertEquals("[0-9a-fA-F]", patternConstraint.getRegularExpressionString());
     }
 
     private static void assertExtension(final LeafSchemaNode leaf) {
-        final Collection<? extends UnrecognizedStatement> unknownSchemaNodes = leaf.asEffectiveStatement().getDeclared()
+        final var unknownSchemaNodes = leaf.asEffectiveStatement().getDeclared()
             .findFirstDeclaredSubstatement(TypeStatement.class).orElseThrow()
             .declaredSubstatements(UnrecognizedStatement.class);
         assertEquals(1, unknownSchemaNodes.size());
 
-        final UnrecognizedStatement unknownSchemaNode = unknownSchemaNodes.iterator().next();
+        final var unknownSchemaNode = unknownSchemaNodes.iterator().next();
         assertEquals("unknown", unknownSchemaNode.argument());
         assertEquals(QName.create("urn:simple.extension.typedefs", "unknown"),
             unknownSchemaNode.statementDefinition().getStatementName());
     }
-}
\ No newline at end of file
+}
index a4b6d86925d176c92652fed9b0f01e30bb866189..24d292caee2e3f626af7de99d79aad46834f1eb0 100644 (file)
@@ -11,13 +11,9 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 
-import java.util.List;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaNode;
-import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
 import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
 
@@ -29,44 +25,42 @@ class Bug5396Test extends AbstractYangTest {
         QName root = QName.create("foo", "root");
         QName myLeaf2 = QName.create("foo", "my-leaf2");
 
-        SchemaNode findDataSchemaNode = context.findDataTreeChild(root, myLeaf2).get();
+        var findDataSchemaNode = context.findDataTreeChild(root, myLeaf2).orElseThrow();
 
-        LeafSchemaNode leaf2 = assertInstanceOf(LeafSchemaNode.class, findDataSchemaNode);
-        TypeDefinition<?> type = leaf2.getType();
-
-        UnionTypeDefinition union = assertInstanceOf(UnionTypeDefinition.class, type);
-        List<TypeDefinition<?>> types = union.getTypes();
+        var leaf2 = assertInstanceOf(LeafSchemaNode.class, findDataSchemaNode);
+        var union = assertInstanceOf(UnionTypeDefinition.class, leaf2.getType());
+        var types = union.getTypes();
 
         assertEquals(4, types.size());
 
-        TypeDefinition<?> type0 = types.get(0);
-        TypeDefinition<?> type1 = types.get(1);
-        TypeDefinition<?> type2 = types.get(2);
-        TypeDefinition<?> type3 = types.get(3);
+        var type0 = types.get(0);
+        var type1 = types.get(1);
+        var type2 = types.get(2);
+        var type3 = types.get(3);
 
         assertNotEquals(type0, type1);
         assertNotEquals(type0, type2);
         assertNotEquals(type0, type3);
 
-        StringTypeDefinition stringType0 = assertInstanceOf(StringTypeDefinition.class, type0);
-        StringTypeDefinition stringType1 = assertInstanceOf(StringTypeDefinition.class, type1);
-        StringTypeDefinition stringType2 = assertInstanceOf(StringTypeDefinition.class, type2);
-        StringTypeDefinition stringType3 = assertInstanceOf(StringTypeDefinition.class, type3);
+        var stringType0 = assertInstanceOf(StringTypeDefinition.class, type0);
+        var stringType1 = assertInstanceOf(StringTypeDefinition.class, type1);
+        var stringType2 = assertInstanceOf(StringTypeDefinition.class, type2);
+        var stringType3 = assertInstanceOf(StringTypeDefinition.class, type3);
 
-        final List<PatternConstraint> patternConstraints0 = stringType0.getPatternConstraints();
-        final List<PatternConstraint> patternConstraints1 = stringType1.getPatternConstraints();
-        final List<PatternConstraint> patternConstraints2 = stringType2.getPatternConstraints();
-        final List<PatternConstraint> patternConstraints3 = stringType3.getPatternConstraints();
+        final var patternConstraints0 = stringType0.getPatternConstraints();
+        final var patternConstraints1 = stringType1.getPatternConstraints();
+        final var patternConstraints2 = stringType2.getPatternConstraints();
+        final var patternConstraints3 = stringType3.getPatternConstraints();
 
         assertEquals(1, patternConstraints0.size());
         assertEquals(1, patternConstraints1.size());
         assertEquals(1, patternConstraints2.size());
         assertEquals(1, patternConstraints3.size());
 
-        final PatternConstraint patternConstraint0 = patternConstraints0.get(0);
-        final PatternConstraint patternConstraint1 = patternConstraints1.get(0);
-        final PatternConstraint patternConstraint2 = patternConstraints2.get(0);
-        final PatternConstraint patternConstraint3 = patternConstraints3.get(0);
+        final var patternConstraint0 = patternConstraints0.get(0);
+        final var patternConstraint1 = patternConstraints1.get(0);
+        final var patternConstraint2 = patternConstraints2.get(0);
+        final var patternConstraint3 = patternConstraints3.get(0);
 
         assertEquals("^(?:dp[0-9]+o[0-9]+(d[0-9]+)?)$", patternConstraint0.getJavaPatternString());
         assertEquals("^(?:dp[0-9]+s[0-9]+(f[0-9]+)?(d[0-9]+)?)$", patternConstraint1.getJavaPatternString());
index 3d910a0cabcf80a048eb569cecd5c75eb352feaf..149b81f3448e11042c992b49197a17e35cb540e1 100644 (file)
@@ -17,24 +17,18 @@ import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 
 class Bug5884Test extends AbstractYangTest {
-    private static final String NS = "urn:yang.foo";
-    private static final String REV = "2016-01-01";
-
     @Test
     void testBug5884() {
         final var context = assertEffectiveModelDir("/bugs/bug5884");
-
-        final QName root = QName.create(NS, REV, "main-container");
-        final QName choice = QName.create(NS, REV, "test-choice");
-        final QName testContainerQname = QName.create(NS, REV, "test");
-        final Module foo = context.findModule("foo", Revision.of("2016-01-01")).get();
-        final ContainerSchemaNode rootContainer = (ContainerSchemaNode) context.getDataChildByName(root);
-        final ContainerSchemaNode testContainer = (ContainerSchemaNode) rootContainer.getDataChildByName(
-            testContainerQname);
-        final ChoiceSchemaNode dataChildByName = (ChoiceSchemaNode) testContainer.getDataChildByName(choice);
+        final var root = QName.create("urn:yang.foo", "2016-01-01", "main-container");
+        final var foo = context.findModule("foo", Revision.of("2016-01-01")).orElseThrow();
+        final var rootContainer = assertInstanceOf(ContainerSchemaNode.class, context.getDataChildByName(root));
+        final var testContainer = assertInstanceOf(ContainerSchemaNode.class,
+            rootContainer.getDataChildByName(QName.create(root, "test")));
+        final var dataChildByName = assertInstanceOf(ChoiceSchemaNode.class,
+            testContainer.getDataChildByName(QName.create(root, "test-choice")));
 
         testIterator(foo.getAugmentations().iterator());
         testIterator(dataChildByName.getAvailableAugmentations().iterator());
index 80dc120df61046a6b41196e53932195d383bb1d2..287432ecb2c409076ab0786ef2d009510ce28533 100644 (file)
@@ -17,7 +17,6 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 
@@ -42,8 +41,8 @@ public class Bug6183Test extends AbstractYangTest {
         assertInstanceOf(ContainerSchemaNode.class, context.getDataChildByName(foo("before")));
         assertInstanceOf(ContainerSchemaNode.class, context.getDataChildByName(foo("after")));
 
-        final DataSchemaNode dataChildByName = context.getDataChildByName(foo("my-choice"));
-        final ChoiceSchemaNode myChoice = assertInstanceOf(ChoiceSchemaNode.class, dataChildByName);
+        final var dataChildByName = context.getDataChildByName(foo("my-choice"));
+        final var myChoice = assertInstanceOf(ChoiceSchemaNode.class, dataChildByName);
 
         assertEquals(4, myChoice.getCases().size());
 
@@ -59,12 +58,12 @@ public class Bug6183Test extends AbstractYangTest {
 
         assertEquals(2, implCase.getChildNodes().size());
         assertTrue(getLeafSchemaNode(implCase, "leaf-after-container").isAugmenting());
-        final ContainerSchemaNode implCaseContainer = getContainerSchemaNode(implCase, "implicit-case-container");
+        final var implCaseContainer = getContainerSchemaNode(implCase, "implicit-case-container");
 
         assertEquals(3, implCaseContainer.getChildNodes().size());
         assertTrue(getLeafSchemaNode(implCaseContainer, "leaf-inside-container").isAugmenting());
         assertFalse(getLeafSchemaNode(implCaseContainer, "declared-leaf-in-case-container").isAugmenting());
-        final ContainerSchemaNode declContInCaseCont = getContainerSchemaNode(implCaseContainer,
+        final var declContInCaseCont = getContainerSchemaNode(implCaseContainer,
                 "declared-container-in-case-container");
 
         assertEquals(1, declContInCaseCont.getChildNodes().size());
@@ -72,8 +71,7 @@ public class Bug6183Test extends AbstractYangTest {
 
         assertEquals(2, secondImplCase.getChildNodes().size());
         assertTrue(getLeafSchemaNode(secondImplCase, "leaf-after-second-container").isAugmenting());
-        final ContainerSchemaNode secondImplCaseContainer = getContainerSchemaNode(secondImplCase,
-                "second-implicit-case-container");
+        final var secondImplCaseContainer = getContainerSchemaNode(secondImplCase, "second-implicit-case-container");
 
         assertEquals(2, secondImplCaseContainer.getChildNodes().size());
         assertTrue(getLeafSchemaNode(secondImplCaseContainer, "leaf-inside-second-container").isAugmenting());
@@ -83,13 +81,11 @@ public class Bug6183Test extends AbstractYangTest {
 
     private static ContainerSchemaNode getContainerSchemaNode(final DataNodeContainer parent,
             final String containerName) {
-        final DataSchemaNode dataChildByName = parent.getDataChildByName(foo(containerName));
-        return assertInstanceOf(ContainerSchemaNode.class, dataChildByName);
+        return assertInstanceOf(ContainerSchemaNode.class, parent.getDataChildByName(foo(containerName)));
     }
 
     private static LeafSchemaNode getLeafSchemaNode(final DataNodeContainer parent, final String leafName) {
-        final DataSchemaNode dataChildByName = parent.getDataChildByName(foo(leafName));
-        return assertInstanceOf(LeafSchemaNode.class, dataChildByName);
+        return assertInstanceOf(LeafSchemaNode.class, parent.getDataChildByName(foo(leafName)));
     }
 
     private static QName foo(final String localName) {
index 637696b935577717c417a97bd925fe3f2680f0bc..cfc1901678d4159f0a5a26b051a6d1269d0fddaf 100644 (file)
@@ -8,7 +8,7 @@
 package org.opendaylight.yangtools.yang.stmt;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertSame;
 
 import org.junit.jupiter.api.Test;
@@ -17,7 +17,6 @@ import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.stmt.LeafEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnitsEffectiveStatement;
 
 class Bug6972Test extends AbstractYangTest {
@@ -48,12 +47,9 @@ class Bug6972Test extends AbstractYangTest {
 
     private static UnitsEffectiveStatement getEffectiveUnits(final Module module, final QName containerQName,
             final QName leafQName) {
-        final var cont = (ContainerSchemaNode) module.getDataChildByName(containerQName);
-        assertNotNull(cont);
-        final var leaf = (LeafSchemaNode) cont.getDataChildByName(leafQName);
-        assertNotNull(leaf);
-
-        return ((LeafEffectiveStatement) leaf).streamEffectiveSubstatements(UnitsEffectiveStatement.class)
+        final var cont = assertInstanceOf(ContainerSchemaNode.class, module.getDataChildByName(containerQName));
+        return assertInstanceOf(LeafSchemaNode.class, cont.getDataChildByName(leafQName)).asEffectiveStatement()
+            .streamEffectiveSubstatements(UnitsEffectiveStatement.class)
             .findFirst()
             .orElse(null);
     }
index 62dcb27a11c8003c08cf907846429b7b9773a7ec..85160eae370b7d827b474507c7cd3131c22de752 100644 (file)
@@ -19,8 +19,8 @@ class Bug7440Test extends AbstractYangTest {
         final var schemaContext = assertEffectiveModelDir("/bugs/bug7440");
 
         final var revision = Revision.of("2016-12-23");
-        final var foo = schemaContext.findModule("foo", revision).get();
-        final var bar = schemaContext.findModule("bar", revision).get();
+        final var foo = schemaContext.findModule("foo", revision).orElseThrow();
+        final var bar = schemaContext.findModule("bar", revision).orElseThrow();
 
         final var deviations = foo.getDeviations();
         assertEquals(1, deviations.size());
index c54774dae0b01b0a05b93110258831eed3e7b44d..1388ff6f8f29dcbe2c11025ba2e1a8151c16782f 100644 (file)
@@ -41,7 +41,8 @@ class Bug7480Test {
         final var subFoos = foo.iterator().next().getSubmodules();
         assertEquals(1, subFoos.size());
 
-        final var parentMod = context.findModule(XMLNamespace.of("parent-mod-ns"), Revision.of("2017-09-07")).get();
+        final var parentMod = context.findModule(XMLNamespace.of("parent-mod-ns"), Revision.of("2017-09-07"))
+            .orElseThrow();
         assertEquals(1, parentMod.getSubmodules().size());
     }
 
@@ -49,8 +50,8 @@ class Bug7480Test {
     void missingRelevantImportTest() throws Exception {
         final var ex = assertThrows(SomeModifiersUnresolvedException.class,
             () -> parseYangSources("/bugs/bug7480/files-2", "/bugs/bug7480/lib-2"));
-        final String message = ex.getSuppressed().length > 0
-            ? ex.getSuppressed()[0].getMessage() : ex.getCause().getMessage();
+        final var message = ex.getSuppressed().length > 0 ? ex.getSuppressed()[0].getMessage()
+            : ex.getCause().getMessage();
         assertThat(message, startsWith("Imported module [missing-lib] was not found."));
     }
 
@@ -87,7 +88,7 @@ class Bug7480Test {
     }
 
     private static EffectiveModelContext parseYangSources(final String yangFilesDirectoryPath,
-        final String yangLibsDirectoryPath) throws Exception {
+            final String yangLibsDirectoryPath) throws Exception {
         return RFC7950Reactors.defaultReactor().newBuild()
             .addSources(TestUtils.loadSources(yangFilesDirectoryPath))
             .addLibSources(TestUtils.loadSources(yangLibsDirectoryPath))
index d1681b07b03c0c164ba112cee782e70bb76593f8..115c29274eb335cb5a51c138d61e22e8cc987f46 100644 (file)
@@ -8,6 +8,7 @@
 package org.opendaylight.yangtools.yang.stmt;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.Optional;
@@ -15,29 +16,27 @@ import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 
 class Bug9244Test extends AbstractYangTest {
     @Test
     void testDeviateReplaceOfImplicitSubstatements() {
         final var schemaContext = assertEffectiveModelDir("/bugs/bug9244/");
 
-        final Module barModule = schemaContext.findModule("bar", Revision.of("2017-10-13")).get();
-        final ContainerSchemaNode barCont = (ContainerSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "bar-cont"));
+        final var barModule = schemaContext.findModule("bar", Revision.of("2017-10-13")).orElseThrow();
+        final var barCont = assertInstanceOf(ContainerSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "bar-cont")));
         assertEquals(Optional.of(Boolean.FALSE), barCont.effectiveConfig());
 
-        final LeafListSchemaNode barLeafList = (LeafListSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "bar-leaf-list"));
-        final ElementCountConstraint constraint = barLeafList.getElementCountConstraint().get();
+        final var barLeafList = assertInstanceOf(LeafListSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "bar-leaf-list")));
+        final var constraint = barLeafList.getElementCountConstraint().orElseThrow();
         assertEquals(5, constraint.getMinElements());
         assertEquals(10, constraint.getMaxElements());
 
-        final LeafSchemaNode barLeaf = (LeafSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "bar-leaf"));
+        final var barLeaf = assertInstanceOf(LeafSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "bar-leaf")));
         assertTrue(barLeaf.isMandatory());
     }
 }
index 135e6551bdf7fd5329869c7bd6d2f5d996c3bc9e..6ec005cb2030230b2eb9ecc28aeb4d254c7ccf83 100644 (file)
@@ -43,8 +43,8 @@ class CaseStmtTest extends AbstractYangTest {
     void setup() {
         schema = assertEffectiveModelDir("/case-test");
         Revision rev = Revision.of("2015-09-09");
-        rootFoo = schema.findModule("foo", rev).get();
-        rootBar = schema.findModule("bar", rev).get();
+        rootFoo = schema.findModule("foo", rev).orElseThrow();
+        rootBar = schema.findModule("bar", rev).orElseThrow();
         assertNotNull(rootFoo);
         assertNotNull(rootBar);
         qnameFoo = QNameModule.create(XMLNamespace.of("foo"), rev);
index a170279e63ee67e7bb36bfe7afc79ae61b73bad2..df7fbd4a11ef3ad3b00d6143a371e6da9c84608f 100644 (file)
@@ -8,21 +8,21 @@
 package org.opendaylight.yangtools.yang.stmt;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
 import org.junit.jupiter.api.Test;
-import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 
 class ChoiceStmtTest extends AbstractModelTest {
     @Test
     void choiceAndCaseTest() {
-        final ContainerSchemaNode container = (ContainerSchemaNode) FOO.getDataChildByName(fooQName("transfer"));
-        final ChoiceSchemaNode choice = (ChoiceSchemaNode) container.getDataChildByName(fooQName("how"));
+        final var container = assertInstanceOf(ContainerSchemaNode.class, FOO.getDataChildByName(fooQName("transfer")));
+        final var choice = assertInstanceOf(ChoiceSchemaNode.class, container.getDataChildByName(fooQName("how")));
         assertEquals(5, choice.getCases().size());
 
-        CaseSchemaNode caseNode = choice.findCaseNodes("input").iterator().next();
+        var caseNode = choice.findCaseNodes("input").iterator().next();
         assertNotNull(caseNode);
         caseNode = choice.findCaseNodes("output").iterator().next();
         assertNotNull(caseNode);
@@ -32,6 +32,6 @@ class ChoiceStmtTest extends AbstractModelTest {
         assertNotNull(caseNode);
         caseNode = choice.findCaseNodes("manual").iterator().next();
         assertNotNull(caseNode);
-        assertEquals("interval", choice.getDefaultCase().get().getQName().getLocalName());
+        assertEquals("interval", choice.getDefaultCase().orElseThrow().getQName().getLocalName());
     }
 }
index 3a50202d51f618ecc91133716fd21ac2913bbcf6..075be719947e318bd11bf2d123c946f7a1479363 100644 (file)
@@ -12,38 +12,37 @@ import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import java.util.Collection;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Revision;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.model.api.UsesNode;
 import org.opendaylight.yangtools.yang.model.api.stmt.RefineEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UsesEffectiveStatement;
 
 class ControllerStmtParserTest extends AbstractYangTest {
-    @Test
-    void test() {
-        final var context = assertEffectiveModelDir("/sal-broker-impl");
-        salDomBrokerImplModuleTest(context);
-        configModuleTest(context);
+    private static EffectiveModelContext CONTEXT;
+
+    @BeforeEach
+    void before() {
+        CONTEXT = assertEffectiveModelDir("/sal-broker-impl");
     }
 
-    private static void salDomBrokerImplModuleTest(final SchemaContext context) {
-        final Module module = context.findModule("opendaylight-sal-dom-broker-impl", Revision.of("2013-10-28")).get();
+    @Test
+    public void salDomBrokerImplModuleTest() {
+        final var module = CONTEXT.findModule("opendaylight-sal-dom-broker-impl", Revision.of("2013-10-28"))
+            .orElseThrow();
 
         boolean checked = false;
-        for (final AugmentationSchemaNode augmentationSchema : module.getAugmentations()) {
-            final DataSchemaNode dataNode = augmentationSchema.dataChildByName(
+        for (var augmentationSchema : module.getAugmentations()) {
+            final var dataNode = augmentationSchema.dataChildByName(
                 QName.create(module.getQNameModule(), "dom-broker-impl"));
             if (dataNode instanceof CaseSchemaNode caseNode) {
                 final DataSchemaNode dataNode2 = caseNode.dataChildByName(
@@ -53,14 +52,13 @@ class ControllerStmtParserTest extends AbstractYangTest {
                         .getDataChildByName(QName.create(module.getQNameModule(), "type"));
                     assertEquals(0, leaf.getUnknownSchemaNodes().size());
 
-                    final Collection<? extends UnrecognizedStatement> unknownSchemaNodes =
-                        containerNode.asEffectiveStatement()
+                    final var unknownSchemaNodes = containerNode.asEffectiveStatement()
                             .findFirstEffectiveSubstatement(UsesEffectiveStatement.class).orElseThrow()
                             .findFirstEffectiveSubstatement(RefineEffectiveStatement.class).orElseThrow()
                             .getDeclared().declaredSubstatements(UnrecognizedStatement.class);
 
 
-                    final UnrecognizedStatement unknownSchemaNode = unknownSchemaNodes.iterator().next();
+                    final var unknownSchemaNode = unknownSchemaNodes.iterator().next();
                     assertEquals("sal:dom-async-data-broker", unknownSchemaNode.argument());
                     checked = true;
                 }
@@ -69,9 +67,11 @@ class ControllerStmtParserTest extends AbstractYangTest {
         assertTrue(checked);
     }
 
-    private static void configModuleTest(final SchemaContext context) {
-        final Module configModule = context.findModule("config", Revision.of("2013-04-05")).get();
-        final Module module = context.findModule("opendaylight-sal-dom-broker-impl", Revision.of("2013-10-28")).get();
+    @Test
+    public void configModuleTest() {
+        final var configModule = CONTEXT.findModule("config", Revision.of("2013-04-05")).orElseThrow();
+        final var module = CONTEXT.findModule("opendaylight-sal-dom-broker-impl", Revision.of("2013-10-28"))
+            .orElseThrow();
 
         final DataSchemaNode dataNode = configModule.getDataChildByName(QName.create(configModule.getQNameModule(),
             "modules"));
@@ -104,25 +104,23 @@ class ControllerStmtParserTest extends AbstractYangTest {
         final ContainerSchemaNode schemaServiceContainer = assertInstanceOf(ContainerSchemaNode.class, schemaService);
 
         assertEquals(1, schemaServiceContainer.getUses().size());
-        final UsesNode uses = schemaServiceContainer.getUses().iterator().next();
+        final var uses = schemaServiceContainer.getUses().iterator().next();
         final QName groupingQName = QName.create("urn:opendaylight:params:xml:ns:yang:controller:config", "2013-04-05",
             "service-ref");
         assertEquals(groupingQName, uses.getSourceGrouping().getQName());
         assertEquals(0, getChildNodeSizeWithoutUses(schemaServiceContainer));
 
-        final DataSchemaNode type = schemaServiceContainer.getDataChildByName(QName.create(module.getQNameModule(),
-            "type"));
+        final var type = schemaServiceContainer.getDataChildByName(QName.create(module.getQNameModule(), "type"));
         assertEquals(0, type.getUnknownSchemaNodes().size());
 
-        final Collection<? extends UnrecognizedStatement> typeUnknownSchemaNodes =
-            schemaServiceContainer.asEffectiveStatement()
+        final var typeUnknownSchemaNodes = schemaServiceContainer.asEffectiveStatement()
                 .findFirstEffectiveSubstatement(UsesEffectiveStatement.class).orElseThrow()
                 .findFirstEffectiveSubstatement(RefineEffectiveStatement.class).orElseThrow()
                 .getDeclared().declaredSubstatements(UnrecognizedStatement.class);
         assertEquals(1, typeUnknownSchemaNodes.size());
 
 
-        final UnrecognizedStatement typeUnknownSchemaNode = typeUnknownSchemaNodes.iterator().next();
+        final var typeUnknownSchemaNode = typeUnknownSchemaNodes.iterator().next();
         assertEquals("sal:schema-service", typeUnknownSchemaNode.argument());
         assertEquals(QName.create(groupingQName, "required-identity"),
             typeUnknownSchemaNode.statementDefinition().getStatementName());
index f060fb217171f8d8f78dd16b527cf0924528f3cd..64dd98d9d32304d5ab1c1c1c46aa5cc83753c1d7 100644 (file)
@@ -28,38 +28,27 @@ import org.opendaylight.yangtools.yang.model.api.AnydataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint;
-import org.opendaylight.yangtools.yang.model.api.InputSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
-import org.opendaylight.yangtools.yang.model.api.OutputSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.Uint32TypeDefinition;
 
 class DeviationResolutionTest extends AbstractYangTest {
     @Test
     void testDeviateNotSupported() {
         final var schemaContext = assertEffectiveModelDir("/deviation-resolution-test/deviation-not-supported");
-        assertNotNull(schemaContext);
 
-        final Module importedModule = schemaContext.findModule("imported", Revision.of("2017-01-20")).get();
-        final ContainerSchemaNode myContA = (ContainerSchemaNode) importedModule.getDataChildByName(
-            QName.create(importedModule.getQNameModule(), "my-cont-a"));
-        assertNotNull(myContA);
+        final var importedModule = schemaContext.findModule("imported", Revision.of("2017-01-20")).orElseThrow();
+        final var myContA = assertInstanceOf(ContainerSchemaNode.class,
+            importedModule.getDataChildByName(QName.create(importedModule.getQNameModule(), "my-cont-a")));
 
         assertEquals(1, myContA.getChildNodes().size());
         assertNotNull(myContA.getDataChildByName(QName.create(importedModule.getQNameModule(), "my-leaf-a3")));
 
-        final ContainerSchemaNode myContB = (ContainerSchemaNode) importedModule.dataChildByName(
-            QName.create(importedModule.getQNameModule(), "my-cont-b"));
-        assertNull(myContB);
+        assertNull(importedModule.dataChildByName(QName.create(importedModule.getQNameModule(), "my-cont-b")));
 
-        final ContainerSchemaNode myContC = (ContainerSchemaNode) importedModule.getDataChildByName(
-            QName.create(importedModule.getQNameModule(), "my-cont-c"));
-        assertNotNull(myContC);
+        final var myContC = assertInstanceOf(ContainerSchemaNode.class,
+            importedModule.getDataChildByName(QName.create(importedModule.getQNameModule(), "my-cont-c")));
 
         assertEquals(2, myContC.getChildNodes().size());
         assertNotNull(myContC.getDataChildByName(QName.create(importedModule.getQNameModule(), "my-leaf-c1")));
@@ -72,46 +61,41 @@ class DeviationResolutionTest extends AbstractYangTest {
             "/deviation-resolution-test/deviation-add/foo.yang",
             "/deviation-resolution-test/deviation-add/bar.yang");
 
-        final Module barModule = schemaContext.findModule("bar", Revision.of("2017-01-20")).get();
-        final LeafListSchemaNode myLeafList = (LeafListSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-leaf-list"));
-        assertNotNull(myLeafList);
+        final var barModule = schemaContext.findModule("bar", Revision.of("2017-01-20")).orElseThrow();
+        final var myLeafList = assertInstanceOf(LeafListSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "my-leaf-list")));
 
         assertEquals(Optional.of(Boolean.FALSE), myLeafList.effectiveConfig());
         assertEquals(3, myLeafList.getDefaults().size());
 
-        final ElementCountConstraint constraint = myLeafList.getElementCountConstraint().get();
+        final var constraint = myLeafList.getElementCountConstraint().orElseThrow();
         assertEquals((Object) 10, constraint.getMaxElements());
         assertEquals((Object) 5, constraint.getMinElements());
         assertNotNull(myLeafList.getType().getUnits());
 
-        final ListSchemaNode myList = (ListSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-list"));
-        assertNotNull(myList);
+        final var myList = assertInstanceOf(ListSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "my-list")));
         assertEquals(2, myList.getUniqueConstraints().size());
 
-        final ChoiceSchemaNode myChoice = (ChoiceSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-choice"));
-        assertNotNull(myChoice);
-        assertEquals("c2", myChoice.getDefaultCase().get().getQName().getLocalName());
+        final var myChoice = assertInstanceOf(ChoiceSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "my-choice")));
+        assertEquals("c2", myChoice.getDefaultCase().orElseThrow().getQName().getLocalName());
 
-        final RpcDefinition myRpc = barModule.getRpcs().iterator().next();
-        final InputSchemaNode input = myRpc.getInput();
+        final var myRpc = barModule.getRpcs().iterator().next();
+        final var input = myRpc.getInput();
         assertEquals(2, input.getMustConstraints().size());
-        final OutputSchemaNode output = myRpc.getOutput();
+        final var output = myRpc.getOutput();
         assertEquals(2, output.getMustConstraints().size());
 
-        final NotificationDefinition myNotification = barModule.getNotifications().iterator().next();
+        final var myNotification = barModule.getNotifications().iterator().next();
         assertEquals(2, myNotification.getMustConstraints().size());
 
-        final AnyxmlSchemaNode myAnyxml = (AnyxmlSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-anyxml"));
-        assertNotNull(myAnyxml);
+        final var myAnyxml = assertInstanceOf(AnyxmlSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "my-anyxml")));
         assertTrue(myAnyxml.isMandatory());
 
-        final AnydataSchemaNode myAnyData = (AnydataSchemaNode) barModule.findDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-anydata")).orElse(null);
-        assertNotNull(myAnyData);
+        final var myAnyData = assertInstanceOf(AnydataSchemaNode.class,
+            barModule.findDataChildByName(QName.create(barModule.getQNameModule(), "my-anydata")).orElseThrow());
         assertTrue(myAnyData.isMandatory());
     }
 
@@ -121,40 +105,32 @@ class DeviationResolutionTest extends AbstractYangTest {
             "/deviation-resolution-test/deviation-replace/foo.yang",
             "/deviation-resolution-test/deviation-replace/bar.yang");
 
-        final Module barModule = schemaContext.findModule("bar", Revision.of("2017-01-20")).get();
-        assertNotNull(barModule);
-
-        final LeafSchemaNode myLeaf = (LeafSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-leaf"));
-        assertNotNull(myLeaf);
+        final var barModule = schemaContext.findModule("bar", Revision.of("2017-01-20")).orElseThrow();
+        final var myLeaf = assertInstanceOf(LeafSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "my-leaf")));
 
         assertInstanceOf(Uint32TypeDefinition.class, myLeaf.getType());
         assertEquals(Optional.of("bytes"), myLeaf.getType().getUnits());
         assertEquals(Optional.of("10"), myLeaf.getType().getDefaultValue());
 
-        final LeafListSchemaNode myLeafList = (LeafListSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-leaf-list-test"));
-        assertNotNull(myLeafList);
-
-        final ElementCountConstraint constraint = myLeafList.getElementCountConstraint().get();
+        final var myLeafList = assertInstanceOf(LeafListSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "my-leaf-list-test")));
+        final var constraint = myLeafList.getElementCountConstraint().orElseThrow();
         assertEquals((Object) 6, constraint.getMaxElements());
         assertEquals((Object) 3, constraint.getMinElements());
         assertEquals(Optional.of(Boolean.TRUE), myLeafList.effectiveConfig());
 
-        final ChoiceSchemaNode myChoice = (ChoiceSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-choice"));
-        assertNotNull(myChoice);
-
+        final var myChoice = assertInstanceOf(ChoiceSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "my-choice")));
         assertFalse(myChoice.isMandatory());
         // FIXME: we need a supported extension to properly test this
         assertEquals(0, myChoice.getUnknownSchemaNodes().size());
 
-        final ContainerSchemaNode myCont = (ContainerSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-cont"));
-        assertNotNull(myCont);
+        final var myCont = assertInstanceOf(ContainerSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "my-cont")));
 
-        final LeafSchemaNode myAugLeaf = (LeafSchemaNode) myCont.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-aug-leaf"));
+        final var myAugLeaf = assertInstanceOf(LeafSchemaNode.class,
+            myCont.getDataChildByName(QName.create(barModule.getQNameModule(), "my-aug-leaf")));
         assertNotNull(myAugLeaf);
         assertInstanceOf(Uint32TypeDefinition.class, myAugLeaf.getType());
         assertEquals(Optional.of("seconds"), myAugLeaf.getType().getUnits());
@@ -162,9 +138,8 @@ class DeviationResolutionTest extends AbstractYangTest {
         // FIXME: we need a supported extension to properly test this
         assertEquals(0, myAugLeaf.getUnknownSchemaNodes().size());
 
-        final LeafSchemaNode myUsedLeaf = (LeafSchemaNode) myCont.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-used-leaf"));
-        assertNotNull(myUsedLeaf);
+        final var myUsedLeaf = assertInstanceOf(LeafSchemaNode.class,
+            myCont.getDataChildByName(QName.create(barModule.getQNameModule(), "my-used-leaf")));
         assertInstanceOf(Uint32TypeDefinition.class, myUsedLeaf.getType());
         assertEquals(Optional.of("weeks"), myUsedLeaf.getType().getUnits());
         assertEquals(Optional.of("new-def-val"), myUsedLeaf.getType().getDefaultValue());
@@ -178,43 +153,35 @@ class DeviationResolutionTest extends AbstractYangTest {
             "/deviation-resolution-test/deviation-delete/foo.yang",
             "/deviation-resolution-test/deviation-delete/bar.yang");
 
-        final Module barModule = schemaContext.findModule("bar", Revision.of("2017-01-20")).get();
-        final LeafSchemaNode myLeaf = (LeafSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-leaf"));
-        assertNotNull(myLeaf);
+        final var barModule = schemaContext.findModule("bar", Revision.of("2017-01-20")).orElseThrow();
+        final var myLeaf = assertInstanceOf(LeafSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "my-leaf")));
 
         assertEquals(Optional.empty(), myLeaf.getType().getDefaultValue());
         assertEquals(Optional.empty(), myLeaf.getType().getUnits());
         assertEquals(0, myLeaf.getUnknownSchemaNodes().size());
 
-        final LeafListSchemaNode myLeafList = (LeafListSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-leaf-list"));
-        assertNotNull(myLeafList);
-
+        final var myLeafList = assertInstanceOf(LeafListSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "my-leaf-list")));
         assertEquals(0, myLeafList.getDefaults().size());
         assertEquals(0, myLeafList.getMustConstraints().size());
 
-        final ListSchemaNode myList = (ListSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-list"));
-        assertNotNull(myList);
-
+        final var myList = assertInstanceOf(ListSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "my-list")));
         assertEquals(0, myList.getUniqueConstraints().size());
         assertEquals(0, myList.getUnknownSchemaNodes().size());
 
-        final ContainerSchemaNode myCont = (ContainerSchemaNode) barModule.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-cont"));
-        assertNotNull(myCont);
-
-        final LeafSchemaNode myAugLeaf = (LeafSchemaNode) myCont.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-aug-leaf"));
-        assertNotNull(myAugLeaf);
+        final var myCont = assertInstanceOf(ContainerSchemaNode.class,
+            barModule.getDataChildByName(QName.create(barModule.getQNameModule(), "my-cont")));
+        final var myAugLeaf = assertInstanceOf(LeafSchemaNode.class,
+            myCont.getDataChildByName(QName.create(barModule.getQNameModule(), "my-aug-leaf")));
         assertEquals(Optional.empty(), myAugLeaf.getType().getDefaultValue());
         assertEquals(Optional.empty(), myAugLeaf.getType().getUnits());
         assertEquals(0, myAugLeaf.getMustConstraints().size());
         assertEquals(0, myAugLeaf.getUnknownSchemaNodes().size());
 
-        final LeafSchemaNode myUsedLeaf = (LeafSchemaNode) myCont.getDataChildByName(
-            QName.create(barModule.getQNameModule(), "my-used-leaf"));
+        final var myUsedLeaf = assertInstanceOf(LeafSchemaNode.class,
+            myCont.getDataChildByName(QName.create(barModule.getQNameModule(), "my-used-leaf")));
         assertNotNull(myUsedLeaf);
         assertEquals(Optional.empty(), myUsedLeaf.getType().getDefaultValue());
         assertEquals(Optional.empty(), myUsedLeaf.getType().getUnits());
@@ -254,36 +221,36 @@ class DeviationResolutionTest extends AbstractYangTest {
 
     @Test
     void shouldFailOnInvalidDeviateAdd() {
-        assertInferenceException(startsWith("Deviation cannot add substatement (urn:ietf:params:xml:ns:yang"
-            + ":yin:1)config to target node (bar?revision=2017-01-20)my-leaf because it is already defined in"
-            + " target and can appear only once."),
+        assertInferenceException(startsWith("""
+            Deviation cannot add substatement (urn:ietf:params:xml:ns:yang:yin:1)config to target node \
+            (bar?revision=2017-01-20)my-leaf because it is already defined in target and can appear only once."""),
             "/deviation-resolution-test/deviation-add/foo-invalid.yang",
             "/deviation-resolution-test/deviation-add/bar-invalid.yang");
     }
 
     @Test
     void shouldFailOnInvalidDeviateAdd2() {
-        assertInferenceException(startsWith("Deviation cannot add substatement (urn:ietf:params:xml:ns:yang"
-            + ":yin:1)default to target node (bar?revision=2017-01-20)my-leaf because it is already defined in"
-            + " target and can appear only once."),
+        assertInferenceException(startsWith("""
+            Deviation cannot add substatement (urn:ietf:params:xml:ns:yang:yin:1)default to target node \
+            (bar?revision=2017-01-20)my-leaf because it is already defined in target and can appear only once."""),
             "/deviation-resolution-test/deviation-add/foo-invalid-2.yang",
             "/deviation-resolution-test/deviation-add/bar-invalid-2.yang");
     }
 
     @Test
     void shouldFailOnInvalidDeviateAdd3() {
-        assertInferenceException(startsWith("Deviation cannot add substatement (urn:ietf:params:xml:ns:yang"
-            + ":yin:1)default to target node (bar?revision=2017-02-01)my-used-leaf because it is already "
-            + "defined in target and can appear only once."),
+        assertInferenceException(startsWith("""
+            Deviation cannot add substatement (urn:ietf:params:xml:ns:yang:yin:1)default to target node \
+            (bar?revision=2017-02-01)my-used-leaf because it is already defined in target and can appear only once."""),
             "/deviation-resolution-test/deviation-add/foo-invalid-4.yang",
             "/deviation-resolution-test/deviation-add/bar-invalid-4.yang");
     }
 
     @Test
     void shouldFailOnInvalidDeviateReplace() {
-        assertInferenceException(startsWith("Deviation cannot replace substatement "
-            + "(urn:ietf:params:xml:ns:yang:yin:1)units in target node (bar?revision=2017-01-20)my-leaf "
-            + "because it does not exist in target node."),
+        assertInferenceException(startsWith("""
+            Deviation cannot replace substatement (urn:ietf:params:xml:ns:yang:yin:1)units in target node \
+            (bar?revision=2017-01-20)my-leaf because it does not exist in target node."""),
             "/deviation-resolution-test/deviation-replace/foo-invalid.yang",
             "/deviation-resolution-test/deviation-replace/bar-invalid.yang");
     }
@@ -291,9 +258,8 @@ class DeviationResolutionTest extends AbstractYangTest {
     @Test
     @SuppressWarnings("checkstyle:regexpSinglelineJava")
     void shouldLogInvalidDeviateReplaceAttempt() throws Exception {
-        final PrintStream stdout = System.out;
-        final ByteArrayOutputStream output = new ByteArrayOutputStream();
-        final String testLog;
+        final var stdout = System.out;
+        final var output = new ByteArrayOutputStream();
 
         System.setOut(new PrintStream(output, true, StandardCharsets.UTF_8));
 
@@ -301,12 +267,11 @@ class DeviationResolutionTest extends AbstractYangTest {
             "/deviation-resolution-test/deviation-replace/foo-invalid-2.yang",
             "/deviation-resolution-test/deviation-replace/bar-invalid-2.yang");
 
-        testLog = output.toString();
+        final var testLog = output.toString();
         System.setOut(stdout);
-        assertThat(testLog, containsString(
-            "Deviation cannot replace substatement (urn:ietf:params:xml:ns:yang:yin:1)default in target leaf-list "
-                + "(bar?revision=2017-01-20)my-leaf-list because a leaf-list can have multiple "
-                + "default statements."));
+        assertThat(testLog, containsString("""
+            Deviation cannot replace substatement (urn:ietf:params:xml:ns:yang:yin:1)default in target leaf-list \
+            (bar?revision=2017-01-20)my-leaf-list because a leaf-list can have multiple default statements."""));
     }
 
     @Test
index a374b45f911f97fe681e8ee87d118b87589c55b3..49f0416b38e9fd7c6be988e4258facf33937ed1c 100644 (file)
@@ -19,35 +19,33 @@ import com.google.common.collect.Iterables;
 import java.util.Optional;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.Revision;
-import org.opendaylight.yangtools.yang.model.api.DeviateDefinition;
 import org.opendaylight.yangtools.yang.model.api.DeviateKind;
 import org.opendaylight.yangtools.yang.model.api.Deviation;
-import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
 import org.opendaylight.yangtools.yang.model.api.type.Uint32TypeDefinition;
 import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.RFC7950Reactors;
-import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
+import org.opendaylight.yangtools.yang.parser.rfc7950.repo.YangStatementStreamSource;
 
 class DeviationStmtTest {
-
-    private static final StatementStreamSource FOO_MODULE = sourceForResource("/deviation-stmt-test/foo.yang");
-    private static final StatementStreamSource FOO_IMP_MODULE = sourceForResource("/deviation-stmt-test/foo-imp.yang");
-    private static final StatementStreamSource BAR_MODULE = sourceForResource("/deviation-stmt-test/bar.yang");
-    private static final StatementStreamSource BAR_IMP_MODULE = sourceForResource("/deviation-stmt-test/bar-imp.yang");
+    private static final YangStatementStreamSource FOO_MODULE = sourceForResource("/deviation-stmt-test/foo.yang");
+    private static final YangStatementStreamSource FOO_IMP_MODULE =
+        sourceForResource("/deviation-stmt-test/foo-imp.yang");
+    private static final YangStatementStreamSource BAR_MODULE = sourceForResource("/deviation-stmt-test/bar.yang");
+    private static final YangStatementStreamSource BAR_IMP_MODULE =
+        sourceForResource("/deviation-stmt-test/bar-imp.yang");
 
     @Test
-    void testDeviationAndDeviate() throws ReactorException {
+    void testDeviationAndDeviate() throws Exception {
         final var schemaContext = RFC7950Reactors.defaultReactor().newBuild()
             .addSources(FOO_MODULE, FOO_IMP_MODULE, BAR_MODULE, BAR_IMP_MODULE)
             .buildEffective();
         assertNotNull(schemaContext);
 
-        Module testModule = schemaContext.findModule("foo", Revision.of("2016-06-23")).get();
+        var testModule = schemaContext.findModule("foo", Revision.of("2016-06-23")).orElseThrow();
         var deviations = testModule.getDeviations();
         assertEquals(4, deviations.size());
 
-        for (Deviation deviation : deviations) {
+        for (var deviation : deviations) {
             final var deviates = deviation.getDeviates();
 
             final String targetLocalName = Iterables.getLast(deviation.getTargetPath().getNodeIdentifiers())
@@ -64,7 +62,7 @@ class DeviationStmtTest {
                 assertTrue(deviates.iterator().next().getDeviatedMandatory());
             } else if ("test-leaf-list".equals(targetLocalName)) {
                 assertEquals(3, deviates.size());
-                for (DeviateDefinition deviate : deviates) {
+                for (var deviate : deviates) {
                     if (DeviateKind.ADD.equals(deviate.getDeviateType())) {
                         assertEquals(12, deviate.getDeviatedMaxElements().intValue());
                     } else if (DeviateKind.REPLACE.equals(deviate.getDeviateType())) {
@@ -82,7 +80,7 @@ class DeviationStmtTest {
             }
         }
 
-        testModule = schemaContext.findModule("bar", Revision.of("2016-09-22")).get();
+        testModule = schemaContext.findModule("bar", Revision.of("2016-09-22")).orElseThrow();
         assertNotNull(testModule);
 
         deviations = testModule.getDeviations();
@@ -96,7 +94,7 @@ class DeviationStmtTest {
         Deviation deviation6 = null;
         Deviation deviation7 = null;
 
-        for (Deviation deviation : deviations) {
+        for (var deviation : deviations) {
             final var deviates = deviation.getDeviates();
             final String targetLocalName = Iterables.getLast(deviation.getTargetPath().getNodeIdentifiers())
                 .getLocalName();
@@ -139,7 +137,7 @@ class DeviationStmtTest {
         assertNotEquals(null, deviation1);
         assertNotEquals("str", deviation1);
 
-        DeviateDefinition deviate = deviation1.getDeviates().iterator().next();
+        var deviate = deviation1.getDeviates().iterator().next();
         assertEquals(deviate, deviate);
         assertNotEquals(null, deviate);
         assertNotEquals("str", deviate);
index 292980a8828f99f3b538110b973023e3f68b33aa..d6e9fec241852b3a8aa8b106fd3a2b0deba6f7ce 100644 (file)
@@ -160,17 +160,16 @@ class EffectiveModulesAndSubmodulesTest {
     }
 
     private static void getDataChildByNameSubTest(final EffectiveModelContext result, final Module root) {
-        final DataSchemaNode containerInRoot = result.getDataChildByName(QName
-            .create(root.getQNameModule(), "container-in-root-module"));
-        assertNotNull(containerInRoot);
+        final var containerInRoot = result.getDataChildByName(
+            QName.create(root.getQNameModule(), "container-in-root-module"));
         assertEquals(Optional.of("desc"), containerInRoot.getDescription());
     }
 
     private static void findModulesSubTest(final EffectiveModelContext result, final Module root,
             final Module imported) {
-        final var foundRoot = result.findModule("root-module").get();
+        final var foundRoot = result.findModule("root-module").orElseThrow();
         final var foundRoots = result.findModules(XMLNamespace.of("root-module"));
-        final var foundRoot3 = result.findModule(XMLNamespace.of("root-module")).get();
+        final var foundRoot3 = result.findModule(XMLNamespace.of("root-module")).orElseThrow();
 
         assertNotNull(foundRoot);
         assertNotNull(foundRoots);
@@ -184,9 +183,9 @@ class EffectiveModulesAndSubmodulesTest {
         assertEquals(root, foundRoot2);
         assertEquals(root, foundRoot3);
 
-        final var foundImported = result.findModule("imported-module").get();
+        final var foundImported = result.findModule("imported-module").orElseThrow();
         final var foundImporteds = result.findModules(XMLNamespace.of("imported-module"));
-        final var foundImported3 = result.findModule(XMLNamespace.of("imported-module")).get();
+        final var foundImported3 = result.findModule(XMLNamespace.of("imported-module")).orElseThrow();
 
         assertNotNull(foundImported);
         assertNotNull(foundImporteds);
index e28641900d25a9c6c92ec7edd170bb6797b5ae19..2791e870ec9ae2d57eda3478ce29c4757fe5cc50 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.stmt;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
@@ -28,7 +29,6 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeDefinitionAware;
 import org.opendaylight.yangtools.yang.model.api.stmt.TypeEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.type.BinaryTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition.Bit;
 import org.opendaylight.yangtools.yang.model.api.type.BooleanTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.EmptyTypeDefinition;
@@ -36,8 +36,6 @@ import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.InstanceIdentifierTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint;
-import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
 import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
 
@@ -62,12 +60,13 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
 
     @Test
     void testBinary() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-binary"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-binary")));
         assertNotNull(currentLeaf.getType());
 
-        final BinaryTypeDefinition binaryEff = (BinaryTypeDefinition)
-            ((TypeEffectiveStatement<?>) ((LeafEffectiveStatement) currentLeaf)
-                .effectiveSubstatements().iterator().next()).getTypeDefinition();
+        final var binaryEff = assertInstanceOf(BinaryTypeDefinition.class,
+            assertInstanceOf(TypeEffectiveStatement.class, currentLeaf.asEffectiveStatement()
+                .effectiveSubstatements().iterator().next()).getTypeDefinition());
 
         assertNull(binaryEff.getBaseType());
         assertEquals(Optional.empty(), binaryEff.getUnits());
@@ -82,16 +81,16 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
 
     @Test
     void testBits() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-bits"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-bits")));
         assertNotNull(currentLeaf.getType());
 
-        final var bitsEffIter = ((BitsTypeDefinition) currentLeaf.getType()).getBits().iterator();
-        final Bit bitEff = bitsEffIter.next();
-        final Bit bitEffSecond = bitsEffIter.next();
+        final var bitsEffIter = assertInstanceOf(BitsTypeDefinition.class, currentLeaf.getType()).getBits().iterator();
+        final var bitEff = bitsEffIter.next();
+        final var bitEffSecond = bitsEffIter.next();
 
-        final BitsTypeDefinition bitsEff = (BitsTypeDefinition) ((TypeDefinitionAware)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next())
-            .getTypeDefinition();
+        final var bitsEff = assertInstanceOf(BitsTypeDefinition.class, assertInstanceOf(TypeDefinitionAware.class,
+            currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next()).getTypeDefinition());
 
         assertNull(bitsEff.getBaseType());
         assertNotNull(bitsEff.getQName());
@@ -124,11 +123,12 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
 
     @Test
     void testBoolean() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-boolean"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-boolean")));
         assertNotNull(currentLeaf.getType());
-        final BooleanTypeDefinition booleanEff = (BooleanTypeDefinition) ((TypeEffectiveStatement<?>)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next())
-            .getTypeDefinition();
+        final var booleanEff = assertInstanceOf(BooleanTypeDefinition.class,
+            assertInstanceOf(TypeEffectiveStatement.class,
+                currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next()).getTypeDefinition());
 
         assertNull(booleanEff.getBaseType());
         assertEquals(Optional.empty(), booleanEff.getUnits());
@@ -143,11 +143,11 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
 
     @Test
     void testDecimal64() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-decimal64"));
-        assertNotNull(currentLeaf.getType());
-        final DecimalTypeDefinition decimal64Eff = (DecimalTypeDefinition) ((TypeDefinitionAware)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next())
-            .getTypeDefinition();
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-decimal64")));
+        final var decimal64Eff = assertInstanceOf(DecimalTypeDefinition.class,
+            assertInstanceOf(TypeDefinitionAware.class,
+                currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next()).getTypeDefinition());
 
         assertNull(decimal64Eff.getBaseType());
         assertEquals(Optional.empty(), decimal64Eff.getUnits());
@@ -162,7 +162,7 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
         assertEquals(Optional.empty(), decimal64Eff.getReference());
         assertEquals(Status.CURRENT, decimal64Eff.getStatus());
 
-        assertEquals(3, decimal64Eff.getRangeConstraint().get().getAllowedRanges().asRanges().size());
+        assertEquals(3, decimal64Eff.getRangeConstraint().orElseThrow().getAllowedRanges().asRanges().size());
         assertNotNull(decimal64Eff.toString());
         assertNotNull(decimal64Eff.hashCode());
         assertEquals(2, decimal64Eff.getFractionDigits());
@@ -173,11 +173,11 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
 
     @Test
     void testEmpty() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-empty"));
-        assertNotNull(currentLeaf.getType());
-        final EmptyTypeDefinition emptyEff = (EmptyTypeDefinition) ((TypeEffectiveStatement<?>)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next())
-            .getTypeDefinition();
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-empty")));
+        final var emptyEff = assertInstanceOf(EmptyTypeDefinition.class,
+            assertInstanceOf(TypeEffectiveStatement.class,
+                currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next()).getTypeDefinition());
 
         assertEquals(Optional.empty(), emptyEff.getUnits());
         assertEquals(Optional.empty(), emptyEff.getDefaultValue());
@@ -192,9 +192,9 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
 
     @Test
     void testEnum() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-enum"));
-        assertNotNull(currentLeaf.getType());
-        final var enumEffIter = ((EnumTypeDefinition) currentLeaf.getType()).getValues();
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-enum")));
+        final var enumEffIter = assertInstanceOf(EnumTypeDefinition.class, currentLeaf.getType()).getValues();
         final var enumEff = enumEffIter.iterator().next();
 
         final var enumSpecEff = (EnumTypeDefinition) ((TypeDefinitionAware)
@@ -226,12 +226,13 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
 
     @Test
     void testIdentityRef() {
-        currentLeaf = (LeafSchemaNode) types
-            .getDataChildByName(QName.create(types.getQNameModule(), "leaf-identityref"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-identityref")));
         assertNotNull(currentLeaf.getType());
-        final IdentityrefTypeDefinition identityRefEff = (IdentityrefTypeDefinition) ((TypeDefinitionAware)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next())
-            .getTypeDefinition();
+        final var identityRefEff = assertInstanceOf(IdentityrefTypeDefinition.class,
+            assertInstanceOf(TypeDefinitionAware.class,
+                currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next())
+            .getTypeDefinition());
 
         assertEquals(Optional.empty(), identityRefEff.getDefaultValue());
         assertEquals("identityref", identityRefEff.getQName().getLocalName());
@@ -249,12 +250,13 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
 
     @Test
     void testInstanceIdentifier() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(),
-            "leaf-instance-identifier"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-instance-identifier")));
         assertNotNull(currentLeaf.getType());
-        final InstanceIdentifierTypeDefinition instanceIdentEff = (InstanceIdentifierTypeDefinition)
-            ((TypeEffectiveStatement<?>) ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements()
-                .iterator().next()).getTypeDefinition();
+        final var instanceIdentEff = assertInstanceOf(InstanceIdentifierTypeDefinition.class,
+            assertInstanceOf(TypeEffectiveStatement.class,
+                currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next())
+            .getTypeDefinition());
         assertNotNull(instanceIdentEff.toString());
 
         assertFalse(instanceIdentEff.requireInstance());
@@ -274,12 +276,14 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
 
     @Test
     void testLeafref() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-leafref"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-leafref")));
         assertNotNull(currentLeaf.getType());
 
-        final LeafrefTypeDefinition leafrefEff = (LeafrefTypeDefinition) ((TypeDefinitionAware)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next())
-            .getTypeDefinition();
+        final var leafrefEff = assertInstanceOf(LeafrefTypeDefinition.class,
+            assertInstanceOf(TypeDefinitionAware.class,
+                currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next())
+            .getTypeDefinition());
 
         assertEquals("/container-test/leaf-test", leafrefEff.getPathStatement().getOriginalString());
         assertNull(leafrefEff.getBaseType());
@@ -299,13 +303,14 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
 
     @Test
     void testLeafrefWithDeref() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName
-            .create(types.getQNameModule(), "leaf-leafref-deref"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-leafref-deref")));
         assertNotNull(currentLeaf.getType());
 
-        final LeafrefTypeDefinition leafrefEff = (LeafrefTypeDefinition) ((TypeDefinitionAware)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next())
-            .getTypeDefinition();
+        final var leafrefEff = assertInstanceOf(LeafrefTypeDefinition.class,
+            assertInstanceOf(TypeDefinitionAware.class,
+                currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next())
+            .getTypeDefinition());
 
         assertEquals("deref(../container-test)/leaf-test",
             leafrefEff.getPathStatement().getOriginalString());
@@ -326,62 +331,70 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
 
     @Test
     void testIntAll() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-int8"));
-        assertNotNull(currentLeaf.getType());
-        final TypeEffectiveStatement<?> int8Eff = (TypeEffectiveStatement<?>)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next();
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-int8")));
+        final var int8Eff = assertInstanceOf(TypeEffectiveStatement.class,
+            currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next());
         assertNotNull(int8Eff.toString());
 
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-int16"));
-        assertNotNull(currentLeaf.getType());
-        final TypeEffectiveStatement<?> int16Eff = (TypeEffectiveStatement<?>)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next();
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-int16")));
+        final var int16Eff = assertInstanceOf(TypeEffectiveStatement.class,
+            currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next());
         assertNotNull(int16Eff.toString());
 
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-int32"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-int32")));
         assertNotNull(currentLeaf.getType());
-        final TypeEffectiveStatement<?> int32Eff = (TypeEffectiveStatement<?>)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next();
+        final var int32Eff = assertInstanceOf(TypeEffectiveStatement.class,
+            currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next());
         assertNotNull(int32Eff.toString());
 
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-int64"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-int64")));
         assertNotNull(currentLeaf.getType());
-        final TypeEffectiveStatement<?> int64Eff = (TypeEffectiveStatement<?>)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next();
+        final var int64Eff = assertInstanceOf(TypeEffectiveStatement.class,
+            currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next());
         assertNotNull(int64Eff.toString());
 
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-uint8"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-uint8")));
         assertNotNull(currentLeaf.getType());
-        final TypeEffectiveStatement<?> uint8Eff = (TypeEffectiveStatement<?>)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next();
+        final var uint8Eff = assertInstanceOf(TypeEffectiveStatement.class,
+            currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next());
         assertNotNull(uint8Eff.toString());
 
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-uint16"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-uint16")));
         assertNotNull(currentLeaf.getType());
-        final TypeEffectiveStatement<?> uint16Eff = (TypeEffectiveStatement<?>)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next();
+        final var uint16Eff = assertInstanceOf(TypeEffectiveStatement.class,
+            currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next());
         assertNotNull(uint16Eff.toString());
 
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-uint32"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-uint32")));
         assertNotNull(currentLeaf.getType());
-        final TypeEffectiveStatement<?> uint32Eff = (TypeEffectiveStatement<?>)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next();
+        final var uint32Eff = assertInstanceOf(TypeEffectiveStatement.class,
+            currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next());
         assertNotNull(uint32Eff.toString());
 
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-uint64"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-uint64")));
         assertNotNull(currentLeaf.getType());
-        final TypeEffectiveStatement<?> uint64Eff = (TypeEffectiveStatement<?>)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next();
+        final var uint64Eff = assertInstanceOf(TypeEffectiveStatement.class,
+            currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next());
         assertNotNull(uint64Eff.toString());
     }
 
     @Test
     void testUnion() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-union"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-union")));
         assertNotNull(currentLeaf.getType());
-        final UnionTypeDefinition unionEff = (UnionTypeDefinition) ((TypeDefinitionAware)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next())
-            .getTypeDefinition();
+        final var unionEff = assertInstanceOf(UnionTypeDefinition.class,
+            assertInstanceOf(TypeDefinitionAware.class,
+                currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next())
+            .getTypeDefinition());
 
         assertEquals(2, unionEff.getTypes().size());
         assertEquals("union", unionEff.getQName().getLocalName());
@@ -401,12 +414,11 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
 
     @Test
     void testLengthConstraint() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(),
-            "leaf-length-pattern"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-length-pattern")));
 
-        final var leafType = (StringTypeDefinition) currentLeaf.getType();
-        assertNotNull(leafType);
-        final var lengthConstraint = leafType.getLengthConstraint().get();
+        final var leafType = assertInstanceOf(StringTypeDefinition.class, currentLeaf.getType());
+        final var lengthConstraint = leafType.getLengthConstraint().orElseThrow();
 
         final var span = lengthConstraint.getAllowedRanges().span();
         assertEquals(1, span.lowerEndpoint().intValue());
@@ -420,27 +432,28 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
         assertNotEquals(null, lengthConstraint);
         assertNotEquals("test", lengthConstraint);
 
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(),
-            "leaf-length-pattern-second"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-length-pattern-second")));
         assertNotNull(currentLeaf.getType());
-        final LengthConstraint lengthConstraintSecond = ((StringTypeDefinition) currentLeaf.getType())
-            .getLengthConstraint().get();
+        final var lengthConstraintSecond = ((StringTypeDefinition) currentLeaf.getType())
+            .getLengthConstraint().orElseThrow();
         assertNotEquals(lengthConstraint, lengthConstraintSecond);
     }
 
     @Test
     void testPatternConstraint() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(),
-            "leaf-length-pattern"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-length-pattern")));
         assertNotNull(currentLeaf.getType());
-        final PatternConstraint patternConstraint = ((StringTypeDefinition) currentLeaf.getType())
+        final var patternConstraint = assertInstanceOf(StringTypeDefinition.class,
+            currentLeaf.getType()).getPatternConstraints().get(0);
+        // FIXME: 'third' vs get(0)?!
+        final var patternConstraintThird = assertInstanceOf(StringTypeDefinition.class, currentLeaf.getType())
             .getPatternConstraints().get(0);
-        final PatternConstraint patternConstraintThird = ((StringTypeDefinition) currentLeaf.getType())
-            .getPatternConstraints().get(0);
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(),
-            "leaf-length-pattern-second"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-length-pattern-second")));
         assertNotNull(currentLeaf.getType());
-        final PatternConstraint patternConstraintSecond = ((StringTypeDefinition) currentLeaf.getType())
+        final var patternConstraintSecond = assertInstanceOf(StringTypeDefinition.class, currentLeaf.getType())
             .getPatternConstraints().get(0);
 
         assertEquals("^(?:[0-9a-fA-F]*)$", patternConstraint.getJavaPatternString());
@@ -458,11 +471,13 @@ class EffectiveStatementTypeTest extends AbstractYangTest {
 
     @Test
     void testString() {
-        currentLeaf = (LeafSchemaNode) types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-string"));
+        currentLeaf = assertInstanceOf(LeafSchemaNode.class,
+            types.getDataChildByName(QName.create(types.getQNameModule(), "leaf-string")));
         assertNotNull(currentLeaf.getType());
-        final StringTypeDefinition stringEff = (StringTypeDefinition) ((TypeEffectiveStatement<?>)
-            ((LeafEffectiveStatement) currentLeaf).effectiveSubstatements().iterator().next())
-            .getTypeDefinition();
+        final var stringEff = assertInstanceOf(StringTypeDefinition.class,
+            assertInstanceOf(TypeEffectiveStatement.class,
+                currentLeaf.asEffectiveStatement().effectiveSubstatements().iterator().next())
+            .getTypeDefinition());
 
         assertEquals("string", stringEff.getQName().getLocalName());
         assertEquals(Status.CURRENT, stringEff.getStatus());
index ab7a5dea3957c69c168d2456f7b72526819b6f80..1847a5ca11ef4544658981374bc0dc50cbc52a48 100644 (file)
@@ -9,7 +9,7 @@ package org.opendaylight.yangtools.yang.stmt;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import com.google.common.collect.Iterables;
@@ -19,9 +19,7 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 import org.opendaylight.yangtools.yang.model.api.stmt.GroupingEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
 
@@ -54,10 +52,8 @@ class EffectiveUsesRefineAndConstraintsTest extends AbstractYangTest {
     }
 
     private static void checkOriginalContainer(final GroupingEffectiveStatement grp, final QName... qnames) {
-        SchemaNode containerInContainerNode = (SchemaNode) grp.findSchemaTreeNode(qnames).orElse(null);
-        assertNotNull(containerInContainerNode);
-
-        ContainerSchemaNode containerSchemaNode = (ContainerSchemaNode) containerInContainerNode;
+        var containerSchemaNode = assertInstanceOf(ContainerSchemaNode.class,
+            grp.findSchemaTreeNode(qnames).orElseThrow());
         assertFalse(containerSchemaNode.getReference().isPresent());
         assertFalse(containerSchemaNode.getDescription().isPresent());
         assertEquals(Optional.empty(), containerSchemaNode.effectiveConfig());
@@ -67,33 +63,25 @@ class EffectiveUsesRefineAndConstraintsTest extends AbstractYangTest {
     }
 
     private static void checkOriginalChoice(final GroupingEffectiveStatement grp, final QName... qnames) {
-        SchemaNode choiceInContainerNode = (SchemaNode) grp.findSchemaTreeNode(qnames).orElse(null);
-        assertNotNull(choiceInContainerNode);
-
-        ChoiceSchemaNode choiceSchemaNode = (ChoiceSchemaNode) choiceInContainerNode;
+        var choiceSchemaNode = assertInstanceOf(ChoiceSchemaNode.class, grp.findSchemaTreeNode(qnames).orElseThrow());
         assertFalse(choiceSchemaNode.isMandatory());
     }
 
     private static void checkOriginalList(final GroupingEffectiveStatement grp, final QName... qnames) {
-        SchemaNode listInContainerNode = (SchemaNode) grp.findSchemaTreeNode(qnames).orElse(null);
-        assertNotNull(listInContainerNode);
-
-        ListSchemaNode listSchemaNode = (ListSchemaNode) listInContainerNode;
+        final var listSchemaNode = assertInstanceOf(ListSchemaNode.class, grp.findSchemaTreeNode(qnames).orElseThrow());
         assertEquals(Optional.of("original reference"), listSchemaNode.getReference());
         assertEquals(Optional.of("original description"), listSchemaNode.getDescription());
         assertEquals(Optional.of(Boolean.FALSE), listSchemaNode.effectiveConfig());
 
-        ElementCountConstraint listConstraints = listSchemaNode.getElementCountConstraint().get();
+        var listConstraints = listSchemaNode.getElementCountConstraint().orElseThrow();
         assertEquals((Object) 10, listConstraints.getMinElements());
         assertEquals((Object) 20, listConstraints.getMaxElements());
         assertEquals(1, listSchemaNode.getMustConstraints().size());
     }
 
     private static void checkRefinedContainer(final ModuleEffectiveStatement module, final QName... qnames) {
-        final SchemaNode containerInContainerNode = (SchemaNode) module.findSchemaTreeNode(qnames).orElse(null);
-        assertNotNull(containerInContainerNode);
-
-        ContainerSchemaNode containerSchemaNode = (ContainerSchemaNode) containerInContainerNode;
+        final var containerSchemaNode = assertInstanceOf(ContainerSchemaNode.class,
+            module.findSchemaTreeNode(qnames).orElseThrow());
         assertEquals(Optional.of("new reference"), containerSchemaNode.getReference());
         assertEquals(Optional.of("new description"), containerSchemaNode.getDescription());
         assertEquals(Optional.of(Boolean.TRUE), containerSchemaNode.effectiveConfig());
@@ -102,23 +90,19 @@ class EffectiveUsesRefineAndConstraintsTest extends AbstractYangTest {
     }
 
     private static void checkRefinedChoice(final ModuleEffectiveStatement module, final QName... qnames) {
-        final SchemaNode choiceInContainerNode = (SchemaNode) module.findSchemaTreeNode(qnames).orElse(null);
-        assertNotNull(choiceInContainerNode);
-
-        ChoiceSchemaNode choiceSchemaNode = (ChoiceSchemaNode) choiceInContainerNode;
+        final var choiceSchemaNode = assertInstanceOf(ChoiceSchemaNode.class,
+            module.findSchemaTreeNode(qnames).orElseThrow());
         assertTrue(choiceSchemaNode.isMandatory());
     }
 
     private static void checkRefinedList(final ModuleEffectiveStatement module, final QName... qnames) {
-        final SchemaNode listInContainerNode = (SchemaNode) module.findSchemaTreeNode(qnames).orElse(null);
-        assertNotNull(listInContainerNode);
-
-        final ListSchemaNode listSchemaNode = (ListSchemaNode) listInContainerNode;
+        final var listSchemaNode = assertInstanceOf(ListSchemaNode.class,
+            module.findSchemaTreeNode(qnames).orElseThrow());
         assertEquals(Optional.of("new reference"), listSchemaNode.getReference());
         assertEquals(Optional.of("new description"), listSchemaNode.getDescription());
         assertEquals(Optional.of(Boolean.TRUE), listSchemaNode.effectiveConfig());
 
-        final ElementCountConstraint listConstraints = listSchemaNode.getElementCountConstraint().get();
+        final var listConstraints = listSchemaNode.getElementCountConstraint().orElseThrow();
         assertEquals((Object) 5, listConstraints.getMinElements());
         assertEquals((Object) 7, listConstraints.getMaxElements());
         assertEquals(2, listSchemaNode.getMustConstraints().size());
index ba9d66184f3165aa0ba95cff9e0d8fad6691409c..8731ffa76d080a2fc4340204643373897e4c42be 100644 (file)
@@ -108,7 +108,7 @@ class GroupingTest extends AbstractModelTest {
         assertEquals(Optional.of("addresses reference added by refine"), refineList.getReference());
         assertEquals(Optional.of(Boolean.FALSE), refineList.effectiveConfig());
 
-        final ElementCountConstraint constraint = refineList.getElementCountConstraint().get();
+        final ElementCountConstraint constraint = refineList.getElementCountConstraint().orElseThrow();
         assertEquals((Object) 2, constraint.getMinElements());
         assertNull(constraint.getMaxElements());
 
index 7214637f234f98cb699e25e94f64cf64761a6cda..3fab6b6e073f8c5b7a72f7f77c5eb2401ae0f889 100644 (file)
@@ -17,7 +17,6 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 
 class IfFeatureResolutionTest extends AbstractYangTest {
     @Test
@@ -29,87 +28,87 @@ class IfFeatureResolutionTest extends AbstractYangTest {
                 QName.create("foo-namespace", "test-feature-3"),
                 QName.create("bar-namespace", "imp-feature")));
 
-        final Module testModule = schemaContext.findModule("foo").get();
+        final var testModule = schemaContext.findModule("foo").orElseThrow();
         assertEquals(9, testModule.getChildNodes().size());
 
-        final ContainerSchemaNode testContainerA = (ContainerSchemaNode) testModule.dataChildByName(
+        final var testContainerA = (ContainerSchemaNode) testModule.dataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-a"));
         assertNull(testContainerA);
 
-        final ContainerSchemaNode testContainerB = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerB = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-b"));
         assertNotNull(testContainerB);
-        final LeafSchemaNode testLeafB = (LeafSchemaNode) testContainerB.getDataChildByName(
+        final var testLeafB = (LeafSchemaNode) testContainerB.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-b"));
         assertNotNull(testLeafB);
 
-        final ContainerSchemaNode testContainerC = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerC = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-c"));
         assertNotNull(testContainerC);
-        final LeafSchemaNode testLeafC = (LeafSchemaNode) testContainerC.getDataChildByName(
+        final var testLeafC = (LeafSchemaNode) testContainerC.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-c"));
         assertNotNull(testLeafC);
 
-        final ContainerSchemaNode testContainerD = (ContainerSchemaNode) testModule.dataChildByName(
+        final var testContainerD = (ContainerSchemaNode) testModule.dataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-d"));
         assertNull(testContainerD);
 
-        final ContainerSchemaNode testContainerE = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerE = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-e"));
         assertNotNull(testContainerE);
-        final ContainerSchemaNode testSubContainerE = (ContainerSchemaNode) testContainerE.getDataChildByName(
+        final var testSubContainerE = (ContainerSchemaNode) testContainerE.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-subcontainer-e"));
         assertNotNull(testSubContainerE);
-        final LeafSchemaNode testLeafE = (LeafSchemaNode) testSubContainerE.dataChildByName(
+        final var testLeafE = (LeafSchemaNode) testSubContainerE.dataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-e"));
         assertNull(testLeafE);
 
-        final ContainerSchemaNode testContainerF = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerF = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-f"));
         assertNotNull(testContainerF);
-        final ContainerSchemaNode testSubContainerF = (ContainerSchemaNode) testContainerF.dataChildByName(
+        final var testSubContainerF = (ContainerSchemaNode) testContainerF.dataChildByName(
             QName.create(testModule.getQNameModule(), "test-subcontainer-f"));
         assertNull(testSubContainerF);
 
-        final ContainerSchemaNode testContainerG = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerG = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-g"));
         assertNotNull(testContainerG);
         assertEquals(1, testContainerG.getAvailableAugmentations().size());
-        final LeafSchemaNode testLeafG = (LeafSchemaNode) testContainerG.getDataChildByName(
+        final var testLeafG = (LeafSchemaNode) testContainerG.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-g"));
         assertNotNull(testLeafG);
-        final LeafSchemaNode augmentingTestLeafG = (LeafSchemaNode) testContainerG.dataChildByName(
+        final var augmentingTestLeafG = (LeafSchemaNode) testContainerG.dataChildByName(
             QName.create(testModule.getQNameModule(), "augmenting-test-leaf-g"));
         assertNull(augmentingTestLeafG);
-        final AnyxmlSchemaNode augmentingTestAnyxmlG = (AnyxmlSchemaNode) testContainerG.getDataChildByName(
+        final var augmentingTestAnyxmlG = (AnyxmlSchemaNode) testContainerG.getDataChildByName(
             QName.create(testModule.getQNameModule(), "augmenting-test-anyxml-g"));
         assertNotNull(augmentingTestAnyxmlG);
 
-        final ContainerSchemaNode testContainerH = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerH = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-h"));
         assertNotNull(testContainerH);
         assertEquals(0, testContainerH.getChildNodes().size());
         assertEquals(0, testContainerH.getUses().size());
 
-        final ContainerSchemaNode testContainerI = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerI = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-i"));
         assertNotNull(testContainerI);
         assertEquals(1, testContainerI.getUses().size());
-        ContainerSchemaNode testGroupingSubContainer = (ContainerSchemaNode) testContainerI.getDataChildByName(
+        var testGroupingSubContainer = (ContainerSchemaNode) testContainerI.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-grouping-subcontainer"));
         assertNotNull(testGroupingSubContainer);
-        final LeafSchemaNode testGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.dataChildByName(
+        final var testGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.dataChildByName(
             QName.create(testModule.getQNameModule(), "test-grouping-leaf"));
         assertNull(testGroupingLeaf);
 
-        final ContainerSchemaNode testContainerJ = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerJ = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-j"));
         assertNotNull(testContainerJ);
-        final LeafSchemaNode testLeafJ = (LeafSchemaNode) testContainerJ.getDataChildByName(
+        final var testLeafJ = (LeafSchemaNode) testContainerJ.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-j"));
         assertNotNull(testLeafJ);
 
-        final ContainerSchemaNode testContainerK = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerK = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-k"));
         assertNotNull(testContainerK);
         assertEquals(1, testContainerK.getUses().size());
@@ -117,10 +116,10 @@ class IfFeatureResolutionTest extends AbstractYangTest {
             QName.create(testModule.getQNameModule(), "test-grouping-subcontainer"));
         assertNotNull(testGroupingSubContainer);
         assertEquals(1, testGroupingSubContainer.getAvailableAugmentations().size());
-        final LeafSchemaNode augmentingTestGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.getDataChildByName(
+        final var augmentingTestGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.getDataChildByName(
             QName.create(testModule.getQNameModule(), "augmenting-test-grouping-leaf"));
         assertNotNull(augmentingTestGroupingLeaf);
-        final LeafSchemaNode augmentingTestGroupingLeaf2 = (LeafSchemaNode) testGroupingSubContainer.dataChildByName(
+        final var augmentingTestGroupingLeaf2 = (LeafSchemaNode) testGroupingSubContainer.dataChildByName(
             QName.create(testModule.getQNameModule(), "augmenting-test-grouping-leaf-2"));
         assertNull(augmentingTestGroupingLeaf2);
     }
@@ -129,89 +128,88 @@ class IfFeatureResolutionTest extends AbstractYangTest {
     void testAllFeaturesSupported() {
         final var schemaContext = assertEffectiveModelDir("/if-feature-resolution-test");
 
-        final Module testModule = schemaContext.findModules("foo").iterator().next();
+        final var testModule = schemaContext.findModules("foo").iterator().next();
         assertNotNull(testModule);
 
         assertEquals(11, testModule.getChildNodes().size());
 
-        final ContainerSchemaNode testContainerA = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerA = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-a"));
         assertNotNull(testContainerA);
-        final LeafSchemaNode testLeafA = (LeafSchemaNode) testContainerA.getDataChildByName(
+        final var testLeafA = (LeafSchemaNode) testContainerA.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-a"));
         assertNotNull(testLeafA);
 
-
-        final ContainerSchemaNode testContainerB = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerB = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-b"));
         assertNotNull(testContainerB);
-        final LeafSchemaNode testLeafB = (LeafSchemaNode) testContainerB.getDataChildByName(
+        final var testLeafB = (LeafSchemaNode) testContainerB.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-b"));
         assertNotNull(testLeafB);
 
-        final ContainerSchemaNode testContainerC = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerC = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-c"));
         assertNotNull(testContainerC);
-        final LeafSchemaNode testLeafC = (LeafSchemaNode) testContainerC.getDataChildByName(
+        final var testLeafC = (LeafSchemaNode) testContainerC.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-c"));
         assertNotNull(testLeafC);
 
-        final ContainerSchemaNode testContainerD = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerD = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-d"));
         assertNotNull(testContainerD);
-        final LeafSchemaNode testLeafD = (LeafSchemaNode) testContainerD.getDataChildByName(
+        final var testLeafD = (LeafSchemaNode) testContainerD.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-d"));
         assertNotNull(testLeafD);
 
-        final ContainerSchemaNode testContainerE = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerE = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-e"));
         assertNotNull(testContainerE);
-        final ContainerSchemaNode testSubContainerE = (ContainerSchemaNode) testContainerE.getDataChildByName(
+        final var testSubContainerE = (ContainerSchemaNode) testContainerE.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-subcontainer-e"));
         assertNotNull(testSubContainerE);
-        final LeafSchemaNode testLeafE = (LeafSchemaNode) testSubContainerE.getDataChildByName(
+        final var testLeafE = (LeafSchemaNode) testSubContainerE.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-e"));
         assertNotNull(testLeafE);
 
-        final ContainerSchemaNode testContainerF = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerF = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-f"));
         assertNotNull(testContainerF);
-        final ContainerSchemaNode testSubContainerF = (ContainerSchemaNode) testContainerF.getDataChildByName(
+        final var testSubContainerF = (ContainerSchemaNode) testContainerF.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-subcontainer-f"));
         assertNotNull(testSubContainerF);
-        final ContainerSchemaNode testSubSubContainerF = (ContainerSchemaNode) testSubContainerF.getDataChildByName(
+        final var testSubSubContainerF = (ContainerSchemaNode) testSubContainerF.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-subsubcontainer-f"));
         assertNotNull(testSubSubContainerF);
-        final LeafSchemaNode testLeafF = (LeafSchemaNode) testSubSubContainerF.getDataChildByName(
+        final var testLeafF = (LeafSchemaNode) testSubSubContainerF.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-f"));
         assertNotNull(testLeafF);
 
-        final ContainerSchemaNode testContainerG = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerG = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-g"));
         assertNotNull(testContainerG);
         assertEquals(2, testContainerG.getAvailableAugmentations().size());
-        final LeafSchemaNode testLeafG = (LeafSchemaNode) testContainerG.getDataChildByName(
+        final var testLeafG = (LeafSchemaNode) testContainerG.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-g"));
         assertNotNull(testLeafG);
-        final LeafSchemaNode augmentingTestLeafG = (LeafSchemaNode) testContainerG.getDataChildByName(
+        final var augmentingTestLeafG = (LeafSchemaNode) testContainerG.getDataChildByName(
             QName.create(testModule.getQNameModule(), "augmenting-test-leaf-g"));
         assertNotNull(augmentingTestLeafG);
-        final AnyxmlSchemaNode augmentingTestAnyxmlG = (AnyxmlSchemaNode) testContainerG.getDataChildByName(
+        final var augmentingTestAnyxmlG = (AnyxmlSchemaNode) testContainerG.getDataChildByName(
             QName.create(testModule.getQNameModule(), "augmenting-test-anyxml-g"));
         assertNotNull(augmentingTestAnyxmlG);
 
-        final ContainerSchemaNode testContainerH = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerH = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-h"));
         assertNotNull(testContainerH);
         assertEquals(1, testContainerH.getUses().size());
-        ContainerSchemaNode testGroupingSubContainer = (ContainerSchemaNode) testContainerH.getDataChildByName(
+        var testGroupingSubContainer = (ContainerSchemaNode) testContainerH.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-grouping-subcontainer"));
         assertNotNull(testGroupingSubContainer);
-        LeafSchemaNode testGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.getDataChildByName(
+        var testGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-grouping-leaf"));
         assertNotNull(testGroupingLeaf);
 
-        final ContainerSchemaNode testContainerI = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerI = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-i"));
         assertNotNull(testContainerI);
         assertEquals(1, testContainerI.getUses().size());
@@ -222,14 +220,14 @@ class IfFeatureResolutionTest extends AbstractYangTest {
             QName.create(testModule.getQNameModule(), "test-grouping-leaf"));
         assertNotNull(testGroupingLeaf);
 
-        final ContainerSchemaNode testContainerJ = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerJ = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-j"));
         assertNotNull(testContainerJ);
-        final LeafSchemaNode testLeafJ = (LeafSchemaNode) testContainerJ.getDataChildByName(
+        final var testLeafJ = (LeafSchemaNode) testContainerJ.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-j"));
         assertNotNull(testLeafJ);
 
-        final ContainerSchemaNode testContainerK = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerK = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-k"));
         assertNotNull(testContainerK);
         assertEquals(1, testContainerK.getUses().size());
@@ -237,10 +235,10 @@ class IfFeatureResolutionTest extends AbstractYangTest {
             QName.create(testModule.getQNameModule(), "test-grouping-subcontainer"));
         assertNotNull(testGroupingSubContainer);
         assertEquals(1, testGroupingSubContainer.getAvailableAugmentations().size());
-        final LeafSchemaNode augmentingTestGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.getDataChildByName(
+        final var augmentingTestGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.getDataChildByName(
             QName.create(testModule.getQNameModule(), "augmenting-test-grouping-leaf"));
         assertNotNull(augmentingTestGroupingLeaf);
-        final LeafSchemaNode augmentingTestGroupingLeaf2 = (LeafSchemaNode) testGroupingSubContainer.getDataChildByName(
+        final var augmentingTestGroupingLeaf2 = (LeafSchemaNode) testGroupingSubContainer.getDataChildByName(
             QName.create(testModule.getQNameModule(), "augmenting-test-grouping-leaf-2"));
         assertNotNull(augmentingTestGroupingLeaf2);
         testGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.getDataChildByName(
@@ -252,60 +250,60 @@ class IfFeatureResolutionTest extends AbstractYangTest {
     void testNoFeaturesSupported() {
         final var schemaContext = assertEffectiveModelDir("/if-feature-resolution-test", Set.of());
 
-        final Module testModule = schemaContext.findModules("foo").iterator().next();
+        final var testModule = schemaContext.findModules("foo").iterator().next();
         assertNotNull(testModule);
 
         assertEquals(6, testModule.getChildNodes().size());
 
-        final ContainerSchemaNode testContainerE = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerE = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-e"));
         assertNotNull(testContainerE);
-        final ContainerSchemaNode testSubContainerE = (ContainerSchemaNode) testContainerE.getDataChildByName(
+        final var testSubContainerE = (ContainerSchemaNode) testContainerE.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-subcontainer-e"));
         assertNotNull(testSubContainerE);
-        final LeafSchemaNode testLeafE = (LeafSchemaNode) testSubContainerE.dataChildByName(
+        final var testLeafE = (LeafSchemaNode) testSubContainerE.dataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-e"));
         assertNull(testLeafE);
 
-        final ContainerSchemaNode testContainerF = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerF = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-f"));
         assertNotNull(testContainerF);
-        final ContainerSchemaNode testSubContainerF = (ContainerSchemaNode) testContainerF.dataChildByName(
+        final var testSubContainerF = (ContainerSchemaNode) testContainerF.dataChildByName(
             QName.create(testModule.getQNameModule(), "test-subcontainer-f"));
         assertNull(testSubContainerF);
 
-        final ContainerSchemaNode testContainerG = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerG = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-g"));
         assertNotNull(testContainerG);
         assertEquals(1, testContainerG.getAvailableAugmentations().size());
-        final LeafSchemaNode testLeafG = (LeafSchemaNode) testContainerG.getDataChildByName(
+        final var testLeafG = (LeafSchemaNode) testContainerG.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-leaf-g"));
         assertNotNull(testLeafG);
-        final LeafSchemaNode augmentingTestLeafG = (LeafSchemaNode) testContainerG.dataChildByName(
+        final var augmentingTestLeafG = (LeafSchemaNode) testContainerG.dataChildByName(
             QName.create(testModule.getQNameModule(), "augmenting-test-leaf-g"));
         assertNull(augmentingTestLeafG);
-        final AnyxmlSchemaNode augmentingTestAnyxmlG = (AnyxmlSchemaNode) testContainerG.getDataChildByName(
+        final var augmentingTestAnyxmlG = (AnyxmlSchemaNode) testContainerG.getDataChildByName(
             QName.create(testModule.getQNameModule(), "augmenting-test-anyxml-g"));
         assertNotNull(augmentingTestAnyxmlG);
 
-        final ContainerSchemaNode testContainerH = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerH = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-h"));
         assertNotNull(testContainerH);
         assertEquals(0, testContainerH.getChildNodes().size());
         assertEquals(0, testContainerH.getUses().size());
 
-        final ContainerSchemaNode testContainerI = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerI = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-i"));
         assertNotNull(testContainerI);
         assertEquals(1, testContainerI.getUses().size());
-        ContainerSchemaNode testGroupingSubContainer = (ContainerSchemaNode) testContainerI.getDataChildByName(
+        var testGroupingSubContainer = (ContainerSchemaNode) testContainerI.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-grouping-subcontainer"));
         assertNotNull(testGroupingSubContainer);
-        LeafSchemaNode testGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.dataChildByName(
+        var testGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.dataChildByName(
             QName.create(testModule.getQNameModule(), "test-grouping-leaf"));
         assertNull(testGroupingLeaf);
 
-        final ContainerSchemaNode testContainerK = (ContainerSchemaNode) testModule.getDataChildByName(
+        final var testContainerK = (ContainerSchemaNode) testModule.getDataChildByName(
             QName.create(testModule.getQNameModule(), "test-container-k"));
         assertNotNull(testContainerK);
         assertEquals(1, testContainerK.getUses().size());
@@ -313,10 +311,10 @@ class IfFeatureResolutionTest extends AbstractYangTest {
             QName.create(testModule.getQNameModule(), "test-grouping-subcontainer"));
         assertNotNull(testGroupingSubContainer);
         assertEquals(1, testGroupingSubContainer.getAvailableAugmentations().size());
-        final LeafSchemaNode augmentingTestGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.dataChildByName(
+        final var augmentingTestGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.dataChildByName(
             QName.create(testModule.getQNameModule(), "augmenting-test-grouping-leaf"));
         assertNull(augmentingTestGroupingLeaf);
-        final LeafSchemaNode augmentingTestGroupingLeaf2 = (LeafSchemaNode) testGroupingSubContainer.dataChildByName(
+        final var augmentingTestGroupingLeaf2 = (LeafSchemaNode) testGroupingSubContainer.dataChildByName(
             QName.create(testModule.getQNameModule(), "augmenting-test-grouping-leaf-2"));
         assertNull(augmentingTestGroupingLeaf2);
         testGroupingLeaf = (LeafSchemaNode) testGroupingSubContainer.dataChildByName(
index 9e377ea164d28143bbaa8e7112773db51b86bc1d..3c76483f92e4939f5e313a22abe76cfc14ac5836 100644 (file)
@@ -9,74 +9,65 @@ package org.opendaylight.yangtools.yang.stmt;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import java.util.List;
 import java.util.Optional;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 
 class ListTest extends AbstractYangTest {
-
     @Test
     void listAndLeavesTest() {
         final var result = assertEffectiveModel("/list-test/list-test.yang");
+        final var testModule = result.findModules("list-test").iterator().next();
 
-        final Module testModule = result.findModules("list-test").iterator().next();
-        assertNotNull(testModule);
-
-        final ListSchemaNode list = (ListSchemaNode) testModule.getDataChildByName(
-            QName.create(testModule.getQNameModule(), "simple-list"));
-        assertNotNull(list);
+        final var list = assertInstanceOf(ListSchemaNode.class,
+            testModule.getDataChildByName(QName.create(testModule.getQNameModule(), "simple-list")));
 
         assertTrue(list.isUserOrdered());
         assertEquals(Optional.of(Boolean.TRUE), list.effectiveConfig());
-        final List<QName> keys = list.getKeyDefinition();
+        final var keys = list.getKeyDefinition();
         assertEquals(2, keys.size());
 
         assertEquals("key1", keys.get(0).getLocalName());
         assertEquals("key2", keys.get(1).getLocalName());
 
-        ElementCountConstraint constraint = list.getElementCountConstraint().get();
+        var constraint = list.getElementCountConstraint().orElseThrow();
         assertEquals((Object) 1, constraint.getMinElements());
         assertEquals((Object) 10, constraint.getMaxElements());
 
         assertEquals(5, list.getChildNodes().size());
 
-        LeafSchemaNode leaf = (LeafSchemaNode) list.getDataChildByName(QName.create(testModule.getQNameModule(),
-            "key1"));
-        assertNotNull(leaf);
+        var leaf = assertInstanceOf(LeafSchemaNode.class,
+            list.getDataChildByName(QName.create(testModule.getQNameModule(), "key1")));
         assertTrue(leaf.isMandatory());
         assertEquals("int32", leaf.getType().getQName().getLocalName());
 
-        leaf = (LeafSchemaNode) list.getDataChildByName(QName.create(testModule.getQNameModule(), "key2"));
-        assertNotNull(leaf);
+        leaf = assertInstanceOf(LeafSchemaNode.class,
+            list.getDataChildByName(QName.create(testModule.getQNameModule(), "key2")));
         assertTrue(leaf.isMandatory());
         assertEquals("int16", leaf.getType().getQName().getLocalName());
 
-        leaf = (LeafSchemaNode) list.getDataChildByName(QName.create(testModule.getQNameModule(), "old-leaf"));
-        assertNotNull(leaf);
+        leaf = assertInstanceOf(LeafSchemaNode.class,
+            list.getDataChildByName(QName.create(testModule.getQNameModule(), "old-leaf")));
         assertFalse(leaf.isMandatory());
         assertEquals("string", leaf.getType().getQName().getLocalName());
 
-        leaf = (LeafSchemaNode) list.getDataChildByName(QName.create(testModule.getQNameModule(), "young-leaf"));
-        assertNotNull(leaf);
+        leaf = assertInstanceOf(LeafSchemaNode.class,
+            list.getDataChildByName(QName.create(testModule.getQNameModule(), "young-leaf")));
         assertFalse(leaf.isMandatory());
         assertEquals("young-leaf", leaf.getType().getQName().getLocalName());
         assertEquals(Optional.of("default-value"), leaf.getType().getDefaultValue());
 
-        final LeafListSchemaNode leafList = (LeafListSchemaNode) list.getDataChildByName(
-            QName.create(testModule.getQNameModule(), "list-of-leaves"));
-        assertNotNull(leafList);
+        final var leafList = assertInstanceOf(LeafListSchemaNode.class,
+            list.getDataChildByName(QName.create(testModule.getQNameModule(), "list-of-leaves")));
         assertTrue(leafList.isUserOrdered());
 
-        constraint = leafList.getElementCountConstraint().get();
+        constraint = leafList.getElementCountConstraint().orElseThrow();
         assertEquals(2, constraint.getMinElements().intValue());
         assertEquals(20, constraint.getMaxElements().intValue());
         assertEquals("string", leafList.getType().getQName().getLocalName());
index e8f4cbec501b8e6c2d7ce399948800c7b28958c3..a26dd025d594213434e393478d217a6ca697cad3 100644 (file)
@@ -11,7 +11,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import java.util.Collection;
 import java.util.Optional;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -20,12 +19,9 @@ import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
 import org.opendaylight.yangtools.yang.common.XMLNamespace;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.ModuleImport;
-import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 
 class MoreRevisionsTest extends AbstractYangTest {
@@ -47,7 +43,7 @@ class MoreRevisionsTest extends AbstractYangTest {
     void readAndParseYangFileTest() {
         final var result = assertEffectiveModel("/semantic-statement-parser/revisions/more-revisions-test.yang");
         final var moduleByName = result.getModules().iterator().next();
-        assertEquals("2015-06-07", moduleByName.getQNameModule().getRevision().get().toString());
+        assertEquals("2015-06-07", moduleByName.getQNameModule().getRevision().orElseThrow().toString());
     }
 
     @Test
@@ -100,9 +96,9 @@ class MoreRevisionsTest extends AbstractYangTest {
         final QName dateTimeTypeDef20130516 = QName.create(yangTypes20130516, "date-and-time");
         final QName dateTimeTypeDef20130715 = QName.create(yangTypes20130715, "date-and-time");
 
-        Module yangTypesModule20100924 = context.findModule("ietf-yang-types", rev20100924).get();
-        Module yangTypesModule20130516 = context.findModule("ietf-yang-types", rev20130516).get();
-        Module yangTypesModule20130715 = context.findModule("ietf-yang-types", rev20130715).get();
+        var yangTypesModule20100924 = context.findModule("ietf-yang-types", rev20100924).orElseThrow();
+        var yangTypesModule20130516 = context.findModule("ietf-yang-types", rev20130516).orElseThrow();
+        var yangTypesModule20130715 = context.findModule("ietf-yang-types", rev20130715).orElseThrow();
         assertTrue(findTypeDef(yangTypesModule20100924, dateTimeTypeDef20100924));
         assertTrue(findTypeDef(yangTypesModule20130516, dateTimeTypeDef20130516));
         assertTrue(findTypeDef(yangTypesModule20130715, dateTimeTypeDef20130715));
@@ -113,24 +109,24 @@ class MoreRevisionsTest extends AbstractYangTest {
 
     private static void checkInterfacesModuleFullTest(final EffectiveModelContext context, final Revision rev20100924,
         final QName dateTimeTypeDef20100924) {
-        Revision rev20121115 = Revision.of("2012-11-15");
+        var rev20121115 = Revision.of("2012-11-15");
 
-        Module interfacesModule20121115 = context.findModule("ietf-interfaces", rev20121115).get();
-        Collection<? extends ModuleImport> imports = interfacesModule20121115.getImports();
+        var interfacesModule20121115 = context.findModule("ietf-interfaces", rev20121115).orElseThrow();
+        var imports = interfacesModule20121115.getImports();
         assertEquals(1, imports.size());
-        ModuleImport interfacesImport = imports.iterator().next();
+        var interfacesImport = imports.iterator().next();
         assertEquals(Unqualified.of("ietf-yang-types"), interfacesImport.getModuleName());
         assertEquals(Optional.of(rev20100924), interfacesImport.getRevision());
     }
 
     private static void checkNetconfMonitoringModuleFullTest(final EffectiveModelContext context,
         final Revision rev20130715, final QName dateTimeTypeDef20130715) {
-        Revision rev20101004 = Revision.of("2010-10-04");
+        var rev20101004 = Revision.of("2010-10-04");
 
-        Module monitoringModule20101004 = context.findModule("ietf-netconf-monitoring", rev20101004).get();
-        Collection<? extends ModuleImport> imports = monitoringModule20101004.getImports();
+        var monitoringModule20101004 = context.findModule("ietf-netconf-monitoring", rev20101004).orElseThrow();
+        var imports = monitoringModule20101004.getImports();
         assertEquals(2, imports.size());
-        for (ModuleImport monitoringImport : imports) {
+        for (var monitoringImport : imports) {
             if (monitoringImport.getModuleName().equals("ietf-yang-types")) {
                 assertEquals(Optional.of(rev20130715), monitoringImport.getRevision());
             }
@@ -161,9 +157,9 @@ class MoreRevisionsTest extends AbstractYangTest {
         final QName dateTimeTypeDef20130516 = QName.create(yangTypes20130516, "date-and-time");
         final QName dateTimeTypeDef20130715 = QName.create(yangTypes20130715, "date-and-time");
 
-        Module yangTypesModule20100924 = context.findModule("ietf-yang-types", rev20100924).get();
-        Module yangTypesModule20130516 = context.findModule("ietf-yang-types", rev20130516).get();
-        Module yangTypesModule20130715 = context.findModule("ietf-yang-types", rev20130715).get();
+        var yangTypesModule20100924 = context.findModule("ietf-yang-types", rev20100924).orElseThrow();
+        var yangTypesModule20130516 = context.findModule("ietf-yang-types", rev20130516).orElseThrow();
+        var yangTypesModule20130715 = context.findModule("ietf-yang-types", rev20130715).orElseThrow();
         assertTrue(findTypeDef(yangTypesModule20100924, dateTimeTypeDef20100924));
         assertTrue(findTypeDef(yangTypesModule20130516, dateTimeTypeDef20130516));
         assertTrue(findTypeDef(yangTypesModule20130715, dateTimeTypeDef20130715));
@@ -179,14 +175,14 @@ class MoreRevisionsTest extends AbstractYangTest {
         final QNameModule interfacesNS20121115 = QNameModule.create(interfacesNS, rev20121115);
         QName lastChange = QName.create(interfacesNS20121115, "last-change");
 
-        Module interfacesModule20121115 = context.findModule("ietf-interfaces", rev20121115).get();
-        DataSchemaNode leafLastChange = interfacesModule20121115.getDataChildByName(lastChange);
+        var interfacesModule20121115 = context.findModule("ietf-interfaces", rev20121115).orElseThrow();
+        var leafLastChange = interfacesModule20121115.getDataChildByName(lastChange);
         QName lastChangeTypeQName = assertInstanceOf(LeafSchemaNode.class, leafLastChange).getType().getQName();
         assertEquals(dateTimeTypeDef20100924, lastChangeTypeQName);
 
-        Collection<? extends ModuleImport> imports = interfacesModule20121115.getImports();
+        var imports = interfacesModule20121115.getImports();
         assertEquals(1, imports.size());
-        ModuleImport interfacesImport = imports.iterator().next();
+        var interfacesImport = imports.iterator().next();
         assertEquals(Unqualified.of("ietf-yang-types"), interfacesImport.getModuleName());
         assertEquals(Optional.of(rev20100924), interfacesImport.getRevision());
     }
@@ -197,20 +193,20 @@ class MoreRevisionsTest extends AbstractYangTest {
         final QNameModule monitoring19700101 = QNameModule.create(monitoringNS);
         QName lockedTime = QName.create(monitoring19700101, "locked-time");
 
-        Module monitoringModule19700101 = context.findModule("ietf-netconf-monitoring").get();
-        DataSchemaNode leafLockedTime = monitoringModule19700101.getDataChildByName(lockedTime);
+        var monitoringModule19700101 = context.findModule("ietf-netconf-monitoring").orElseThrow();
+        var leafLockedTime = monitoringModule19700101.getDataChildByName(lockedTime);
         QName lockedTimeTypeQName = assertInstanceOf(LeafSchemaNode.class, leafLockedTime).getType().getQName();
         assertEquals(dateTimeTypeDef20130715, lockedTimeTypeQName);
 
-        Collection<? extends ModuleImport> imports = monitoringModule19700101.getImports();
+        var imports = monitoringModule19700101.getImports();
         assertEquals(1, imports.size());
-        ModuleImport monitoringImport = imports.iterator().next();
+        var monitoringImport = imports.iterator().next();
         assertEquals(Unqualified.of("ietf-yang-types"), monitoringImport.getModuleName());
         assertEquals(Optional.of(rev20130715), monitoringImport.getRevision());
     }
 
     private static boolean findTypeDef(final Module module, final QName typedef) {
-        for (TypeDefinition<?> typeDefinition : module.getTypeDefinitions()) {
+        for (var typeDefinition : module.getTypeDefinitions()) {
             if (typeDefinition.getQName().equals(typedef)) {
                 return true;
             }
@@ -224,12 +220,10 @@ class MoreRevisionsTest extends AbstractYangTest {
 
         QName root = QName.create("foo", "2016-04-06", "foo-root");
         QName container20160404 = QName.create("foo", "2016-04-06", "con20160404");
-        DataSchemaNode findDataSchemaNode = context.findDataTreeChild(root, container20160404).orElse(null);
-        assertInstanceOf(ContainerSchemaNode.class, findDataSchemaNode);
+        assertInstanceOf(ContainerSchemaNode.class, context.findDataTreeChild(root, container20160404).orElse(null));
 
         QName container20160405 = QName.create("foo", "2016-04-06", "con20160405");
-        findDataSchemaNode = context.findDataTreeChild(root, container20160405).orElse(null);
-        assertInstanceOf(ContainerSchemaNode.class, findDataSchemaNode);
+        assertInstanceOf(ContainerSchemaNode.class, context.findDataTreeChild(root, container20160405).orElse(null));
 
         QName container20160406 = QName.create("foo", "2016-04-06", "con20160406");
         assertEquals(Optional.empty(), context.findDataTreeChild(root, container20160406));
index aaad5e9bf40791b512213f15a98c126c90d09afc..e6c9daee4da74a422dbd3ddc81c37b759c5e7413 100644 (file)
@@ -8,18 +8,15 @@
 package org.opendaylight.yangtools.yang.stmt;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-import java.util.Collection;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.InputSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.OutputSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementOrigin;
@@ -29,38 +26,35 @@ class RpcStmtTest extends AbstractYangTest {
     void rpcTest() {
         final var result = assertEffectiveModel("/model/baz.yang", "/model/bar.yang", "/rpc-stmt-test/foo.yang");
 
-        final Module testModule = result.findModules("baz").iterator().next();
+        final var testModule = result.findModules("baz").iterator().next();
         assertEquals(1, testModule.getRpcs().size());
 
-        final RpcDefinition rpc = testModule.getRpcs().iterator().next();
+        final var rpc = testModule.getRpcs().iterator().next();
         assertEquals("get-config", rpc.getQName().getLocalName());
 
-        final InputSchemaNode input = rpc.getInput();
-        assertNotNull(input);
+        final var input = rpc.getInput();
         assertEquals(2, input.getChildNodes().size());
 
-        final ContainerSchemaNode container = (ContainerSchemaNode) input.getDataChildByName(
-            QName.create(testModule.getQNameModule(), "source"));
-        assertNotNull(container);
-        AnyxmlSchemaNode anyXml = (AnyxmlSchemaNode) input.getDataChildByName(
-            QName.create(testModule.getQNameModule(), "filter"));
-        assertNotNull(anyXml);
+        assertInstanceOf(ContainerSchemaNode.class,
+            input.getDataChildByName(QName.create(testModule.getQNameModule(), "source")));
+        assertInstanceOf(AnyxmlSchemaNode.class,
+            input.getDataChildByName(QName.create(testModule.getQNameModule(), "filter")));
 
-        final OutputSchemaNode output = rpc.getOutput();
+        final var output = rpc.getOutput();
         assertNotNull(output);
         assertEquals(1, output.getChildNodes().size());
 
-        anyXml = (AnyxmlSchemaNode) output.getDataChildByName(QName.create(testModule.getQNameModule(), "data"));
-        assertNotNull(anyXml);
+        assertInstanceOf(AnyxmlSchemaNode.class,
+            output.getDataChildByName(QName.create(testModule.getQNameModule(), "data")));
 
-        final Module fooModule = result.findModule("foo", Revision.of("2016-09-23")).get();
-        final Collection<? extends RpcDefinition> rpcs = fooModule.getRpcs();
+        final var fooModule = result.findModule("foo", Revision.of("2016-09-23")).orElseThrow();
+        final var rpcs = fooModule.getRpcs();
         assertEquals(2, rpcs.size());
 
         RpcDefinition fooRpc1 = null;
         RpcDefinition fooRpc2 = null;
 
-        for (RpcDefinition rpcDefinition : rpcs) {
+        for (var rpcDefinition : rpcs) {
             if ("foo-rpc-1".equals(rpcDefinition.getQName().getLocalName())) {
                 fooRpc1 = rpcDefinition;
             } else if ("foo-rpc-2".equals(rpcDefinition.getQName().getLocalName())) {
@@ -90,19 +84,17 @@ class RpcStmtTest extends AbstractYangTest {
     void testImplicitInputAndOutput() {
         final var context = assertEffectiveModel("/rpc-stmt-test/bar.yang");
 
-        final Module barModule = context.findModule("bar", Revision.of("2016-11-25")).get();
-        final Collection<? extends RpcDefinition> rpcs = barModule.getRpcs();
+        final var barModule = context.findModule("bar", Revision.of("2016-11-25")).orElseThrow();
+        final var rpcs = barModule.getRpcs();
         assertEquals(1, rpcs.size());
 
-        final RpcDefinition barRpc = rpcs.iterator().next();
+        final var barRpc = rpcs.iterator().next();
 
-        final InputSchemaNode input = barRpc.getInput();
-        assertNotNull(input);
+        final var input = barRpc.getInput();
         assertEquals(2, input.getChildNodes().size());
         assertEquals(StatementOrigin.CONTEXT, ((EffectiveStatement<?, ?>) input).statementOrigin());
 
-        final OutputSchemaNode output = barRpc.getOutput();
-        assertNotNull(output);
+        final var output = barRpc.getOutput();
         assertEquals(2, output.getChildNodes().size());
         assertEquals(StatementOrigin.CONTEXT, ((EffectiveStatement<?, ?>) output).statementOrigin());
     }
index d7adb3548991a4e4e7798c455ff7d9b38ec07824..8f2d297c1f1fa452042510cba3fe02a66a1f899d 100644 (file)
@@ -12,15 +12,10 @@ import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 
-import com.google.common.collect.Range;
-import java.util.Collection;
-import java.util.Set;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.Decimal64;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.TypeDefinitions;
 
@@ -31,35 +26,33 @@ class TypedefConstraintsTest extends AbstractYangTest {
 
         assertNotNull(context);
 
-        final Collection<? extends TypeDefinition<?>> typeDefinitions = context.getTypeDefinitions();
+        final var typeDefinitions = context.getTypeDefinitions();
         assertNotNull(typeDefinitions);
         assertEquals(1, typeDefinitions.size());
 
-        final TypeDefinition<?> myDecimal = typeDefinitions.iterator().next();
+        final var myDecimal = typeDefinitions.iterator().next();
 
-        final Set<? extends Range<?>> rangeConstraints = assertInstanceOf(DecimalTypeDefinition.class, myDecimal)
+        final var rangeConstraints = assertInstanceOf(DecimalTypeDefinition.class, myDecimal)
             .getRangeConstraint()
             .orElseThrow().getAllowedRanges().asRanges();
 
         assertNotNull(rangeConstraints);
         assertEquals(1, rangeConstraints.size());
 
-        final DataSchemaNode dataNode = context.getDataChildByName(QName.create("urn:opendaylight.foo", "2013-10-08",
+        final var dataNode = context.getDataChildByName(QName.create("urn:opendaylight.foo", "2013-10-08",
             "id-decimal64"));
-        assertNotNull(dataNode);
-        final LeafSchemaNode leafDecimal = assertInstanceOf(LeafSchemaNode.class, dataNode);
+        final var leafDecimal = assertInstanceOf(LeafSchemaNode.class, dataNode);
 
-        final TypeDefinition<?> type = leafDecimal.getType();
+        final var type = leafDecimal.getType();
 
-        final DecimalTypeDefinition decType = assertInstanceOf(DecimalTypeDefinition.class, type);
+        final var decType = assertInstanceOf(DecimalTypeDefinition.class, type);
         assertEquals(4, decType.getFractionDigits());
 
-        final Set<? extends Range<Decimal64>> decRangeConstraints = decType.getRangeConstraint().get()
-            .getAllowedRanges().asRanges();
+        final var decRangeConstraints = decType.getRangeConstraint().orElseThrow().getAllowedRanges().asRanges();
 
         assertEquals(1, decRangeConstraints.size());
 
-        final Range<Decimal64> range = decRangeConstraints.iterator().next();
+        final var range = decRangeConstraints.iterator().next();
         assertEquals(Decimal64.of(4, 15000), range.lowerEndpoint());
         assertEquals(4, range.lowerEndpoint().scale());
         assertEquals(Decimal64.of(4, 55000), range.upperEndpoint());
index f14efdb092a91fa996795e6593c33b33e84198f5..a4f6f805637f338c33a9bc577d59e68a18ba9be6 100644 (file)
@@ -7,17 +7,16 @@
  */
 package org.opendaylight.yangtools.yang.stmt;
 
+import static org.hamcrest.CoreMatchers.containsString;
 import static org.hamcrest.CoreMatchers.startsWith;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import com.google.common.collect.Iterables;
-import com.google.common.collect.Range;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Optional;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -28,18 +27,13 @@ import org.opendaylight.yangtools.yang.common.XMLNamespace;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.Status;
-import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
 import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition.Bit;
 import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair;
 import org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.InstanceIdentifierTypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint;
-import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
 import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
 
@@ -58,16 +52,18 @@ class TypesResolutionTest extends AbstractYangTest {
 
     @Test
     void testIPVersion() {
-        Module tested = CONTEXT.findModules("ietf-inet-types").iterator().next();
-        Collection<? extends TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
+        var tested = CONTEXT.findModules("ietf-inet-types").iterator().next();
+        var typedefs = tested.getTypeDefinitions();
         assertEquals(14, typedefs.size());
 
-        TypeDefinition<?> type = TestUtils.findTypedef(typedefs, "ip-version");
-        assertTrue(type.getDescription().get().contains("This value represents the version of the IP protocol."));
-        assertTrue(type.getReference().get().contains("RFC 2460: Internet Protocol, Version 6 (IPv6) Specification"));
+        var type = TestUtils.findTypedef(typedefs, "ip-version");
+        assertThat(type.getDescription().orElseThrow(),
+            containsString("This value represents the version of the IP protocol."));
+        assertThat(type.getReference().orElseThrow(),
+            containsString("RFC 2460: Internet Protocol, Version 6 (IPv6) Specification"));
 
-        EnumTypeDefinition enumType = (EnumTypeDefinition) type.getBaseType();
-        List<EnumPair> values = enumType.getValues();
+        var enumType = assertInstanceOf(EnumTypeDefinition.class, type.getBaseType());
+        var values = enumType.getValues();
         assertEquals(3, values.size());
 
         EnumPair value0 = values.get(0);
@@ -89,31 +85,31 @@ class TypesResolutionTest extends AbstractYangTest {
 
     @Test
     void testEnumeration() {
-        Module tested = CONTEXT.findModules("custom-types-test").iterator().next();
-        Collection<? extends TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
+        var tested = CONTEXT.findModules("custom-types-test").iterator().next();
+        var typedefs = tested.getTypeDefinitions();
 
-        TypeDefinition<?> type = TestUtils.findTypedef(typedefs, "ip-version");
-        EnumTypeDefinition enumType = (EnumTypeDefinition) type.getBaseType();
-        List<EnumPair> values = enumType.getValues();
+        var type = TestUtils.findTypedef(typedefs, "ip-version");
+        var enumType = assertInstanceOf(EnumTypeDefinition.class, type.getBaseType());
+        var values = enumType.getValues();
         assertEquals(4, values.size());
 
-        EnumPair value0 = values.get(0);
+        var value0 = values.get(0);
         assertEquals("unknown", value0.getName());
         assertEquals(0, value0.getValue());
         assertEquals(Optional.of("An unknown or unspecified version of the Internet protocol."),
             value0.getDescription());
 
-        EnumPair value1 = values.get(1);
+        var value1 = values.get(1);
         assertEquals("ipv4", value1.getName());
         assertEquals(19, value1.getValue());
         assertEquals(Optional.of("The IPv4 protocol as defined in RFC 791."), value1.getDescription());
 
-        EnumPair value2 = values.get(2);
+        var value2 = values.get(2);
         assertEquals("ipv6", value2.getName());
         assertEquals(7, value2.getValue());
         assertEquals(Optional.of("The IPv6 protocol as defined in RFC 2460."), value2.getDescription());
 
-        EnumPair value3 = values.get(3);
+        var value3 = values.get(3);
         assertEquals("default", value3.getName());
         assertEquals(20, value3.getValue());
         assertEquals(Optional.of("default ip"), value3.getDescription());
@@ -121,56 +117,60 @@ class TypesResolutionTest extends AbstractYangTest {
 
     @Test
     void testIpAddress() {
-        Module tested = CONTEXT.findModules("ietf-inet-types").iterator().next();
-        Collection<? extends TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
-        TypeDefinition<?> type = TestUtils.findTypedef(typedefs, "ip-address");
-        UnionTypeDefinition baseType = (UnionTypeDefinition) type.getBaseType();
-        List<TypeDefinition<?>> unionTypes = baseType.getTypes();
+        var tested = CONTEXT.findModules("ietf-inet-types").iterator().next();
+        var typedefs = tested.getTypeDefinitions();
+        var type = TestUtils.findTypedef(typedefs, "ip-address");
+        var baseType = assertInstanceOf(UnionTypeDefinition.class, type.getBaseType());
+        var unionTypes = baseType.getTypes();
 
-        StringTypeDefinition ipv4 = (StringTypeDefinition) unionTypes.get(0);
+        var ipv4 = assertInstanceOf(StringTypeDefinition.class, unionTypes.get(0));
         assertNotNull(ipv4.getBaseType());
-        String expectedPattern = "^(?:(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}"
-            + "([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])" + "(%[\\p{N}\\p{L}]+)?)$";
-        assertEquals(expectedPattern, ipv4.getPatternConstraints().get(0).getJavaPatternString());
+        assertEquals("""
+            ^(?:(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}\
+            ([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\
+            (%[\\p{N}\\p{L}]+)?)$""", ipv4.getPatternConstraints().get(0).getJavaPatternString());
 
-        StringTypeDefinition ipv6 = (StringTypeDefinition) unionTypes.get(1);
+        var ipv6 = assertInstanceOf(StringTypeDefinition.class, unionTypes.get(1));
         assertNotNull(ipv6.getBaseType());
-        List<PatternConstraint> ipv6Patterns = ipv6.getPatternConstraints();
-        expectedPattern = "^(?:((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}"
-            + "((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|" + "(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}"
-            + "(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))" + "(%[\\p{N}\\p{L}]+)?)$";
-        assertEquals(expectedPattern, ipv6Patterns.get(0).getJavaPatternString());
-
-        expectedPattern = "^(?:(([^:]+:){6}(([^:]+:[^:]+)|(.*\\..*)))|" + "((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)"
-            + "(%.+)?)$";
-        assertEquals(expectedPattern, ipv6Patterns.get(1).getJavaPatternString());
+        var ipv6Patterns = ipv6.getPatternConstraints();
+        assertEquals("""
+            ^(?:((:|[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}\
+            ((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|\
+            (((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}\
+            (25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))\
+            (%[\\p{N}\\p{L}]+)?)$""", ipv6Patterns.get(0).getJavaPatternString());
+        assertEquals("""
+            ^(?:(([^:]+:){6}(([^:]+:[^:]+)|(.*\\..*)))|\
+            ((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)\
+            (%.+)?)$""", ipv6Patterns.get(1).getJavaPatternString());
     }
 
     @Test
     void testDomainName() {
-        Module tested = CONTEXT.findModules("ietf-inet-types").iterator().next();
-        Collection<? extends TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
-        StringTypeDefinition type = (StringTypeDefinition) TestUtils.findTypedef(typedefs, "domain-name");
+        var tested = CONTEXT.findModules("ietf-inet-types").iterator().next();
+        var typedefs = tested.getTypeDefinitions();
+        var type = assertInstanceOf(StringTypeDefinition.class, TestUtils.findTypedef(typedefs, "domain-name"));
         assertNotNull(type.getBaseType());
-        List<PatternConstraint> patterns = type.getPatternConstraints();
+        var patterns = type.getPatternConstraints();
         assertEquals(1, patterns.size());
-        String expectedPattern = "^(?:((([a-zA-Z0-9_]([a-zA-Z0-9\\-_]){0,61})?[a-zA-Z0-9]\\.)*"
-            + "([a-zA-Z0-9_]([a-zA-Z0-9\\-_]){0,61})?[a-zA-Z0-9]\\.?)" + "|\\.)$";
-        assertEquals(expectedPattern, patterns.get(0).getJavaPatternString());
+        assertEquals("""
+            ^(?:((([a-zA-Z0-9_]([a-zA-Z0-9\\-_]){0,61})?[a-zA-Z0-9]\\.)*\
+            ([a-zA-Z0-9_]([a-zA-Z0-9\\-_]){0,61})?[a-zA-Z0-9]\\.?)\
+            |\\.)$""", patterns.get(0).getJavaPatternString());
 
-        LengthConstraint lengths = type.getLengthConstraint().get();
+        var lengths = type.getLengthConstraint().orElseThrow();
         assertEquals(1, lengths.getAllowedRanges().asRanges().size());
-        Range<Integer> length = lengths.getAllowedRanges().span();
+        var length = lengths.getAllowedRanges().span();
         assertEquals(Integer.valueOf(1), length.lowerEndpoint());
         assertEquals(Integer.valueOf(253), length.upperEndpoint());
     }
 
     @Test
     void testInstanceIdentifier1() {
-        Module tested = CONTEXT.findModules("custom-types-test").iterator().next();
-        LeafSchemaNode leaf = (LeafSchemaNode) tested.getDataChildByName(
-            QName.create(tested.getQNameModule(), "inst-id-leaf1"));
-        InstanceIdentifierTypeDefinition leafType = (InstanceIdentifierTypeDefinition) leaf.getType();
+        var tested = CONTEXT.findModules("custom-types-test").iterator().next();
+        var leaf = assertInstanceOf(LeafSchemaNode.class,
+            tested.getDataChildByName(QName.create(tested.getQNameModule(), "inst-id-leaf1")));
+        var leafType = assertInstanceOf(InstanceIdentifierTypeDefinition.class, leaf.getType());
         assertFalse(leafType.requireInstance());
         assertEquals(1,
             leaf.asEffectiveStatement().getDeclared().declaredSubstatements(UnrecognizedStatement.class).size());
@@ -178,22 +178,22 @@ class TypesResolutionTest extends AbstractYangTest {
 
     @Test
     void testInstanceIdentifier2() {
-        Module tested = CONTEXT.findModules("custom-types-test").iterator().next();
-        LeafSchemaNode leaf = (LeafSchemaNode) tested.getDataChildByName(
-            QName.create(tested.getQNameModule(), "inst-id-leaf2"));
-        InstanceIdentifierTypeDefinition leafType = (InstanceIdentifierTypeDefinition) leaf.getType();
+        var tested = CONTEXT.findModules("custom-types-test").iterator().next();
+        var leaf = assertInstanceOf(LeafSchemaNode.class,
+            tested.getDataChildByName(QName.create(tested.getQNameModule(), "inst-id-leaf2")));
+        var leafType = assertInstanceOf(InstanceIdentifierTypeDefinition.class, leaf.getType());
         assertFalse(leafType.requireInstance());
     }
 
     @Test
     void testIdentity() {
-        Module tested = CONTEXT.findModules("custom-types-test").iterator().next();
-        Collection<? extends IdentitySchemaNode> identities = tested.getIdentities();
+        var tested = CONTEXT.findModules("custom-types-test").iterator().next();
+        var identities = tested.getIdentities();
         assertEquals(5, identities.size());
         IdentitySchemaNode cryptoAlg = null;
         IdentitySchemaNode cryptoBase = null;
         IdentitySchemaNode cryptoId = null;
-        for (IdentitySchemaNode id : identities) {
+        for (var id : identities) {
             if (id.getQName().getLocalName().equals("crypto-alg")) {
                 cryptoAlg = id;
             } else if ("crypto-base".equals(id.getQName().getLocalName())) {
@@ -203,7 +203,7 @@ class TypesResolutionTest extends AbstractYangTest {
             }
         }
         assertNotNull(cryptoAlg);
-        IdentitySchemaNode baseIdentity = Iterables.getOnlyElement(cryptoAlg.getBaseIdentities());
+        var baseIdentity = Iterables.getOnlyElement(cryptoAlg.getBaseIdentities());
         assertEquals("crypto-base", baseIdentity.getQName().getLocalName());
         assertEquals(0, CONTEXT.getDerivedIdentities(cryptoAlg).size());
         assertEquals(0, baseIdentity.getBaseIdentities().size());
@@ -219,21 +219,21 @@ class TypesResolutionTest extends AbstractYangTest {
 
     @Test
     void testBitsType1() {
-        Module tested = CONTEXT.findModules("custom-types-test").iterator().next();
-        LeafSchemaNode leaf = (LeafSchemaNode) tested.getDataChildByName(
-            QName.create(tested.getQNameModule(), "mybits"));
-        BitsTypeDefinition leafType = (BitsTypeDefinition) leaf.getType();
-        Iterator<? extends Bit> bits = leafType.getBits().iterator();
+        var tested = CONTEXT.findModules("custom-types-test").iterator().next();
+        var leaf = assertInstanceOf(LeafSchemaNode.class,
+            tested.getDataChildByName(QName.create(tested.getQNameModule(), "mybits")));
+        var leafType = assertInstanceOf(BitsTypeDefinition.class, leaf.getType());
+        var bits = leafType.getBits().iterator();
 
-        Bit bit1 = bits.next();
+        var bit1 = bits.next();
         assertEquals("disable-nagle", bit1.getName());
         assertEquals(Uint32.ZERO, bit1.getPosition());
 
-        Bit bit2 = bits.next();
+        var bit2 = bits.next();
         assertEquals("auto-sense-speed", bit2.getName());
         assertEquals(Uint32.ONE, bit2.getPosition());
 
-        Bit bit3 = bits.next();
+        var bit3 = bits.next();
         assertEquals("only-10-Mb", bit3.getName());
         assertEquals(Uint32.TWO, bit3.getPosition());
 
@@ -242,30 +242,30 @@ class TypesResolutionTest extends AbstractYangTest {
 
     @Test
     void testBitsType2() {
-        Module tested = CONTEXT.findModules("custom-types-test").iterator().next();
-        Collection<? extends TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
-        TypeDefinition<?> testedType = TestUtils.findTypedef(typedefs, "access-operations-type");
+        var tested = CONTEXT.findModules("custom-types-test").iterator().next();
+        var typedefs = tested.getTypeDefinitions();
+        var testedType = TestUtils.findTypedef(typedefs, "access-operations-type");
 
-        BitsTypeDefinition bitsType = (BitsTypeDefinition) testedType.getBaseType();
-        Iterator<? extends Bit> bits = bitsType.getBits().iterator();
+        var bitsType = assertInstanceOf(BitsTypeDefinition.class, testedType.getBaseType());
+        var bits = bitsType.getBits().iterator();
 
-        Bit bit0 = bits.next();
+        var bit0 = bits.next();
         assertEquals("create", bit0.getName());
         assertEquals(Uint32.ZERO, bit0.getPosition());
 
-        Bit bit1 = bits.next();
+        var bit1 = bits.next();
         assertEquals("delete", bit1.getName());
         assertEquals(Uint32.valueOf(365), bit1.getPosition());
 
-        Bit bit2 = bits.next();
+        var bit2 = bits.next();
         assertEquals("read", bit2.getName());
         assertEquals(Uint32.valueOf(500), bit2.getPosition());
 
-        Bit bit3 = bits.next();
+        var bit3 = bits.next();
         assertEquals("update", bit3.getName());
         assertEquals(Uint32.valueOf(501), bit3.getPosition());
 
-        Bit bit4 = bits.next();
+        var bit4 = bits.next();
         assertEquals("exec", bit4.getName());
         assertEquals(Uint32.valueOf(502), bit4.getPosition());
 
@@ -274,12 +274,12 @@ class TypesResolutionTest extends AbstractYangTest {
 
     @Test
     void testIanaTimezones() {
-        Module tested = CONTEXT.findModules("iana-timezones").iterator().next();
-        Collection<? extends TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
-        TypeDefinition<?> testedType = TestUtils.findTypedef(typedefs, "iana-timezone");
+        var tested = CONTEXT.findModules("iana-timezones").iterator().next();
+        var typedefs = tested.getTypeDefinitions();
+        var testedType = TestUtils.findTypedef(typedefs, "iana-timezone");
 
-        String expectedDesc = "A timezone location as defined by the IANA timezone";
-        assertTrue(testedType.getDescription().get().contains(expectedDesc));
+        assertThat(testedType.getDescription().orElseThrow(),
+            containsString("A timezone location as defined by the IANA timezone"));
         assertFalse(testedType.getReference().isPresent());
         assertEquals(Status.CURRENT, testedType.getStatus());
 
@@ -288,17 +288,17 @@ class TypesResolutionTest extends AbstractYangTest {
         assertEquals(Revision.ofNullable("2012-07-09"), testedTypeQName.getRevision());
         assertEquals("iana-timezone", testedTypeQName.getLocalName());
 
-        EnumTypeDefinition enumType = (EnumTypeDefinition) testedType.getBaseType();
-        List<EnumPair> values = enumType.getValues();
+        var enumType = assertInstanceOf(EnumTypeDefinition.class, testedType.getBaseType());
+        var values = enumType.getValues();
         // 0-414
         assertEquals(415, values.size());
 
-        EnumPair enum168 = values.get(168);
+        var enum168 = values.get(168);
         assertEquals("America/Danmarkshavn", enum168.getName());
         assertEquals(168, enum168.getValue());
         assertEquals(Optional.of("east coast, north of Scoresbysund"), enum168.getDescription());
 
-        EnumPair enum374 = values.get(374);
+        var enum374 = values.get(374);
         assertEquals("America/Indiana/Winamac", enum374.getName());
         assertEquals(374, enum374.getValue());
         assertEquals(Optional.of("Eastern Time - Indiana - Pulaski County"), enum374.getDescription());
@@ -306,14 +306,14 @@ class TypesResolutionTest extends AbstractYangTest {
 
     @Test
     void testObjectId128() {
-        Module tested = CONTEXT.findModules("ietf-yang-types").iterator().next();
-        Collection<? extends TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
-        StringTypeDefinition testedType = (StringTypeDefinition) TestUtils.findTypedef(typedefs,
-            "object-identifier-128");
+        var tested = CONTEXT.findModules("ietf-yang-types").iterator().next();
+        var typedefs = tested.getTypeDefinitions();
+        var testedType = assertInstanceOf(StringTypeDefinition.class,
+            TestUtils.findTypedef(typedefs, "object-identifier-128"));
 
-        List<PatternConstraint> patterns = testedType.getPatternConstraints();
+        var patterns = testedType.getPatternConstraints();
         assertEquals(1, patterns.size());
-        PatternConstraint pattern = patterns.get(0);
+        var pattern = patterns.get(0);
         assertEquals("^(?:\\d*(\\.\\d*){1,127})$", pattern.getJavaPatternString());
 
         QName testedTypeQName = testedType.getQName();
@@ -321,7 +321,7 @@ class TypesResolutionTest extends AbstractYangTest {
         assertEquals(Revision.ofNullable("2010-09-24"), testedTypeQName.getRevision());
         assertEquals("object-identifier-128", testedTypeQName.getLocalName());
 
-        StringTypeDefinition testedTypeBase = testedType.getBaseType();
+        var testedTypeBase = testedType.getBaseType();
         patterns = testedTypeBase.getPatternConstraints();
         assertEquals(1, patterns.size());
 
@@ -338,10 +338,10 @@ class TypesResolutionTest extends AbstractYangTest {
 
     @Test
     void testIdentityref() {
-        Module tested = CONTEXT.findModules("custom-types-test").iterator().next();
-        Collection<? extends TypeDefinition<?>> typedefs = tested.getTypeDefinitions();
-        TypeDefinition<?> testedType = TestUtils.findTypedef(typedefs, "service-type-ref");
-        IdentityrefTypeDefinition baseType = (IdentityrefTypeDefinition) testedType.getBaseType();
+        var tested = CONTEXT.findModules("custom-types-test").iterator().next();
+        var typedefs = tested.getTypeDefinitions();
+        var testedType = TestUtils.findTypedef(typedefs, "service-type-ref");
+        var baseType = assertInstanceOf(IdentityrefTypeDefinition.class, testedType.getBaseType());
         QName identity = baseType.getIdentities().iterator().next().getQName();
         assertEquals(XMLNamespace.of("urn:custom.types.demo"), identity.getNamespace());
         assertEquals(Revision.ofNullable("2012-04-16"), identity.getRevision());
index d0774d4a9b874aeca952bdf97b3d00bc9c779076..195537cbb496d9bcf5a66694668e783d3a1437f1 100644 (file)
@@ -14,8 +14,6 @@ import java.util.List;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.xpath.api.YangExpr;
 import org.opendaylight.yangtools.yang.xpath.api.YangLocationPath.Relative;
 import org.opendaylight.yangtools.yang.xpath.api.YangXPathAxis;
 
@@ -25,8 +23,8 @@ class YT1201Test extends AbstractYangTest {
 
     @Test
     void testWhenPrefixes() {
-        final DataSchemaNode bar = assertEffectiveModelDir("/bugs/YT1201/").getDataChildByName(BAR);
-        final YangExpr when = assertInstanceOf(ContainerSchemaNode.class, bar).getWhenCondition().orElseThrow()
+        final var bar = assertEffectiveModelDir("/bugs/YT1201/").getDataChildByName(BAR);
+        final var when = assertInstanceOf(ContainerSchemaNode.class, bar).getWhenCondition().orElseThrow()
             .getRootExpr();
         assertEquals(List.of(YangXPathAxis.CHILD.asStep(FOO)), assertInstanceOf(Relative.class, when).getSteps());
     }
index 171b8f68eb0ffbe0387289f7fb799affe2f66434..f5bb5d38e45e575e84a006974bd0db609a80966b 100644 (file)
@@ -13,9 +13,7 @@ import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import java.util.Optional;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 
 class YT911Test extends AbstractYangTest {
     private static final QName FOO = QName.create("foo", "2018-10-22", "foo");
@@ -28,12 +26,12 @@ class YT911Test extends AbstractYangTest {
         assertEquals(Optional.of(Boolean.FALSE), foo.effectiveConfig());
 
         // Instantiated node
-        final DataSchemaNode bar = foo.findDataTreeChild(BAR).orElseThrow();
+        final var bar = foo.findDataTreeChild(BAR).orElseThrow();
         assertEquals(Optional.of(Boolean.FALSE), bar.effectiveConfig());
 
         // Original augmentation node
-        final AugmentationSchemaNode aug = foo.getAvailableAugmentations().iterator().next();
-        final DataSchemaNode augBar = aug.findDataTreeChild(BAR).orElseThrow();
+        final var aug = foo.getAvailableAugmentations().iterator().next();
+        final var augBar = aug.findDataTreeChild(BAR).orElseThrow();
         assertEquals(Optional.empty(), augBar.effectiveConfig());
     }
 }
index 9208e4102cd82fb595779c451f524cd78fed4f81..2c0f61b0363fe5e78a4ee8b0def22441b6bb5bad 100644 (file)
@@ -24,7 +24,7 @@ class YT956Test extends AbstractYangTest {
         final var another = assertEffectiveModelDir("/bugs/YT956/").getDataChildByName(ANOTHER_CONTAINER);
         final var anotherContainer = assertInstanceOf(ContainerSchemaNode.class, another);
 
-        final var first = anotherContainer.findDataChildByName(FIRST_AUGMENT).get();
+        final var first = anotherContainer.getDataChildByName(FIRST_AUGMENT);
         final var firstAugment = assertInstanceOf(ContainerSchemaNode.class, first);
 
         // Augmentation needs to be added
index f6e1172cd8df7a6ce567b7a94bb708fa42b0b00e..e7d889d5e5b5c90ba681ce6976d7e7a421732521 100644 (file)
@@ -14,11 +14,9 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 
 class YT983Test extends AbstractYangTest {
-    private static final QName FOO = QName.create("foo", "2019-04-30", "foo");
-
     @Test
     void testAugmentationConfig() {
         final var context = assertEffectiveModel("/bugs/YT983/foo.yang");
-        assertInstanceOf(LeafSchemaNode.class, context.getDataChildByName(FOO));
+        assertInstanceOf(LeafSchemaNode.class, context.getDataChildByName(QName.create("foo", "2019-04-30", "foo")));
     }
 }
index f5cdbce3ab16a429dadf8f54b1a37614bddf90c2..dc420f3a1a39bf2c7e0b101bc33966855a1524b0 100644 (file)
@@ -12,14 +12,13 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.opendaylight.yangtools.yang.stmt.StmtTestUtils.sourceForResource;
 
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Range;
-import java.util.Map;
 import java.util.Optional;
-import java.util.Set;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Revision;
@@ -28,27 +27,16 @@ import org.opendaylight.yangtools.yang.common.XMLNamespace;
 import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.DeviateKind;
-import org.opendaylight.yangtools.yang.model.api.Deviation;
-import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint;
-import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
-import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.MustDefinition;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 import org.opendaylight.yangtools.yang.model.api.UsesNode;
-import org.opendaylight.yangtools.yang.model.api.stmt.ContainerStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
-import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnrecognizedStatement;
 import org.opendaylight.yangtools.yang.model.api.type.Uint16TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.Uint8TypeDefinition;
 import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.RFC7950Reactors;
-import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
 
 class YangParserWithContextTest {
@@ -72,32 +60,32 @@ class YangParserWithContextTest {
         sourceForResource("/ietf/network-topology@2013-10-21.yang")};
 
     @Test
-    void testTypeFromContext() throws ReactorException {
-        final SchemaContext context = RFC7950Reactors.defaultReactor().newBuild()
+    void testTypeFromContext() throws Exception {
+        final var context = RFC7950Reactors.defaultReactor().newBuild()
             .addSources(IETF)
             .addSource(sourceForResource("/types/custom-types-test@2012-04-04.yang"))
             .addSource(sourceForResource("/context-test/test1.yang"))
             .buildEffective();
 
-        final Module module = context.findModule("test1", Revision.of("2013-06-18")).get();
-        final LeafSchemaNode leaf = (LeafSchemaNode) module.getDataChildByName(QName.create(module.getQNameModule(),
-            "id"));
+        final var module = context.findModule("test1", Revision.of("2013-06-18")).orElseThrow();
+        final var leaf = assertInstanceOf(LeafSchemaNode.class,
+            module.getDataChildByName(QName.create(module.getQNameModule(), "id")));
 
-        final Uint16TypeDefinition leafType = assertInstanceOf(Uint16TypeDefinition.class, leaf.getType());
+        final var leafType = assertInstanceOf(Uint16TypeDefinition.class, leaf.getType());
         QName qname = leafType.getQName();
         assertEquals(XMLNamespace.of("urn:simple.demo.test1"), qname.getNamespace());
         assertEquals(Revision.ofNullable("2013-06-18"), qname.getRevision());
         assertEquals("port-number", qname.getLocalName());
 
-        final Uint16TypeDefinition leafBaseType = leafType.getBaseType();
+        final var leafBaseType = leafType.getBaseType();
         qname = leafBaseType.getQName();
         assertEquals(XMLNamespace.of("urn:ietf:params:xml:ns:yang:ietf-inet-types"), qname.getNamespace());
         assertEquals(Revision.ofNullable("2010-09-24"), qname.getRevision());
         assertEquals("port-number", qname.getLocalName());
 
-        final Uint8TypeDefinition dscpExt = (Uint8TypeDefinition) TestUtils.findTypedef(module.getTypeDefinitions(),
-            "dscp-ext");
-        final Set<? extends Range<?>> ranges = dscpExt.getRangeConstraint().get().getAllowedRanges().asRanges();
+        final var dscpExt = assertInstanceOf(Uint8TypeDefinition.class,
+            TestUtils.findTypedef(module.getTypeDefinitions(), "dscp-ext"));
+        final var ranges = dscpExt.getRangeConstraint().orElseThrow().getAllowedRanges().asRanges();
         assertEquals(1, ranges.size());
         final Range<?> range = ranges.iterator().next();
         assertEquals(Uint8.valueOf(0), range.lowerEndpoint());
@@ -105,80 +93,73 @@ class YangParserWithContextTest {
     }
 
     @Test
-    void testUsesFromContext() throws ReactorException {
-        final SchemaContext context = RFC7950Reactors.defaultReactor().newBuild()
+    void testUsesFromContext() throws Exception {
+        final var context = RFC7950Reactors.defaultReactor().newBuild()
             .addSources(BAZ, FOO, BAR, SUBFOO, sourceForResource("/context-test/test2.yang"))
             .buildEffective();
 
-        final Module testModule = context.findModule("test2", Revision.of("2013-06-18")).get();
-        final Module contextModule = context.findModules(XMLNamespace.of("urn:opendaylight.baz")).iterator().next();
+        final var testModule = context.findModule("test2", Revision.of("2013-06-18")).orElseThrow();
+        final var contextModule = context.findModules(XMLNamespace.of("urn:opendaylight.baz")).iterator().next();
         assertNotNull(contextModule);
         final var groupings = contextModule.getGroupings();
         assertEquals(1, groupings.size());
-        final GroupingDefinition grouping = groupings.iterator().next();
+        final var grouping = groupings.iterator().next();
 
         // get node containing uses
-        final ContainerSchemaNode peer = (ContainerSchemaNode) testModule.getDataChildByName(QName.create(
-            testModule.getQNameModule(), "peer"));
-        final ContainerSchemaNode destination = (ContainerSchemaNode) peer.getDataChildByName(QName.create(
-            testModule.getQNameModule(), "destination"));
+        final var peer = assertInstanceOf(ContainerSchemaNode.class,
+            testModule.getDataChildByName(QName.create(testModule.getQNameModule(), "peer")));
+        final var destination = assertInstanceOf(ContainerSchemaNode.class,
+            peer.getDataChildByName(QName.create(testModule.getQNameModule(), "destination")));
 
         // check uses
         final var uses = destination.getUses();
         assertEquals(1, uses.size());
 
         // check uses process
-        final AnyxmlSchemaNode data_u = (AnyxmlSchemaNode) destination.getDataChildByName(QName.create(
-            testModule.getQNameModule(), "data"));
-        assertNotNull(data_u);
+        final var data_u = assertInstanceOf(AnyxmlSchemaNode.class,
+            destination.getDataChildByName(QName.create(testModule.getQNameModule(), "data")));
         assertTrue(data_u.isAddedByUses());
 
-        final AnyxmlSchemaNode data_g = (AnyxmlSchemaNode) grouping.getDataChildByName(QName.create(
-            contextModule.getQNameModule(), "data"));
-        assertNotNull(data_g);
+        final var data_g = assertInstanceOf(AnyxmlSchemaNode.class,
+            grouping.getDataChildByName(QName.create(contextModule.getQNameModule(), "data")));
         assertFalse(data_g.isAddedByUses());
         assertNotEquals(data_u, data_g);
 
-        final ChoiceSchemaNode how_u = (ChoiceSchemaNode) destination.getDataChildByName(QName.create(
-            testModule.getQNameModule(), "how"));
-        assertNotNull(how_u);
+        final var how_u = assertInstanceOf(ChoiceSchemaNode.class,
+            destination.getDataChildByName(QName.create(testModule.getQNameModule(), "how")));
         assertTrue(how_u.isAddedByUses());
 
-        final ChoiceSchemaNode how_g = (ChoiceSchemaNode) grouping.getDataChildByName(QName.create(
-            contextModule.getQNameModule(), "how"));
-        assertNotNull(how_g);
+        final var how_g = assertInstanceOf(ChoiceSchemaNode.class,
+            grouping.getDataChildByName(QName.create(contextModule.getQNameModule(), "how")));
         assertFalse(how_g.isAddedByUses());
         assertNotEquals(how_u, how_g);
 
-        final LeafSchemaNode address_u = (LeafSchemaNode) destination.getDataChildByName(QName.create(
-            testModule.getQNameModule(), "address"));
-        assertNotNull(address_u);
+        final var address_u = assertInstanceOf(LeafSchemaNode.class,
+            destination.getDataChildByName(QName.create(testModule.getQNameModule(), "address")));
         assertTrue(address_u.isAddedByUses());
 
-        final LeafSchemaNode address_g = (LeafSchemaNode) grouping.getDataChildByName(QName.create(
-            contextModule.getQNameModule(), "address"));
-        assertNotNull(address_g);
+        final var address_g = assertInstanceOf(LeafSchemaNode.class,
+            grouping.getDataChildByName(QName.create(contextModule.getQNameModule(), "address")));
         assertFalse(address_g.isAddedByUses());
         assertNotEquals(address_u, address_g);
 
-        final ContainerSchemaNode port_u = (ContainerSchemaNode) destination.getDataChildByName(QName.create(
-            testModule.getQNameModule(), "port"));
-        assertNotNull(port_u);
+        final var port_u = assertInstanceOf(ContainerSchemaNode.class,
+            destination.getDataChildByName(QName.create(testModule.getQNameModule(), "port")));
         assertTrue(port_u.isAddedByUses());
 
-        final ContainerSchemaNode port_g = (ContainerSchemaNode) grouping.getDataChildByName(QName.create(
-            contextModule.getQNameModule(), "port"));
+        final var port_g = assertInstanceOf(ContainerSchemaNode.class,
+            grouping.getDataChildByName(QName.create(contextModule.getQNameModule(), "port")));
         assertNotNull(port_g);
         assertFalse(port_g.isAddedByUses());
         assertNotEquals(port_u, port_g);
 
-        final ListSchemaNode addresses_u = (ListSchemaNode) destination.getDataChildByName(QName.create(
-            testModule.getQNameModule(), "addresses"));
+        final ListSchemaNode addresses_u = assertInstanceOf(ListSchemaNode.class,
+            destination.getDataChildByName(QName.create(testModule.getQNameModule(), "addresses")));
         assertNotNull(addresses_u);
         assertTrue(addresses_u.isAddedByUses());
 
-        final ListSchemaNode addresses_g = (ListSchemaNode) grouping.getDataChildByName(QName.create(
-            contextModule.getQNameModule(), "addresses"));
+        final ListSchemaNode addresses_g = assertInstanceOf(ListSchemaNode.class,
+            grouping.getDataChildByName(QName.create(contextModule.getQNameModule(), "addresses")));
         assertNotNull(addresses_g);
         assertFalse(addresses_g.isAddedByUses());
         assertNotEquals(addresses_u, addresses_g);
@@ -190,21 +171,21 @@ class YangParserWithContextTest {
         // grouping defined in 'grouping' node
         final var groupings_g = grouping.getGroupings();
         assertEquals(1, groupings_g.size());
-        final GroupingDefinition grouping_g = groupings_g.iterator().next();
+        final var grouping_g = groupings_g.iterator().next();
         assertFalse(grouping_g.isAddedByUses());
     }
 
     @Test
-    void testUsesRefineFromContext() throws ReactorException {
-        final SchemaContext context = RFC7950Reactors.defaultReactor().newBuild()
+    void testUsesRefineFromContext() throws Exception {
+        final var context = RFC7950Reactors.defaultReactor().newBuild()
             .addSources(BAZ, FOO, BAR, SUBFOO, sourceForResource("/context-test/test2.yang"))
             .buildEffective();
 
-        final Module module = context.findModule("test2", Revision.of("2013-06-18")).get();
-        final ContainerSchemaNode peer = (ContainerSchemaNode) module.getDataChildByName(QName.create(
-            module.getQNameModule(), "peer"));
-        final ContainerSchemaNode destination = (ContainerSchemaNode) peer.getDataChildByName(QName.create(
-            module.getQNameModule(), "destination"));
+        final var module = context.findModule("test2", Revision.of("2013-06-18")).orElseThrow();
+        final var peer = assertInstanceOf(ContainerSchemaNode.class,
+            module.getDataChildByName(QName.create(module.getQNameModule(), "peer")));
+        final var destination = assertInstanceOf(ContainerSchemaNode.class,
+            peer.getDataChildByName(QName.create(module.getQNameModule(), "destination")));
         final var usesNodes = destination.getUses();
         assertEquals(1, usesNodes.size());
         final UsesNode usesNode = usesNodes.iterator().next();
@@ -214,20 +195,20 @@ class YangParserWithContextTest {
             usesNode.getSourceGrouping().getQName());
 
         // test refine
-        final Map<Descendant, SchemaNode> refines = usesNode.getRefines();
+        final var refines = usesNode.getRefines();
         assertEquals(3, refines.size());
 
         LeafSchemaNode refineLeaf = null;
         ContainerSchemaNode refineContainer = null;
         ListSchemaNode refineList = null;
-        for (final Map.Entry<Descendant, SchemaNode> entry : refines.entrySet()) {
+        for (var entry : refines.entrySet()) {
             final SchemaNode value = entry.getValue();
-            if (value instanceof LeafSchemaNode) {
-                refineLeaf = (LeafSchemaNode) value;
-            } else if (value instanceof ContainerSchemaNode) {
-                refineContainer = (ContainerSchemaNode) value;
-            } else if (value instanceof ListSchemaNode) {
-                refineList = (ListSchemaNode) value;
+            if (value instanceof LeafSchemaNode leaf) {
+                refineLeaf = leaf;
+            } else if (value instanceof ContainerSchemaNode container) {
+                refineContainer = container;
+            } else if (value instanceof ListSchemaNode list) {
+                refineList = list;
             }
         }
 
@@ -240,7 +221,7 @@ class YangParserWithContextTest {
         assertTrue(refineLeaf.isMandatory());
         final var leafMustConstraints = refineLeaf.getMustConstraints();
         assertEquals(1, leafMustConstraints.size());
-        final MustDefinition leafMust = leafMustConstraints.iterator().next();
+        final var leafMust = leafMustConstraints.iterator().next();
         assertEquals("ifType != 'ethernet' or (ifType = 'ethernet' and ifMTU = 1500)", leafMust.getXpath().toString());
 
         // container port
@@ -257,30 +238,30 @@ class YangParserWithContextTest {
         assertEquals(Optional.of("description of addresses defined by refine"), refineList.getDescription());
         assertEquals(Optional.of("addresses reference added by refine"), refineList.getReference());
         assertEquals(Optional.of(Boolean.FALSE), refineList.effectiveConfig());
-        final ElementCountConstraint constraint = refineList.getElementCountConstraint().get();
+        final var constraint = refineList.getElementCountConstraint().orElseThrow();
         assertEquals((Object) 2, constraint.getMinElements());
         assertEquals((Object) 12, constraint.getMaxElements());
     }
 
     @Test
-    void testIdentity() throws ReactorException {
-        final SchemaContext context = RFC7950Reactors.defaultReactor().newBuild()
+    void testIdentity() throws Exception {
+        final var context = RFC7950Reactors.defaultReactor().newBuild()
             .addSources(IETF)
             .addSource(sourceForResource("/types/custom-types-test@2012-04-04.yang"))
             .addSource(sourceForResource("/context-test/test3.yang"))
             .buildEffective();
 
-        final Module module = context.findModule("test3", Revision.of("2013-06-18")).get();
+        final var module = context.findModule("test3", Revision.of("2013-06-18")).orElseThrow();
         final var identities = module.getIdentities();
         assertEquals(1, identities.size());
 
-        final IdentitySchemaNode identity = identities.iterator().next();
+        final var identity = identities.iterator().next();
         final QName idQName = identity.getQName();
         assertEquals(XMLNamespace.of("urn:simple.demo.test3"), idQName.getNamespace());
         assertEquals(Revision.ofNullable("2013-06-18"), idQName.getRevision());
         assertEquals("pt", idQName.getLocalName());
 
-        final IdentitySchemaNode baseIdentity = Iterables.getOnlyElement(identity.getBaseIdentities());
+        final var baseIdentity = Iterables.getOnlyElement(identity.getBaseIdentities());
         final QName idBaseQName = baseIdentity.getQName();
         assertEquals(XMLNamespace.of("urn:custom.types.demo"), idBaseQName.getNamespace());
         assertEquals(Revision.ofNullable("2012-04-16"), idBaseQName.getRevision());
@@ -288,20 +269,21 @@ class YangParserWithContextTest {
     }
 
     @Test
-    void testUnknownNodes() throws ReactorException {
-        final SchemaContext context = RFC7950Reactors.defaultReactor().newBuild()
+    void testUnknownNodes() throws Exception {
+        final var context = RFC7950Reactors.defaultReactor().newBuild()
             .addSources(IETF)
             .addSource(sourceForResource("/types/custom-types-test@2012-04-04.yang"))
             .addSource(sourceForResource("/context-test/test3.yang"))
             .buildEffective();
 
-        final Module module = context.findModule("test3", Revision.of("2013-06-18")).get();
-        final ContainerStatement network = ((ContainerSchemaNode) module.getDataChildByName(
-            QName.create(module.getQNameModule(), "network"))).asEffectiveStatement().getDeclared();
+        final var module = context.findModule("test3", Revision.of("2013-06-18")).orElseThrow();
+        final var network = assertInstanceOf(ContainerSchemaNode.class,
+            module.getDataChildByName(QName.create(module.getQNameModule(), "network")))
+            .asEffectiveStatement().getDeclared();
         final var unknownNodes = network.declaredSubstatements(UnrecognizedStatement.class);
         assertEquals(1, unknownNodes.size());
 
-        final UnrecognizedStatement un = unknownNodes.iterator().next();
+        final var un = unknownNodes.iterator().next();
         final QName unType = un.statementDefinition().getStatementName();
         assertEquals(XMLNamespace.of("urn:custom.types.demo"), unType.getNamespace());
         assertEquals(Revision.ofNullable("2012-04-16"), unType.getRevision());
@@ -311,48 +293,43 @@ class YangParserWithContextTest {
 
     @Test
     void testAugment() throws Exception {
-        final Module t4 = TestUtils.parseYangSource(
+        final var t4 = TestUtils.parseYangSource(
             "/context-augment-test/test1.yang", "/context-augment-test/test2.yang",
             "/context-augment-test/test3.yang", "/context-augment-test/test4.yang")
             .findModules("test4").iterator().next();
-        final ContainerSchemaNode interfaces = (ContainerSchemaNode) t4.getDataChildByName(QName.create(
-            t4.getQNameModule(), "interfaces"));
-        final ListSchemaNode ifEntry = (ListSchemaNode) interfaces.getDataChildByName(QName.create(t4.getQNameModule(),
-            "ifEntry"));
+        final var interfaces = assertInstanceOf(ContainerSchemaNode.class,
+            t4.getDataChildByName(QName.create(t4.getQNameModule(), "interfaces")));
+        final var ifEntry = assertInstanceOf(ListSchemaNode.class,
+            interfaces.getDataChildByName(QName.create(t4.getQNameModule(), "ifEntry")));
 
         // test augmentation process
-        final ContainerSchemaNode augmentHolder = (ContainerSchemaNode) ifEntry.getDataChildByName(QName.create(T3_NS,
-            REV, "augment-holder"));
-        assertNotNull(augmentHolder);
-        final DataSchemaNode ds0 = augmentHolder.getDataChildByName(QName.create(T2_NS, REV, "ds0ChannelNumber"));
-        assertNotNull(ds0);
-        final DataSchemaNode interfaceId = augmentHolder.getDataChildByName(QName.create(T2_NS, REV, "interface-id"));
+        final var augmentHolder = assertInstanceOf(ContainerSchemaNode.class,
+            ifEntry.getDataChildByName(QName.create(T3_NS, REV, "augment-holder")));
+        final var ds0 = augmentHolder.getDataChildByName(QName.create(T2_NS, REV, "ds0ChannelNumber"));
+        final var interfaceId = augmentHolder.getDataChildByName(QName.create(T2_NS, REV, "interface-id"));
         assertNotNull(interfaceId);
-        final DataSchemaNode higherLayerIf = augmentHolder.getDataChildByName(QName.create(T2_NS, REV,
-            "higher-layer-if"));
-        assertNotNull(higherLayerIf);
-        final ContainerSchemaNode schemas = (ContainerSchemaNode) augmentHolder.getDataChildByName(QName.create(T2_NS,
-            REV, "schemas"));
-        assertNotNull(schemas);
+        final var higherLayerIf = augmentHolder.getDataChildByName(QName.create(T2_NS, REV, "higher-layer-if"));
+        final var schemas = assertInstanceOf(ContainerSchemaNode.class,
+            augmentHolder.getDataChildByName(QName.create(T2_NS, REV, "schemas")));
         assertNotNull(schemas.getDataChildByName(QName.create(T1_NS, REV, "id")));
 
         // test augment target after augmentation: check if it is same instance
-        final ListSchemaNode ifEntryAfterAugment = (ListSchemaNode) interfaces.getDataChildByName(QName.create(
-            t4.getQNameModule(), "ifEntry"));
-        assertTrue(ifEntry == ifEntryAfterAugment);
+        final var ifEntryAfterAugment = assertInstanceOf(ListSchemaNode.class,
+            interfaces.getDataChildByName(QName.create(t4.getQNameModule(), "ifEntry")));
+        assertSame(ifEntry, ifEntryAfterAugment);
     }
 
     @Test
-    void testDeviation() throws ReactorException {
-        final SchemaContext context = RFC7950Reactors.defaultReactor().newBuild()
+    void testDeviation() throws Exception {
+        final var context = RFC7950Reactors.defaultReactor().newBuild()
             .addSource(sourceForResource("/model/bar.yang"))
             .addSource(sourceForResource("/context-test/deviation-test.yang"))
             .buildEffective();
 
-        final Module testModule = context.findModule("deviation-test", Revision.of("2013-02-27")).get();
+        final var testModule = context.findModule("deviation-test", Revision.of("2013-02-27")).orElseThrow();
         final var deviations = testModule.getDeviations();
         assertEquals(1, deviations.size());
-        final Deviation dev = deviations.iterator().next();
+        final var dev = deviations.iterator().next();
 
         assertEquals(Optional.of("system/user ref"), dev.getReference());
 
index 34a05fb834f8a01a60f273f66801f864bc58a550..7cebc9516d5e546e331dfed0364861caa96e9a65 100644 (file)
@@ -10,41 +10,30 @@ package org.opendaylight.yangtools.yang.stmt.test;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 
-import java.util.List;
 import java.util.Optional;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 import org.opendaylight.yangtools.yang.model.api.type.Int32TypeDefinition;
-import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint;
-import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
-import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint;
 import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition;
 import org.opendaylight.yangtools.yang.stmt.AbstractYangTest;
 
 class Bug5200Test extends AbstractYangTest {
-    private static final String NS = "foo";
-    private static final String REV = "2016-05-05";
-
     @Test
     void test() {
         final var context = assertEffectiveModelDir("/bugs/bug5200");
+        final var root = QName.create("foo", "2016-05-05", "root");
 
-        QName root = QName.create(NS, REV, "root");
-        QName myLeaf = QName.create(NS, REV, "my-leaf");
-        QName myLeaf2 = QName.create(NS, REV, "my-leaf-2");
-
-        SchemaNode myLeafNode = context.findDataTreeChild(root, myLeaf).orElseThrow();
-        SchemaNode myLeaf2Node = context.findDataTreeChild(root, myLeaf2).orElseThrow();
+        var myLeafNode = context.findDataTreeChild(root, QName.create(root, "my-leaf")).orElseThrow();
+        var myLeaf2Node = context.findDataTreeChild(root, QName.create(root, "my-leaf-2")).orElseThrow();
 
         final var myLeafType = assertInstanceOf(StringTypeDefinition.class,
             assertInstanceOf(LeafSchemaNode.class, myLeafNode).getType());
         final var myLeaf2Type = assertInstanceOf(Int32TypeDefinition.class,
             assertInstanceOf(LeafSchemaNode.class, myLeaf2Node).getType());
 
-        final LengthConstraint lengthConstraint = myLeafType.getLengthConstraint().orElseThrow();
-        final List<PatternConstraint> patternConstraints = myLeafType.getPatternConstraints();
+        final var lengthConstraint = myLeafType.getLengthConstraint().orElseThrow();
+        final var patternConstraints = myLeafType.getPatternConstraints();
 
         assertEquals(1, lengthConstraint.getAllowedRanges().asRanges().size());
         assertEquals(1, patternConstraints.size());
@@ -52,11 +41,11 @@ class Bug5200Test extends AbstractYangTest {
         assertEquals(Optional.of("lenght constraint error-app-tag"), lengthConstraint.getErrorAppTag());
         assertEquals(Optional.of("lenght constraint error-app-message"), lengthConstraint.getErrorMessage());
 
-        PatternConstraint patternConstraint = patternConstraints.iterator().next();
+        final var patternConstraint = patternConstraints.iterator().next();
         assertEquals(Optional.of("pattern constraint error-app-tag"), patternConstraint.getErrorAppTag());
         assertEquals(Optional.of("pattern constraint error-app-message"), patternConstraint.getErrorMessage());
 
-        RangeConstraint<?> rangeConstraint = myLeaf2Type.getRangeConstraint().orElseThrow();
+        var rangeConstraint = myLeaf2Type.getRangeConstraint().orElseThrow();
         assertEquals(1, rangeConstraint.getAllowedRanges().asRanges().size());
 
         assertEquals(Optional.of("range constraint error-app-tag"), rangeConstraint.getErrorAppTag());
index 091bf701d598265aaf455de62e6473dac9f87af9..83dea2d460346e81ee98b2e4af108486854fe419 100644 (file)
@@ -13,34 +13,26 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-import java.util.Collection;
-import java.util.Iterator;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 
 class YinFileAugmentStmtTest extends AbstractYinModulesTest {
     @Test
     void testAugment() {
-        final Module testModule = context.findModules("main-impl").iterator().next();
+        final var testModule = context.findModules("main-impl").iterator().next();
         assertNotNull(testModule);
 
-        final Collection<? extends AugmentationSchemaNode> augmentations = testModule.getAugmentations();
+        final var augmentations = testModule.getAugmentations();
         assertEquals(1, augmentations.size());
 
-        final Iterator<? extends AugmentationSchemaNode> augmentIterator = augmentations.iterator();
-        final AugmentationSchemaNode augment = augmentIterator.next();
-        assertNotNull(augment);
+        final var augment = augmentations.iterator().next();
         assertThat(augment.getTargetPath().toString(), containsString(
             "(urn:opendaylight:params:xml:ns:yang:controller:config?revision=2013-04-05)modules, module, "
                 + "configuration"));
 
         assertEquals(1, augment.getChildNodes().size());
-        final DataSchemaNode caseNode = augment.findDataChildByName(
-            QName.create(testModule.getQNameModule(), "main-impl")).get();
-        assertInstanceOf(CaseSchemaNode.class, caseNode);
+        assertInstanceOf(CaseSchemaNode.class, augment.getDataChildByName(
+            QName.create(testModule.getQNameModule(), "main-impl")));
     }
 }
index bb5fa3a32accda3bba89377d1dcac999d13aaba0..9c91e7077d2078d8ed1d522ddf00980be599c46a 100644 (file)
@@ -9,29 +9,28 @@ package org.opendaylight.yangtools.yang.stmt.yin;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.util.Optional;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 
 class YinFileChoiceStmtTest extends AbstractYinModulesTest {
     @Test
     void testChoiceAndCases() {
-        final Module testModule = context.findModules("config").iterator().next();
+        final var testModule = context.findModules("config").iterator().next();
         assertNotNull(testModule);
 
-        final ListSchemaNode list = (ListSchemaNode) testModule.findDataChildByName(
+        final var list = assertInstanceOf(ListSchemaNode.class, testModule.findDataChildByName(
             QName.create(testModule.getQNameModule(), "modules"),
-            QName.create(testModule.getQNameModule(), "module")).get();
+            QName.create(testModule.getQNameModule(), "module")).orElseThrow());
 
-        ChoiceSchemaNode choice = (ChoiceSchemaNode) list.findDataChildByName(QName.create(testModule.getQNameModule(),
-            "configuration")).get();
+        var choice = assertInstanceOf(ChoiceSchemaNode.class,
+            list.getDataChildByName(QName.create(testModule.getQNameModule(), "configuration")));
 
         assertEquals("configuration", choice.getQName().getLocalName());
         assertTrue(choice.isMandatory());
@@ -40,13 +39,14 @@ class YinFileChoiceStmtTest extends AbstractYinModulesTest {
 
         // this choice is augmented (see main-impl.yang.xml)
         final var casesIterator = choice.getCases().iterator();
-        final CaseSchemaNode caseNode = casesIterator.next();
+        final var caseNode = casesIterator.next();
         assertEquals("main-impl", caseNode.getQName().getLocalName());
         assertEquals(13, caseNode.getChildNodes().size());
 
         assertTrue(caseNode.getWhenCondition().isPresent());
 
-        choice = (ChoiceSchemaNode) list.findDataChildByName(QName.create(testModule.getQNameModule(), "state")).get();
+        choice = assertInstanceOf(ChoiceSchemaNode.class,
+            list.getDataChildByName(QName.create(testModule.getQNameModule(), "state")));
 
         assertEquals("state", choice.getQName().getLocalName());
         assertFalse(choice.isMandatory());
index 428d5c28c54efa5a3e9a027fccd0045a8dcc60a0..275c4b2774109ee5679603e15fd92127231063f4 100644 (file)
@@ -8,47 +8,41 @@
 package org.opendaylight.yangtools.yang.stmt.yin;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import java.util.Collection;
-import java.util.Iterator;
 import java.util.Optional;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 
 class YinFileGroupingStmtTest extends AbstractYinModulesTest {
     @Test
     void testGrouping() {
-        final Module testModule = context.findModules("config").iterator().next();
-        assertNotNull(testModule);
-
-        final Collection<? extends GroupingDefinition> groupings = testModule.getGroupings();
+        final var testModule = context.findModules("config").iterator().next();
+        final var groupings = testModule.getGroupings();
         assertEquals(1, groupings.size());
 
-        final Iterator<? extends GroupingDefinition> groupingsIterator = groupings.iterator();
-        final GroupingDefinition grouping = groupingsIterator.next();
+        final var groupingsIterator = groupings.iterator();
+        final var grouping = groupingsIterator.next();
         assertEquals("service-ref", grouping.getQName().getLocalName());
-        assertEquals(Optional.of("Type of references to a particular service instance. This type\n"
-            + "can be used when defining module configuration to refer to a\n"
-            + "particular service instance. Containers using this grouping\n"
-            + "should not define anything else. The run-time implementation\n"
-            + "is expected to inject a reference to the service as the value\n"
-            + "of the container."), grouping.getDescription());
-
-        final Collection<? extends DataSchemaNode> children = grouping.getChildNodes();
+        assertEquals(Optional.of("""
+            Type of references to a particular service instance. This type
+            can be used when defining module configuration to refer to a
+            particular service instance. Containers using this grouping
+            should not define anything else. The run-time implementation
+            is expected to inject a reference to the service as the value
+            of the container."""), grouping.getDescription());
+
+        final var children = grouping.getChildNodes();
         assertEquals(2, children.size());
 
-        final LeafSchemaNode leaf1 = (LeafSchemaNode) grouping.findDataChildByName(QName.create(
-            testModule.getQNameModule(), "type")).get();
+        final var leaf1 = assertInstanceOf(LeafSchemaNode.class,
+            grouping.getDataChildByName(QName.create(testModule.getQNameModule(), "type")));
         assertTrue(leaf1.isMandatory());
 
-        final LeafSchemaNode leaf2 = (LeafSchemaNode) grouping.findDataChildByName(QName.create(
-            testModule.getQNameModule(), "name")).get();
+        final var leaf2 = assertInstanceOf(LeafSchemaNode.class,
+            grouping.getDataChildByName(QName.create(testModule.getQNameModule(), "name")));
         assertTrue(leaf2.isMandatory());
     }
 }
index 9d0f5f2b93fdb69d829e0ffb2f16a028f079a78b..1ec321d4a374a26da6d7079e617292352f8412ce 100644 (file)
@@ -9,24 +9,21 @@ package org.opendaylight.yangtools.yang.stmt.yin;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 
 import java.util.Optional;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 
 class YinFileLeafListStmtTest extends AbstractYinModulesTest {
     @Test
     void testLeafList() {
-        final Module testModule = context.findModules("ietf-netconf-monitoring").iterator().next();
-
-        final LeafListSchemaNode leafList = (LeafListSchemaNode) testModule.findDataChildByName(
+        final var testModule = context.findModules("ietf-netconf-monitoring").iterator().next();
+        final var leafList = assertInstanceOf(LeafListSchemaNode.class, testModule.findDataChildByName(
             QName.create(testModule.getQNameModule(), "netconf-state"),
             QName.create(testModule.getQNameModule(), "capabilities"),
-            QName.create(testModule.getQNameModule(), "capability")).get();
-        assertNotNull(leafList);
+            QName.create(testModule.getQNameModule(), "capability")).orElseThrow());
         assertEquals("uri", leafList.getType().getQName().getLocalName());
         assertEquals(Optional.of("List of NETCONF capabilities supported by the server."), leafList.getDescription());
         assertFalse(leafList.isUserOrdered());
index 8d3736c797a2362138b7c2c5ee4170ba192b6a81..f4af69cbbcfeffc0dab925dbe703a79ccd8f8717 100644 (file)
@@ -12,45 +12,43 @@ import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
 import java.util.Optional;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition;
 import org.opendaylight.yangtools.yang.model.ri.type.BaseTypes;
 
 class YinFileListStmtTest extends AbstractYinModulesTest {
     @Test
     void testListAndLeaves() {
-        final Module testModule = context.findModules("config").iterator().next();
+        final var testModule = context.findModules("config").iterator().next();
         assertNotNull(testModule);
 
-        final ListSchemaNode list = (ListSchemaNode) testModule.findDataChildByName(QName.create(
-            testModule.getQNameModule(), "modules"), QName.create(testModule.getQNameModule(), "module")).get();
-        final List<QName> keys = list.getKeyDefinition();
+        final var list = assertInstanceOf(ListSchemaNode.class,
+            testModule.findDataChildByName(
+                QName.create(testModule.getQNameModule(), "modules"),
+                QName.create(testModule.getQNameModule(), "module"))
+            .orElseThrow());
+        final var keys = list.getKeyDefinition();
         assertEquals(1, keys.size());
         assertEquals("name", keys.get(0).getLocalName());
 
-        final Collection<? extends DataSchemaNode> children = list.getChildNodes();
+        final var children = list.getChildNodes();
         assertEquals(4, children.size());
 
-        final Iterator<? extends DataSchemaNode> childrenIterator = children.iterator();
-        LeafSchemaNode leaf = (LeafSchemaNode) childrenIterator.next();
+        final var childrenIterator = children.iterator();
+        var leaf = assertInstanceOf(LeafSchemaNode.class, childrenIterator.next());
         assertEquals("name", leaf.getQName().getLocalName());
         assertEquals(Optional.of("Unique module instance name"), leaf.getDescription());
         assertEquals(BaseTypes.stringType(), leaf.getType());
         assertTrue(leaf.isMandatory());
 
-        leaf = (LeafSchemaNode) childrenIterator.next();
+        leaf = assertInstanceOf(LeafSchemaNode.class, childrenIterator.next());
         assertEquals("type", leaf.getQName().getLocalName());
 
-        final IdentityrefTypeDefinition leafType = assertInstanceOf(IdentityrefTypeDefinition.class, leaf.getType());
+        final var leafType = assertInstanceOf(IdentityrefTypeDefinition.class, leaf.getType());
         assertEquals("module-type", leafType.getIdentities().iterator().next().getQName().getLocalName());
         assertTrue(leaf.isMandatory());
     }
index b2eca71ff92ea4be14448c5d7e571247b21a5f4a..fa73eb3937a89e8f21144470d172bb86e8cc44fc 100644 (file)
@@ -8,34 +8,30 @@
 package org.opendaylight.yangtools.yang.stmt.yin;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertInstanceOf;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-import java.util.Collection;
-import java.util.Iterator;
 import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.UsesNode;
 
 class YinFileUsesStmtTest extends AbstractYinModulesTest {
     @Test
     void testUses() {
-        final Module testModule = context.findModules("main-impl").iterator().next();
+        final var testModule = context.findModules("main-impl").iterator().next();
 
-        final Collection<? extends AugmentationSchemaNode> augmentations = testModule.getAugmentations();
+        final var augmentations = testModule.getAugmentations();
         assertEquals(1, augmentations.size());
 
-        final Iterator<? extends AugmentationSchemaNode> augmentIterator = augmentations.iterator();
-        final AugmentationSchemaNode augment = augmentIterator.next();
+        final var augmentIterator = augmentations.iterator();
+        final var augment = augmentIterator.next();
 
-        final ContainerSchemaNode container = (ContainerSchemaNode) augment.findDataChildByName(
+        final var container = assertInstanceOf(ContainerSchemaNode.class, augment.findDataChildByName(
             QName.create(testModule.getQNameModule(), "main-impl"),
-            QName.create(testModule.getQNameModule(), "notification-service")).get();
+            QName.create(testModule.getQNameModule(), "notification-service")).orElseThrow());
 
         assertEquals(1, container.getUses().size());
-        final UsesNode usesNode = container.getUses().iterator().next();
+        final var usesNode = container.getUses().iterator().next();
         assertNotNull(usesNode);
         assertEquals("(urn:opendaylight:params:xml:ns:yang:controller:config?revision=2013-04-05)service-ref",
             usesNode.getSourceGrouping().getQName().toString());
index 0640d82252419de6d681cba14659fdd031833274..7a2ac81482378aa5c55456c22637c1ad300ee882 100644 (file)
@@ -221,7 +221,7 @@ public class SourceException extends RuntimeException {
     public static <T> @NonNull T unwrap(final Optional<T> opt, final @NonNull StatementSourceReference source,
             final @NonNull String format, final Object... args) {
         throwIf(opt.isEmpty(), source, format, args);
-        return opt.get();
+        return opt.orElseThrow();
     }
 
     /**
@@ -238,7 +238,7 @@ public class SourceException extends RuntimeException {
     public static <T> @NonNull T unwrap(final Optional<T> opt, final @NonNull CommonStmtCtx stmt,
             final @NonNull String format, final Object... args) {
         throwIf(opt.isEmpty(), stmt, format, args);
-        return opt.get();
+        return opt.orElseThrow();
     }
 
     private static String createMessage(final @NonNull String message, final @NonNull StatementSourceReference source) {
index 8a93731f4d7eff249a79b37632b28061056933bc..b4f862d460cf82b509b405c5fb161e4b258c93ae 100644 (file)
@@ -385,7 +385,7 @@ abstract class AntlrXPathParser implements YangXPathParser {
         final YangBinaryOperator operator = parseOperator(expr.getChild(1));
         final YangExpr right = parseMultiplicative(getChild(expr, MultiplicativeExprContext.class, 2));
         final Optional<YangExpr> simple = simplifyNumbers(operator, left, right);
-        return simple.isPresent() ? simple.get() : operator.exprWith(left, right);
+        return simple.isPresent() ? simple.orElseThrow() : operator.exprWith(left, right);
     }
 
     private YangExpr parsePathExpr(final PathExprNoRootContext expr) {
index ab48b92abdf774d30614b2117b14384f1f1ae866..ddc0b090e93ba5983f4470469f093df2e1ac28d3 100644 (file)
@@ -263,8 +263,8 @@ public final class FilesystemSchemaSourceCache<T extends SchemaSourceRepresentat
 
             final Optional<SourceIdentifier> si = getSourceIdentifier(fileName);
             if (si.isPresent()) {
-                LOG.trace("Restoring cached file {} as {}", file, si.get());
-                cachedSchemas.add(si.get());
+                LOG.trace("Restoring cached file {} as {}", file, si.orElseThrow());
+                cachedSchemas.add(si.orElseThrow());
             } else {
                 LOG.debug("Skipping cached file {}, cannot restore source identifier from filename: {},"
                         + " does not match {}", file, fileName, CACHED_FILE_PATTERN);