X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Feos-dom-akka%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Feos%2Fakka%2Fowner%2Fsupervisor%2FOwnerSyncer.java;fp=opendaylight%2Fmd-sal%2Feos-dom-akka%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Feos%2Fakka%2Fowner%2Fsupervisor%2FOwnerSyncer.java;h=04d27ee4dc47b80c1612f4386118535e23d33044;hb=5041389b273212eb0c643cc071fd48ad1166d864;hp=a73a5620b39687beb411d8ee911f075b182276d7;hpb=6acb7d83a90e16a5862d1856502b665ca4f2fea3;p=controller.git diff --git a/opendaylight/md-sal/eos-dom-akka/src/main/java/org/opendaylight/controller/eos/akka/owner/supervisor/OwnerSyncer.java b/opendaylight/md-sal/eos-dom-akka/src/main/java/org/opendaylight/controller/eos/akka/owner/supervisor/OwnerSyncer.java index a73a5620b3..04d27ee4dc 100644 --- a/opendaylight/md-sal/eos-dom-akka/src/main/java/org/opendaylight/controller/eos/akka/owner/supervisor/OwnerSyncer.java +++ b/opendaylight/md-sal/eos-dom-akka/src/main/java/org/opendaylight/controller/eos/akka/owner/supervisor/OwnerSyncer.java @@ -7,6 +7,8 @@ */ package org.opendaylight.controller.eos.akka.owner.supervisor; +import static java.util.Objects.requireNonNull; + import akka.actor.typed.ActorRef; import akka.actor.typed.Behavior; import akka.actor.typed.javadsl.AbstractBehavior; @@ -32,6 +34,7 @@ import org.opendaylight.controller.eos.akka.owner.supervisor.command.InitialOwne import org.opendaylight.controller.eos.akka.owner.supervisor.command.OwnerSupervisorCommand; import org.opendaylight.controller.eos.akka.owner.supervisor.command.OwnerSupervisorReply; import org.opendaylight.controller.eos.akka.registry.candidate.CandidateRegistry; +import org.opendaylight.mdsal.binding.dom.codec.api.BindingInstanceIdentifierCodec; import org.opendaylight.mdsal.eos.dom.api.DOMEntity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -49,17 +52,20 @@ public final class OwnerSyncer extends AbstractBehavior // String representation of Entity to DOMEntity private final Map entityLookup = new HashMap<>(); + private final BindingInstanceIdentifierCodec iidCodec; private int toSync = -1; private OwnerSyncer(final ActorContext context, - @Nullable final ActorRef notifyDatacenterStarted) { + final @Nullable ActorRef notifyDatacenterStarted, + final BindingInstanceIdentifierCodec iidCodec) { super(context); + this.iidCodec = requireNonNull(iidCodec); LOG.debug("Starting candidate and owner sync"); final ActorRef replicator = DistributedData.get(context.getSystem()).replicator(); - this.ownerReplicator = new ReplicatorMessageAdapter<>(context, replicator, Duration.ofSeconds(5)); + ownerReplicator = new ReplicatorMessageAdapter<>(context, replicator, Duration.ofSeconds(5)); new ReplicatorMessageAdapter>>(context, replicator, Duration.ofSeconds(5)).askGet( @@ -71,9 +77,9 @@ public final class OwnerSyncer extends AbstractBehavior } } - public static Behavior create( - final ActorRef notifyDatacenterStarted) { - return Behaviors.setup(ctx -> new OwnerSyncer(ctx, notifyDatacenterStarted)); + public static Behavior create(final ActorRef notifyDatacenterStarted, + final BindingInstanceIdentifierCodec iidCodec) { + return Behaviors.setup(ctx -> new OwnerSyncer(ctx, notifyDatacenterStarted, iidCodec)); } @Override @@ -142,8 +148,7 @@ public final class OwnerSyncer extends AbstractBehavior private Behavior switchToSupervisor() { LOG.debug("Initial sync done, switching to supervisor. candidates: {}, owners: {}", currentCandidates, currentOwners); - return Behaviors.setup(ctx -> - OwnerSupervisor.create(currentCandidates, currentOwners)); + return Behaviors.setup(ctx -> OwnerSupervisor.create(currentCandidates, currentOwners, iidCodec)); } private void handleOwnerRsp(final Replicator.GetSuccess> rsp) {