2020
2121import com .google .common .base .MoreObjects ;
2222import com .google .common .collect .ImmutableSet ;
23- import com .google .common .collect .Iterables ;
2423import com .google .gcloud .ServiceOptions ;
2524import com .google .gcloud .datastore .spi .DatastoreRpc ;
2625import com .google .gcloud .datastore .spi .DatastoreRpcFactory ;
2726import com .google .gcloud .datastore .spi .DefaultDatastoreRpc ;
2827
2928import java .lang .reflect .Method ;
30- import java .util .Iterator ;
3129import java .util .Objects ;
3230import java .util .Set ;
3331
@@ -38,7 +36,6 @@ public class DatastoreOptions extends ServiceOptions<Datastore, DatastoreRpc, Da
3836 private static final Set <String > SCOPES = ImmutableSet .of (DATASTORE_SCOPE );
3937
4038 private final String namespace ;
41- private final boolean normalizeDataset ;
4239
4340 public static class DefaultDatastoreFactory implements DatastoreFactory {
4441
@@ -64,67 +61,31 @@ public static class Builder extends
6461 ServiceOptions .Builder <Datastore , DatastoreRpc , DatastoreOptions , Builder > {
6562
6663 private String namespace ;
67- private boolean normalizeDataset = true ;
6864
6965 private Builder () {
7066 }
7167
7268 private Builder (DatastoreOptions options ) {
7369 super (options );
7470 namespace = options .namespace ;
75- normalizeDataset = options .normalizeDataset ;
7671 }
7772
7873 @ Override
7974 public DatastoreOptions build () {
80- DatastoreOptions options = new DatastoreOptions (this );
81- return normalizeDataset ? options .normalize () : options ;
75+ return new DatastoreOptions (this );
8276 }
8377
8478 public Builder namespace (String namespace ) {
8579 this .namespace = validateNamespace (namespace );
8680 return this ;
8781 }
88-
89- Builder normalizeDataset (boolean normalizeDataset ) {
90- this .normalizeDataset = normalizeDataset ;
91- return this ;
92- }
9382 }
9483
9584 private DatastoreOptions (Builder builder ) {
9685 super (DatastoreFactory .class , DatastoreRpcFactory .class , builder );
97- normalizeDataset = builder .normalizeDataset ;
9886 namespace = builder .namespace != null ? builder .namespace : defaultNamespace ();
9987 }
10088
101- private DatastoreOptions normalize () {
102- if (!normalizeDataset ) {
103- return this ;
104- }
105-
106- Builder builder = toBuilder ();
107- builder .normalizeDataset (false );
108- // Replace provided project-id with full project-id (s~xxx, e~xxx,...)
109- com .google .datastore .v1beta3 .LookupRequest .Builder requestPb =
110- com .google .datastore .v1beta3 .LookupRequest .newBuilder ();
111- com .google .datastore .v1beta3 .Key key = com .google .datastore .v1beta3 .Key .newBuilder ()
112- .addPath (com .google .datastore .v1beta3 .Key .PathElement .newBuilder ()
113- .setKind ("__foo__" ).setName ("bar" ))
114- .build ();
115- requestPb .addKeys (key );
116- com .google .datastore .v1beta3 .LookupResponse responsePb = rpc ().lookup (requestPb .build ());
117- if (responsePb .getDeferredCount () > 0 ) {
118- key = responsePb .getDeferred (0 );
119- } else {
120- Iterator <com .google .datastore .v1beta3 .EntityResult > combinedIter =
121- Iterables .concat (responsePb .getMissingList (), responsePb .getFoundList ()).iterator ();
122- key = combinedIter .next ().getEntity ().getKey ();
123- }
124- builder .projectId (key .getPartitionId ().getProjectId ());
125- return new DatastoreOptions (builder );
126- }
127-
12889 @ Override
12990 protected String defaultHost () {
13091 String host = System .getProperty (
@@ -138,9 +99,6 @@ protected String defaultProject() {
13899 String projectId = System .getProperty (
139100 com .google .datastore .v1beta3 .client .DatastoreHelper .PROJECT_ID_ENV_VAR ,
140101 System .getenv (com .google .datastore .v1beta3 .client .DatastoreHelper .PROJECT_ID_ENV_VAR ));
141- if (projectId == null ) {
142- projectId = appEngineAppId ();
143- }
144102 return projectId != null ? projectId : super .defaultProject ();
145103 }
146104
@@ -192,7 +150,7 @@ public Builder toBuilder() {
192150
193151 @ Override
194152 public int hashCode () {
195- return baseHashCode () ^ Objects .hash (namespace , normalizeDataset );
153+ return Objects .hash (baseHashCode (), namespace );
196154 }
197155
198156 @ Override
@@ -201,8 +159,7 @@ public boolean equals(Object obj) {
201159 return false ;
202160 }
203161 DatastoreOptions other = (DatastoreOptions ) obj ;
204- return baseEquals (other ) && Objects .equals (namespace , other .namespace )
205- && Objects .equals (normalizeDataset , other .normalizeDataset );
162+ return baseEquals (other ) && Objects .equals (namespace , other .namespace );
206163 }
207164
208165 public static Builder builder () {
0 commit comments