From 15c1bf0de08617563f9982936c724ea75550058a Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sun, 24 Aug 2014 21:44:32 +0200 Subject: [PATCH] BUG-1611: use CharMatcher to remove characters Instead of compiling the patterns, use a CharMatcher, which is much faster. Change-Id: I2d3753824c63d3dece7af6f051f09c644cfdbf34 Signed-off-by: Robert Varga --- .../sal/binding/generator/impl/YangTemplate.xtend | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/YangTemplate.xtend b/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/YangTemplate.xtend index 72b3bdd488..d0ad08c36b 100644 --- a/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/YangTemplate.xtend +++ b/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/YangTemplate.xtend @@ -40,12 +40,15 @@ import org.opendaylight.yangtools.yang.model.api.UsesNode import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil +import com.google.common.base.CharMatcher class YangTemplate { // FIXME: this is not thread-safe and seems to be unused! private static var Module module = null + private static val CharMatcher NEWLINE_OR_TAB = CharMatcher.anyOf("\n\t") + def static String generateYangSnipet(SchemaNode schemaNode) { if (schemaNode == null) return '' @@ -732,8 +735,7 @@ class YangTemplate { val lineIndent = computeNextLineIndent(nextLineIndent); formattedText = formattedText.replace("*/", "*/"); - formattedText = formattedText.replace("\n", ""); - formattedText = formattedText.replace("\t", ""); + formattedText = NEWLINE_OR_TAB.removeFrom(formattedText); formattedText = formattedText.replaceAll(" +", " "); val StringTokenizer tokenizer = new StringTokenizer(formattedText, " ", true); @@ -781,8 +783,7 @@ class YangTemplate { val ns = pathElement.namespace val localName = pathElement.localName - sb.append("\\") - sb.append('(') + sb.append("\\(") sb.append(ns) sb.append(')') sb.append(localName) -- 2.36.6