Convert mdsal-binding-generator-impl to a JPMS module 14/93714/2
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 9 Nov 2020 17:10:44 +0000 (18:10 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 10 Nov 2020 13:00:42 +0000 (14:00 +0100)
The implementation here is quite simple, convert it to a JPMS module.
Since we are breaking encapsulation the now-defunct YangTextTemplateTest
is removed. Also src/test/resources/ietf is renamed to ietf-models
to make it an unencapsulated resource.

JIRA: MDSAL-644
Change-Id: I9db57ed04b8188cefa91b644d434e2b1619e4d4b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
24 files changed:
binding/mdsal-binding-generator-impl/pom.xml
binding/mdsal-binding-generator-impl/src/main/java/module-info.java [new file with mode: 0644]
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/CodecTypeUtils.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/DefaultBindingGenerator.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/DefaultBindingRuntimeGenerator.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/ModuleContext.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/CodegenTypeProvider.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/GroupingDefinitionDependencySort.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/yang/types/NodeWrappedType.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/ControllerTest.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/ExtendedTypedefTest.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GenEnumResolvingTest.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GenTypesSubSetTest.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesLeafrefTest.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesTest.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal406TypeObjectTest.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/TypeProviderIntegrationTest.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/UnionTypeDefTest.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/YangTextTemplateTest.java [deleted file]
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/yang/types/TypeProviderTest.java
binding/mdsal-binding-generator-impl/src/test/resources/ietf-models/iana-if-type.yang [moved from binding/mdsal-binding-generator-impl/src/test/resources/ietf/iana-if-type.yang with 100% similarity]
binding/mdsal-binding-generator-impl/src/test/resources/ietf-models/ietf-inet-types.yang [moved from binding/mdsal-binding-generator-impl/src/test/resources/ietf/ietf-inet-types.yang with 100% similarity]
binding/mdsal-binding-generator-impl/src/test/resources/ietf-models/ietf-interfaces.yang [moved from binding/mdsal-binding-generator-impl/src/test/resources/ietf/ietf-interfaces.yang with 100% similarity]
binding/mdsal-binding-generator-impl/src/test/resources/ietf-models/ietf-yang-types.yang [moved from binding/mdsal-binding-generator-impl/src/test/resources/ietf/ietf-yang-types.yang with 100% similarity]

index a80fa8aa76d8be294765aa5c32a640f7c592b07a..558cce47846fd9e3f033f693f5504e2cfa736ba1 100644 (file)
@@ -37,7 +37,7 @@
             <artifactId>mdsal-binding-runtime-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>javax.inject</groupId>
+            <groupId>com.guicedee.services</groupId>
             <artifactId>javax.inject</artifactId>
             <optional>true</optional>
         </dependency>
@@ -47,7 +47,7 @@
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
-            <artifactId>osgi.cmpn</artifactId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
         </dependency>
 
         <dependency>
diff --git a/binding/mdsal-binding-generator-impl/src/main/java/module-info.java b/binding/mdsal-binding-generator-impl/src/main/java/module-info.java
new file mode 100644 (file)
index 0000000..4133931
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (c) 2020 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
+ */
+import org.opendaylight.mdsal.binding.generator.api.BindingGenerator;
+import org.opendaylight.mdsal.binding.generator.impl.DefaultBindingGenerator;
+import org.opendaylight.mdsal.binding.generator.impl.DefaultBindingRuntimeGenerator;
+import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeGenerator;
+
+module org.opendaylight.mdsal.binding.generator.impl {
+    // FIXME: 8.0.0: do not export this package (move public stuff to .di)
+    exports org.opendaylight.mdsal.binding.generator.impl;
+    exports org.opendaylight.mdsal.binding.yang.types;
+
+    provides BindingGenerator with DefaultBindingGenerator;
+    provides BindingRuntimeGenerator with DefaultBindingRuntimeGenerator;
+
+    requires transitive org.opendaylight.mdsal.binding.generator.api;
+    requires transitive org.opendaylight.mdsal.binding.generator.util;
+    requires transitive org.opendaylight.mdsal.binding.runtime.api;
+    requires org.opendaylight.mdsal.binding.spec.util;
+    requires org.opendaylight.yangtools.yang.model.api;
+    requires org.opendaylight.yangtools.yang.model.util;
+    requires org.opendaylight.yangtools.util;
+    requires org.slf4j;
+
+    // Annotations
+    requires static transitive org.eclipse.jdt.annotation;
+    requires static javax.inject;
+    requires static metainf.services;
+    requires static org.osgi.service.component.annotations;
+}
index ed278c2375b3df4af0840c1eaa31ca81f9f126e6..f0ced21da053849897ed116ee865bdb43b869ce7 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.mdsal.binding.generator.impl;
 import org.opendaylight.yangtools.yang.binding.Identifier;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.IdentifiableItem;
 
+// FIXME: 8.0.0: hide this class
 public final class CodecTypeUtils {
     private CodecTypeUtils() {
         throw new UnsupportedOperationException("Utility class should not be instantiated");
index c55f7f76df545ca89980e3f213b273fcfc110617..3c56db3771790263dd9fc879e2bb11f01fe66f11 100644 (file)
@@ -15,6 +15,7 @@ import java.util.Collection;
 import java.util.IdentityHashMap;
 import java.util.List;
 import java.util.Map;
+import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.eclipse.jdt.annotation.NonNull;
 import org.kohsuke.MetaInfServices;
@@ -33,6 +34,11 @@ import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 @Singleton
 // Note: not exposed in OSGi on purpose, as this should only be needed at compile-time
 public final class DefaultBindingGenerator implements BindingGenerator {
+    @Inject
+    public DefaultBindingGenerator() {
+        // Exposed for DI
+    }
+
     @Override
     public List<Type> generateTypes(final EffectiveModelContext context, final Collection<? extends Module> modules) {
         return generateFor(context, modules);
index c2610e4bb453b59c21450350eb4f891655e65736..20745732ce242a82d3ae7b6f7f9593d1f90a0e70 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.mdsal.binding.generator.impl;
 import com.google.common.annotations.Beta;
 import java.util.IdentityHashMap;
 import java.util.Map;
+import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.kohsuke.MetaInfServices;
 import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
@@ -33,6 +34,11 @@ import org.slf4j.LoggerFactory;
 public final class DefaultBindingRuntimeGenerator implements BindingRuntimeGenerator {
     private static final Logger LOG = LoggerFactory.getLogger(DefaultBindingRuntimeGenerator.class);
 
+    @Inject
+    public DefaultBindingRuntimeGenerator() {
+        // exposed for DI
+    }
+
     @Override
     public BindingRuntimeTypes generateTypeMapping(final EffectiveModelContext context) {
         GeneratorUtils.checkContext(context);
index bd1a97d3e115ad0a8123c7bb1c319481f2f847ef..96bb9f523f5020c2fdd39b49b2899dfba3474040 100644 (file)
@@ -52,6 +52,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Utility class for building up Binding mapping information. This class is NOT thread-safe.
  */
+// FIXME: 8.0.0: hide this class
 public final class ModuleContext implements Mutable {
     private static final Logger LOG = LoggerFactory.getLogger(ModuleContext.class);
 
index 6f6963f709d3d0bca49fb875c8fd8574d9fe6140..b94fd123b00286f58bef3e5e6467d5aa9d3f786a 100644 (file)
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
  * considering using {@link RuntimeTypeProvider}.
  */
 @Beta
-// FIXME: make this class final after TypeProviderImpl is gone
+// FIXME: 8.0.0: make this class final
 public class CodegenTypeProvider extends AbstractTypeProvider {
     private static final Logger LOG = LoggerFactory.getLogger(CodegenTypeProvider.class);
 
index 2170e3495fbe2dec6e0ba620718bdcdf1e4acbac..ec0db43275df8825ed0aeeed382d26cac7ea5f1f 100644 (file)
@@ -28,6 +28,7 @@ import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
 import org.opendaylight.yangtools.yang.model.api.NotificationNodeContainer;
 import org.opendaylight.yangtools.yang.model.api.UsesNode;
 
+// FIXME: 8.0.0: this should be final
 public class GroupingDefinitionDependencySort {
     /**
      * Sorts set {@code groupingDefinitions} according to the mutual dependencies.<br>
index 9d9f67e6c9615562eef04d0e7fb1c9f0497810f7..594f3cd33be0885729b7582a310437286c33878d 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.mdsal.binding.yang.types;
 
 import org.opendaylight.yangtools.util.TopologicalSort.NodeImpl;
 
+// FIXME: 8.0.0: hide this class
 public final class NodeWrappedType extends NodeImpl {
     /**
      * The payload which is saved inside Node.
index 149902089a0717a547e60791f318a55ea545d692..f3bd51fcc9670e07c297539e4f2a1a01a7e3bd8e 100644 (file)
@@ -21,7 +21,7 @@ public class ControllerTest {
         final List<Type> genTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResources(
             ControllerTest.class,
             "/controller-models/controller-network.yang", "/controller-models/controller-openflow.yang",
-            "/ietf/ietf-inet-types.yang"));
+            "/ietf-models/ietf-inet-types.yang"));
 
         assertNotNull(genTypes);
         assertTrue(!genTypes.isEmpty());
index 3b0dfc2689593aebf94a6c6234e354e8c7282a26..33079fec9ffae0409522eaa2398afb1053708ce5 100644 (file)
@@ -25,7 +25,7 @@ public class ExtendedTypedefTest {
     public void constantGenerationTest() {
         final List<Type> genTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResources(
             ExtendedTypedefTest.class,
-            "/typedef-of-typedef/typedef_of_typedef.yang", "/ietf/ietf-inet-types.yang"));
+            "/typedef-of-typedef/typedef_of_typedef.yang", "/ietf-models/ietf-inet-types.yang"));
 
         GeneratedTransferObject simpleTypedef4 = null;
         GeneratedTransferObject extendedTypedefUnion = null;
index 2d77d0db450ab2254df441bbb193b993afe90749..8ac1c5784dde08839d079b6da14b9ebbcd2764a4 100644 (file)
@@ -24,7 +24,7 @@ public class GenEnumResolvingTest {
     public void testLeafEnumResolving() {
         final List<Type> genTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResources(
             GenEnumResolvingTest.class,
-            "/enum-test-models/ietf-interfaces@2012-11-15.yang", "/ietf/iana-if-type.yang"));
+            "/enum-test-models/ietf-interfaces@2012-11-15.yang", "/ietf-models/iana-if-type.yang"));
         assertTrue(genTypes != null);
 
         assertEquals("Expected count of all Generated Types", 6, genTypes.size());
@@ -83,7 +83,7 @@ public class GenEnumResolvingTest {
     @Test
     public void testTypedefEnumResolving() {
         final List<Type> genTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResource(
-            "/ietf/iana-if-type.yang"));
+            "/ietf-models/iana-if-type.yang"));
         assertTrue(genTypes != null);
         assertEquals(1, genTypes.size());
 
@@ -99,7 +99,7 @@ public class GenEnumResolvingTest {
         final List<Type> genTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResources(
             GenEnumResolvingTest.class,
             "/enum-test-models/abstract-topology@2013-02-08.yang", "/enum-test-models/ietf-interfaces@2012-11-15.yang",
-            "/ietf/iana-if-type.yang"));
+            "/ietf-models/iana-if-type.yang"));
         assertNotNull(genTypes);
         assertTrue(!genTypes.isEmpty());
 
index 806fb76bdaab79f3c32f5e897bea591e1c590cd7..3a93b2fe7b18f8b78f47d9c30f63027a21f67457 100644 (file)
@@ -25,8 +25,8 @@ public class GenTypesSubSetTest {
     @Test
     public void genTypesFromSubsetOfTwoModulesTest() {
         final EffectiveModelContext context = YangParserTestUtils.parseYangResources(GenTypesSubSetTest.class,
-                "/leafref-test-models/abstract-topology@2013-02-08.yang", "/ietf/ietf-interfaces.yang",
-                "/ietf/ietf-inet-types.yang", "/ietf/ietf-yang-types.yang");
+                "/leafref-test-models/abstract-topology@2013-02-08.yang", "/ietf-models/ietf-interfaces.yang",
+                "/ietf-models/ietf-inet-types.yang", "/ietf-models/ietf-yang-types.yang");
         final Set<Module> toGenModules = new HashSet<>();
         for (final Module module : context.getModules()) {
             if (module.getName().equals("abstract-topology")) {
@@ -48,8 +48,9 @@ public class GenTypesSubSetTest {
     @Test
     public void genTypesFromSubsetOfThreeModulesTest() {
         final EffectiveModelContext context = YangParserTestUtils.parseYangResources(GenTypesSubSetTest.class,
-                "/leafref-test-models/abstract-topology@2013-02-08.yang", "/ietf/ietf-interfaces.yang",
-                "/ietf/ietf-inet-types.yang", "/ietf/ietf-yang-types.yang", "/ietf/iana-if-type.yang");
+                "/leafref-test-models/abstract-topology@2013-02-08.yang", "/ietf-models/ietf-interfaces.yang",
+                "/ietf-models/ietf-inet-types.yang", "/ietf-models/ietf-yang-types.yang",
+                "/ietf-models/iana-if-type.yang");
         assertNotNull("Schema Context is null", context);
 
         final Set<Module> toGenModules = new HashSet<>();
index 87e5fc1b5708c93ee7daef7d04b06495141bf78f..46831550007ef23041c4e5b3cb398c520dbee8a6 100644 (file)
@@ -29,8 +29,8 @@ public class GeneratedTypesLeafrefTest {
     @Test
     public void testLeafrefResolving() {
         final EffectiveModelContext context = YangParserTestUtils.parseYangResources(GeneratedTypesLeafrefTest.class,
-            "/leafref-test-models/abstract-topology@2013-02-08.yang", "/ietf/ietf-interfaces.yang",
-            "/ietf/ietf-inet-types.yang", "/ietf/ietf-yang-types.yang");
+            "/leafref-test-models/abstract-topology@2013-02-08.yang", "/ietf-models/ietf-interfaces.yang",
+            "/ietf-models/ietf-inet-types.yang", "/ietf-models/ietf-yang-types.yang");
         assertEquals(4, context.getModules().size());
 
         final List<Type> genTypes = DefaultBindingGenerator.generateFor(context);
index 9ca5660a796328ea7185be2b14a5580517b7f6cd..277302040b43b2dad1d7f0bcdef33829ec6577a4 100644 (file)
@@ -25,7 +25,7 @@ public class GeneratedTypesTest {
     @Test
     public void testMultipleModulesResolving() {
         final List<Type> genTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResources(
-            GeneratedTypesTest.class, "/abstract-topology.yang", "/ietf/ietf-inet-types.yang"));
+            GeneratedTypesTest.class, "/abstract-topology.yang", "/ietf-models/ietf-inet-types.yang"));
 
         assertNotNull(genTypes);
         assertEquals(29, genTypes.size());
index a281edcb1b48f119e5ef05a1408e5585a2a7f1e3..54972379deac79e4eb07eb022206913a532a74f5 100644 (file)
@@ -13,18 +13,33 @@ import static org.junit.Assert.assertTrue;
 import static org.opendaylight.mdsal.binding.model.util.BindingTypes.TYPE_OBJECT;
 
 import java.util.List;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
 import org.junit.Test;
 import org.opendaylight.mdsal.binding.model.api.GeneratedType;
 import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.model.util.BindingTypes;
 import org.opendaylight.mdsal.binding.model.util.Types;
+import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 
 public class Mdsal406TypeObjectTest {
+    private static EffectiveModelContext CONTEXT;
+
+    @BeforeClass
+    public static void beforeClass() {
+        CONTEXT = YangParserTestUtils.parseYangResources(ExtendedTypedefTest.class,
+            "/type-provider/test.yang", "/ietf-models/ietf-inet-types.yang");
+    }
+
+    @AfterClass
+    public static void afterClass() {
+        CONTEXT = null;
+    }
+
     @Test
     public void typeObjectTest() {
-        final List<Type> generateTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResources(
-            ExtendedTypedefTest.class, "/type-provider/test.yang", "/ietf/ietf-inet-types.yang"));
+        final List<Type> generateTypes = DefaultBindingGenerator.generateFor(CONTEXT);
         assertNotNull(generateTypes);
 
         final Type typedefType = generateTypes.stream().filter(type -> type.getFullyQualifiedName()
@@ -40,8 +55,7 @@ public class Mdsal406TypeObjectTest {
 
     @Test
     public void typeObjectForBitsTypedefTest() {
-        final List<Type> generateTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResources(
-            ExtendedTypedefTest.class, "/type-provider/test.yang", "/ietf/ietf-inet-types.yang"));
+        final List<Type> generateTypes = DefaultBindingGenerator.generateFor(CONTEXT);
         assertNotNull(generateTypes);
 
         final Type typedefType = generateTypes.stream().filter(type -> type.getFullyQualifiedName()
@@ -57,8 +71,7 @@ public class Mdsal406TypeObjectTest {
 
     @Test
     public void typeObjectForUnionTypedefTest() {
-        final List<Type> generateTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResources(
-            ExtendedTypedefTest.class, "/type-provider/test.yang", "/ietf/ietf-inet-types.yang"));
+        final List<Type> generateTypes = DefaultBindingGenerator.generateFor(CONTEXT);
         assertNotNull(generateTypes);
 
         final Type typedefType = generateTypes.stream().filter(type -> type.getFullyQualifiedName()
index b4728c02640a7c8e5f07e97c1ec33559df7d4bec..6e44d0775a9b59d2bccd43bde2ad5b72f5124063 100644 (file)
@@ -35,7 +35,7 @@ public class TypeProviderIntegrationTest {
     @BeforeClass
     public static void setup() {
         CONTEXT = YangParserTestUtils.parseYangResources(TypeProviderIntegrationTest.class, "/type-provider/test.yang",
-            "/ietf/ietf-inet-types.yang");
+            "/ietf-models/ietf-inet-types.yang");
         assertNotNull(CONTEXT);
     }
 
index 70fcb183f420516f4bae89c661f2380d3a30c74e..9b093adda9785e4d5d8200fb9b2e031dab0a745d 100644 (file)
@@ -23,7 +23,7 @@ public class UnionTypeDefTest {
     @Test
     public void unionTypeResolvingTest() {
         final List<Type> genTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResources(
-            UnionTypeDefTest.class, "/union-test-models/abstract-topology.yang", "/ietf/ietf-inet-types.yang"));
+            UnionTypeDefTest.class, "/union-test-models/abstract-topology.yang", "/ietf-models/ietf-inet-types.yang"));
 
         assertNotNull("genTypes is null", genTypes);
         assertFalse("genTypes is empty", genTypes.isEmpty());
diff --git a/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/YangTextTemplateTest.java b/binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/YangTextTemplateTest.java
deleted file mode 100644 (file)
index d499cea..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco Systems, Inc. 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.binding.generator.impl;
-
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import org.junit.Test;
-import org.opendaylight.mdsal.binding.model.util.FormattingUtils;
-
-public class YangTextTemplateTest {
-    @Test
-    public void privateConstructTest() throws ReflectiveOperationException  {
-        final Constructor<FormattingUtils> constructor = FormattingUtils.class.getDeclaredConstructor();
-        constructor.setAccessible(true);
-        try {
-            constructor.newInstance();
-            fail();
-        } catch (InvocationTargetException e) {
-            assertTrue(e.getCause() instanceof UnsupportedOperationException);
-        }
-    }
-}
\ No newline at end of file
index 74148a2756e989d16ce9d29f3970b61275ebba5e..ba0f7e6bce27b9eb3c0077bdda551eaea1d08844 100644 (file)
@@ -58,14 +58,14 @@ import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
 @RunWith(MockitoJUnitRunner.class)
 public class TypeProviderTest {
 
-    private static SchemaContext SCHEMA_CONTEXT;
-    private static Module TEST_TYPE_PROVIDER;
+    public static SchemaContext SCHEMA_CONTEXT;
+    public static Module TEST_TYPE_PROVIDER;
 
     @Mock
-    private SchemaPath schemaPath;
+    public SchemaPath schemaPath;
 
     @Mock
-    private SchemaNode schemaNode;
+    public SchemaNode schemaNode;
 
     @BeforeClass
     public static void beforeClass() {