Skip to content

Commit fe2065b

Browse files
committed
Provide access to the native Transaction object from AsyncTransaction
1 parent 2ef01c9 commit fe2065b

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

src/main/java/com/googlecode/objectify/cache/CachingAsyncTransaction.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.google.cloud.datastore.Query;
77
import com.google.cloud.datastore.QueryResults;
88
import com.google.cloud.datastore.ReadOption;
9+
import com.google.cloud.datastore.Transaction;
910
import com.google.cloud.datastore.Transaction.Response;
1011
import com.google.protobuf.ByteString;
1112
import com.googlecode.objectify.Result;
@@ -125,7 +126,12 @@ public void listenForCommit(final Runnable listener) {
125126
public ByteString getTransactionHandle() {
126127
return raw.getTransactionHandle();
127128
}
128-
129+
130+
@Override
131+
public Transaction getRawTransaction() {
132+
return raw.getRawTransaction();
133+
}
134+
129135
@Override
130136
public void runCommitListeners() {
131137
((PrivateAsyncTransaction)raw).runCommitListeners();

src/main/java/com/googlecode/objectify/impl/AsyncTransaction.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.googlecode.objectify.impl;
22

3+
import com.google.cloud.datastore.Transaction;
34
import com.google.cloud.datastore.Transaction.Response;
45
import com.google.protobuf.ByteString;
56

@@ -19,4 +20,6 @@ public interface AsyncTransaction extends AsyncDatastoreReaderWriter {
1920
void listenForCommit(final Runnable listener);
2021

2122
ByteString getTransactionHandle();
22-
}
23+
24+
Transaction getRawTransaction();
25+
}

src/main/java/com/googlecode/objectify/impl/AsyncTransactionImpl.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,12 @@ public void listenForCommit(final Runnable listener) {
6666
public ByteString getTransactionHandle() {
6767
return transaction.getTransactionId();
6868
}
69-
69+
70+
@Override
71+
public Transaction getRawTransaction() {
72+
return transaction;
73+
}
74+
7075
@Override
7176
public void runCommitListeners() {
7277
for (final Runnable listener : listeners) {
@@ -104,4 +109,4 @@ public boolean isActive() {
104109
public void rollback() {
105110
transaction.rollback();
106111
}
107-
}
112+
}

0 commit comments

Comments
 (0)