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.