Fix compilation with JDK9 99/76399/1
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 23 Sep 2018 15:15:15 +0000 (17:15 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 23 Sep 2018 15:33:37 +0000 (17:33 +0200)
This fixes type inference failure by using a temporary variable.

Change-Id: I298cb7778d590842911dca9e2bd4936b887a221e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DataTreeAwareEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/SchemaTreeAwareEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/namespace/ChildSchemaNodeNamespace.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/namespace/SchemaNodeIdentifierBuildNamespace.java

index f677ec2824bcc0b9fa7a1148ddcb68a083852945..2315f8ff474cab00cfa6e57599f429afe257b844 100644 (file)
@@ -54,6 +54,8 @@ public interface DataTreeAwareEffectiveStatement<A, D extends DeclaredStatement<
      */
     default <E extends DataTreeEffectiveStatement<?>> @NonNull Optional<E> findDataTreeNode(
             final @NonNull QName qname) {
-        return Optional.ofNullable(get(Namespace.class, requireNonNull(qname)));
+        @SuppressWarnings("unchecked")
+        final E result = (E) get(Namespace.class, requireNonNull(qname));
+        return Optional.ofNullable(result);
     }
 }
index ff9363526bd7e9a262a3439dde7bae041d5f3adb..8ad271ba3df8c88d8388490bf918a6f6acc39720 100644 (file)
@@ -50,6 +50,8 @@ public interface SchemaTreeAwareEffectiveStatement<A, D extends DeclaredStatemen
      */
     default <E extends SchemaTreeEffectiveStatement<?>> @NonNull Optional<E> findSchemaTreeNode(
             final @NonNull QName qname) {
-        return Optional.ofNullable(get(Namespace.class, requireNonNull(qname)));
+        @SuppressWarnings("unchecked")
+        final E result = (E) get(Namespace.class, requireNonNull(qname));
+        return Optional.ofNullable(result);
     }
 }
index ce2bbccb9e2693e416995692e94c8533a05aaa45..b9730b94b575b8a9893e5d8bfdb1e736037c648c 100644 (file)
@@ -85,7 +85,8 @@ public final class ChildSchemaNodeNamespace<D extends DeclaredStatement<QName>,
         }
 
         QName nextPath = iterator.next();
-        Mutable<?, ?, EffectiveStatement<?, ?>> current = root.getFromNamespace(ChildSchemaNodeNamespace.class,
+        @SuppressWarnings("unchecked")
+        Mutable<?, ?, EffectiveStatement<?, ?>> current = (Mutable)root.getFromNamespace(ChildSchemaNodeNamespace.class,
             nextPath);
         if (current == null) {
             return Optional.ofNullable(tryToFindUnknownStatement(nextPath.getLocalName(),
@@ -93,8 +94,9 @@ public final class ChildSchemaNodeNamespace<D extends DeclaredStatement<QName>,
         }
         while (current != null && iterator.hasNext()) {
             nextPath = iterator.next();
-            final Mutable<?, ?, EffectiveStatement<?, ?>> nextNodeCtx = current.getFromNamespace(
-                ChildSchemaNodeNamespace.class,nextPath);
+            @SuppressWarnings("unchecked")
+            final Mutable<?, ?, EffectiveStatement<?, ?>> nextNodeCtx = (Mutable)current.getFromNamespace(
+                ChildSchemaNodeNamespace.class, nextPath);
             if (nextNodeCtx == null) {
                 return Optional.ofNullable(tryToFindUnknownStatement(nextPath.getLocalName(), current));
             }
index 708fb016981a57790aafe0197272007ca001c1fa..47189c8e3ba61acdef0b2fab2fb7df84a9a5eb84 100644 (file)
@@ -58,7 +58,6 @@ public final class SchemaNodeIdentifierBuildNamespace
         throw new UnsupportedOperationException("Direct access to namespace is not supported");
     }
 
-    @SuppressWarnings("unchecked")
     @Override
     public Mutable<?, ?, EffectiveStatement<?, ?>> getFrom(final NamespaceStorageNode storage,
             final SchemaNodeIdentifier key) {
@@ -76,7 +75,8 @@ public final class SchemaNodeIdentifierBuildNamespace
             return null;
         }
         QName nextPath = iterator.next();
-        Mutable<?, ?, EffectiveStatement<?, ?>> current = lookupStartStorage.getFromLocalStorage(
+        @SuppressWarnings("unchecked")
+        Mutable<?, ?, EffectiveStatement<?, ?>> current = (Mutable)lookupStartStorage.getFromLocalStorage(
             ChildSchemaNodeNamespace.class,nextPath);
         if (current == null && lookupStartStorage instanceof StmtContext<?, ?, ?>) {
             return ChildSchemaNodeNamespace.tryToFindUnknownStatement(nextPath.getLocalName(),
@@ -84,7 +84,8 @@ public final class SchemaNodeIdentifierBuildNamespace
         }
         while (current != null && iterator.hasNext()) {
             nextPath = iterator.next();
-            final Mutable<?, ?, EffectiveStatement<?, ?>> nextNodeCtx = current.getFromNamespace(
+            @SuppressWarnings("unchecked")
+            final Mutable<?, ?, EffectiveStatement<?, ?>> nextNodeCtx = (Mutable)current.getFromNamespace(
                 ChildSchemaNodeNamespace.class,nextPath);
             if (nextNodeCtx == null) {
                 return ChildSchemaNodeNamespace.tryToFindUnknownStatement(nextPath.getLocalName(), current);