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;
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);
}
});
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;
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();
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 {