Binding v2 - Optimize acceptable condition for BuilderGenerator 27/68927/3
authorJie Han <han.jie@zte.com.cn>
Thu, 1 Mar 2018 05:53:27 +0000 (13:53 +0800)
committerRobert Varga <nite@hq.sk>
Mon, 5 Mar 2018 16:47:07 +0000 (16:47 +0000)
- Since GeneratedTypeForBuilder mark a type which has its builder,
  it is nice to use it for judgment.

Change-Id: Ia09f49b7c3cd88f6bfa606a78d6c108f23d306bd
Signed-off-by: Jie Han <han.jie@zte.com.cn>
binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/BuilderGenerator.java
binding2/mdsal-binding2-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/javav2/java/api/generator/GeneratorJavaFile.java

index f0a17b82f6ae49dae3743aad7b2c99abec46be5e..d197d21e4de388df3e61ec2ab021429fd8637574 100644 (file)
@@ -13,6 +13,7 @@ import org.opendaylight.mdsal.binding.javav2.java.api.generator.renderers.Builde
 import org.opendaylight.mdsal.binding.javav2.model.api.CodeGenerator;
 import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedTransferObject;
 import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedType;
+import org.opendaylight.mdsal.binding.javav2.model.api.GeneratedTypeForBuilder;
 import org.opendaylight.mdsal.binding.javav2.model.api.Type;
 import org.opendaylight.mdsal.binding.javav2.model.api.UnitName;
 import org.opendaylight.mdsal.binding.javav2.spec.structural.Augmentable;
@@ -34,7 +35,7 @@ public final class BuilderGenerator implements CodeGenerator {
 
     @Override
     public String generate(Type type) {
-        if ((type instanceof GeneratedType) && !(type instanceof GeneratedTransferObject)) {
+        if (type instanceof GeneratedTypeForBuilder) {
             final GeneratedType genType = (GeneratedType) type;
             return new BuilderRenderer(genType).generateTemplate();
         } else {
@@ -44,18 +45,7 @@ public final class BuilderGenerator implements CodeGenerator {
 
     @Override
     public boolean isAcceptable(Type type) {
-        if (type instanceof GeneratedType && !(type instanceof GeneratedTransferObject)) {
-            for (Type t : ((GeneratedType) type).getImplements()) {
-                // "rpc" and "grouping" elements do not implement Augmentable
-                if (t.getFullyQualifiedName().equals(Augmentable.class.getName())) {
-                    return true;
-                } else if (t.getFullyQualifiedName().equals(Augmentation.class.getName())) {
-                    return true;
-                }
-
-            }
-        }
-        return false;
+        return type instanceof GeneratedTypeForBuilder;
     }
 
     @Override
index 74cb9215b117c04575a69b2713b9f2aac6cc56bf..99d814143f8def731075b93f03bf3f1cbb5906ab 100644 (file)
@@ -187,7 +187,6 @@ public final class GeneratorJavaFile {
         if (generator.isAcceptable(type)) {
             File packageDir;
             if (generator instanceof BuilderGenerator) {
-                Preconditions.checkState(type instanceof GeneratedTypeForBuilder, type.getFullyQualifiedName());
                 packageDir = packageToDirectory(parentDir, ((GeneratedTypeForBuilder)type).getPackageNameForBuilder());
             } else {
                 packageDir = packageToDirectory(parentDir, type.getPackageName());