Merge "CodeGenerator update."
authorGiovanni Meo <gmeo@cisco.com>
Fri, 24 May 2013 09:34:09 +0000 (09:34 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Fri, 24 May 2013 09:34:09 +0000 (09:34 +0000)
opendaylight/sal/yang-prototype/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/controller/maven/sal/api/gen/plugin/CodeGeneratorImpl.java
opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/YangToSourcesMojo.java
opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/test/java/org/opendaylight/controller/yang2sources/plugin/GenerateSourcesTest.java
opendaylight/sal/yang-prototype/code-generator/maven-yang/src/main/java/org/opendaylight/controller/yang2sources/spi/CodeGenerator.java
opendaylight/sal/yang-prototype/code-generator/maven-yang/src/test/java/org/opendaylight/controller/yang2sources/spi/CodeGeneratorTestImpl.java

index 210b37fa15b28468f9455180c9846881d221850c..d1b80b3f12c9b9731fee774034b04e8fdb8023bd 100644 (file)
@@ -20,6 +20,7 @@ import org.opendaylight.controller.sal.binding.model.api.GeneratedTransferObject
 import org.opendaylight.controller.sal.binding.model.api.GeneratedType;
 import org.opendaylight.controller.sal.binding.model.api.Type;
 import org.opendaylight.controller.sal.java.api.generator.GeneratorJavaFile;
+import org.opendaylight.controller.yang.model.api.Module;
 import org.opendaylight.controller.yang.model.api.SchemaContext;
 import org.opendaylight.controller.yang2sources.spi.CodeGenerator;
 
@@ -27,7 +28,7 @@ public class CodeGeneratorImpl implements CodeGenerator {
 
     @Override
     public Collection<File> generateSources(SchemaContext context,
-            File outputBaseDir, Set<String> yangModulesNames) throws IOException {
+            File outputBaseDir, Set<Module> yangModules) throws IOException {
 
         final BindingGenerator bindingGenerator = new BindingGeneratorImpl();
         final List<Type> types = bindingGenerator.generateTypes(context);
index ab49a54fd1fa809a439ab42cc8c731973227cb54..f8117c077ed807a0f5ceafdad138e7dc5a808bb0 100644 (file)
@@ -133,11 +133,6 @@ public final class YangToSourcesMojo extends AbstractMojo {
             Set<Module> yangModules = parser
                     .parseYangModelsFromStreams(yangFiles);
 
-            Set<String> yangModulesNames = new HashSet<String>();
-            for (Module module : yangModules) {
-                yangModulesNames.add(module.getName());
-            }
-
             List<InputStream> yangFilesFromDependencies = getFilesFromDependenciesAsStream();
             Set<Module> yangModulesFromDependencies = parser
                     .parseYangModelsFromStreams(yangFilesFromDependencies);
@@ -150,8 +145,8 @@ public final class YangToSourcesMojo extends AbstractMojo {
                         Util.message(
                                 "No %s file found in %s or in dependencies",
                                 LOG_PREFIX, Util.YANG_SUFFIX, yangFilesRootDir));
-                Set<String> names = Collections.emptySet();
-                return new ContextHolder(null, names);
+                Set<Module> modules = Collections.emptySet();
+                return new ContextHolder(null, modules);
             }
 
             SchemaContext resolveSchemaContext = parser
@@ -159,7 +154,7 @@ public final class YangToSourcesMojo extends AbstractMojo {
             getLog().info(
                     Util.message("%s files parsed from %s", LOG_PREFIX,
                             Util.YANG_SUFFIX, yangFiles));
-            return new ContextHolder(resolveSchemaContext, yangModulesNames);
+            return new ContextHolder(resolveSchemaContext, yangModules);
 
             // MojoExecutionException is thrown since execution cannot continue
         } catch (Exception e) {
@@ -389,7 +384,7 @@ public final class YangToSourcesMojo extends AbstractMojo {
             project.addCompileSourceRoot(outputDir.getPath());
         }
         Collection<File> generated = g.generateSources(context.getContext(),
-                outputDir, context.getYangModulesNames());
+                outputDir, context.getYangModules());
         getLog().info(
                 Util.message("Sources generated by %s: %s", LOG_PREFIX,
                         codeGeneratorCfg.getCodeGeneratorClass(), generated));
@@ -455,20 +450,20 @@ public final class YangToSourcesMojo extends AbstractMojo {
 
     private class ContextHolder {
         private final SchemaContext context;
-        private final Set<String> yangModulesNames;
+        private final Set<Module> yangModules;
 
         private ContextHolder(SchemaContext context,
-                Set<String> yangModulesNames) {
+                Set<Module> yangModules) {
             this.context = context;
-            this.yangModulesNames = yangModulesNames;
+            this.yangModules = yangModules;
         }
 
         public SchemaContext getContext() {
             return context;
         }
 
-        public Set<String> getYangModulesNames() {
-            return yangModulesNames;
+        public Set<Module> getYangModules() {
+            return yangModules;
         }
     }
 
index 170bc8df8bd1b327ed5c06a542e3b7cdc443e961..2ded61426b79ab4c76c03282f3269d57e7c16c9c 100644 (file)
@@ -21,6 +21,7 @@ import org.junit.Ignore;
 import org.junit.Test;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.opendaylight.controller.yang.model.api.Module;
 import org.opendaylight.controller.yang.model.api.SchemaContext;
 import org.opendaylight.controller.yang.model.parser.api.YangModelParser;
 import org.opendaylight.controller.yang2sources.plugin.ConfigArg.CodeGeneratorArg;
@@ -80,7 +81,7 @@ public class GenerateSourcesTest {
 
         @Override
         public Collection<File> generateSources(SchemaContext context,
-                File baseDir, Set<String> yangModulesNames) {
+                File baseDir, Set<Module> yangModules) {
             called++;
             outputDir = baseDir;
             return Lists.newArrayList();
index 161680ae5305f165359e68456e0d95e2c24af679..14bcccccaff0f9ad54393322bc372251d7cd344e 100644 (file)
@@ -12,6 +12,7 @@ import java.io.IOException;
 import java.util.Collection;
 import java.util.Set;
 
+import org.opendaylight.controller.yang.model.api.Module;
 import org.opendaylight.controller.yang.model.api.SchemaContext;
 
 /**
@@ -28,11 +29,11 @@ public interface CodeGenerator {
      * @param outputBaseDir
      *            expected output directory for generated sources configured by
      *            user
-     * @param yangModulesNames
-     *            name of yangs provided by current module
+     * @param yangModules
+     *            yang modules parsed from yangFilesRootDir
      * @return collection of files that were generated from schema context
      * @throws IOException
      */
     Collection<File> generateSources(SchemaContext context, File outputBaseDir,
-            Set<String> yangModulesNames) throws IOException;
+            Set<Module> yangModules) throws IOException;
 }
index 2918e4f5aad68edc807706578aaf489598b8fd2b..60496277b8b954455fbf6c576c43f867447ed34c 100644 (file)
@@ -11,13 +11,14 @@ import java.io.File;
 import java.util.Collection;
 import java.util.Set;
 
+import org.opendaylight.controller.yang.model.api.Module;
 import org.opendaylight.controller.yang.model.api.SchemaContext;
 
 public class CodeGeneratorTestImpl implements CodeGenerator {
 
     @Override
     public Collection<File> generateSources(SchemaContext context,
-            File outputBaseDir, Set<String> yangModulesNames) {
+            File outputBaseDir, Set<Module> yangModules) {
         // no-op
         return null;
     }