package io.teknek.nibiru.coordinator; import io.teknek.nibiru.Store; import io.teknek.nibiru.Keyspace; import io.teknek.nibiru.personality.KeyValuePersonality; import io.teknek.nibiru.transport.BaseMessage; import io.teknek.nibiru.transport.Response; import io.teknek.nibiru.transport.keyvalue.Get; import io.teknek.nibiru.transport.keyvalue.Set; public class LocalKeyValueAction extends LocalAction { public LocalKeyValueAction(BaseMessage message, Keyspace ks, Store cf) { super(message, ks, cf); } @Override public Response handleReqest() { if (columnFamily instanceof KeyValuePersonality){ KeyValuePersonality personality = (KeyValuePersonality) columnFamily; if (message instanceof Get){ Get g = (Get) message; String s = personality.get(g.getKey()); Response r = new Response(); r.put("payload", s); return r; } else if ( message instanceof Set){ Set s = (Set) message; personality.put(s.getKey(), s.getValue()); return new Response(); } else { throw new RuntimeException("Does not support this type of message"); } } return null; } }