Acquire first value manually in ClassTemplate 95/84195/2
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 4 Sep 2019 12:40:35 +0000 (14:40 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 4 Sep 2019 13:37:10 +0000 (15:37 +0200)
xtend's get(0) extension ends up creating a temporary list
holding a copy of the (single) value. This is not entirely
efficient, as we can get the same result from plain iterator.

Change-Id: I0f4398a47cb771e8ab7a212a67c5e402d49ffbf2
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/ClassTemplate.xtend

index f4c9024ae0f7bd4d62336eec74d59645ef7c7880..02d52bffdaa3a8b8ef7520f4c9d14e102b496b0e 100644 (file)
@@ -461,7 +461,7 @@ class ClassTemplate extends BaseTemplate {
                     FOR v : cValue.keySet SEPARATOR ", "»"«v.escapeJava»"«ENDFOR»);
                     «IF cValue.size == 1»
                         private static final «Pattern.importedName» «Constants.MEMBER_PATTERN_LIST» = «Pattern.importedName».compile(«TypeConstants.PATTERN_CONSTANT_NAME».get(0));
-                        private static final String «Constants.MEMBER_REGEX_LIST» = "«cValue.values.get(0).escapeJava»";
+                        private static final String «Constants.MEMBER_REGEX_LIST» = "«cValue.values.iterator.next.escapeJava»";
                     «ELSE»
                         private static final «Pattern.importedName»[] «Constants.MEMBER_PATTERN_LIST» = «CodeHelpers.importedName».compilePatterns(«TypeConstants.PATTERN_CONSTANT_NAME»);
                         private static final String[] «Constants.MEMBER_REGEX_LIST» = { «