X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fbinding%2Ftest%2FDataBrokerTestCustomizer.java;h=23600a3710cc7207c9d20c095e13a067b27c265a;hp=c869b1dbd3e1df95165f46b5ef992bbe4199cafc;hb=a7f36d5bcbf1897672422910a890c4aabb6dd34e;hpb=45ef2eacfd2aa0817944964cf2c95d1aa3619253 diff --git a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/test/DataBrokerTestCustomizer.java b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/test/DataBrokerTestCustomizer.java index c869b1dbd3..23600a3710 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/test/DataBrokerTestCustomizer.java +++ b/opendaylight/md-sal/sal-binding-broker/src/test/java/org/opendaylight/controller/md/sal/binding/test/DataBrokerTestCustomizer.java @@ -12,11 +12,16 @@ import com.google.common.util.concurrent.ListeningExecutorService; import com.google.common.util.concurrent.MoreExecutors; import javassist.ClassPool; import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.controller.md.sal.binding.api.NotificationPublishService; +import org.opendaylight.controller.md.sal.binding.api.NotificationService; +import org.opendaylight.controller.md.sal.binding.impl.BindingDOMDataBrokerAdapter; +import org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationPublishServiceAdapter; +import org.opendaylight.controller.md.sal.binding.impl.BindingDOMNotificationServiceAdapter; import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec; -import org.opendaylight.controller.md.sal.binding.impl.ForwardedBindingDataBroker; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; -import org.opendaylight.controller.md.sal.dom.broker.impl.DOMDataBrokerImpl; +import org.opendaylight.controller.md.sal.dom.broker.impl.DOMNotificationRouter; +import org.opendaylight.controller.md.sal.dom.broker.impl.SerializedDOMDataBroker; import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore; import org.opendaylight.controller.sal.binding.test.util.MockSchemaService; import org.opendaylight.controller.sal.core.api.model.SchemaService; @@ -25,17 +30,16 @@ import org.opendaylight.yangtools.binding.data.codec.gen.impl.DataObjectSerializ 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.sal.binding.generator.util.JavassistUtils; import org.opendaylight.yangtools.yang.model.api.SchemaContext; public class DataBrokerTestCustomizer { private DOMDataBroker domDataBroker; - private final RuntimeGeneratedMappingServiceImpl mappingService; + private final DOMNotificationRouter domNotificationRouter; private final MockSchemaService schemaService; private ImmutableMap datastores; - private final BindingToNormalizedNodeCodec bindingToNormalized ; + private final BindingToNormalizedNodeCodec bindingToNormalized; public ImmutableMap createDatastores() { return ImmutableMap.builder() @@ -46,39 +50,46 @@ public class DataBrokerTestCustomizer { public DataBrokerTestCustomizer() { schemaService = new MockSchemaService(); - ClassPool pool = ClassPool.getDefault(); - mappingService = new RuntimeGeneratedMappingServiceImpl(pool); - DataObjectSerializerGenerator generator = StreamWriterGenerator.create(JavassistUtils.forClassPool(pool)); - BindingNormalizedNodeCodecRegistry codecRegistry = new BindingNormalizedNodeCodecRegistry(generator); - GeneratedClassLoadingStrategy loading = GeneratedClassLoadingStrategy.getTCCLClassLoadingStrategy(); - bindingToNormalized = new BindingToNormalizedNodeCodec(loading, mappingService, codecRegistry); + final ClassPool pool = ClassPool.getDefault(); + final DataObjectSerializerGenerator generator = StreamWriterGenerator.create(JavassistUtils.forClassPool(pool)); + final BindingNormalizedNodeCodecRegistry codecRegistry = new BindingNormalizedNodeCodecRegistry(generator); + final GeneratedClassLoadingStrategy loading = GeneratedClassLoadingStrategy.getTCCLClassLoadingStrategy(); + bindingToNormalized = new BindingToNormalizedNodeCodec(loading, codecRegistry); schemaService.registerSchemaContextListener(bindingToNormalized); + domNotificationRouter = DOMNotificationRouter.create(16); } public DOMStore createConfigurationDatastore() { - InMemoryDOMDataStore store = new InMemoryDOMDataStore("CFG", - MoreExecutors.sameThreadExecutor(), MoreExecutors.sameThreadExecutor()); + final InMemoryDOMDataStore store = new InMemoryDOMDataStore("CFG", MoreExecutors.newDirectExecutorService()); schemaService.registerSchemaContextListener(store); return store; } public DOMStore createOperationalDatastore() { - InMemoryDOMDataStore store = new InMemoryDOMDataStore("OPER", - MoreExecutors.sameThreadExecutor(), MoreExecutors.sameThreadExecutor()); + final InMemoryDOMDataStore store = new InMemoryDOMDataStore("OPER", MoreExecutors.newDirectExecutorService()); schemaService.registerSchemaContextListener(store); return store; } public DOMDataBroker createDOMDataBroker() { - return new DOMDataBrokerImpl(getDatastores(), getCommitCoordinatorExecutor()); + return new SerializedDOMDataBroker(getDatastores(), getCommitCoordinatorExecutor()); } + public NotificationService createNotificationService() { + return new BindingDOMNotificationServiceAdapter(bindingToNormalized.getCodecRegistry(), domNotificationRouter); + } + + public NotificationPublishService createNotificationPublishService() { + return new BindingDOMNotificationPublishServiceAdapter(bindingToNormalized, domNotificationRouter); + } + + public ListeningExecutorService getCommitCoordinatorExecutor() { - return MoreExecutors.sameThreadExecutor(); + return MoreExecutors.newDirectExecutorService(); } public DataBroker createDataBroker() { - return new ForwardedBindingDataBroker(getDOMDataBroker(), bindingToNormalized, schemaService ); + return new BindingDOMDataBrokerAdapter(getDOMDataBroker(), bindingToNormalized); } public BindingToNormalizedNodeCodec getBindingToNormalized() { @@ -105,7 +116,9 @@ public class DataBrokerTestCustomizer { public void updateSchema(final SchemaContext ctx) { schemaService.changeSchema(ctx); - mappingService.onGlobalContextUpdated(ctx); } + public DOMNotificationRouter getDomNotificationRouter() { + return domNotificationRouter; + } }