From: Robert Varga Date: Thu, 19 Dec 2019 14:51:20 +0000 (+0100) Subject: Speed up AbstractBuilderTemplate.removeProperty() X-Git-Tag: v4.0.9~13 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=mdsal.git;a=commitdiff_plain;h=f2a58cee9cd5f17f8c9338a2359a063246b823d2 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) --- 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) {