X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-restconf-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fbroker%2Fclient%2FSalRemoteClientImpl.java;fp=opendaylight%2Fmd-sal%2Fsal-restconf-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fbroker%2Fclient%2FSalRemoteClientImpl.java;h=7428b90113e582326ade791aa7253814681ac4c3;hp=a6ab915413ca1d9172df778425d780651ce7f224;hb=cf3c39048445c63710c82c0b3fb86a5694d5644f;hpb=ee04fdfc14f438a7fa6b1cd63e8756386293f6c8 diff --git a/opendaylight/md-sal/sal-restconf-broker/src/main/java/org/opendaylight/controller/sal/restconf/broker/client/SalRemoteClientImpl.java b/opendaylight/md-sal/sal-restconf-broker/src/main/java/org/opendaylight/controller/sal/restconf/broker/client/SalRemoteClientImpl.java index a6ab915413..7428b90113 100644 --- a/opendaylight/md-sal/sal-restconf-broker/src/main/java/org/opendaylight/controller/sal/restconf/broker/client/SalRemoteClientImpl.java +++ b/opendaylight/md-sal/sal-restconf-broker/src/main/java/org/opendaylight/controller/sal/restconf/broker/client/SalRemoteClientImpl.java @@ -7,10 +7,8 @@ */ package org.opendaylight.controller.sal.restconf.broker.client; +import com.google.common.base.Preconditions; import java.net.URL; - -import javassist.ClassPool; - import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ConsumerContext; import org.opendaylight.controller.sal.binding.api.BindingAwareConsumer; import org.opendaylight.controller.sal.restconf.broker.SalRemoteServiceBroker; @@ -18,33 +16,30 @@ import org.opendaylight.yangtools.restconf.client.RestconfClientFactory; import org.opendaylight.yangtools.restconf.client.api.RestconfClientContext; import org.opendaylight.yangtools.restconf.client.api.UnsupportedProtocolException; import org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext; -import org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl; import org.opendaylight.yangtools.yang.binding.util.BindingReflections; +import org.opendaylight.yangtools.yang.model.api.SchemaContext; +import org.opendaylight.yangtools.yang.model.api.SchemaContextHolder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Preconditions; - -class SalRemoteClientImpl implements SalRemoteClient { +class SalRemoteClientImpl implements SalRemoteClient, SchemaContextHolder { private static final Logger logger = LoggerFactory.getLogger(SalRemoteClientImpl.class); private final RestconfClientContext restconfClientContext; private final SalRemoteServiceBroker salRemoteBroker; - private final RuntimeGeneratedMappingServiceImpl mappingService; + + private SchemaContext schemaContext; public SalRemoteClientImpl(final URL url) { Preconditions.checkNotNull(url); - this.mappingService = new RuntimeGeneratedMappingServiceImpl(ClassPool.getDefault()); final ModuleInfoBackedContext moduleInfo = ModuleInfoBackedContext.create(); moduleInfo.addModuleInfos(BindingReflections.loadModuleInfos()); - this.mappingService.onGlobalContextUpdated(moduleInfo.tryToCreateSchemaContext().get()); - + schemaContext = moduleInfo.tryToCreateSchemaContext().get(); try { - this.restconfClientContext = new RestconfClientFactory().getRestconfClientContext(url, this.mappingService, - this.mappingService); + this.restconfClientContext = new RestconfClientFactory().getRestconfClientContext(url,this); this.salRemoteBroker = new SalRemoteServiceBroker("remote-broker", restconfClientContext); this.salRemoteBroker.start(); @@ -64,6 +59,11 @@ class SalRemoteClientImpl implements SalRemoteClient { }, null); } + @Override + public SchemaContext getSchemaContext() { + return schemaContext; + } + @Override public void close() throws Exception { this.restconfClientContext.close();