X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=data%2Fyang-data-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fapi%2FStackedYangInstanceIdentifier.java;h=e58bd9db2b0c08a2952fbca41d27ff1660ffe256;hb=637187256edea0a1f3250644230a95d46d2fcae0;hp=b2cc4497da9eb7d41d6be587c1d022706f8a0964;hpb=a872c7d8cd93c104430f8065c1aa0b69d03e7f3e;p=yangtools.git diff --git a/data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedYangInstanceIdentifier.java b/data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedYangInstanceIdentifier.java index b2cc4497da..e58bd9db2b 100644 --- a/data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedYangInstanceIdentifier.java +++ b/data/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedYangInstanceIdentifier.java @@ -14,36 +14,15 @@ import static java.util.Objects.requireNonNull; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.lang.reflect.Field; -import java.security.AccessController; -import java.security.PrivilegedAction; +import java.io.Serial; import java.util.ArrayList; import java.util.List; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.util.HashCodeBuilder; final class StackedYangInstanceIdentifier extends YangInstanceIdentifier implements Cloneable { + @Serial private static final long serialVersionUID = 1L; - private static final Field PARENT_FIELD; - - static { - final Field f; - try { - f = StackedYangInstanceIdentifier.class.getDeclaredField("parent"); - } catch (NoSuchFieldException | SecurityException e) { - throw new ExceptionInInitializerError(e); - } - - AccessController.doPrivileged((PrivilegedAction) () -> { - f.setAccessible(true); - return null; - }); - - PARENT_FIELD = f; - } private final @NonNull YangInstanceIdentifier parent; private final @NonNull PathArgument pathArgument; @@ -169,36 +148,12 @@ final class StackedYangInstanceIdentifier extends YangInstanceIdentifier impleme @Override boolean pathArgumentsEqual(final YangInstanceIdentifier other) { - if (other instanceof StackedYangInstanceIdentifier) { - final StackedYangInstanceIdentifier stacked = (StackedYangInstanceIdentifier) other; + if (other instanceof StackedYangInstanceIdentifier stacked) { return pathArgument.equals(stacked.pathArgument) && parent.equals(stacked.parent); } return super.pathArgumentsEqual(other); } - private void readObject(final ObjectInputStream inputStream) throws IOException, ClassNotFoundException { - inputStream.defaultReadObject(); - - final FixedYangInstanceIdentifier p = (FixedYangInstanceIdentifier) inputStream.readObject(); - try { - PARENT_FIELD.set(this, p); - } catch (IllegalArgumentException | IllegalAccessException e) { - throw new IOException("Failed to set parent", e); - } - } - - private void writeObject(final ObjectOutputStream outputStream) throws IOException { - outputStream.defaultWriteObject(); - - final FixedYangInstanceIdentifier p; - if (parent instanceof FixedYangInstanceIdentifier) { - p = (FixedYangInstanceIdentifier) parent; - } else { - p = FixedYangInstanceIdentifier.of(parent.getPathArguments()); - } - outputStream.writeObject(p); - } - @Override public YangInstanceIdentifier toOptimized() { return FixedYangInstanceIdentifier.create(getPathArguments());