Skip to content

Commit f434a51

Browse files
committed
Refactor storage driver context to be interface.
1 parent 594450a commit f434a51

3 files changed

Lines changed: 29 additions & 16 deletions

File tree

temporal-sdk/src/main/java/io/temporal/payload/storage/StorageDriverRetrieveContext.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
import io.temporal.common.Experimental;
44

5-
/** Context passed to {@link StorageDriver#retrieve}. */
5+
/**
6+
* Context passed to {@link StorageDriver#retrieve}.
7+
*
8+
* <p>Implemented by the SDK and passed to the driver. Driver authors do not implement this in
9+
* production code, only when constructing instances for their own tests.
10+
*/
611
@Experimental
7-
public final class StorageDriverRetrieveContext {}
12+
public interface StorageDriverRetrieveContext {}

temporal-sdk/src/main/java/io/temporal/payload/storage/StorageDriverStoreContext.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,18 @@
33
import io.temporal.common.Experimental;
44
import javax.annotation.Nullable;
55

6-
/** Context passed to {@link StorageDriver#store} and {@link StorageDriverSelector}. */
6+
/**
7+
* Context passed to {@link StorageDriver#store} and {@link StorageDriverSelector}.
8+
*
9+
* <p>Implemented by the SDK and passed to the driver. Driver authors do not implement this in
10+
* production code, only when constructing instances for their own tests.
11+
*/
712
@Experimental
8-
public final class StorageDriverStoreContext {
9-
private final @Nullable StorageDriverTargetInfo target;
10-
11-
public StorageDriverStoreContext(@Nullable StorageDriverTargetInfo target) {
12-
this.target = target;
13-
}
14-
13+
public interface StorageDriverStoreContext {
14+
/**
15+
* Identity of the workflow or activity the payload is being stored for, or {@code null} when it
16+
* is not available.
17+
*/
1518
@Nullable
16-
public StorageDriverTargetInfo getTarget() {
17-
return target;
18-
}
19+
StorageDriverTargetInfo getTarget();
1920
}

temporal-sdk/src/test/java/io/temporal/payload/storage/ExternalStorageTest.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,15 @@
1313

1414
public class ExternalStorageTest {
1515

16+
private static StorageDriverStoreContext storeContext(StorageDriverTargetInfo target) {
17+
return new StorageDriverStoreContext() {
18+
@Override
19+
public StorageDriverTargetInfo getTarget() {
20+
return target;
21+
}
22+
};
23+
}
24+
1625
private static StorageDriver driver(String name) {
1726
return new StorageDriver() {
1827
@Override
@@ -46,9 +55,7 @@ public void singleDriverNoSelectorSynthesizesSelector() {
4655
assertEquals(1, storage.getDrivers().size());
4756
StorageDriverSelector selector = storage.getDriverSelector();
4857
assertNotNull(selector);
49-
assertSame(
50-
a,
51-
selector.selectDriver(new StorageDriverStoreContext(null), Payload.getDefaultInstance()));
58+
assertSame(a, selector.selectDriver(storeContext(null), Payload.getDefaultInstance()));
5259
}
5360

5461
@Test

0 commit comments

Comments
 (0)