Share TestModel schema context 22/84822/2
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 30 Sep 2019 21:27:02 +0000 (23:27 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 1 Oct 2019 06:28:43 +0000 (08:28 +0200)
Even if this takes a few milliseconds, it is useful to share the
the context (as is invariable).

Change-Id: I790932ddbd13c5a12cce27f941785a389b8bb7d8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/AbstractDatastoreTest.java [new file with mode: 0644]
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMBrokerTest.java
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMDataTreeChangeListenerTest.java
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMDataTreeListenerTest.java
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/DOMTransactionChainTest.java
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/ShardedDOMDataTreeProducerMultiShardTest.java
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/ShardedDOMDataTreeTest.java
dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/util/TestModel.java

diff --git a/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/AbstractDatastoreTest.java b/dom/mdsal-dom-broker/src/test/java/org/opendaylight/mdsal/dom/broker/AbstractDatastoreTest.java
new file mode 100644 (file)
index 0000000..66459be
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2019 PANTHEON.tech, s.r.o. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.mdsal.dom.broker;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.opendaylight.mdsal.dom.broker.util.TestModel;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
+
+public abstract class AbstractDatastoreTest {
+    static EffectiveModelContext SCHEMA_CONTEXT;
+
+    @BeforeClass
+    public static void beforeClass() {
+        SCHEMA_CONTEXT = TestModel.createTestContext();
+    }
+
+    @AfterClass
+    public static void afterClass() {
+        SCHEMA_CONTEXT = null;
+    }
+}
index b9c7ad5657121ca41f5c20d29bdfe1b8dba9d715..f4ed7f182b95c28f3fff6e823878599133343126 100644 (file)
@@ -47,11 +47,9 @@ import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
-public class DOMBrokerTest {
+public class DOMBrokerTest extends AbstractDatastoreTest {
 
-    private SchemaContext schemaContext;
     private AbstractDOMDataBroker domBroker;
     private ListeningExecutorService executor;
     private ExecutorService futureExecutor;
@@ -63,10 +61,9 @@ public class DOMBrokerTest {
                 MoreExecutors.newDirectExecutorService());
         final InMemoryDOMDataStore configStore = new InMemoryDOMDataStore("CFG",
                 MoreExecutors.newDirectExecutorService());
-        schemaContext = TestModel.createTestContext();
 
-        operStore.onGlobalContextUpdated(schemaContext);
-        configStore.onGlobalContextUpdated(schemaContext);
+        operStore.onGlobalContextUpdated(SCHEMA_CONTEXT);
+        configStore.onGlobalContextUpdated(SCHEMA_CONTEXT);
 
         final ImmutableMap<LogicalDatastoreType, DOMStore> stores =
                 ImmutableMap.<LogicalDatastoreType, DOMStore>builder()
index 681d88ad298bf0095a828323b400157392b0cb7b..3fa4e3eabb95ef4324ec1bd67e0d9cd8264b007a 100644 (file)
@@ -35,14 +35,14 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
 
-public class DOMDataTreeChangeListenerTest {
+public class DOMDataTreeChangeListenerTest extends AbstractDatastoreTest {
 
     private InMemoryDOMDataStore domStore;
 
     @Before
     public void setUp() {
         domStore = new InMemoryDOMDataStore("Mdsal217", MoreExecutors.newDirectExecutorService());
-        domStore.onGlobalContextUpdated(TestModel.createTestContext());
+        domStore.onGlobalContextUpdated(SCHEMA_CONTEXT);
     }
 
     @Test
index 83f1a7c56cd63f0e6a359f16a25d553f838fe555..9c5848ca2211b5e13d1f414257991cbd2ed12ba1 100644 (file)
@@ -52,11 +52,9 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNod
 import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType;
 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
-public class DOMDataTreeListenerTest {
+public class DOMDataTreeListenerTest extends AbstractDatastoreTest {
 
-    private SchemaContext schemaContext;
     private AbstractDOMDataBroker domBroker;
     private ListeningExecutorService executor;
     private ExecutorService futureExecutor;
@@ -94,10 +92,9 @@ public class DOMDataTreeListenerTest {
                 MoreExecutors.newDirectExecutorService());
         final InMemoryDOMDataStore configStore = new InMemoryDOMDataStore("CFG",
                 MoreExecutors.newDirectExecutorService());
-        schemaContext = TestModel.createTestContext();
 
-        operStore.onGlobalContextUpdated(schemaContext);
-        configStore.onGlobalContextUpdated(schemaContext);
+        operStore.onGlobalContextUpdated(SCHEMA_CONTEXT);
+        configStore.onGlobalContextUpdated(SCHEMA_CONTEXT);
 
         final ImmutableMap<LogicalDatastoreType, DOMStore> stores = ImmutableMap.<LogicalDatastoreType,
                 DOMStore>builder()
index 4d5ac7beb4dcb5ff13da16c9597a3c1076907bd8..28a5539956793b89e8088135da06ca30f6b0eb94 100644 (file)
@@ -34,11 +34,9 @@ import org.opendaylight.mdsal.dom.spi.store.DOMStore;
 import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
-public class DOMTransactionChainTest {
+public class DOMTransactionChainTest extends AbstractDatastoreTest {
 
-    private SchemaContext schemaContext;
     private AbstractDOMDataBroker domBroker;
 
     @Before
@@ -47,10 +45,9 @@ public class DOMTransactionChainTest {
                 MoreExecutors.newDirectExecutorService());
         final InMemoryDOMDataStore configStore = new InMemoryDOMDataStore("CFG",
                 MoreExecutors.newDirectExecutorService());
-        schemaContext = TestModel.createTestContext();
 
-        operStore.onGlobalContextUpdated(schemaContext);
-        configStore.onGlobalContextUpdated(schemaContext);
+        operStore.onGlobalContextUpdated(SCHEMA_CONTEXT);
+        configStore.onGlobalContextUpdated(SCHEMA_CONTEXT);
 
         final ImmutableMap<LogicalDatastoreType, DOMStore> stores =
                 ImmutableMap.<LogicalDatastoreType, DOMStore>builder()
index 16effa10bb6cd0aa7a7374eb4a0376ac677b5901..25bc4b2bf98786671e116335b546b26fcdae94b4 100644 (file)
@@ -55,11 +55,8 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.api.DataContainerNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafNodeBuilder;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
-public class ShardedDOMDataTreeProducerMultiShardTest {
-
-    private static final SchemaContext SCHEMA_CONTEXT = TestModel.createTestContext();
+public class ShardedDOMDataTreeProducerMultiShardTest extends AbstractDatastoreTest {
 
     private static final DOMDataTreeIdentifier ROOT_ID =
             new DOMDataTreeIdentifier(LogicalDatastoreType.OPERATIONAL, YangInstanceIdentifier.empty());
index f75fd31696a8143f1a75a5360171288748903e97..c50438cabbd0ff26bb8c4a2a543ab3ce0daa44ff 100644 (file)
@@ -57,11 +57,8 @@ import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableLeafNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableMapNodeBuilder;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
-public class ShardedDOMDataTreeTest {
-
-    private static final SchemaContext SCHEMA_CONTEXT = TestModel.createTestContext();
+public class ShardedDOMDataTreeTest extends AbstractDatastoreTest {
 
     private static final DOMDataTreeIdentifier ROOT_ID =
             new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.empty());
index 799a3e841b5acf0e5aef900c2ed26fa8fc758034..6b4ba0d809d49a18a5f551c11dd2e97c29a7b569 100644 (file)
@@ -9,7 +9,7 @@ package org.opendaylight.mdsal.dom.broker.util;
 
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 
 public final class TestModel {
@@ -49,7 +49,7 @@ public final class TestModel {
         throw new UnsupportedOperationException();
     }
 
-    public static SchemaContext createTestContext() {
+    public static EffectiveModelContext createTestContext() {
         return YangParserTestUtils.parseYangResource("/odl-datastore-test.yang");
     }
 }