X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-inmemory-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fstore%2Fimpl%2FAbstractDataChangeListenerTest.java;h=8d329624219916de411dec97d0c6e5c3e930a0bb;hb=c31509c7a6630e54a9f9749a643fed5e1a1ad380;hp=3176ca764de198dac326dbfb9db51f6f2190ded8;hpb=c222e37f2a0f0f3f6266242fbea2d3b018f4e6e3;p=controller.git diff --git a/opendaylight/md-sal/sal-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/AbstractDataChangeListenerTest.java b/opendaylight/md-sal/sal-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/AbstractDataChangeListenerTest.java index 3176ca764d..8d32962421 100644 --- a/opendaylight/md-sal/sal-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/AbstractDataChangeListenerTest.java +++ b/opendaylight/md-sal/sal-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/AbstractDataChangeListenerTest.java @@ -9,7 +9,7 @@ package org.opendaylight.controller.md.sal.dom.store.impl; import java.util.Collection; import java.util.Map; - +import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.opendaylight.controller.md.sal.dom.store.impl.DatastoreTestTask.WriteTransactionCustomizer; @@ -18,6 +18,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controll import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.TopLevelList; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.controller.md.sal.test.list.rev140701.two.level.list.top.level.list.NestedList; import org.opendaylight.yangtools.sal.binding.generator.impl.ModuleInfoBackedContext; +import org.opendaylight.yangtools.util.concurrent.SpecialExecutors; import org.opendaylight.yangtools.yang.binding.YangModuleInfo; import org.opendaylight.yangtools.yang.binding.util.BindingReflections; import org.opendaylight.yangtools.yang.common.QName; @@ -35,8 +36,6 @@ import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContaine import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder; import org.opendaylight.yangtools.yang.model.api.SchemaContext; -import com.google.common.util.concurrent.MoreExecutors; - public abstract class AbstractDataChangeListenerTest { protected static final YangInstanceIdentifier TOP_LEVEL = YangInstanceIdentifier @@ -48,6 +47,7 @@ public abstract class AbstractDataChangeListenerTest { private InMemoryDOMDataStore datastore; private SchemaContext schemaContext; + private TestDCLExecutorService dclExecutorService; @Before public final void setup() throws Exception { @@ -56,13 +56,30 @@ public abstract class AbstractDataChangeListenerTest { ModuleInfoBackedContext context = ModuleInfoBackedContext.create(); context.registerModuleInfo(moduleInfo); schemaContext = context.tryToCreateSchemaContext().get(); - datastore = new InMemoryDOMDataStore("TEST", - MoreExecutors.sameThreadExecutor()); + + dclExecutorService = new TestDCLExecutorService( + SpecialExecutors.newBlockingBoundedFastThreadPool(1, 10, "DCL" )); + + datastore = new InMemoryDOMDataStore("TEST", dclExecutorService); datastore.onGlobalContextUpdated(schemaContext); } + @After + public void tearDown() { + if( dclExecutorService != null ) { + dclExecutorService.shutdownNow(); + } + } + + /** + * Create a new test task. The task will operate on the backed database, + * and will use the proper background executor service. + * + * @return Test task initialized to clean up {@value #TOP_LEVEL} and its + * children. + */ public final DatastoreTestTask newTestTask() { - return new DatastoreTestTask(datastore).cleanup(DatastoreTestTask + return new DatastoreTestTask(datastore, dclExecutorService).cleanup(DatastoreTestTask .simpleDelete(TOP_LEVEL)); }