X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?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=ab103b471e8fc076609308078aa1bba98b3f3a11;hb=ff1b4a79cca00743a00c3b0b1100bd0ab2b2fb31;hp=bf608e17d6fa38b7b520f9d61ab7053844180e00;hpb=4171f99c226775c4646ad95f5484329eafb9c01d;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/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 bf608e17d6..ab103b471e 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 @@ -18,87 +18,75 @@ 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.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; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class GeneratorJavaFile { +public final class GeneratorJavaFile { private static final Logger log = LoggerFactory .getLogger(GeneratorJavaFile.class); private final CodeGenerator interfaceGenerator; private final ClassCodeGenerator classGenerator; + private final EnumGenerator enumGenerator; + private final Set genTypes; private final Set genTransferObjects; + private final Set enumerations; public GeneratorJavaFile(final CodeGenerator codeGenerator, final Set types) { this.interfaceGenerator = codeGenerator; this.genTypes = types; - this.genTransferObjects = new HashSet(); - classGenerator = new ClassCodeGenerator(); + this.genTransferObjects = new HashSet<>(); + this.enumerations = new HashSet<>(); + this.classGenerator = new ClassCodeGenerator(); + this.enumGenerator = new EnumGenerator(); } public GeneratorJavaFile(final Set types, - final Set genTransferObjects) { + final Set genTransferObjects, + final Set enumerations) { this.interfaceGenerator = new InterfaceGenerator(); this.classGenerator = new ClassCodeGenerator(); + this.enumGenerator = new EnumGenerator(); + this.genTypes = types; this.genTransferObjects = genTransferObjects; + this.enumerations = enumerations; } - @Deprecated - public List generateToFile(String path) throws IOException { - final List result = new ArrayList(); - - for (GeneratedType genType : genTypes) { - final String parentPath = generateParentPath(path, - genType.getPackageName()); - - final File directory = new File(parentPath); - final File genFile = generateTypeToJavaFile(directory, genType, + public List generateToFile(final File parentDirectory) throws IOException { + final List result = new ArrayList<>(); + for (GeneratedType type : genTypes) { + final File genFile = generateTypeToJavaFile(parentDirectory, type, interfaceGenerator); - + if (genFile != null) { result.add(genFile); } } - for (GeneratedTransferObject transferObject : genTransferObjects) { - final String parentPath = generateParentPath(path, - transferObject.getPackageName()); - - final File directory = new File(parentPath); - final File genFile = generateTypeToJavaFile(directory, + final File genFile = generateTypeToJavaFile(parentDirectory, transferObject, classGenerator); if (genFile != null) { result.add(genFile); } } - return result; - } - - public List generateToFile(final File parentDirectory) throws IOException { - final List result = new ArrayList(); - for (GeneratedType type : genTypes) { - final File genFile = generateTypeToJavaFile(parentDirectory, type, - interfaceGenerator); - - if (genFile != null) { - result.add(genFile); - } - } - for (GeneratedTransferObject transferObject : genTransferObjects) { + + for (Enumeration enumeration : enumerations) { final File genFile = generateTypeToJavaFile(parentDirectory, - transferObject, classGenerator); + enumeration, enumGenerator); if (genFile != null) { result.add(genFile); } } + return result; } @@ -110,12 +98,12 @@ public class GeneratorJavaFile { } if (type == null) { log.error("Cannot generate Type into Java File because " + - "Generated Type is NULL!"); + "Generated Type is NULL!"); throw new IllegalArgumentException("Generated Type Cannot be NULL!"); } if (generator == null) { log.error("Cannot generate Type into Java File because " + - "Code Generator instance is NULL!"); + "Code Generator instance is NULL!"); throw new IllegalArgumentException("Code Generator Cannot be NULL!"); } final File packageDir = packageToDirectory(parentDir, @@ -154,40 +142,4 @@ public class GeneratorJavaFile { } return new File(parentDirectory, dirPathBuilder.toString()); } - - @Deprecated - private String generateParentPath(String path, String pkg) { - List dirs = new ArrayList(); - String pkgPath = ""; - if (pkg != null) { - if (pkg.length() > 0) { - if (pkg.contains(".")) { - String[] split = pkg.split("\\."); - for (String dir : split) { - dirs.add(dir); - } - } else { - dirs.add(pkg); - } - for (int i = 0; i < dirs.size(); i++) { - if (i == 0) { - pkgPath += dirs.get(i); - } else { - pkgPath += File.separator + dirs.get(i); - } - } - } - } - String fullPath = ""; - if (path != null) { - if (path.endsWith(File.separator)) { - fullPath = path + pkgPath; - } else { - fullPath = path + File.separator + pkgPath; - } - } else { - fullPath = pkgPath; - } - return fullPath; - } }