NormalizedMetadata is not Identifiable
[yangtools.git] / data / yang-data-api / src / main / java / org / opendaylight / yangtools / yang / data / api / StackedYangInstanceIdentifier.java
index b2cc4497da9eb7d41d6be587c1d022706f8a0964..e58bd9db2b0c08a2952fbca41d27ff1660ffe256 100644 (file)
@@ -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<Void>) () -> {
-            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());