X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fexample%2Fmessages%2FKeyValue.java;h=560d5fc19461db3dc49c24a78c227659f4978576;hb=d2a21873f85921bece6baa237442e4eadea8835d;hp=00cc09ae3004316f35ed35398ae930832192a236;hpb=8d9f9990edc7fb165795b8f50b4715f8e719fa75;p=controller.git 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..560d5fc194 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,21 @@ package org.opendaylight.controller.cluster.example.messages; +import com.google.protobuf.GeneratedMessage; +import org.opendaylight.controller.cluster.example.protobuff.messages.KeyValueMessages; +import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload; +import org.opendaylight.controller.cluster.raft.protobuff.messages.AppendEntriesMessages; + import java.io.Serializable; +import java.util.HashMap; +import java.util.Map; + +public class KeyValue extends Payload implements Serializable { + 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 +37,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; + } + }