Add new cds-access-api proxies
[controller.git] / opendaylight / md-sal / cds-access-api / src / main / java / org / opendaylight / controller / cluster / access / concepts / AbstractRequestProxy.java
index 762c9728d5f5c9ceadc513576bf30b35cfa9d334..3ce1193e40cb7887e223579ccb89946fc000a652 100644 (file)
@@ -7,13 +7,6 @@
  */
 package org.opendaylight.controller.cluster.access.concepts;
 
-import akka.actor.ActorRef;
-import akka.serialization.JavaSerializer;
-import akka.serialization.Serialization;
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.io.Serial;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.concepts.WritableIdentifier;
 
@@ -23,37 +16,15 @@ import org.opendaylight.yangtools.concepts.WritableIdentifier;
  * @param <T> Target identifier type
  */
 public abstract class AbstractRequestProxy<T extends WritableIdentifier, C extends Request<T, C>>
-        extends AbstractMessageProxy<T, C> {
-    @Serial
+        extends AbstractMessageProxy<T, C> implements Request.SerialForm<T, C> {
+    @java.io.Serial
     private static final long serialVersionUID = 1L;
 
-    private ActorRef replyTo;
-
     protected AbstractRequestProxy() {
         // For Externalizable
     }
 
     protected AbstractRequestProxy(final @NonNull C request) {
         super(request);
-        this.replyTo = request.getReplyTo();
-    }
-
-    @Override
-    public void writeExternal(final ObjectOutput out) throws IOException {
-        super.writeExternal(out);
-        out.writeObject(Serialization.serializedActorPath(replyTo));
-    }
-
-    @Override
-    public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException {
-        super.readExternal(in);
-        replyTo = JavaSerializer.currentSystem().value().provider().resolveActorRef((String) in.readObject());
-    }
-
-    @Override
-    final C createMessage(final T target, final long sequence) {
-        return createRequest(target, sequence, replyTo);
     }
-
-    protected abstract @NonNull C createRequest(@NonNull T target, long sequence, @NonNull ActorRef replyToActor);
 }