X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fbinding-java-api-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fjava%2Fapi%2Fgenerator%2FInterfaceGenerator.java;h=abaf4fad21bb03caa81b2b1d82677bfbd7718618;hb=9090a5876e0540b12d30e4cdf29f8be25208b489;hp=bb5b91b97c2c5aad6d64c34b443ba45cda4b3eab;hpb=4221068644c7e8d08880b4d54e2a099a646796b9;p=controller.git diff --git a/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/InterfaceGenerator.java b/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/InterfaceGenerator.java index bb5b91b97c..abaf4fad21 100644 --- a/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/InterfaceGenerator.java +++ b/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/InterfaceGenerator.java @@ -7,49 +7,66 @@ */ package org.opendaylight.controller.sal.java.api.generator; -import static org.opendaylight.controller.sal.java.api.generator.Constants.NL; -import static org.opendaylight.controller.sal.java.api.generator.Constants.RCB; -import static org.opendaylight.controller.sal.java.api.generator.Constants.TAB; +import static org.opendaylight.controller.sal.java.api.generator.Constants.*; import java.io.IOException; import java.io.StringWriter; import java.io.Writer; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import org.opendaylight.controller.sal.binding.model.api.CodeGenerator; import org.opendaylight.controller.sal.binding.model.api.Constant; 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.MethodSignature; import org.opendaylight.controller.sal.binding.model.api.Type; public class InterfaceGenerator implements CodeGenerator { + private Map> imports; + public Writer generate(Type type) throws IOException { Writer writer = new StringWriter(); - if (type instanceof GeneratedType) { + if (type instanceof GeneratedType + && !(type instanceof GeneratedTransferObject)) { GeneratedType genType = (GeneratedType) type; + imports = GeneratorUtil.createImports(genType); + final String currentPkg = genType.getPackageName(); final List constants = genType.getConstantDefinitions(); final List methods = genType .getMethodDefinitions(); final List enums = genType.getEnumDefintions(); - writer.write(GeneratorUtil.createIfcDeclarationWithPkgName(genType, - "")); + writer.write(GeneratorUtil.createPackageDeclaration(genType + .getPackageName())); + writer.write(NL); + + List importLines = GeneratorUtil.createImportLines(imports); + for (String line : importLines) { + writer.write(line + NL); + } + writer.write(NL); + + writer.write(GeneratorUtil.createIfcDeclaration(genType, "", + imports)); writer.write(NL); if (constants != null) { for (Constant c : constants) { - writer.write(GeneratorUtil.createConstant(c, TAB) + NL); + writer.write(GeneratorUtil.createConstant(c, TAB, imports, + currentPkg) + NL); } writer.write(NL); } if (methods != null) { for (MethodSignature m : methods) { - writer.write(GeneratorUtil.createMethodDeclaration(m, TAB) - + NL); + writer.write(GeneratorUtil.createMethodDeclaration(m, TAB, + imports, currentPkg) + NL); } writer.write(NL); }