X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fbinding-java-api-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fjava%2Fapi%2Fgenerator%2FGeneratorJavaFile.java;h=f2388fef19a04c044eaa8f541bd120ca9193f95c;hp=794487594e528359837146e29eead76bd911288d;hb=e028e5b6177c47d08f4f2da677759c4665da3f84;hpb=e2ef18c530a0bb668d7806c419fea95edd5aae53 diff --git a/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/GeneratorJavaFile.java b/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/GeneratorJavaFile.java index 794487594e..f2388fef19 100644 --- a/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/GeneratorJavaFile.java +++ b/opendaylight/sal/yang-prototype/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/controller/sal/java/api/generator/GeneratorJavaFile.java @@ -13,21 +13,35 @@ import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import java.util.Set; import org.opendaylight.controller.sal.binding.model.api.CodeGenerator; +import org.opendaylight.controller.sal.binding.model.api.GeneratedTransferObject; import org.opendaylight.controller.sal.binding.model.api.GeneratedType; public class GeneratorJavaFile { - private final CodeGenerator codeGenerator; + private final CodeGenerator interfaceGenerator; + private final CompositeKeyGenerator classGenerator; private final Set types; + private final Set genTransferObjects; - public GeneratorJavaFile(CodeGenerator codeGenerator, - Set types) { - this.codeGenerator = codeGenerator; + public GeneratorJavaFile(final CodeGenerator codeGenerator, + final Set types) { + this.interfaceGenerator = codeGenerator; this.types = types; + this.genTransferObjects = new HashSet(); + classGenerator = new CompositeKeyGenerator(); + } + + public GeneratorJavaFile(final Set types, + final Set genTransferObjects) { + this.interfaceGenerator = new InterfaceGenerator(); + this.classGenerator = new CompositeKeyGenerator(); + this.types = types; + this.genTransferObjects = genTransferObjects; } public boolean generateToFile() { @@ -53,7 +67,36 @@ public class GeneratorJavaFile { file.createNewFile(); fw = new FileWriter(file); bw = new BufferedWriter(fw); - Writer writer = codeGenerator.generate(type); + Writer writer = interfaceGenerator.generate(type); + bw.write(writer.toString()); + + if (bw != null) { + try { + bw.close(); + } catch (IOException e) { + // TODO: log? + } + } + } + } + for (GeneratedTransferObject transferObject : genTransferObjects) { + String parentPath = generateParentPath(path, + transferObject.getPackageName()); + + File file = new File(parentPath, transferObject.getName() + ".java"); + File parent = file.getParentFile(); + if (!parent.exists()) { + parent.mkdirs(); + } + + if (!file.exists()) { + FileWriter fw = null; + BufferedWriter bw = null; + + file.createNewFile(); + fw = new FileWriter(file); + bw = new BufferedWriter(fw); + Writer writer = classGenerator.generate(transferObject); bw.write(writer.toString()); if (bw != null) {