X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fexample%2Fmessages%2FKeyValue.java;h=e0873cc7bae06159f5644f5cda370b1ada78275b;hp=00cc09ae3004316f35ed35398ae930832192a236;hb=b131db5779e46e9555aa3358c5b6aa13109ef8f5;hpb=8d9f9990edc7fb165795b8f50b4715f8e719fa75 diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/example/messages/KeyValue.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/example/messages/KeyValue.java index 00cc09ae30..e0873cc7ba 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/example/messages/KeyValue.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/example/messages/KeyValue.java @@ -8,11 +8,22 @@ package org.opendaylight.controller.cluster.example.messages; +import com.google.protobuf.GeneratedMessage; +import org.opendaylight.controller.protobuff.messages.cluster.example.KeyValueMessages; +import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload; +import org.opendaylight.controller.protobuff.messages.cluster.raft.AppendEntriesMessages; + import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; + +public class KeyValue extends Payload implements Serializable { + private static final long serialVersionUID = 1L; + private String key; + private String value; -public class KeyValue implements Serializable{ - private final String key; - private final String value; + public KeyValue() { + } public KeyValue(String key, String value){ this.key = key; @@ -27,10 +38,37 @@ public class KeyValue implements Serializable{ return value; } + public void setKey(String key) { + this.key = key; + } + + public void setValue(String value) { + this.value = value; + } + @Override public String toString() { return "KeyValue{" + "key='" + key + '\'' + ", value='" + value + '\'' + '}'; } + + // override this method to return the protobuff related extension fields and their values + @Override public Map encode() { + Map map = new HashMap<>(); + map.put(KeyValueMessages.key, getKey()); + map.put(KeyValueMessages.value, getValue()); + return map; + } + + // override this method to assign the values from protobuff + @Override public Payload decode( + AppendEntriesMessages.AppendEntries.ReplicatedLogEntry.Payload payloadProtoBuff) { + String key = payloadProtoBuff.getExtension(KeyValueMessages.key); + String value = payloadProtoBuff.getExtension(KeyValueMessages.value); + this.setKey(key); + this.setValue(value); + return this; + } + }