From ff8b2d05432e6e35f005b9ab7974985b5b4e01d7 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 4 Sep 2019 13:55:25 +0200 Subject: [PATCH] Optimize allProperties sorting Java 8 has list.sort(), which we can easily short-circuit to ArrayList's implementation by using 'val' declaration. We can also make the comparator a constant, so that it is widely reused. Change-Id: Ib8ce132a806d4e1ab58746ce85e732d451d82845 Signed-off-by: Robert Varga --- .../mdsal/binding/java/api/generator/ClassTemplate.xtend | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend index 18baa34403..f4c9024ae0 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend @@ -19,7 +19,7 @@ import com.google.common.collect.Lists import java.beans.ConstructorProperties import java.util.ArrayList import java.util.Base64; -import java.util.Collections +import java.util.Comparator import java.util.List import java.util.Map import java.util.regex.Pattern @@ -46,6 +46,7 @@ import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition */ @SuppressModernizer class ClassTemplate extends BaseTemplate { + static val Comparator PROP_COMPARATOR = Comparator.comparing([prop | prop.name]) protected val List properties protected val List finalProperties @@ -89,12 +90,10 @@ class ClassTemplate extends BaseTemplate { this.parentProperties = GeneratorUtil.getPropertiesOfAllParents(genTO) this.restrictions = genType.restrictions - var List sorted = new ArrayList(); + val sorted = new ArrayList(); sorted.addAll(properties); sorted.addAll(parentProperties); - Collections.sort(sorted, [p1, p2| - p1.name.compareTo(p2.name) - ]); + sorted.sort(PROP_COMPARATOR); this.allProperties = sorted this.enums = genType.enumerations -- 2.36.6