From: Robert Varga Date: Tue, 25 Jun 2024 22:42:50 +0000 (+0200) Subject: Switch to using IIv5 X-Git-Tag: v14.0.0~81 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=e9f0041ff0a3996ad2d90d0ec09d00b13b6d3931;p=yangtools.git Switch to using IIv5 Switch InstanceIdentifier to emit IIv5 and gut IIv4 of writeout capabilities. JIRA: YANGTOOLS-1608 Change-Id: I7fc86453538dab844642bd242b121291afd96ba5 Signed-off-by: Robert Varga --- diff --git a/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/IIv4.java b/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/IIv4.java index 7f38c4d4db..88c1911bcc 100644 --- a/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/IIv4.java +++ b/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/IIv4.java @@ -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 implements Externalizable permits KIIv4 // For Externalizable } - IIv4(final InstanceIdentifier 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 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 diff --git a/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifier.java b/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifier.java index 22f5089c59..bdce12e386 100644 --- a/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifier.java +++ b/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifier.java @@ -397,7 +397,7 @@ public sealed class InstanceIdentifier extends AbstractDat @Override protected Object toSerialForm() { - return new IIv4<>(this); + return new IIv5(this); } @java.io.Serial diff --git a/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifierV3.java b/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifierV3.java index fb96692959..bc6c0cab7f 100644 --- a/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifierV3.java +++ b/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/InstanceIdentifierV3.java @@ -50,8 +50,8 @@ class InstanceIdentifierV3 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 diff --git a/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KIIv4.java b/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KIIv4.java index 6d425644bf..9298326f1a 100644 --- a/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KIIv4.java +++ b/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KIIv4.java @@ -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 & DataObject, K extends Key> extends // For Externalizable } - KIIv4(final KeyedInstanceIdentifier 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); diff --git a/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KeyedInstanceIdentifier.java b/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KeyedInstanceIdentifier.java index e89e3e5718..90bac575a4 100644 --- a/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KeyedInstanceIdentifier.java +++ b/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KeyedInstanceIdentifier.java @@ -52,9 +52,4 @@ public final class KeyedInstanceIdentifier & DataObject, K boolean keyEquals(final InstanceIdentifier other) { return key().equals(((KeyedInstanceIdentifier) other).key()); } - - @Override - protected Object toSerialForm() { - return new KIIv4<>(this); - } } diff --git a/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KeyedInstanceIdentifierV2.java b/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KeyedInstanceIdentifierV2.java index 15b329d59c..cc7a9963e9 100644 --- a/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KeyedInstanceIdentifierV2.java +++ b/binding/binding-spec/src/main/java/org/opendaylight/yangtools/yang/binding/KeyedInstanceIdentifierV2.java @@ -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 & 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);