Refactor transaction support in preparation for migration to latest APIs
 - Added a explicit transaction id type
 - cli command now just returns the identifiers of in-progress transactions
 - Removed redriveTransactions until a better alternative is provided
 - Removed DatabaseUpdate and replaced its usage with MapUpdate

Change-Id: Ic4a14967072068834510cd8459fd2a6790e456ef
diff --git a/core/api/src/main/java/org/onosproject/store/service/TransactionContext.java b/core/api/src/main/java/org/onosproject/store/service/TransactionContext.java
index ef97253..0ac490b 100644
--- a/core/api/src/main/java/org/onosproject/store/service/TransactionContext.java
+++ b/core/api/src/main/java/org/onosproject/store/service/TransactionContext.java
@@ -16,6 +16,8 @@
 
 package org.onosproject.store.service;
 
+import org.onosproject.store.primitives.TransactionId;
+
 /**
  * Provides a context for transactional operations.
  * <p>
@@ -31,14 +33,19 @@
  * context isolation level is REPEATABLE_READS i.e. only data that is committed can be read.
  * The only uncommitted data that can be read is the data modified by the current transaction.
  */
-public interface TransactionContext {
+public interface TransactionContext extends DistributedPrimitive {
+
+    @Override
+    default DistributedPrimitive.Type type() {
+        return DistributedPrimitive.Type.TRANSACTION_CONTEXT;
+    }
 
     /**
-     * Returns the unique transactionId.
+     * Returns the transaction identifier.
      *
      * @return transaction id
      */
-    long transactionId();
+    TransactionId transactionId();
 
     /**
      * Returns if this transaction context is open.