From f2a58cee9cd5f17f8c9338a2359a063246b823d2 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 19 Dec 2019 15:51:20 +0100 Subject: [PATCH] Speed up AbstractBuilderTemplate.removeProperty() Rather than performing a linear unbounded search followed by a conditional remove, use an interator and remove the first matching property, bailing out. Change-Id: Ia5de2175628c9730d7c76df58e15540f3cbb4fa3 Signed-off-by: Robert Varga (cherry picked from commit a5f323b5a0eeb5d4a0cb82b37f751ae780ba1f91) --- .../java/api/generator/AbstractBuilderTemplate.xtend | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractBuilderTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractBuilderTemplate.xtend index 0fa83fee99..da98b8c7bf 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractBuilderTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/AbstractBuilderTemplate.xtend @@ -173,15 +173,13 @@ abstract class AbstractBuilderTemplate extends BaseTemplate { } private def void removeProperty(Collection props, String name) { - var GeneratedProperty toRemove = null - for (p : props) { - if (p.name.equals(name)) { - toRemove = p; + val iter = props.iterator + while (iter.hasNext) { + if (name.equals(iter.next.name)) { + iter.remove + return } } - if (toRemove !== null) { - props.remove(toRemove); - } } private static def findDeprecatedAnnotation(List annotations) { -- 2.36.6