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%2FDataTreeCohortActorRegistry.java;h=f213cc7588ab3c6d3b7794bf10ac914824ce9477;hp=572abeec7d1bdcf450421a7c4137fc82b60d09f5;hb=1d5ca4009be6c61d7b61989799037ad8f1ab7a75;hpb=e301ed83b10c2665cda02ffd06153e1565a2bb39 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortActorRegistry.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortActorRegistry.java index 572abeec7d..f213cc7588 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortActorRegistry.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DataTreeCohortActorRegistry.java @@ -5,14 +5,14 @@ * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ - package org.opendaylight.controller.cluster.datastore; +import static java.util.Objects.requireNonNull; + import akka.actor.ActorRef; import akka.actor.PoisonPill; import akka.actor.Status; import akka.util.Timeout; -import com.google.common.base.Preconditions; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; import java.util.ArrayList; @@ -20,7 +20,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.annotation.concurrent.NotThreadSafe; +import java.util.concurrent.Executor; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.dom.api.DOMDataTreeCandidate; @@ -30,19 +30,18 @@ import org.opendaylight.mdsal.dom.spi.RegistrationTreeNode; import org.opendaylight.mdsal.dom.spi.RegistrationTreeSnapshot; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidate; -import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeCandidateNode; -import org.opendaylight.yangtools.yang.data.api.schema.tree.ModificationType; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidate; +import org.opendaylight.yangtools.yang.data.tree.api.DataTreeCandidateNode; +import org.opendaylight.yangtools.yang.data.tree.api.ModificationType; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Registry of user commit cohorts, which is responsible for handling registration and calculation - * of affected cohorts based on {@link DataTreeCandidate}. + * of affected cohorts based on {@link DataTreeCandidate}. This class is NOT thread-safe. * */ -@NotThreadSafe class DataTreeCohortActorRegistry extends AbstractRegistrationTree { private static final Logger LOG = LoggerFactory.getLogger(DataTreeCohortActorRegistry.class); @@ -98,11 +97,10 @@ class DataTreeCohortActorRegistry extends AbstractRegistrationTree { } abstract static class CohortRegistryCommand { - private final ActorRef cohort; CohortRegistryCommand(final ActorRef cohort) { - this.cohort = Preconditions.checkNotNull(cohort); + this.cohort = requireNonNull(cohort); } ActorRef getCohort() { @@ -111,40 +109,34 @@ class DataTreeCohortActorRegistry extends AbstractRegistrationTree { } static class RegisterCohort extends CohortRegistryCommand { - private final DOMDataTreeIdentifier path; RegisterCohort(final DOMDataTreeIdentifier path, final ActorRef cohort) { super(cohort); this.path = path; - } public DOMDataTreeIdentifier getPath() { return path; } - } static class RemoveCohort extends CohortRegistryCommand { - RemoveCohort(final ActorRef cohort) { super(cohort); } - } private static class CanCommitMessageBuilder { - + private final Multimap actorToCandidates = ArrayListMultimap.create(); private final TransactionIdentifier txId; private final DataTreeCandidate candidate; private final SchemaContext schema; - private final Multimap actorToCandidates = ArrayListMultimap.create(); CanCommitMessageBuilder(final TransactionIdentifier txId, final DataTreeCandidate candidate, final SchemaContext schema) { - this.txId = Preconditions.checkNotNull(txId); - this.candidate = Preconditions.checkNotNull(candidate); + this.txId = requireNonNull(txId); + this.candidate = requireNonNull(candidate); this.schema = schema; } @@ -219,7 +211,7 @@ class DataTreeCohortActorRegistry extends AbstractRegistrationTree { } CompositeDataTreeCohort createCohort(final SchemaContext schemaContext, final TransactionIdentifier txId, - final Timeout commitStepTimeout) { - return new CompositeDataTreeCohort(this, txId, schemaContext, commitStepTimeout); + final Executor callbackExecutor, final Timeout commitStepTimeout) { + return new CompositeDataTreeCohort(this, txId, schemaContext, callbackExecutor, commitStepTimeout); } }