From: Robert Varga Date: Wed, 4 Sep 2019 14:24:01 +0000 (+0200) Subject: Optimize array checks X-Git-Tag: v5.0.0~38 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=35400adb8f5c7db3320fdf6fbcbadf377569c2e0;p=mdsal.git Optimize array checks Rather than bouncing through .importedName().contains("[]"), we can make this check through .name().endsWith("[]"), which prevents a round-trip to import mechanics and is potentially faster. Change-Id: I4a939333c294ffa94ac1c013a8e3cee466e32cb9 Signed-off-by: Robert Varga --- diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend index eedbdc3944..92f0d5ad16 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend @@ -111,7 +111,7 @@ abstract class BaseTemplate extends JavaFileTemplate { ''' public «field.returnType.importedName» «field.getterMethodName»() { «val fieldName = field.fieldName» - «IF field.returnType.importedName.contains("[]")» + «IF field.returnType.name.endsWith("[]")» return «fieldName» == null ? null : «fieldName».clone(); «ELSE» return «fieldName»; 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 f5bdbf49b2..e514090066 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 @@ -236,7 +236,7 @@ class ClassTemplate extends BaseTemplate { «FOR p : properties» «val fieldName = p.fieldName» - «IF p.returnType.importedName.contains("[]")» + «IF p.returnType.name.endsWith("[]")» «IF genTO.typedef && allProperties.size == 1 && allProperties.get(0).name.equals("value")» this.«fieldName» = «fieldName».clone(); «ELSE» diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend index 8365d784bc..866e813a1e 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/UnionTemplate.xtend @@ -179,7 +179,7 @@ class UnionTemplate extends ClassTemplate { «ENDIF» «FOR p : properties» «val fieldName = p.fieldName» - «IF p.returnType.importedName.contains("[]")» + «IF p.returnType.name.endsWith("[]")» this.«fieldName» = source.«fieldName» == null ? null : source.«fieldName».clone(); «ELSE» this.«fieldName» = source.«fieldName»;