X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;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=f6b80bc66640e9b5f4a9ea9ff76e98bae77a81f5;hp=d1b80b3f12c9b9731fee774034b04e8fdb8023bd;hb=37ff82351675cc5c279dfe88c6daf10cbbf9f48b;hpb=ee36e17cd29fd1b5ebdf895a6deb14c4e1d8c9e2 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 d1b80b3f12..f6b80bc666 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 @@ -12,11 +12,15 @@ import java.io.IOException; import java.util.Collection; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; +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.GeneratedTransferObject; +import org.opendaylight.controller.sal.binding.model.api.Enumeration; 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; @@ -24,28 +28,53 @@ 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, + @Override + public Collection generateSources(SchemaContext context, File outputBaseDir, Set yangModules) throws IOException { - final BindingGenerator bindingGenerator = new BindingGeneratorImpl(); - final List types = bindingGenerator.generateTypes(context); - final Set typesToGenerate = new HashSet(); - final Set tosToGenerate = new HashSet(); - for (Type type : types) { - if (type instanceof GeneratedTransferObject) { - tosToGenerate.add((GeneratedTransferObject) type); - } else if (type instanceof GeneratedType) { - typesToGenerate.add((GeneratedType) type); - } - + final BindingGenerator bindingGenerator = new BindingGeneratorImpl(); + final List types = bindingGenerator.generateTypes(context); + 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); } + @Override + public void setLog(Log log) { + // use maven logging if necessary + + } + + @Override + public void setAdditionalConfig(Map additionalConfiguration) { + // no additional config utilized + } + + @Override + public void setResourceBaseDir(File resourceBaseDir) { + // no resource processing necessary + } + + @Override + public void setMavenProject(MavenProject project) { + // no additional information needed + } + }