*/
package org.opendaylight.controller.cluster.datastore.entityownership;
+import static java.util.Objects.requireNonNull;
+
import akka.actor.Props;
import akka.japi.Creator;
-import com.google.common.base.Preconditions;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor;
-import org.opendaylight.controller.cluster.datastore.entityownership.messages.EntityOwnershipChanged;
-import org.opendaylight.controller.md.sal.common.api.clustering.EntityOwnershipListener;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipChange;
+import org.opendaylight.mdsal.eos.dom.api.DOMEntityOwnershipListener;
/**
* An actor which is responsible for notifying an EntityOwnershipListener of changes.
*
* @author Thomas Pantelis
*/
-class EntityOwnershipListenerActor extends AbstractUntypedActor {
- private static final Logger LOG = LoggerFactory.getLogger(EntityOwnershipListenerActor.class);
-
- private final EntityOwnershipListener listener;
+final class EntityOwnershipListenerActor extends AbstractUntypedActor {
+ private final DOMEntityOwnershipListener listener;
- private EntityOwnershipListenerActor(EntityOwnershipListener listener) {
+ private EntityOwnershipListenerActor(final DOMEntityOwnershipListener listener) {
this.listener = listener;
}
@Override
- protected void handleReceive(Object message) {
- if(message instanceof EntityOwnershipChanged) {
- onEntityOwnershipChanged((EntityOwnershipChanged)message);
+ protected void handleReceive(final Object message) {
+ if (message instanceof DOMEntityOwnershipChange) {
+ onEntityOwnershipChanged((DOMEntityOwnershipChange)message);
+ } else {
+ unknownMessage(message);
}
}
- private void onEntityOwnershipChanged(EntityOwnershipChanged change) {
+ @SuppressWarnings("checkstyle:IllegalCatch")
+ private void onEntityOwnershipChanged(final DOMEntityOwnershipChange change) {
LOG.debug("Notifying EntityOwnershipListener {}: {}", listener, change);
try {
- listener.ownershipChanged(change.getEntity(), change.wasOwner(), change.isOwner());
+ listener.ownershipChanged(change);
} catch (Exception e) {
LOG.error("Error notifying listener {}", listener, e);
}
}
- static Props props(EntityOwnershipListener listener) {
+ static Props props(final DOMEntityOwnershipListener listener) {
return Props.create(new EntityOwnershipListenerCreator(listener));
}
private static final class EntityOwnershipListenerCreator implements Creator<EntityOwnershipListenerActor> {
private static final long serialVersionUID = 1L;
- private final EntityOwnershipListener listener;
+ @SuppressFBWarnings(value = "SE_BAD_FIELD", justification = "This field is not Serializable but we don't "
+ + "create remote instances of this actor and thus don't need it to be Serializable.")
+ private final DOMEntityOwnershipListener listener;
- EntityOwnershipListenerCreator(EntityOwnershipListener listener) {
- this.listener = Preconditions.checkNotNull(listener);
+ EntityOwnershipListenerCreator(final DOMEntityOwnershipListener listener) {
+ this.listener = requireNonNull(listener);
}
@Override