Move Utils.trimPrefix(String)
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / impl / util / YangModelDependencyInfo.java
index 6049c6a32da6398c9b22d30e0deef4ad53c8ab9e..e4535b342863c5bbc6440a5116abc4c446b93e54 100644 (file)
@@ -10,10 +10,12 @@ package org.opendaylight.yangtools.yang.parser.impl.util;
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.base.Splitter;
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableSet;
 import java.io.IOException;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
 import java.util.Set;
@@ -59,6 +61,7 @@ public abstract class YangModelDependencyInfo {
 
     private static final String OPENCONFIG_VERSION = SupportedExtensionsMapping.OPENCONFIG_VERSION.getStatementName()
             .getLocalName();
+    private static final Splitter COLON_SPLITTER = Splitter.on(":").omitEmptyStrings().trimResults();
 
     private final String name;
     private final Revision revision;
@@ -240,7 +243,7 @@ public abstract class YangModelDependencyInfo {
     private static SemVer findSemanticVersion(final StatementContext statement, final SourceIdentifier source) {
         String semVerString = null;
         for (final StatementContext subStatement : statement.statement()) {
-            final String subStatementName = Utils.trimPrefix(subStatement.keyword().getText());
+            final String subStatementName = trimPrefix(subStatement.keyword().getText());
             if (OPENCONFIG_VERSION.equals(subStatementName)) {
                 semVerString = Utils.stringFromStringContext(subStatement.argument(),
                         getReference(source, subStatement));
@@ -251,6 +254,16 @@ public abstract class YangModelDependencyInfo {
         return Strings.isNullOrEmpty(semVerString) ? null : SemVer.valueOf(semVerString);
     }
 
+
+    private static String trimPrefix(final String identifier) {
+        final List<String> namesParts = COLON_SPLITTER.splitToList(identifier);
+        if (namesParts.size() == 2) {
+            return namesParts.get(1);
+        }
+        return identifier;
+    }
+
+
     private static ImmutableSet<ModuleImport> parseIncludes(final StatementContext module,
             final SourceIdentifier source) {
         final Set<ModuleImport> result = new HashSet<>();