X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-spi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fspi%2Fmeta%2FStmtContextUtils.java;h=cd91b51cc29bff6cd87f44b3df9f78b2b4bdbcaa;hb=b212baa59f859732bd3a799425bb420035fe6154;hp=1cdbff5883ccb96da7c82bffdf08d4775b91eeee;hpb=891817dd764184f4986e9f2f3ad7c29af55a9249;p=yangtools.git diff --git a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java index 1cdbff5883..cd91b51cc2 100644 --- a/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java +++ b/yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java @@ -14,12 +14,12 @@ import com.google.common.base.Splitter; import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import java.util.Collection; -import java.util.Date; +import java.util.Optional; import java.util.Set; import java.util.function.Predicate; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; -import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; +import org.opendaylight.yangtools.yang.common.Revision; import org.opendaylight.yangtools.yang.common.YangVersion; import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @@ -553,25 +553,25 @@ public final class StmtContextUtils { } // creates SourceIdentifier for a submodule - final Date revision = getLatestRevision(root.declaredSubstatements()); - return revision == null ? RevisionSourceIdentifier.create((String) root.getStatementArgument()) - : RevisionSourceIdentifier.create((String) root.getStatementArgument(), - SimpleDateFormatUtil.getRevisionFormat().format(revision)); + final Optional revision = getLatestRevision(root.declaredSubstatements()); + return revision.isPresent() + ? RevisionSourceIdentifier.create((String) root.getStatementArgument(), revision.get().toString()) + : RevisionSourceIdentifier.create((String) root.getStatementArgument()); } - public static Date getLatestRevision(final Iterable> subStmts) { - Date revision = null; + public static Optional getLatestRevision(final Iterable> subStmts) { + Revision revision = null; for (final StmtContext subStmt : subStmts) { if (subStmt.getPublicDefinition().getDeclaredRepresentationClass().isAssignableFrom( RevisionStatement.class)) { if (revision == null && subStmt.getStatementArgument() != null) { - revision = (Date) subStmt.getStatementArgument(); + revision = (Revision) subStmt.getStatementArgument(); } else if (subStmt.getStatementArgument() != null - && ((Date) subStmt.getStatementArgument()).compareTo(revision) > 0) { - revision = (Date) subStmt.getStatementArgument(); + && ((Revision) subStmt.getStatementArgument()).compareTo(revision) > 0) { + revision = (Revision) subStmt.getStatementArgument(); } } } - return revision; + return Optional.ofNullable(revision); } }