Switch to using ModuleEffectiveStatement in codecs 31/108031/4
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 28 Sep 2023 20:48:27 +0000 (22:48 +0200)
committerRobert Varga <nite@hq.sk>
Thu, 5 Oct 2023 12:53:49 +0000 (12:53 +0000)
Rather than using Module, use ModuleEffectiveStatement, which provides
very similar facilities.

Change-Id: I3961e6dc17c236b71ebf555519ea06d3cbdc218b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
codec/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONInstanceIdentifierCodec.java
codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/InstanceIdentifierDeserializer.java
codec/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/InstanceIdentifierSerializer.java
data/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java

index a181d5256bd5b118001257f232a94db26e63f400..aff416f6d462b20e790d22e246b4758199df0a2f 100644 (file)
@@ -23,7 +23,7 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
+import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.util.LeafrefResolver;
 
 abstract sealed class JSONInstanceIdentifierCodec extends AbstractModuleStringInstanceIdentifierCodec
@@ -63,8 +63,8 @@ abstract sealed class JSONInstanceIdentifierCodec extends AbstractModuleStringIn
     }
 
     @Override
-    protected final Module moduleForPrefix(final String prefix) {
-        final var modules = context.findModules(prefix).iterator();
+    protected final ModuleEffectiveStatement moduleForPrefix(final String prefix) {
+        final var modules = context.findModuleStatements(prefix).iterator();
         return modules.hasNext() ? modules.next() : null;
     }
 
index 0efa667cd23c1a6b0047aee5c86b98a50a30a975..6048c600a5b1ba845ac2287d7e615d2c2c44edd2 100644 (file)
@@ -16,7 +16,7 @@ import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.Module;
+import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.util.LeafrefResolver;
 
 final class InstanceIdentifierDeserializer extends AbstractInstanceIdentifierCodec {
@@ -31,9 +31,10 @@ final class InstanceIdentifierDeserializer extends AbstractInstanceIdentifierCod
     }
 
     @Override
-    protected Module moduleForPrefix(final String prefix) {
+    protected ModuleEffectiveStatement moduleForPrefix(final String prefix) {
         final var prefixedNS = namespaceContext.getNamespaceURI(prefix);
-        final var modules = codecFactory.getEffectiveModelContext().findModules(XMLNamespace.of(prefixedNS)).iterator();
+        final var modules = codecFactory.getEffectiveModelContext().findModuleStatements(XMLNamespace.of(prefixedNS))
+            .iterator();
         return modules.hasNext() ? modules.next() : null;
     }
 
index 6b6087bf436d54720a76c39981b0689c3830b78c..f9113bf28fabcf71756fec4330fe6c7f86204eba 100644 (file)
@@ -13,7 +13,7 @@ import javax.xml.namespace.NamespaceContext;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.common.XMLNamespace;
 import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree;
-import org.opendaylight.yangtools.yang.model.api.Module;
+import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
 
 final class InstanceIdentifierSerializer extends AbstractInstanceIdentifierCodec {
     private final NamespacePrefixes prefixes;
@@ -29,7 +29,7 @@ final class InstanceIdentifierSerializer extends AbstractInstanceIdentifierCodec
     }
 
     @Override
-    protected Module moduleForPrefix(final String prefix) {
+    protected ModuleEffectiveStatement moduleForPrefix(final String prefix) {
         // This is deserialize() path, we do not support that in this class
         throw new UnsupportedOperationException("Not implemented");
     }
index 847aa68c13275a26903749938ea544e11995e7d2..dd943f6515ed3fda528049bb36673a3ff5aa26a2 100644 (file)
@@ -13,7 +13,7 @@ import com.google.common.annotations.Beta;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.Module;
+import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
 
 /**
  * Extension of {@link AbstractStringInstanceIdentifierCodec}, which instantiates
@@ -28,12 +28,12 @@ public abstract class AbstractModuleStringInstanceIdentifierCodec extends Abstra
      * @param prefix Prefix
      * @return module mapped to prefix, or null if the module cannot be resolved
      */
-    protected abstract @Nullable Module moduleForPrefix(@NonNull String prefix);
+    protected abstract @Nullable ModuleEffectiveStatement moduleForPrefix(@NonNull String prefix);
 
     @Override
     protected final QName createQName(final String prefix, final String localName) {
-        final Module module = moduleForPrefix(prefix);
+        final var module = moduleForPrefix(prefix);
         checkArgument(module != null, "Failed to lookup prefix %s", prefix);
-        return QName.create(module.getQNameModule(), localName);
+        return QName.create(module.localQNameModule(), localName);
     }
 }