BUG-865: remove use of deprecated APIs 99/26999/1
authorRobert Varga <rovarga@cisco.com>
Tue, 15 Sep 2015 04:56:12 +0000 (06:56 +0200)
committerRobert Varga <rovarga@cisco.com>
Tue, 15 Sep 2015 04:56:12 +0000 (06:56 +0200)
YANG parser is going to lose these, do not use them.

Change-Id: Id33e324ee0661902addb9537af34504b28d762e5
Signed-off-by: Robert Varga <rovarga@cisco.com>
binding/maven-sal-api-gen-plugin/src/test/java/org/opendaylight/yangtools/yang/unified/doc/generator/maven/DocGenTest.java
binding/maven-sal-api-gen-plugin/src/test/java/org/opendaylight/yangtools/yang/unified/doc/generator/maven/YangModuleInfoCompilationTest.java
binding/maven-sal-api-gen-plugin/src/test/java/org/opendaylight/yangtools/yang/wadl/generator/maven/WadlGenTest.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/ModuleInfoBackedContext.java
dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDataStoreTest.java
dom/mdsal-dom-inmemory-datastore/src/test/java/org/opendaylight/controller/md/sal/dom/store/impl/TestModel.java

index 4e0e2541104256c6ab91f2cde0177bad9b310b11..1e9ae3586ee59aab7f510c26bf30decb1e3c435e 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.unified.doc.generator.maven;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
-
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.net.URI;
@@ -17,12 +16,9 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
-import java.util.Set;
-
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
-import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl;
 import org.opendaylight.yangtools.yang2sources.spi.BasicCodeGenerator;
@@ -52,14 +48,13 @@ public class DocGenTest {
     @Test
     public void testListGeneration() throws Exception {
         final List<File> sourceFiles = getSourceFiles("/doc-gen");
-        final Set<Module> modulesToBuild = parser.parseYangModels(sourceFiles);
-        final SchemaContext context = parser.resolveSchemaContext(modulesToBuild);
+        final SchemaContext context = parser.parseFiles(sourceFiles);
         final BasicCodeGenerator generator = new DocumentationGeneratorImpl();
-        Collection<File> generatedFiles = generator.generateSources(context, GENERATOR_OUTPUT_DIR, modulesToBuild);
+        Collection<File> generatedFiles = generator.generateSources(context, GENERATOR_OUTPUT_DIR, context.getModules());
         assertEquals(4, generatedFiles.size());
     }
 
-    private static List<File> getSourceFiles(String path) throws Exception {
+    private static List<File> getSourceFiles(final String path) throws Exception {
         final URI resPath = DocGenTest.class.getResource(path).toURI();
         final File sourcesDir = new File(resPath);
         if (sourcesDir.exists()) {
@@ -75,7 +70,7 @@ public class DocGenTest {
         }
     }
 
-    private static void deleteTestDir(File file) {
+    private static void deleteTestDir(final File file) {
         if (file.isDirectory()) {
             File[] filesToDelete = file.listFiles();
             if (filesToDelete != null) {
index 1a1052baa14838f604e6d1d6a068d785911ea126..ec026beec38be2fafc199ba76a9692eb69a37a68 100644 (file)
@@ -11,7 +11,6 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
-
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.lang.reflect.Method;
@@ -132,7 +131,7 @@ public class YangModuleInfoCompilationTest {
         cleanUp(sourcesOutputDir, compiledOutputDir);
     }
 
-    private void generateTestSources(String resourceDirPath, File sourcesOutputDir) throws Exception {
+    private static void generateTestSources(final String resourceDirPath, final File sourcesOutputDir) throws Exception {
         final List<File> sourceFiles = getSourceFiles(resourceDirPath);
         YangContextParser parser = new YangParserImpl();
         final SchemaContext context = parser.parseFiles(sourceFiles);
@@ -141,7 +140,7 @@ public class YangModuleInfoCompilationTest {
         codegen.generateSources(context, sourcesOutputDir, context.getModules());
     }
 
-    private static void testCompilation(File sourcesOutputDir, File compiledOutputDir) {
+    private static void testCompilation(final File sourcesOutputDir, final File compiledOutputDir) {
         JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
         StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
         List<File> filesList = getJavaFiles(sourcesOutputDir);
@@ -151,7 +150,7 @@ public class YangModuleInfoCompilationTest {
         assertTrue(compiled);
     }
 
-    private static List<File> getJavaFiles(File directory) {
+    private static List<File> getJavaFiles(final File directory) {
         List<File> result = new ArrayList<>();
         File[] filesToRead = directory.listFiles();
         if (filesToRead != null) {
@@ -169,7 +168,7 @@ public class YangModuleInfoCompilationTest {
         return result;
     }
 
-    private static List<File> getSourceFiles(String path) throws Exception {
+    private static List<File> getSourceFiles(final String path) throws Exception {
         final URI resPath = YangModuleInfoCompilationTest.class.getResource(path).toURI();
         final File sourcesDir = new File(resPath);
         final URI currentDir = new File(System.getProperty("user.dir")).toURI();
@@ -188,7 +187,7 @@ public class YangModuleInfoCompilationTest {
         }
     }
 
-    private static void deleteTestDir(File file) {
+    private static void deleteTestDir(final File file) {
         if (file.isDirectory()) {
             File[] filesToDelete = file.listFiles();
             if (filesToDelete != null) {
@@ -202,7 +201,7 @@ public class YangModuleInfoCompilationTest {
         }
     }
 
-    private static Method assertContainsMethod(Class<?> clazz, Class<?> returnType, String name, Class<?>... args) {
+    private static Method assertContainsMethod(final Class<?> clazz, final Class<?> returnType, final String name, final Class<?>... args) {
         try {
             Method m = clazz.getDeclaredMethod(name, args);
             assertEquals(returnType, m.getReturnType());
@@ -213,7 +212,7 @@ public class YangModuleInfoCompilationTest {
         }
     }
 
-    private static void cleanUp(File... resourceDirs) {
+    private static void cleanUp(final File... resourceDirs) {
         for (File resourceDir : resourceDirs) {
             if (resourceDir.exists()) {
                 deleteTestDir(resourceDir);
index 4485b429a67a2b0eb1a1d387cd0f4e79e6912ecb..5c8eb4ea7b3fd750b99d9829f686ffeaa3ee2448 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.wadl.generator.maven;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
-
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.net.URI;
@@ -17,12 +16,9 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
-import java.util.Set;
-
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
-import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl;
 import org.opendaylight.yangtools.yang2sources.spi.BasicCodeGenerator;
@@ -52,14 +48,13 @@ public class WadlGenTest {
     @Test
     public void testListGeneration() throws Exception {
         final List<File> sourceFiles = getSourceFiles("/wadl-gen");
-        final Set<Module> modulesToBuild = parser.parseYangModels(sourceFiles);
-        final SchemaContext context = parser.resolveSchemaContext(modulesToBuild);
+        final SchemaContext context = parser.parseFiles(sourceFiles);
         final BasicCodeGenerator generator = new WadlGenerator();
-        Collection<File> generatedWadlFiles = generator.generateSources(context, GENERATOR_OUTPUT_DIR, modulesToBuild);
+        Collection<File> generatedWadlFiles = generator.generateSources(context, GENERATOR_OUTPUT_DIR, context.getModules());
         assertEquals(3, generatedWadlFiles.size());
     }
 
-    private static List<File> getSourceFiles(String path) throws Exception {
+    private static List<File> getSourceFiles(final String path) throws Exception {
         final URI resPath = WadlGenTest.class.getResource(path).toURI();
         final File sourcesDir = new File(resPath);
         if (sourcesDir.exists()) {
@@ -75,7 +70,7 @@ public class WadlGenTest {
         }
     }
 
-    private static void deleteTestDir(File file) {
+    private static void deleteTestDir(final File file) {
         if (file.isDirectory()) {
             File[] filesToDelete = file.listFiles();
             if (filesToDelete != null) {
index b20a1700e12441f4f5ce4026b657c8c6c32b4ca9..04ae277387a991e09ba995bb3535e86c3782b908 100644 (file)
@@ -10,10 +10,11 @@ package org.opendaylight.yangtools.sal.binding.generator.impl;
 import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableSet;
+import com.google.common.io.ByteSource;
 import java.io.IOException;
 import java.io.InputStream;
 import java.lang.ref.WeakReference;
-import java.util.Set;
+import java.util.Collection;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
@@ -23,17 +24,16 @@ import org.opendaylight.yangtools.sal.binding.generator.api.ModuleInfoRegistry;
 import org.opendaylight.yangtools.util.ClassLoaderUtils;
 import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
 import org.opendaylight.yangtools.yang.binding.util.BindingReflections;
-import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaContextProvider;
+import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class ModuleInfoBackedContext extends GeneratedClassLoadingStrategy //
-        implements //
-        ModuleInfoRegistry, SchemaContextProvider {
+public class ModuleInfoBackedContext extends GeneratedClassLoadingStrategy
+        implements ModuleInfoRegistry, SchemaContextProvider {
 
     private ModuleInfoBackedContext(final ClassLoadingStrategy loadingStrategy) {
         this.backingLoadingStrategy = loadingStrategy;
@@ -79,13 +79,12 @@ public class ModuleInfoBackedContext extends GeneratedClassLoadingStrategy //
 
     private synchronized Optional<SchemaContext> recreateSchemaContext() {
         try {
-            ImmutableList<InputStream> streams = getAvailableStreams();
+            Collection<ByteSource> streams = getAvailableStreams();
             YangParserImpl parser = new YangParserImpl();
-            Set<Module> modules = parser.parseYangModelsFromStreams(streams);
-            SchemaContext schemaContext = parser.resolveSchemaContext(modules);
+            SchemaContext schemaContext = parser.parseSources(streams);
             return Optional.of(schemaContext);
-        } catch (IOException e) {
-            LOG.error("Schema was not recreated.",e);
+        } catch (IOException | YangSyntaxErrorException e) {
+            LOG.error("Schema was not recreated.", e);
         }
         return Optional.absent();
     }
@@ -98,12 +97,19 @@ public class ModuleInfoBackedContext extends GeneratedClassLoadingStrategy //
         return recreateSchemaContext();
     }
 
-    private ImmutableList<InputStream> getAvailableStreams() throws IOException {
+    private Collection<ByteSource> getAvailableStreams() throws IOException {
         ImmutableSet<YangModuleInfo> moduleInfos = ImmutableSet.copyOf(sourceIdentifierToModuleInfo.values());
 
-        ImmutableList.Builder<InputStream> sourceStreams = ImmutableList.<InputStream> builder();
-        for (YangModuleInfo moduleInfo : moduleInfos) {
-            sourceStreams.add(moduleInfo.getModuleSourceStream());
+        ImmutableList.Builder<ByteSource> sourceStreams = ImmutableList.<ByteSource> builder();
+        for (final YangModuleInfo moduleInfo : moduleInfos) {
+            sourceStreams.add(new ByteSource() {
+
+                @Override
+                public InputStream openStream() throws IOException {
+                    return moduleInfo.getModuleSourceStream();
+                }
+            });
+            ;
         }
         return sourceStreams.build();
     }
index 8b4f69442d506425c95263632bd92b1a44279ff5..753fdfa5a4b7c0e9449045bc8dd552f97627a426 100644 (file)
@@ -26,6 +26,7 @@ import com.google.common.base.Optional;
 import com.google.common.util.concurrent.CheckedFuture;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.MoreExecutors;
+import java.io.IOException;
 import java.util.concurrent.ExecutionException;
 import org.junit.Before;
 import org.junit.Ignore;
@@ -40,6 +41,7 @@ import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeSnapshot;
 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.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException;
 
 public class InMemoryDataStoreTest {
 
@@ -47,7 +49,7 @@ public class InMemoryDataStoreTest {
     private InMemoryDOMDataStore domStore;
 
     @Before
-    public void setupStore() {
+    public void setupStore() throws IOException, YangSyntaxErrorException {
         domStore = new InMemoryDOMDataStore("TEST", MoreExecutors.newDirectExecutorService());
         schemaContext = TestModel.createTestContext();
         domStore.onGlobalContextUpdated(schemaContext);
index 66e71a399f060ea955253854b8fb915f28eeca1d..b58a9fd69faba67c0f45d3accdf7430f9b4647c8 100644 (file)
@@ -7,16 +7,18 @@
  */
 package org.opendaylight.controller.md.sal.dom.store.impl;
 
+import com.google.common.io.ByteSource;
+import com.google.common.io.Resources;
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Set;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.model.api.Module;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
+import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException;
 import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl;
 
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.Set;
-
 public class TestModel {
 
     public static final QName TEST_QNAME = QName.create("urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:store:test", "2014-03-13",
@@ -34,18 +36,12 @@ public class TestModel {
     public static final QName TWO_QNAME = QName.create(TEST_QNAME, "two");
     public static final QName THREE_QNAME = QName.create(TEST_QNAME, "three");
 
-
-    public static final InputStream getDatastoreTestInputStream() {
-        return getInputStream(DATASTORE_TEST_YANG);
-    }
-
-    private static InputStream getInputStream(final String resourceName) {
-        return TestModel.class.getResourceAsStream(DATASTORE_TEST_YANG);
+    private static ByteSource getInputStream() {
+        return Resources.asByteSource(TestModel.class.getResource(DATASTORE_TEST_YANG));
     }
 
-    public static SchemaContext createTestContext() {
+    public static SchemaContext createTestContext() throws IOException, YangSyntaxErrorException {
         YangParserImpl parser = new YangParserImpl();
-        Set<Module> modules = parser.parseYangModelsFromStreams(Collections.singletonList(getDatastoreTestInputStream()));
-        return parser.resolveSchemaContext(modules);
+        return parser.parseSources(Collections.singletonList(getInputStream()));
     }
 }