Deprecate findSemanticVersion()
[yangtools.git] / parser / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / repo / YangModelDependencyInfo.java
index 086a3a9f8c5fb8df243ae120ce66a5bc472314d8..ff6173d166f781ac8c7a9daa99f180dbe4fa3a1f 100644 (file)
@@ -11,7 +11,6 @@ import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.Beta;
-import com.google.common.base.Splitter;
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableSet;
 import java.io.IOException;
@@ -64,8 +63,6 @@ public abstract class YangModelDependencyInfo {
 
     private static final String OPENCONFIG_VERSION = OpenConfigStatements.OPENCONFIG_VERSION.getStatementName()
             .getLocalName();
-    @Deprecated
-    private static final Splitter COLON_SPLITTER = Splitter.on(":").omitEmptyStrings().trimResults();
 
     private final String name;
     private final Revision revision;
@@ -85,10 +82,10 @@ public abstract class YangModelDependencyInfo {
             final ImmutableSet<ModuleImport> includes,
             final Optional<SemVer> semVer) {
         this.name = name;
-        this.revision = Revision.ofNullable(formattedRevision).orElse(null);
-        this.moduleImports = imports;
-        this.submoduleIncludes = includes;
-        this.dependencies = ImmutableSet.<ModuleImport>builder()
+        revision = Revision.ofNullable(formattedRevision).orElse(null);
+        moduleImports = imports;
+        submoduleIncludes = includes;
+        dependencies = ImmutableSet.<ModuleImport>builder()
                 .addAll(moduleImports).addAll(submoduleIncludes).build();
         this.semVer = semVer.orElse(null);
     }
@@ -134,7 +131,9 @@ public abstract class YangModelDependencyInfo {
      * Returns semantic version of module.
      *
      * @return semantic version
+     * @deprecated Semantic versioning is deprecated
      */
+    @Deprecated(since = "8.0.4", forRemoval = true)
     public Optional<SemVer> getSemanticVersion() {
         return Optional.ofNullable(semVer);
     }
@@ -241,6 +240,7 @@ public abstract class YangModelDependencyInfo {
     }
 
     @Beta
+    @Deprecated(since = "8.0.4", forRemoval = true)
     public static SemVer findSemanticVersion(final IRStatement statement, final SourceIdentifier source) {
         String semVerString = null;
         for (final IRStatement substatement : statement.statements()) {
@@ -319,7 +319,10 @@ public abstract class YangModelDependencyInfo {
     static String safeStringArgument(final SourceIdentifier source, final IRStatement stmt, final String desc) {
         final StatementSourceReference ref = getReference(source, stmt);
         final IRArgument arg = stmt.argument();
-        checkArgument(arg != null, "Missing %s at %s", desc, ref);
+        if (arg == null) {
+            throw new IllegalArgumentException("Missing " + desc + " at " + ref);
+        }
+
         // TODO: we probably need to understand yang version first....
         return ArgumentContextUtils.rfc6020().stringFromStringContext(arg, ref);
     }
@@ -391,7 +394,7 @@ public abstract class YangModelDependencyInfo {
 
         ModuleImportImpl(final @NonNull String moduleName, final @Nullable Revision revision,
                 final @Nullable SemVer semVer) {
-            this.name = requireNonNull(moduleName, "Module name must not be null.");
+            name = requireNonNull(moduleName, "Module name must not be null.");
             this.revision = revision;
             this.semVer = semVer;
         }
@@ -407,13 +410,14 @@ public abstract class YangModelDependencyInfo {
         }
 
         @Override
+        @Deprecated(forRemoval = true)
         public Optional<SemVer> getSemanticVersion() {
             return Optional.ofNullable(semVer);
         }
 
         @Override
         public String getPrefix() {
-            return null;
+            throw new UnsupportedOperationException();
         }
 
         @Override