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;
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;
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));
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<>();