88import com .google .cloud .datastore .QueryResults ;
99import com .google .cloud .datastore .StructuredQuery ;
1010import com .google .cloud .http .HttpTransportOptions ;
11+
1112import java .util .UUID ;
13+
1214import org .threeten .bp .Duration ;
1315
16+ /**
17+ * This class used to be part of the google SDK but was removed; it's been copied here instead.
18+ */
1419public class RemoteDatastoreHelper {
15- private final DatastoreOptions options ;
16- private final Datastore datastore ;
17- private final String namespace ;
20+ private final DatastoreOptions options ;
21+ private final Datastore datastore ;
22+ private final String namespace ;
1823
19- private RemoteDatastoreHelper (DatastoreOptions options ) {
20- this .options = options ;
21- this .datastore = options .getService ();
22- this .namespace = options .getNamespace ();
23- }
24+ private RemoteDatastoreHelper (DatastoreOptions options ) {
25+ this .options = options ;
26+ this .datastore = options .getService ();
27+ this .namespace = options .getNamespace ();
28+ }
2429
25- /**
26- * Returns a {@link DatastoreOptions} object to be used for testing. The options are associated to
27- * a randomly generated namespace.
28- */
29- public DatastoreOptions getOptions () {
30- return options ;
31- }
30+ /**
31+ * Returns a {@link DatastoreOptions} object to be used for testing. The options are associated to
32+ * a randomly generated namespace.
33+ */
34+ public DatastoreOptions getOptions () {
35+ return options ;
36+ }
3237
33- /**
34- * Deletes all entities in the namespace associated with this {@link RemoteDatastoreHelper}.
35- */
36- public void deleteNamespace () {
37- StructuredQuery <Key > query = Query .newKeyQueryBuilder ().setNamespace (namespace ).build ();
38- QueryResults <Key > keys = datastore .run (query );
39- while (keys .hasNext ()) {
40- datastore .delete (keys .next ());
38+ /**
39+ * Deletes all entities in the namespace associated with this {@link RemoteDatastoreHelper}.
40+ */
41+ public void deleteNamespace () {
42+ StructuredQuery <Key > query = Query .newKeyQueryBuilder ().setNamespace (namespace ).build ();
43+ QueryResults <Key > keys = datastore .run (query );
44+ while (keys .hasNext ()) {
45+ datastore .delete (keys .next ());
46+ }
4147 }
42- }
4348
44- /**
45- * Creates a {@code RemoteStorageHelper} object.
46- */
47- public static RemoteDatastoreHelper create () {
48- return create ("" );
49- }
49+ /**
50+ * Creates a {@code RemoteStorageHelper} object.
51+ */
52+ public static RemoteDatastoreHelper create () {
53+ return create ("" );
54+ }
5055
51- /**
52- * Creates a {@code RemoteStorageHelper} object.
53- */
54- public static RemoteDatastoreHelper create (
55- String databaseId ) {
56- HttpTransportOptions transportOptions = DatastoreOptions .getDefaultHttpTransportOptions ();
57- transportOptions =
58- transportOptions .toBuilder ().setConnectTimeout (60000 ).setReadTimeout (60000 ).build ();
59- DatastoreOptions .Builder datastoreOptionBuilder =
60- DatastoreOptions .newBuilder ()
61- .setDatabaseId (databaseId )
62- .setNamespace (UUID .randomUUID ().toString ())
63- .setRetrySettings (retrySettings ())
64- .setTransportOptions (transportOptions );
65- return new RemoteDatastoreHelper (datastoreOptionBuilder .build ());
66- }
56+ /**
57+ * Creates a {@code RemoteStorageHelper} object.
58+ */
59+ public static RemoteDatastoreHelper create (String databaseId ) {
60+ HttpTransportOptions transportOptions = DatastoreOptions .getDefaultHttpTransportOptions ();
61+ transportOptions =
62+ transportOptions .toBuilder ().setConnectTimeout (60000 ).setReadTimeout (60000 ).build ();
63+ DatastoreOptions .Builder datastoreOptionBuilder =
64+ DatastoreOptions .newBuilder ()
65+ .setDatabaseId (databaseId )
66+ .setNamespace (UUID .randomUUID ().toString ())
67+ .setRetrySettings (retrySettings ())
68+ .setTransportOptions (transportOptions );
69+ return new RemoteDatastoreHelper (datastoreOptionBuilder .build ());
70+ }
6771
68- private static RetrySettings retrySettings () {
69- return RetrySettings .newBuilder ()
70- .setMaxAttempts (10 )
71- .setMaxRetryDelay (Duration .ofMillis (30000L ))
72- .setTotalTimeout (Duration .ofMillis (120000L ))
73- .setInitialRetryDelay (Duration .ofMillis (250L ))
74- .setRetryDelayMultiplier (1.0 )
75- .setInitialRpcTimeout (Duration .ofMillis (120000L ))
76- .setRpcTimeoutMultiplier (1.0 )
77- .setMaxRpcTimeout (Duration .ofMillis (120000L ))
78- .build ();
79- }
72+ private static RetrySettings retrySettings () {
73+ return RetrySettings .newBuilder ()
74+ .setMaxAttempts (10 )
75+ .setMaxRetryDelay (Duration .ofMillis (30000L ))
76+ .setTotalTimeout (Duration .ofMillis (120000L ))
77+ .setInitialRetryDelay (Duration .ofMillis (250L ))
78+ .setRetryDelayMultiplier (1.0 )
79+ .setInitialRpcTimeout (Duration .ofMillis (120000L ))
80+ .setRpcTimeoutMultiplier (1.0 )
81+ .setMaxRpcTimeout (Duration .ofMillis (120000L ))
82+ .build ();
83+ }
8084}
0 commit comments