BUG-865: remove references to URLSchemaContextResolver 01/40701/2
authorRobert Varga <rovarga@cisco.com>
Wed, 22 Jun 2016 12:49:43 +0000 (14:49 +0200)
committerTom Pantelis <tpanteli@brocade.com>
Wed, 22 Jun 2016 23:49:28 +0000 (19:49 -0400)
YangTextSchemaContextResolver is the replacement, use that.

Change-Id: Ie8967f9ddba3352815f084926441eeb1e0530aac
Signed-off-by: Robert Varga <rovarga@cisco.com>
bgp/bmp-impl/src/test/java/org/opendaylight/controller/config/yang/bmp/impl/BmpMonitorImplModuleTest.java
bgp/rib-impl/src/test/java/org/opendaylight/controller/config/yang/bgp/rib/impl/AbstractRIBImplModuleTest.java
programming/impl/src/test/java/org/opendaylight/controller/config/yang/programming/impl/AbstractInstructionSchedulerTest.java

index ce44523f58a73a33286b4e3b905c79b88576a690..7ed3a4df460e2dd72384a398d2673d867ae2d1e5 100644 (file)
@@ -13,8 +13,7 @@ import static org.mockito.Matchers.contains;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
-
-import com.google.common.base.Optional;
+import com.google.common.base.Throwables;
 import com.google.common.collect.Lists;
 import com.google.common.io.ByteSource;
 import com.google.common.io.Resources;
@@ -72,11 +71,9 @@ import org.opendaylight.yangtools.sal.binding.generator.impl.GeneratedClassLoadi
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcResult;
-import org.opendaylight.yangtools.yang.model.api.SchemaContext;
-import org.opendaylight.yangtools.yang.parser.repo.URLSchemaContextResolver;
-import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
-import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
+import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException;
+import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceException;
+import org.opendaylight.yangtools.yang.parser.repo.YangTextSchemaContextResolver;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleListener;
 import org.osgi.framework.Filter;
@@ -166,9 +163,7 @@ public class BmpMonitorImplModuleTest extends AbstractConfigTest {
 
         Mockito.doReturn(null).when(this.mockedFuture).get();
 
-        final SchemaContext context = parseYangStreams(getFilesAsByteSources(getYangModelsPaths()));
-        final URLSchemaContextResolver mockedContextResolver = Mockito.mock(URLSchemaContextResolver.class);
-        Mockito.doReturn(Optional.of(context)).when(mockedContextResolver).getSchemaContext();
+        final YangTextSchemaContextResolver mockedContextResolver = newSchemaContextResolver(getYangModelsPaths());
 
         final Field contextResolverField = schemaService.getClass().getDeclaredField("contextResolver");
         contextResolverField.setAccessible(true);
@@ -193,14 +188,23 @@ public class BmpMonitorImplModuleTest extends AbstractConfigTest {
         doReturn(instance).when(mockedContext).getService(mockServiceRef);
     }
 
-    private static SchemaContext parseYangStreams(final Collection<ByteSource> streams) {
-        final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR
-                .newBuild();
-        try {
-            return reactor.buildEffective(streams);
-        } catch (final ReactorException | IOException e) {
-            throw new RuntimeException("Unable to build schema context from " + streams, e);
+    private static YangTextSchemaContextResolver newSchemaContextResolver(final List<String> paths) {
+        YangTextSchemaContextResolver resolver = YangTextSchemaContextResolver.create("test");
+        final List<String> failedToFind = new ArrayList<>();
+        for (final String path : paths) {
+            final URL url = BmpMonitorImplModuleTest.class.getResource(path);
+            if (url == null) {
+                failedToFind.add(path);
+            } else {
+                try {
+                    resolver.registerSource(url);
+                } catch(SchemaSourceException | IOException | YangSyntaxErrorException e) {
+                    Throwables.propagate(e);
+                }
+            }
         }
+        Assert.assertEquals("Some files were not found", Collections.<String> emptyList(), failedToFind);
+        return resolver;
     }
 
     private List<String> getYangModelsPaths() {
index d575991cd976e96a85151e83bdf85c665873b75c..788d78ad95ab211c3b7dd080eeb503b926d408f0 100755 (executable)
@@ -13,8 +13,7 @@ import static org.mockito.Matchers.contains;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
-
-import com.google.common.base.Optional;
+import com.google.common.base.Throwables;
 import com.google.common.collect.Lists;
 import com.google.common.io.ByteSource;
 import com.google.common.io.Resources;
@@ -91,7 +90,9 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaContextListener;
-import org.opendaylight.yangtools.yang.parser.repo.URLSchemaContextResolver;
+import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException;
+import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceException;
+import org.opendaylight.yangtools.yang.parser.repo.YangTextSchemaContextResolver;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
@@ -190,9 +191,7 @@ public abstract class AbstractRIBImplModuleTest extends AbstractConfigTest {
         Mockito.doReturn(null).when(this.mockedFuture).get();
 
         final GlobalBundleScanningSchemaServiceImpl schemaService = GlobalBundleScanningSchemaServiceImpl.createInstance(this.mockedContext);
-        final SchemaContext context = parseYangStreams(getFilesAsByteSources(getYangModelsPaths()));
-        final URLSchemaContextResolver mockedContextResolver = Mockito.mock(URLSchemaContextResolver.class);
-        Mockito.doReturn(Optional.of(context)).when(mockedContextResolver).getSchemaContext();
+        final YangTextSchemaContextResolver mockedContextResolver = newSchemaContextResolver(getYangModelsPaths());
 
         final Field contextResolverField = schemaService.getClass().getDeclaredField("contextResolver");
         contextResolverField.setAccessible(true);
@@ -385,6 +384,25 @@ public abstract class AbstractRIBImplModuleTest extends AbstractConfigTest {
         return resources;
     }
 
+    private static YangTextSchemaContextResolver newSchemaContextResolver(final List<String> paths) {
+        YangTextSchemaContextResolver resolver = YangTextSchemaContextResolver.create("test");
+        final List<String> failedToFind = new ArrayList<>();
+        for (final String path : paths) {
+            final URL url = AbstractRIBImplModuleTest.class.getResource(path);
+            if (url == null) {
+                failedToFind.add(path);
+            } else {
+                try {
+                    resolver.registerSource(url);
+                } catch(SchemaSourceException | IOException | YangSyntaxErrorException e) {
+                    Throwables.propagate(e);
+                }
+            }
+        }
+        Assert.assertEquals("Some files were not found", Collections.<String> emptyList(), failedToFind);
+        return resolver;
+    }
+
     public ObjectName createBindingBrokerImpl(final ConfigTransactionJMXClient transaction, final ObjectName dataBrokerON,
         final ObjectName notificationBrokerON) throws Exception {
         final ObjectName objectName = transaction.createModule(BindingBrokerImplModuleFactory.NAME, BINDING_BROKER_INSTANCE_NAME);
index 26113bc676c675a94399bd08925a0685cb3d5ffa..a934df47623d6cf5af7fdb71197c5742f390b05b 100644 (file)
@@ -13,8 +13,7 @@ import static org.mockito.Matchers.contains;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
-
-import com.google.common.base.Optional;
+import com.google.common.base.Throwables;
 import com.google.common.collect.Lists;
 import com.google.common.io.ByteSource;
 import com.google.common.io.Resources;
@@ -76,7 +75,9 @@ import org.opendaylight.yangtools.sal.binding.generator.impl.GeneratedClassLoadi
 import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaContextListener;
-import org.opendaylight.yangtools.yang.parser.repo.URLSchemaContextResolver;
+import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException;
+import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceException;
+import org.opendaylight.yangtools.yang.parser.repo.YangTextSchemaContextResolver;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ReactorException;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.YangInferencePipeline;
@@ -146,9 +147,7 @@ public abstract class AbstractInstructionSchedulerTest extends AbstractConfigTes
         Mockito.doReturn(null).when(mockedContext).getService(emptyServiceReference);
 
         final GlobalBundleScanningSchemaServiceImpl schemaService = GlobalBundleScanningSchemaServiceImpl.createInstance(this.mockedContext);
-        final SchemaContext context = parseYangStreams(getFilesAsByteSources(getYangModelsPaths()));
-        final URLSchemaContextResolver mockedContextResolver = Mockito.mock(URLSchemaContextResolver.class);
-        Mockito.doReturn(Optional.of(context)).when(mockedContextResolver).getSchemaContext();
+        final YangTextSchemaContextResolver mockedContextResolver = newSchemaContextResolver(getYangModelsPaths());
 
         final Field contextResolverField = schemaService.getClass().getDeclaredField("contextResolver");
         contextResolverField.setAccessible(true);
@@ -352,6 +351,25 @@ public abstract class AbstractInstructionSchedulerTest extends AbstractConfigTes
         return resources;
     }
 
+    private static YangTextSchemaContextResolver newSchemaContextResolver(final List<String> paths) {
+        YangTextSchemaContextResolver resolver = YangTextSchemaContextResolver.create("test");
+        final List<String> failedToFind = new ArrayList<>();
+        for (final String path : paths) {
+            final URL url = AbstractInstructionSchedulerTest.class.getResource(path);
+            if (url == null) {
+                failedToFind.add(path);
+            } else {
+                try {
+                    resolver.registerSource(url);
+                } catch(SchemaSourceException | IOException | YangSyntaxErrorException e) {
+                    Throwables.propagate(e);
+                }
+            }
+        }
+        Assert.assertEquals("Some files were not found", Collections.<String> emptyList(), failedToFind);
+        return resolver;
+    }
+
     private static SchemaContext parseYangStreams(final Collection<ByteSource> streams) {
         final CrossSourceStatementReactor.BuildAction reactor = YangInferencePipeline.RFC6020_REACTOR
                 .newBuild();