Bump versions 9.0.4-SNAPSHOT
[controller.git] / opendaylight / md-sal / eos-dom-akka / src / main / java / org / opendaylight / controller / eos / akka / registry / listener / type / EntityTypeListenerActor.java
index 17391fac91265a7da322b385a4bd852c4e20b78e..7e445c581c268f6adc544b11c2473c36bcae7f22 100644 (file)
@@ -33,6 +33,7 @@ import org.opendaylight.controller.eos.akka.registry.listener.owner.SingleEntity
 import org.opendaylight.controller.eos.akka.registry.listener.owner.command.ListenerCommand;
 import org.opendaylight.controller.eos.akka.registry.listener.type.command.CandidatesChanged;
 import org.opendaylight.controller.eos.akka.registry.listener.type.command.EntityOwnerChanged;
+import org.opendaylight.controller.eos.akka.registry.listener.type.command.TerminateListener;
 import org.opendaylight.controller.eos.akka.registry.listener.type.command.TypeListenerCommand;
 import org.opendaylight.mdsal.eos.dom.api.DOMEntity;
 import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipListener;
@@ -69,6 +70,7 @@ public class EntityTypeListenerActor extends AbstractBehavior<TypeListenerComman
         return newReceiveBuilder()
                 .onMessage(CandidatesChanged.class, this::onCandidatesChanged)
                 .onMessage(EntityOwnerChanged.class, this::onOwnerChanged)
+                .onMessage(TerminateListener.class, this::onTerminate)
                 .build();
     }
 
@@ -108,11 +110,15 @@ public class EntityTypeListenerActor extends AbstractBehavior<TypeListenerComman
 
     private Behavior<TypeListenerCommand> onOwnerChanged(final EntityOwnerChanged rsp) {
         LOG.debug("{} : Entity-type: {} listener, owner change: {}", localMember, entityType, rsp);
-
-        listener.ownershipChanged(rsp.getOwnershipChange());
+        listener.ownershipChanged(rsp.entity(), rsp.change(), false);
         return this;
     }
 
+    private Behavior<TypeListenerCommand> onTerminate(final TerminateListener command) {
+        LOG.debug("Terminating listener for type: {}, listener: {}", entityType, listener);
+        return Behaviors.stopped();
+    }
+
     private static String encodeEntityToActorName(final DOMEntity entity) {
         return "type=" + entity.getType() + ",entity="
                 + entity.getIdentifier().getLastPathArgument().getNodeType().getLocalName() + "-" + UUID.randomUUID();