Switch to using IIv5 92/112292/1
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 25 Jun 2024 22:42:50 +0000 (00:42 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 25 Jun 2024 22:46:59 +0000 (00:46 +0200)
Switch InstanceIdentifier to emit IIv5 and gut IIv4 of writeout
capabilities.

JIRA: YANGTOOLS-1608
Change-Id: I7fc86453538dab844642bd242b121291afd96ba5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/IIv4.java
binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifier.java
binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifierV3.java
binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KIIv4.java
binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KeyedInstanceIdentifier.java
binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KeyedInstanceIdentifierV2.java

index 7f38c4d4db5d7b21de6a7741ccacb194b45a23cd..88c1911bccc60418be686197456c19c74649b8d8 100644 (file)
@@ -8,9 +8,9 @@
 package org.opendaylight.yangtools.yang.binding;
 
 import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
 import java.io.Externalizable;
 import java.io.IOException;
+import java.io.NotSerializableException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.io.ObjectStreamException;
@@ -32,13 +32,6 @@ sealed class IIv4<T extends DataObject> implements Externalizable permits KIIv4
         // For Externalizable
     }
 
-    IIv4(final InstanceIdentifier<T> source) {
-        pathArguments = source.pathArguments;
-        targetType = source.getTargetType();
-        wildcarded = source.isWildcarded();
-        hash = source.hashCode();
-    }
-
     final int getHash() {
         return hash;
     }
@@ -56,14 +49,8 @@ sealed class IIv4<T extends DataObject> implements Externalizable permits KIIv4
     }
 
     @Override
-    public void writeExternal(final ObjectOutput out) throws IOException {
-        out.writeObject(targetType);
-        out.writeBoolean(wildcarded);
-        out.writeInt(hash);
-        out.writeInt(Iterables.size(pathArguments));
-        for (var o : pathArguments) {
-            out.writeObject(o);
-        }
+    public final void writeExternal(final ObjectOutput out) throws IOException {
+        throw new NotSerializableException(getClass().getName());
     }
 
     @Override
index 22f5089c59d0293d4fa4d13050addb71fd3063b6..bdce12e386c23c374914a0672f550ff40fb7b0f8 100644 (file)
@@ -397,7 +397,7 @@ public sealed class InstanceIdentifier<T extends DataObject> extends AbstractDat
 
     @Override
     protected Object toSerialForm() {
-        return new IIv4<>(this);
+        return new IIv5(this);
     }
 
     @java.io.Serial
index fb96692959c7222568d4af4b6f59f702de0c80c5..bc6c0cab7f56e9973db17aa9fb37e4df13f505a8 100644 (file)
@@ -50,8 +50,8 @@ class InstanceIdentifierV3<T extends DataObject> implements Externalizable {
     }
 
     @Override
-    public void writeExternal(final ObjectOutput out) throws IOException {
-        throw new NotSerializableException(InstanceIdentifierV3.class.getName());
+    public final void writeExternal(final ObjectOutput out) throws IOException {
+        throw new NotSerializableException(getClass().getName());
     }
 
     @Override
index 6d425644bfad1028bfa05ea25301871da9712fb6..9298326f1ade108bf8fb8ba73150e17dde463332 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.binding;
 
 import java.io.IOException;
 import java.io.ObjectInput;
-import java.io.ObjectOutput;
 import java.io.ObjectStreamException;
 import org.opendaylight.yangtools.binding.DataObject;
 import org.opendaylight.yangtools.binding.Key;
@@ -27,17 +26,6 @@ final class KIIv4<T extends KeyAware<K> & DataObject, K extends Key<T>> extends
         // For Externalizable
     }
 
-    KIIv4(final KeyedInstanceIdentifier<T, K> source) {
-        super(source);
-        key = source.key();
-    }
-
-    @Override
-    public void writeExternal(final ObjectOutput out) throws IOException {
-        super.writeExternal(out);
-        out.writeObject(key);
-    }
-
     @Override
     public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException {
         super.readExternal(in);
index e89e3e5718a03aa8f0786294de220ae23ca03876..90bac575a41b59a3a1cd671126db6858917e205d 100644 (file)
@@ -52,9 +52,4 @@ public final class KeyedInstanceIdentifier<T extends KeyAware<K> & DataObject, K
     boolean keyEquals(final InstanceIdentifier<?> other) {
         return key().equals(((KeyedInstanceIdentifier<?, ?>) other).key());
     }
-
-    @Override
-    protected Object toSerialForm() {
-        return new KIIv4<>(this);
-    }
 }
index 15b329d59cbf3532f5d95baf9625ea106217dcfe..cc7a9963e96abe6a51bbecb9572b8860cd13fa16 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.binding;
 
 import java.io.IOException;
 import java.io.ObjectInput;
-import java.io.ObjectOutput;
 import java.io.ObjectStreamException;
 import java.io.Serial;
 import org.opendaylight.yangtools.binding.DataObject;
@@ -29,12 +28,6 @@ final class KeyedInstanceIdentifierV2<T extends KeyAware<K> & DataObject, K exte
         // For Externalizable
     }
 
-    @Override
-    public void writeExternal(final ObjectOutput out) throws IOException {
-        super.writeExternal(out);
-        out.writeObject(key);
-    }
-
     @Override
     public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException {
         super.readExternal(in);