Deprecate binding.runtime.spi constructs 72/91072/2
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 19 Jul 2020 15:23:37 +0000 (17:23 +0200)
committerRobert Varga <nite@hq.sk>
Sun, 19 Jul 2020 17:23:50 +0000 (17:23 +0000)
GeneratedClassLoadingStrategy is a relic, superseded by
ClassLoadingStrategy interface. Deprecate it for removal.

ModuleInfoBackedContext is an internal implementation detail, which
should not be used outside fo runtime-spi. Deprecate it for removal.

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

binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/test/AbstractSchemaAwareTest.java
binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/binding/runtime/spi/DefaultModuleInfoSnapshot.java
binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/binding/runtime/spi/GeneratedClassLoadingStrategy.java
binding/mdsal-binding-runtime-spi/src/main/java/org/opendaylight/binding/runtime/spi/ModuleInfoBackedContext.java

index 05a3c46922786c7d5bc8551335c4112eb07fe6be..2b4c51a58ef60f3a658ad2dca3b246203646a361 100644 (file)
@@ -10,11 +10,9 @@ package org.opendaylight.mdsal.binding.dom.adapter.test;
 import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
-import com.google.common.collect.ImmutableSet;
 import java.util.Set;
 import org.junit.Before;
-import org.opendaylight.binding.runtime.spi.GeneratedClassLoadingStrategy;
-import org.opendaylight.binding.runtime.spi.ModuleInfoBackedContext;
+import org.opendaylight.binding.runtime.spi.BindingRuntimeHelpers;
 import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections;
 import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
@@ -25,9 +23,7 @@ public abstract class AbstractSchemaAwareTest {
                 new CacheLoader<Set<YangModuleInfo>, EffectiveModelContext>() {
                     @Override
                     public EffectiveModelContext load(final Set<YangModuleInfo> key) {
-                        return ModuleInfoBackedContext.cacheContext(
-                            GeneratedClassLoadingStrategy.getTCCLClassLoadingStrategy(), ImmutableSet.copyOf(key))
-                                .tryToCreateModelContext().get();
+                        return BindingRuntimeHelpers.createEffectiveModel(key);
                     }
                 });
 
index 87c2e4308a137e9bc3929425f008dac629c9911a..2750b67ebe86d108b6751719ba4172ab86e1eff5 100644 (file)
@@ -22,7 +22,7 @@ import org.opendaylight.yangtools.yang.model.repo.api.MissingSchemaSourceExcepti
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 
-final class DefaultModuleInfoSnapshot extends GeneratedClassLoadingStrategy implements ModuleInfoSnapshot {
+final class DefaultModuleInfoSnapshot implements ModuleInfoSnapshot {
     private final ImmutableMap<SourceIdentifier, YangModuleInfo> moduleInfos;
     private final ImmutableMap<String, ClassLoader> classLoaders;
     private final @NonNull EffectiveModelContext effectiveModel;
index 44ba6cd39a6de57952ae8d611be7d53bfc5acdc5..22226781d3b36061885c89efd63b44f07f3bc837 100644 (file)
@@ -13,6 +13,7 @@ import org.opendaylight.binding.runtime.api.ClassLoadingStrategy;
 import org.opendaylight.yangtools.util.ClassLoaderUtils;
 
 @Beta
+@Deprecated(forRemoval = true)
 public abstract class GeneratedClassLoadingStrategy implements ClassLoadingStrategy {
     private static final class AlwaysFailClassLoadingStrategy extends GeneratedClassLoadingStrategy {
         static final @NonNull AlwaysFailClassLoadingStrategy INSTANCE = new AlwaysFailClassLoadingStrategy();
index 31de1aac189b0acabf383db569e23d3c8815fb10..0516532b7da44d1225691acdc3e0f097de98ec41 100644 (file)
@@ -35,6 +35,7 @@ import org.opendaylight.yangtools.yang.model.repo.spi.SchemaSourceProvider;
 import org.opendaylight.yangtools.yang.parser.repo.YangTextSchemaContextResolver;
 
 @Beta
+@Deprecated(forRemoval = true)
 public class ModuleInfoBackedContext extends AbstractModuleInfoTracker implements ClassLoadingStrategy,
         EffectiveModelContextProvider, SchemaSourceProvider<YangTextSchemaSource> {
     private static final class WithFallback extends ModuleInfoBackedContext {