X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fmessages%2FRegisterChangeListener.java;h=a3b7e12b07930ff19f76ec3bd2386bd468ba90a3;hb=11e722671c6dc194761471038a4e3ca5f7fd8970;hp=1d8edece1a5161137daab2abb03e6b968a920615;hpb=dea515c8870769408b9bea29f555d6b71ff43211;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/RegisterChangeListener.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/RegisterChangeListener.java index 1d8edece1a..a3b7e12b07 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/RegisterChangeListener.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/messages/RegisterChangeListener.java @@ -17,23 +17,26 @@ import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker; import org.opendaylight.controller.protobuff.messages.registration.ListenerRegistrationMessages; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -public class RegisterChangeListener implements SerializableMessage { +public class RegisterChangeListener implements SerializableMessage, ListenerRegistrationMessage { public static final Class SERIALIZABLE_CLASS = ListenerRegistrationMessages.RegisterChangeListener.class; private final YangInstanceIdentifier path; private final ActorRef dataChangeListener; private final AsyncDataBroker.DataChangeScope scope; + private final boolean registerOnAllInstances; public RegisterChangeListener(YangInstanceIdentifier path, ActorRef dataChangeListener, - AsyncDataBroker.DataChangeScope scope) { + AsyncDataBroker.DataChangeScope scope, boolean registerOnAllInstances) { this.path = path; this.dataChangeListener = dataChangeListener; this.scope = scope; + this.registerOnAllInstances = registerOnAllInstances; } + @Override public YangInstanceIdentifier getPath() { return path; } @@ -47,20 +50,24 @@ public class RegisterChangeListener implements SerializableMessage { return dataChangeListener.path(); } + @Override + public boolean isRegisterOnAllInstances() { + return registerOnAllInstances; + } @Override public ListenerRegistrationMessages.RegisterChangeListener toSerializable() { return ListenerRegistrationMessages.RegisterChangeListener.newBuilder() .setInstanceIdentifierPath(InstanceIdentifierUtils.toSerializable(path)) .setDataChangeListenerActorPath(Serialization.serializedActorPath(dataChangeListener)) - .setDataChangeScope(scope.ordinal()).build(); + .setDataChangeScope(scope.ordinal()).setRegisterOnAllInstances(registerOnAllInstances).build(); } public static RegisterChangeListener fromSerializable(ActorSystem actorSystem, Object serializable){ ListenerRegistrationMessages.RegisterChangeListener o = (ListenerRegistrationMessages.RegisterChangeListener) serializable; return new RegisterChangeListener(InstanceIdentifierUtils.fromSerializable(o.getInstanceIdentifierPath()), actorSystem.provider().resolveActorRef(o.getDataChangeListenerActorPath()), - AsyncDataBroker.DataChangeScope.values()[o.getDataChangeScope()]); + AsyncDataBroker.DataChangeScope.values()[o.getDataChangeScope()], o.getRegisterOnAllInstances()); }