AsyncConsistentMap methods for supporting transactional updates

Change-Id: Iaeb0aa0abf9f52d514a2c040598599a5b8a55ee8
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentMap.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentMap.java
index 5342d74..bd9690c 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentMap.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentMap.java
@@ -32,11 +32,10 @@
 
 import org.onlab.util.Match;
 import org.onosproject.store.primitives.TransactionId;
-import org.onosproject.store.primitives.impl.Transaction;
-import org.onosproject.store.primitives.impl.TransactionParticipant;
 import org.onosproject.store.service.AsyncConsistentMap;
 import org.onosproject.store.service.MapEvent;
 import org.onosproject.store.service.MapEventListener;
+import org.onosproject.store.service.MapTransaction;
 import org.onosproject.store.service.Versioned;
 
 import com.google.common.collect.Sets;
@@ -46,7 +45,7 @@
  */
 @ResourceTypeInfo(id = -151, stateMachine = AtomixConsistentMapState.class)
 public class AtomixConsistentMap extends Resource<AtomixConsistentMap, Resource.Options>
-    implements AsyncConsistentMap<String, byte[]>, TransactionParticipant {
+    implements AsyncConsistentMap<String, byte[]> {
 
     private final Set<MapEventListener<String, byte[]>> mapEventListeners = Sets.newCopyOnWriteArraySet();
 
@@ -266,18 +265,21 @@
     }
 
     @Override
-    public CompletableFuture<PrepareResult> prepare(Transaction transaction) {
-        return submit(new AtomixConsistentMapCommands.TransactionPrepare(transaction));
+    public CompletableFuture<Boolean> prepare(MapTransaction<String, byte[]> transaction) {
+        return submit(new AtomixConsistentMapCommands.TransactionPrepare(transaction))
+                .thenApply(v -> v == PrepareResult.OK);
     }
 
     @Override
-    public CompletableFuture<CommitResult> commit(TransactionId transactionId) {
-        return submit(new AtomixConsistentMapCommands.TransactionCommit(transactionId));
+    public CompletableFuture<Void> commit(TransactionId transactionId) {
+        return submit(new AtomixConsistentMapCommands.TransactionCommit(transactionId))
+                .thenApply(v -> null);
     }
 
     @Override
-    public CompletableFuture<RollbackResult> rollback(TransactionId transactionId) {
-        return submit(new AtomixConsistentMapCommands.TransactionRollback(transactionId));
+    public CompletableFuture<Void> rollback(TransactionId transactionId) {
+        return submit(new AtomixConsistentMapCommands.TransactionRollback(transactionId))
+                .thenApply(v -> null);
     }
 
     /**