X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FDataChangeListenerRegistration.java;h=a8d7d2210567eb75c20267ea0534288fae779798;hp=dca97354876812601d69c6bc9764779608710d09;hb=a54ec60368110d22794602343c934902f6833c65;hpb=996ab3e41386da6b27cf21f6464ef1e55363e1ca diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerRegistration.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerRegistration.java index dca9735487..a8d7d22105 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerRegistration.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataChangeListenerRegistration.java @@ -11,46 +11,61 @@ package org.opendaylight.controller.cluster.datastore; import akka.actor.PoisonPill; import akka.actor.Props; import akka.japi.Creator; +import org.opendaylight.controller.cluster.common.actor.AbstractUntypedActor; + import org.opendaylight.controller.cluster.datastore.messages.CloseDataChangeListenerRegistration; import org.opendaylight.controller.cluster.datastore.messages.CloseDataChangeListenerRegistrationReply; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeListener; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; +import org.opendaylight.yangtools.concepts.ListenerRegistration; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; public class DataChangeListenerRegistration extends AbstractUntypedActor { - private final org.opendaylight.yangtools.concepts.ListenerRegistration>> + private final ListenerRegistration>> registration; public DataChangeListenerRegistration( - org.opendaylight.yangtools.concepts.ListenerRegistration>> registration) { + ListenerRegistration>> registration) { this.registration = registration; } @Override public void handleReceive(Object message) throws Exception { - if (message instanceof CloseDataChangeListenerRegistration) { + if (message.getClass().equals(CloseDataChangeListenerRegistration.SERIALIZABLE_CLASS)) { closeListenerRegistration( - (CloseDataChangeListenerRegistration) message); + new CloseDataChangeListenerRegistration()); } } public static Props props( - final org.opendaylight.yangtools.concepts.ListenerRegistration>> registration) { - return Props.create(new Creator() { - - @Override - public DataChangeListenerRegistration create() throws Exception { - return new DataChangeListenerRegistration(registration); - } - }); + final ListenerRegistration>> registration) { + return Props.create(new DataChangeListenerRegistrationCreator(registration)); } private void closeListenerRegistration( CloseDataChangeListenerRegistration message) { registration.close(); getSender() - .tell(new CloseDataChangeListenerRegistrationReply(), getSelf()); + .tell(new CloseDataChangeListenerRegistrationReply().toSerializable(), getSelf()); getSelf().tell(PoisonPill.getInstance(), getSelf()); } + + private static class DataChangeListenerRegistrationCreator + implements Creator { + private static final long serialVersionUID = 1L; + final ListenerRegistration>> registration; + + DataChangeListenerRegistrationCreator( + ListenerRegistration>> registration) { + this.registration = registration; + } + + @Override + public DataChangeListenerRegistration create() throws Exception { + return new DataChangeListenerRegistration(registration); + } + } }