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%2Fdatabroker%2FAbstractDOMBrokerTransaction.java;h=2655b61f682e526a6205db89b9fe1da10e1821f6;hb=5b987edaa120859d0f7e25bc916262dad505eeb8;hp=98fea88f632285b3e7d5d6f1f900d6b716d3bb89;hpb=dfbfbf7abe18e6d6011cd33d4906f8a7e030ee84;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerTransaction.java index 98fea88f63..2655b61f68 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerTransaction.java @@ -5,63 +5,62 @@ * 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.databroker; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static java.util.Objects.requireNonNull; + +import com.google.common.base.MoreObjects; +import com.google.common.base.MoreObjects.ToStringHelper; import java.util.Collection; import java.util.EnumMap; import java.util.Map; -import org.opendaylight.controller.md.sal.common.api.data.AsyncTransaction; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.sal.core.spi.data.DOMStoreTransaction; -import org.opendaylight.controller.sal.core.spi.data.DOMStoreTransactionFactory; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; +import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransaction; +import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionFactory; -public abstract class AbstractDOMBrokerTransaction implements - AsyncTransaction> { +public abstract class AbstractDOMBrokerTransaction implements DOMDataTreeTransaction { - private Map backingTxs; + private final EnumMap backingTxs; private final Object identifier; private final Map storeTxFactories; /** - * * Creates new composite Transactions. * - * @param identifier - * Identifier of transaction. + * @param identifier Identifier of transaction. */ - protected AbstractDOMBrokerTransaction(final Object identifier, Map storeTxFactories) { - this.identifier = Preconditions.checkNotNull(identifier, "Identifier should not be null"); - this.storeTxFactories = Preconditions.checkNotNull(storeTxFactories, "Store Transaction Factories should not be null"); - this.backingTxs = new EnumMap(LogicalDatastoreType.class); + protected AbstractDOMBrokerTransaction(final Object identifier, + Map storeTxFactories) { + this.identifier = requireNonNull(identifier, "Identifier should not be null"); + this.storeTxFactories = requireNonNull(storeTxFactories, "Store Transaction Factories should not be null"); + this.backingTxs = new EnumMap<>(LogicalDatastoreType.class); } /** * Returns subtransaction associated with supplied key. * - * @param key - * @return + * @param key the data store type key + * @return the subtransaction * @throws NullPointerException * if key is null * @throws IllegalArgumentException * if no subtransaction is associated with key. */ - protected final T getSubtransaction(final K key) { - Preconditions.checkNotNull(key, "key must not be null."); + protected final T getSubtransaction(final LogicalDatastoreType key) { + requireNonNull(key, "key must not be null."); T ret = backingTxs.get(key); - if(ret == null){ + if (ret == null) { ret = createTransaction(key); backingTxs.put(key, ret); } - Preconditions.checkArgument(ret != null, "No subtransaction associated with %s", key); + checkArgument(ret != null, "No subtransaction associated with %s", key); return ret; } - protected abstract T createTransaction(final K key); + protected abstract T createTransaction(LogicalDatastoreType key); /** * Returns immutable Iterable of all subtransactions. @@ -76,6 +75,7 @@ public abstract class AbstractDOMBrokerTransaction