NormalizedNodeAggregator should also report empty
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / databroker / DOMBrokerReadWriteTransaction.java
index efa7226219ab6324c8d0aa3f09b3f2655166d2f7..d9031c2d625fd6b8b7ddc2d1fffe8191306308a8 100644 (file)
@@ -5,49 +5,46 @@
  * 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.Optional;
-import com.google.common.util.concurrent.CheckedFuture;
+import com.google.common.util.concurrent.FluentFuture;
 import java.util.Map;
-import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.controller.md.sal.dom.api.DOMDataReadWriteTransaction;
-import org.opendaylight.controller.sal.core.spi.data.DOMStoreReadWriteTransaction;
-import org.opendaylight.controller.sal.core.spi.data.DOMStoreTransactionFactory;
+import java.util.Optional;
+import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction;
+import org.opendaylight.mdsal.dom.spi.store.DOMStoreReadWriteTransaction;
+import org.opendaylight.mdsal.dom.spi.store.DOMStoreTransactionFactory;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
-public class DOMBrokerReadWriteTransaction<T extends DOMStoreReadWriteTransaction>
-        extends DOMBrokerWriteOnlyTransaction<DOMStoreReadWriteTransaction> implements DOMDataReadWriteTransaction {
+public class DOMBrokerReadWriteTransaction extends AbstractDOMBrokerWriteTransaction<DOMStoreReadWriteTransaction>
+        implements DOMDataTreeReadWriteTransaction {
+
     /**
-     * Creates new composite Transactions.
+     * Constructs an instance.
      *
-     * @param identifier Identifier of transaction.
-     * @param storeTxFactories
+     * @param identifier identifier of transaction.
+     * @param storeTxFactories the backing transaction store factories
      */
-    protected DOMBrokerReadWriteTransaction(Object identifier, Map<LogicalDatastoreType, ? extends DOMStoreTransactionFactory>  storeTxFactories, final AbstractDOMTransactionFactory<?> commitImpl) {
+    protected DOMBrokerReadWriteTransaction(final Object identifier,
+            final Map<LogicalDatastoreType, ? extends DOMStoreTransactionFactory>  storeTxFactories,
+            final AbstractDOMTransactionFactory<?> commitImpl) {
         super(identifier, storeTxFactories, commitImpl);
     }
 
     @Override
-    public CheckedFuture<Optional<NormalizedNode<?,?>>, ReadFailedException> read(
-            final LogicalDatastoreType store, final YangInstanceIdentifier path) {
+    public FluentFuture<Optional<NormalizedNode>> read(final LogicalDatastoreType store,
+            final YangInstanceIdentifier path) {
         return getSubtransaction(store).read(path);
     }
 
     @Override
-    public CheckedFuture<Boolean, ReadFailedException> exists(
-            final LogicalDatastoreType store,
-            final YangInstanceIdentifier path) {
+    public FluentFuture<Boolean> exists(final LogicalDatastoreType store, final YangInstanceIdentifier path) {
         return getSubtransaction(store).exists(path);
     }
 
     @Override
-    protected DOMStoreReadWriteTransaction createTransaction(LogicalDatastoreType key) {
+    protected DOMStoreReadWriteTransaction createTransaction(final LogicalDatastoreType key) {
         return getTxFactory(key).newReadWriteTransaction();
     }
-
-
 }