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;fp=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=40b8e430439bb5bd4ca73bc7ad7fe6c2ecfe8f77;hb=80a0c36174fc0c494ccda1893d81936a2d1ba598;hp=0000000000000000000000000000000000000000;hpb=071db48e47fa3dd83da3933f1b35c3ca0d42f550;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 new file mode 100644 index 0000000000..40b8e43043 --- /dev/null +++ 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 @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.controller.maven.sal.api.gen.plugin; + +import java.io.File; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +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.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.SchemaContext; +import org.opendaylight.controller.yang2sources.spi.CodeGenerator; + +public class CodeGeneratorImpl implements CodeGenerator { + + @Override + public Collection generateSources(SchemaContext context, + File outputBaseDir) { + + 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 GeneratorJavaFile generator = new GeneratorJavaFile(typesToGenerate, tosToGenerate); + generator.generateToFile(outputBaseDir.getAbsolutePath()); + + return Arrays.asList(outputBaseDir.listFiles()); + } + +}