X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fmd%2Fsal%2Fbinding%2Fimpl%2FRuntimeMappingModule.java;h=87ce27d501159a0736b9b73d31545e660716a878;hb=6aba3ef282f86a84920fa5a7ccf21c91d459806b;hp=0ad043489269df0f6443e37f8aa20d0f60fbccca;hpb=dd32d3d246ebad8b7c76afb93239a4462f329a6b;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/RuntimeMappingModule.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/RuntimeMappingModule.java index 0ad0434892..87ce27d501 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/RuntimeMappingModule.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/config/yang/md/sal/binding/impl/RuntimeMappingModule.java @@ -9,21 +9,18 @@ package org.opendaylight.controller.config.yang.md.sal.binding.impl; import com.google.common.base.Preconditions; import java.util.Hashtable; -import javassist.ClassPool; import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec; import org.opendaylight.controller.sal.binding.codegen.impl.SingletonHolder; import org.opendaylight.yangtools.binding.data.codec.gen.impl.StreamWriterGenerator; import org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry; import org.opendaylight.yangtools.sal.binding.generator.impl.GeneratedClassLoadingStrategy; -import org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl; -import org.opendaylight.yangtools.yang.data.impl.codec.BindingIndependentMappingService; import org.opendaylight.yangtools.yang.model.api.SchemaContextListener; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; /** -* -*/ + * +**/ public final class RuntimeMappingModule extends AbstractRuntimeMappingModule { private BundleContext bundleContext; @@ -54,40 +51,17 @@ public final class RuntimeMappingModule extends AbstractRuntimeMappingModule { @Override public java.lang.AutoCloseable createInstance() { final GeneratedClassLoadingStrategy classLoading = getGlobalClassLoadingStrategy(); - final BindingIndependentMappingService legacyMapping = getGlobalLegacyMappingService(classLoading); - BindingNormalizedNodeCodecRegistry codecRegistry = new BindingNormalizedNodeCodecRegistry(StreamWriterGenerator.create(SingletonHolder.JAVASSIST)); - BindingToNormalizedNodeCodec instance = new BindingToNormalizedNodeCodec(classLoading, legacyMapping, codecRegistry); + final BindingNormalizedNodeCodecRegistry codecRegistry = new BindingNormalizedNodeCodecRegistry(StreamWriterGenerator.create(SingletonHolder.JAVASSIST)); + final BindingToNormalizedNodeCodec instance = new BindingToNormalizedNodeCodec(classLoading, codecRegistry,getWaitForSchema()); bundleContext.registerService(SchemaContextListener.class, instance, new Hashtable()); return instance; } - private BindingIndependentMappingService getGlobalLegacyMappingService(final GeneratedClassLoadingStrategy classLoading) { - BindingIndependentMappingService potential = tryToReuseGlobalMappingServiceInstance(); - if(potential == null) { - potential = new RuntimeGeneratedMappingServiceImpl(ClassPool.getDefault(),classLoading); - bundleContext.registerService(SchemaContextListener.class, (SchemaContextListener) potential, new Hashtable()); - } - return potential; - } - private GeneratedClassLoadingStrategy getGlobalClassLoadingStrategy() { - ServiceReference ref = bundleContext.getServiceReference(GeneratedClassLoadingStrategy.class); + final ServiceReference ref = bundleContext.getServiceReference(GeneratedClassLoadingStrategy.class); return bundleContext.getService(ref); } - private BindingIndependentMappingService tryToReuseGlobalMappingServiceInstance() { - ServiceReference serviceRef = getBundleContext().getServiceReference(BindingIndependentMappingService.class); - if(serviceRef == null) { - return null; - } - return bundleContext.getService(serviceRef); - - } - - private BundleContext getBundleContext() { - return bundleContext; - } - public void setBundleContext(final BundleContext bundleContext) { this.bundleContext = bundleContext; }