X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=model%2Fyang-model-util%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fmodel%2Futil%2FFilteringSchemaContextProxy.java;h=c918baac26068fae1d86d19a2942df92d0005adf;hb=bf25c16c89625837be48ee685184707339f487ff;hp=31ebeb67e22672f08a2739e527812e80c845d34e;hpb=f7a392df39d0cb0844f992321ed1c78fc7ef85f7;p=yangtools.git diff --git a/model/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/FilteringSchemaContextProxy.java b/model/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/FilteringSchemaContextProxy.java index 31ebeb67e2..c918baac26 100644 --- a/model/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/FilteringSchemaContextProxy.java +++ b/model/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/FilteringSchemaContextProxy.java @@ -7,11 +7,9 @@ */ package org.opendaylight.yangtools.yang.model.util; -import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; import com.google.common.base.Preconditions; -import com.google.common.base.Strings; import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; @@ -28,6 +26,7 @@ import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.TreeMap; @@ -35,6 +34,7 @@ import java.util.function.Function; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.Revision; +import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified; import org.opendaylight.yangtools.yang.common.XMLNamespace; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.ModuleImport; @@ -90,7 +90,7 @@ public final class FilteringSchemaContextProxy extends AbstractSchemaContext { */ final List sortedModules = new ArrayList<>(filteredModulesBuilder.build()); sortedModules.sort(NAME_REVISION_COMPARATOR); - this.filteredModules = ImmutableSet.copyOf(sortedModules); + filteredModules = ImmutableSet.copyOf(sortedModules); final SetMultimap nsMap = Multimaps.newSetMultimap(new TreeMap<>(), AbstractSchemaContext::createModuleSet); @@ -135,7 +135,8 @@ public final class FilteringSchemaContextProxy extends AbstractSchemaContext { for (ModuleImport moduleImport : module.getImports()) { Optional revisionDate = moduleImport.getRevision(); if (revisionDate.isEmpty()) { - revisionDate = nameToModulesAll.get(moduleImport.getModuleName()).first().getRevision(); + revisionDate = nameToModulesAll.get(moduleImport.getModuleName().getLocalName()).first() + .getRevision(); } ModuleId key = new ModuleId(moduleImport.getModuleName(), revisionDate); @@ -209,17 +210,19 @@ public final class FilteringSchemaContextProxy extends AbstractSchemaContext { } public static final class ModuleId { - private final String name; + private final Unqualified name; private final Revision rev; public ModuleId(final String name, final Optional rev) { - checkArgument(!Strings.isNullOrEmpty(name), "No module dependency name given. Nothing to do."); - this.name = name; - checkArgument(rev.isPresent(), "No revision date given. Nothing to do."); - this.rev = rev.get(); + this(Unqualified.of(name), rev); } - public String getName() { + public ModuleId(final Unqualified name, final Optional rev) { + this.name = requireNonNull(name); + this.rev = rev.orElseThrow(() -> new IllegalArgumentException("No revision date given. Nothing to do.")); + } + + public Unqualified getName() { return name; } @@ -232,22 +235,8 @@ public final class FilteringSchemaContextProxy extends AbstractSchemaContext { @Override public boolean equals(final Object obj) { - if (this == obj) { - return true; - } - if (!(obj instanceof ModuleId)) { - return false; - } - - ModuleId moduleId = (ModuleId) obj; - if (name != null ? !name.equals(moduleId.name) : moduleId.name != null) { - return false; - } - if (rev != null ? !rev.equals(moduleId.rev) : moduleId.rev != null) { - return false; - } - - return true; + return this == obj || obj instanceof ModuleId other && name.equals(other.name) + && Objects.equals(rev, other.rev); } @Override