Bug 4105: Implement DistributedEntityOwnershipService#registerCandidate
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / entityownership / EntityOwnershipShard.java
index 2fabf0a878ecf38783eea74eb39332d8ad27e712..230b597f2d42ffde56f5f0aa8b91c9da62470dbe 100644 (file)
@@ -11,7 +11,9 @@ import akka.actor.Props;
 import java.util.Map;
 import org.opendaylight.controller.cluster.datastore.DatastoreContext;
 import org.opendaylight.controller.cluster.datastore.Shard;
+import org.opendaylight.controller.cluster.datastore.entityownership.messages.RegisterCandidateLocal;
 import org.opendaylight.controller.cluster.datastore.identifiers.ShardIdentifier;
+import org.opendaylight.controller.cluster.datastore.messages.SuccessReply;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
 /**
@@ -35,6 +37,19 @@ public class EntityOwnershipShard extends Shard {
         super.onDatastoreContext(noPersistenceDatastoreContext(context));
     }
 
+    @Override
+    public void onReceiveCommand(final Object message) throws Exception {
+        if(message instanceof RegisterCandidateLocal) {
+            onRegisterCandidateLocal((RegisterCandidateLocal)message);
+        } else {
+            super.onReceiveCommand(message);
+        }
+    }
+
+    private void onRegisterCandidateLocal(RegisterCandidateLocal registerCandidate) {
+        getSender().tell(SuccessReply.INSTANCE, getSelf());
+    }
+
     public static Props props(final ShardIdentifier name, final Map<String, String> peerAddresses,
             final DatastoreContext datastoreContext, final SchemaContext schemaContext) {
         return Props.create(new Creator(name, peerAddresses, datastoreContext, schemaContext));