YangNamespaceContext should not have a default namespace
[yangtools.git] / yang / yang-common / src / main / java / org / opendaylight / yangtools / yang / common / BiMapYangNamespaceContext.java
index 9cc9e0e2e6fb13098f25d7793262de8940b8d10c..69f44144bddefeefbc878d768e6ce16446dd53ea 100644 (file)
@@ -7,7 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.common;
 
-import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
 import com.google.common.annotations.Beta;
@@ -19,7 +18,6 @@ import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
 import java.util.Map.Entry;
-import java.util.Objects;
 import java.util.Optional;
 import org.opendaylight.yangtools.concepts.WritableObject;
 
@@ -33,25 +31,9 @@ public final class BiMapYangNamespaceContext implements YangNamespaceContext, Wr
     private static final long serialVersionUID = 1L;
 
     private final ImmutableBiMap<String, QNameModule> mapping;
-    private final QNameModule defaultNamespace;
 
     public BiMapYangNamespaceContext(final BiMap<String, QNameModule> mapping) {
-        this(mapping, null);
-    }
-
-    public BiMapYangNamespaceContext(final BiMap<String, QNameModule> mapping,
-            final QNameModule defaultNamespace) {
-        this.defaultNamespace = defaultNamespace;
         this.mapping = ImmutableBiMap.copyOf(mapping);
-        if (defaultNamespace != null) {
-            checkArgument(this.mapping.containsValue(defaultNamespace),
-                "Mapping %s does not contain default namespace %s", this.mapping, defaultNamespace);
-        }
-    }
-
-    @Override
-    public Optional<QNameModule> getDefaultNamespace() {
-        return Optional.ofNullable(defaultNamespace);
     }
 
     @Override
@@ -66,13 +48,6 @@ public final class BiMapYangNamespaceContext implements YangNamespaceContext, Wr
 
     @Override
     public void writeTo(final DataOutput out) throws IOException {
-        if (defaultNamespace != null) {
-            out.writeBoolean(true);
-            defaultNamespace.writeTo(out);
-        } else {
-            out.writeBoolean(false);
-        }
-
         out.writeInt(mapping.size());
         for (Entry<String, QNameModule> entry : mapping.entrySet()) {
             out.writeUTF(entry.getKey());
@@ -81,8 +56,6 @@ public final class BiMapYangNamespaceContext implements YangNamespaceContext, Wr
     }
 
     public static BiMapYangNamespaceContext readFrom(final DataInput in) throws IOException {
-        final boolean haveDefault = in.readBoolean();
-        final QNameModule defaultNamespace = haveDefault ? QNameModule.readFrom(in) : null;
         final int size = in.readInt();
         final Builder<String, QNameModule> builder = ImmutableBiMap.builder();
         for (int i = 0; i < size; ++i) {
@@ -91,29 +64,22 @@ public final class BiMapYangNamespaceContext implements YangNamespaceContext, Wr
             builder.put(prefix, namespace);
         }
 
-        return new BiMapYangNamespaceContext(builder.build(), defaultNamespace);
+        return new BiMapYangNamespaceContext(builder.build());
     }
 
     @Override
     public int hashCode() {
-        return Objects.hash(defaultNamespace, mapping);
+        return mapping.hashCode();
     }
 
     @Override
     public boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof BiMapYangNamespaceContext)) {
-            return false;
-        }
-        final BiMapYangNamespaceContext other = (BiMapYangNamespaceContext) obj;
-        return defaultNamespace.equals(other.defaultNamespace) && mapping.equals(other.mapping);
+        return this == obj || obj instanceof BiMapYangNamespaceContext
+                && mapping.equals(((BiMapYangNamespaceContext) obj).mapping);
     }
 
     @Override
     public String toString() {
-        return MoreObjects.toStringHelper(this).add("defaultNamespace", defaultNamespace).add("mapping", mapping)
-                .toString();
+        return MoreObjects.toStringHelper(this).add("mapping", mapping).toString();
     }
 }