Fix ModuleInfoSnapshotResolver 38/109838/4
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 18 Jan 2024 14:52:06 +0000 (15:52 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 18 Jan 2024 15:01:31 +0000 (16:01 +0100)
Previous update missed the ModuleInfoSnapshotResolver update, leading to
broker OSGi functionality.

Update both callsites to directly derive root package name from the
advertized namespace.

JIRA: MDSAL-836
Change-Id: I520824b59018afd2d7afdf06173889f90fd70449
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotBuilder.java
binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/mdsal/binding/runtime/spi/ModuleInfoSnapshotResolver.java

index 3aacf9929a472a0ff68a7a82f8c76d46e34f7314..93495891968f688b8246737edc8cee014cad4e1d 100644 (file)
@@ -109,10 +109,8 @@ public final class ModuleInfoSnapshotBuilder {
             final var source = ModuleInfoSnapshotResolver.toYangTextSource(info);
             mappedInfos.put(source.sourceId(), info);
 
-            final Class<?> infoClass = info.getClass();
-            final String infoRoot = Naming.getModelRootPackageName(infoClass.getPackage().getName())
-                .replace(Naming.SVC_PACKAGE_PREFIX, Naming.PACKAGE_PREFIX);
-            classLoaders.put(infoRoot, infoClass.getClassLoader());
+            final String infoRoot = Naming.getRootPackageName(info.getName().getModule());
+            classLoaders.put(infoRoot, info.getClass().getClassLoader());
             namespaces.put(infoRoot, info.getName().getModule());
 
             try {
index d98becaabaaeafb11797060801087621a3d1cd74..fd30bb6ac01eaadf2e4c03b69bb8f330d1d35162 100644 (file)
@@ -197,9 +197,7 @@ public final class ModuleInfoSnapshotResolver implements Mutable {
             final var reg = regs.get(0);
             final var info = reg.info;
             moduleInfos.put(source, info);
-            final var infoClass = info.getClass();
-            classLoaders.put(Naming.getModelRootPackageName(infoClass.getPackage().getName()),
-                infoClass.getClassLoader());
+            classLoaders.put(Naming.getRootPackageName(info.getName().getModule()), info.getClass().getClassLoader());
         }
 
         final var next = new DefaultModuleInfoSnapshot(modelContext, moduleInfos, classLoaders);