Add new cds-access-api proxies
[controller.git] / opendaylight / md-sal / cds-access-api / src / main / java / org / opendaylight / controller / cluster / access / commands / AbstractReadPathTransactionRequestProxyV1.java
index e139920d6f2f064ea9552a2cd7a35b118e754fea..e5429841f3a45954e892e64db3824f4a82b57834 100644 (file)
@@ -7,17 +7,6 @@
  */
 package org.opendaylight.controller.cluster.access.commands;
 
-import akka.actor.ActorRef;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.io.Serial;
-import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataInput;
-import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataOutput;
-import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeStreamVersion;
-
 /**
  * Abstract base class for serialization proxies associated with {@link AbstractReadTransactionRequest}s. It implements
  * the initial (Boron) serialization format.
@@ -27,43 +16,15 @@ import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeStreamVer
  * @param <T> Message type
  */
 abstract class AbstractReadPathTransactionRequestProxyV1<T extends AbstractReadPathTransactionRequest<T>>
-        extends AbstractReadTransactionRequestProxyV1<T> {
-    @Serial
+        extends AbstractReadTransactionRequestProxyV1<T> implements AbstractReadPathTransactionRequest.SerialForm<T> {
+    @java.io.Serial
     private static final long serialVersionUID = 1L;
 
-    private YangInstanceIdentifier path;
-    private transient NormalizedNodeStreamVersion streamVersion;
-
     protected AbstractReadPathTransactionRequestProxyV1() {
         // For Externalizable
     }
 
     AbstractReadPathTransactionRequestProxyV1(final T request) {
         super(request);
-        path = request.getPath();
-        streamVersion = request.getVersion().getStreamVersion();
     }
-
-    @Override
-    public final void writeExternal(final ObjectOutput out) throws IOException {
-        super.writeExternal(out);
-        try (NormalizedNodeDataOutput nnout = streamVersion.newDataOutput(out)) {
-            nnout.writeYangInstanceIdentifier(path);
-        }
-    }
-
-    @Override
-    public final void readExternal(final ObjectInput in) throws ClassNotFoundException, IOException {
-        super.readExternal(in);
-        path = NormalizedNodeDataInput.newDataInput(in).readYangInstanceIdentifier();
-    }
-
-    @Override
-    protected final T createReadRequest(final TransactionIdentifier target, final long sequence,
-            final ActorRef replyTo, final boolean snapshotOnly) {
-        return createReadPathRequest(target, sequence, replyTo, path, snapshotOnly);
-    }
-
-    abstract T createReadPathRequest(TransactionIdentifier target, long sequence, ActorRef replyTo,
-            YangInstanceIdentifier requestPath, boolean snapshotOnly);
 }