Speed up BuilderGenerator matcher 39/91339/2
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 15 Jul 2020 15:43:28 +0000 (17:43 +0200)
committerRobert Varga <nite@hq.sk>
Fri, 17 Jul 2020 08:03:55 +0000 (08:03 +0000)
We do not need to establish FQCN, as we can compare just JavaTypeNames,
which is faster.

Change-Id: I3c387e841fbf2d450195d864a928608bab8128ad
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderGenerator.java

index ab5944b573d8e43a6a255ce703795e9f2ff555c7..3bada347ead919c809978659a9b0d2ec5741af4f 100644 (file)
@@ -41,6 +41,9 @@ import org.opendaylight.yangtools.yang.binding.Augmentation;
  * class. For generation of the source code is used the template written in XTEND language.
  */
 public final class BuilderGenerator implements CodeGenerator {
+    private static final JavaTypeName AUGMENTABLE = JavaTypeName.create(Augmentable.class);
+    private static final JavaTypeName AUGMENTATION = JavaTypeName.create(Augmentation.class);
+
     private static final Comparator<MethodSignature> METHOD_COMPARATOR = new AlphabeticallyTypeMemberComparator<>();
     private static final Type AUGMENTATION_RET_TYPE;
 
@@ -66,12 +69,10 @@ public final class BuilderGenerator implements CodeGenerator {
         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())) {
+                final JavaTypeName name = t.getIdentifier();
+                if (name.equals(AUGMENTABLE) || name.equals(AUGMENTATION)) {
                     return true;
                 }
-
             }
         }
         return false;