X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Ftest%2Futil%2FBindingTestContext.java;h=8f4794ed8fa75fe49507245d6ccbe2eb47b509a8;hb=02a9d36756493691fda2bdd36a1c243ebc5e7cca;hp=99385b0325f0e3626495b15aa1d811c04c8b135b;hpb=b918272653a8b032c3b6dcef339d3fd1fe02d059;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java index 99385b0325..8f4794ed8f 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java +++ b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/sal/binding/test/util/BindingTestContext.java @@ -11,9 +11,9 @@ import static com.google.common.base.Preconditions.checkState; import com.google.common.annotations.Beta; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; import com.google.common.util.concurrent.ListeningExecutorService; import com.google.common.util.concurrent.MoreExecutors; +import java.util.Set; import javassist.ClassPool; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.api.MountPointService; @@ -50,8 +50,8 @@ import org.opendaylight.mdsal.binding.dom.codec.impl.BindingNormalizedNodeCodecR import org.opendaylight.mdsal.binding.generator.impl.GeneratedClassLoadingStrategy; import org.opendaylight.mdsal.binding.generator.impl.ModuleInfoBackedContext; import org.opendaylight.mdsal.binding.generator.util.JavassistUtils; +import org.opendaylight.mdsal.binding.spec.reflect.BindingReflections; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; -import org.opendaylight.yangtools.yang.binding.util.BindingReflections; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @Beta @@ -82,6 +82,7 @@ public class BindingTestContext implements AutoCloseable { private BindingDOMRpcProviderServiceAdapter baProviderRpc; private DOMRpcRouter domRouter; + private org.opendaylight.mdsal.dom.broker.DOMRpcRouter delegateDomRouter; private NotificationPublishService publishService; @@ -91,7 +92,7 @@ public class BindingTestContext implements AutoCloseable { private DOMNotificationService domListenService; - + private Set schemaModuleInfos; public DOMDataBroker getDomAsyncDataBroker() { return this.newDOMDataBroker; @@ -169,11 +170,11 @@ public class BindingTestContext implements AutoCloseable { this.mockSchemaService.registerSchemaContextListener(this.codec); } - private void updateYangSchema(final ImmutableSet moduleInfos) { + private void updateYangSchema(final Set moduleInfos) { this.mockSchemaService.changeSchema(getContext(moduleInfos)); } - private SchemaContext getContext(final ImmutableSet moduleInfos) { + private static SchemaContext getContext(final Set moduleInfos) { final ModuleInfoBackedContext ctx = ModuleInfoBackedContext.create(); ctx.addModuleInfos(moduleInfos); return ctx.tryToCreateSchemaContext().get(); @@ -190,7 +191,10 @@ public class BindingTestContext implements AutoCloseable { startBindingBroker(); startForwarding(); - if (this.startWithSchema) { + + if (schemaModuleInfos != null) { + updateYangSchema(schemaModuleInfos); + } else if (this.startWithSchema) { loadYangSchemaFromClasspath(); } } @@ -202,9 +206,8 @@ public class BindingTestContext implements AutoCloseable { private void startDomBroker() { checkState(this.executor != null); - org.opendaylight.mdsal.dom.broker.DOMRpcRouter delegate = - org.opendaylight.mdsal.dom.broker.DOMRpcRouter.newInstance(mockSchemaService); - this.domRouter = new DOMRpcRouter(delegate, delegate); + delegateDomRouter = org.opendaylight.mdsal.dom.broker.DOMRpcRouter.newInstance(mockSchemaService); + this.domRouter = new DOMRpcRouter(delegateDomRouter.getRpcService(), delegateDomRouter.getRpcProviderService()); } public void startBindingNotificationBroker() { @@ -219,8 +222,7 @@ public class BindingTestContext implements AutoCloseable { } public void loadYangSchemaFromClasspath() { - final ImmutableSet moduleInfos = BindingReflections.loadModuleInfos(); - updateYangSchema(moduleInfos); + updateYangSchema(BindingReflections.loadModuleInfos()); } public RpcProviderRegistry getBindingRpcRegistry() { @@ -235,8 +237,12 @@ public class BindingTestContext implements AutoCloseable { return this.domRouter; } + public org.opendaylight.mdsal.dom.broker.DOMRpcRouter getDelegateDomRouter() { + return delegateDomRouter; + } + @Override - public void close() throws Exception { + public void close() { } @@ -251,4 +257,8 @@ public class BindingTestContext implements AutoCloseable { public DataBroker getDataBroker() { return this.dataBroker; } + + public void setSchemaModuleInfos(Set moduleInfos) { + this.schemaModuleInfos = moduleInfos; + } }