X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fmaven-sal-api-gen-plugin%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmaven%2Fsal%2Fapi%2Fgen%2Fplugin%2FCodeGeneratorImpl.java;h=4dadc5da3c32d6134ab221590068b3e0329b0766;hb=refs%2Fchanges%2F78%2F578%2F1;hp=491cef6bcc3caf99bfb61e83f10d1aa678cc7332;hpb=e2dff6dc15408745a6f5988e6874be2a768c6c97;p=controller.git diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/controller/maven/sal/api/gen/plugin/CodeGeneratorImpl.java b/opendaylight/sal/yang-prototype/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/controller/maven/sal/api/gen/plugin/CodeGeneratorImpl.java index 491cef6bcc..4dadc5da3c 100644 --- a/opendaylight/sal/yang-prototype/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/controller/maven/sal/api/gen/plugin/CodeGeneratorImpl.java +++ b/opendaylight/sal/yang-prototype/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/controller/maven/sal/api/gen/plugin/CodeGeneratorImpl.java @@ -19,6 +19,7 @@ import org.apache.maven.plugin.logging.Log; import org.apache.maven.project.MavenProject; import org.opendaylight.controller.sal.binding.generator.api.BindingGenerator; import org.opendaylight.controller.sal.binding.generator.impl.BindingGeneratorImpl; +import org.opendaylight.controller.sal.binding.model.api.Enumeration; 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; @@ -27,27 +28,32 @@ import org.opendaylight.controller.yang.model.api.Module; import org.opendaylight.controller.yang.model.api.SchemaContext; import org.opendaylight.controller.yang2sources.spi.CodeGenerator; -public class CodeGeneratorImpl implements CodeGenerator { +public final class CodeGeneratorImpl implements CodeGenerator { @Override - public Collection generateSources(SchemaContext context, - File outputBaseDir, Set yangModules) throws IOException { + public Collection generateSources(SchemaContext context, File outputBaseDir, Set yangModules) + throws IOException { + if (outputBaseDir == null) { + outputBaseDir = new File("target" + File.separator + "generated-sources" + File.separator + "maven-sal-api-gen"); + } final BindingGenerator bindingGenerator = new BindingGeneratorImpl(); - final List types = bindingGenerator.generateTypes(context); - final Set typesToGenerate = new HashSet(); - final Set tosToGenerate = new HashSet(); + final List types = bindingGenerator.generateTypes(context, yangModules); + final Set typesToGenerate = new HashSet<>(); + final Set tosToGenerate = new HashSet<>(); + final Set enumsToGenerate = new HashSet<>(); + for (Type type : types) { if (type instanceof GeneratedTransferObject) { tosToGenerate.add((GeneratedTransferObject) type); } else if (type instanceof GeneratedType) { typesToGenerate.add((GeneratedType) type); + } else if (type instanceof Enumeration) { + enumsToGenerate.add((Enumeration) type); } - } - final GeneratorJavaFile generator = new GeneratorJavaFile( - typesToGenerate, tosToGenerate); + final GeneratorJavaFile generator = new GeneratorJavaFile(typesToGenerate, tosToGenerate, enumsToGenerate); return generator.generateToFile(outputBaseDir); }