X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fimpl%2Futil%2FYangModelDependencyInfo.java;h=12d8305bd0310d5dfc3a7d6181c1be776759c9b0;hb=7db1713d71d8c1bf34324d1dacba66ce4ee3f3db;hp=97590779b2a75934a46c8f6d19ad1f015c04ef17;hpb=c5e58b6841e2f9d9bcd7808d4f3073b1c4792d26;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfo.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfo.java index 97590779b2..12d8305bd0 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfo.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/util/YangModelDependencyInfo.java @@ -1,8 +1,9 @@ /* - * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/eplv10.html + * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.yangtools.yang.parser.impl.util; @@ -11,11 +12,9 @@ import static org.opendaylight.yangtools.yang.parser.impl.ParserListenerUtils.ge import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; - import java.io.InputStream; import java.util.Date; import java.util.List; - import org.antlr.v4.runtime.ParserRuleContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Belongs_to_stmtContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangParser.Import_stmtContext; @@ -47,6 +46,7 @@ import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl; * @see SubmoduleDependencyInfo * */ + public abstract class YangModelDependencyInfo { private final String name; @@ -60,12 +60,12 @@ public abstract class YangModelDependencyInfo { final ImmutableSet imports, final ImmutableSet includes) { this.name = name; this.formattedRevision = formattedRevision; - this.revision = QName.parseRevision(formattedRevision); + this.revision = formattedRevision == null ? null : QName.parseRevision(formattedRevision); this.moduleImports = imports; this.submoduleIncludes = includes; - this.dependencies = ImmutableSet. builder() // - .addAll(moduleImports) // - .addAll(submoduleIncludes) // + this.dependencies = ImmutableSet. builder() + .addAll(moduleImports) + .addAll(submoduleIncludes) .build(); } @@ -198,14 +198,11 @@ public abstract class YangModelDependencyInfo { private static YangModelDependencyInfo parseModuleContext(final Module_stmtContext module) { String name = getArgumentString(module); - // String prefix = - // getArgumentString(module.module_header_stmts().prefix_stmt(0)); - String namespace = getArgumentString(module.module_header_stmts().namespace_stmt(0)); String latestRevision = getLatestRevision(module.revision_stmts()); ImmutableSet imports = parseImports(module.linkage_stmts().import_stmt()); ImmutableSet includes = parseIncludes(module.linkage_stmts().include_stmt()); - return new ModuleDependencyInfo(name, latestRevision, namespace, imports, includes); + return new ModuleDependencyInfo(name, latestRevision, imports, includes); } private static ImmutableSet parseImports(final List importStatements) { @@ -218,8 +215,8 @@ public abstract class YangModelDependencyInfo { return builder.build(); } - private static String getLatestRevision(final Revision_stmtsContext revision_stmts) { - List revisions = revision_stmts.getRuleContexts(Revision_stmtContext.class); + public static String getLatestRevision(final Revision_stmtsContext revisionStmts) { + List revisions = revisionStmts.getRuleContexts(Revision_stmtContext.class); String latestRevision = null; for (Revision_stmtContext revisionStmt : revisions) { String currentRevision = getArgumentString(revisionStmt); @@ -252,11 +249,11 @@ public abstract class YangModelDependencyInfo { return builder.build(); } - private static Date getRevision(final Revision_date_stmtContext revision_date_stmt) { - if (revision_date_stmt == null) { + private static Date getRevision(final Revision_date_stmtContext revisionDateStmt) { + if (revisionDateStmt == null) { return null; } - String formatedDate = getArgumentString(revision_date_stmt); + String formatedDate = getArgumentString(revisionDateStmt); return QName.parseRevision(formatedDate); } @@ -267,7 +264,7 @@ public abstract class YangModelDependencyInfo { */ public static final class ModuleDependencyInfo extends YangModelDependencyInfo { - private ModuleDependencyInfo(final String name, final String latestRevision, final String namespace, + private ModuleDependencyInfo(final String name, final String latestRevision, final ImmutableSet imports, final ImmutableSet includes) { super(name, latestRevision, imports, includes); } @@ -289,6 +286,12 @@ public abstract class YangModelDependencyInfo { private final String belongsTo; + private SubmoduleDependencyInfo(final String name, final String latestRevision, final String belongsTo, + final ImmutableSet imports, final ImmutableSet includes) { + super(name, latestRevision, imports, includes); + this.belongsTo = belongsTo; + } + /** * Returns name of parent module. * @@ -297,12 +300,6 @@ public abstract class YangModelDependencyInfo { return belongsTo; } - private SubmoduleDependencyInfo(final String name, final String latestRevision, final String belongsTo, - final ImmutableSet imports, final ImmutableSet includes) { - super(name, latestRevision, imports, includes); - this.belongsTo = belongsTo; - } - @Override public String toString() { return "Submodule [name=" + getName() + ", revision=" + getRevision() + ", dependencies="