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 (
@@ -139,7 +100,7 @@ protected String defaultProject() {
139100 com .google .datastore .v1beta3 .client .DatastoreHelper .PROJECT_ID_ENV_VAR ,
140101 System .getenv (com .google .datastore .v1beta3 .client .DatastoreHelper .PROJECT_ID_ENV_VAR ));
141102 if (projectId == null ) {
142- projectId = appEngineAppId ();
103+ projectId = appEngineProjectId ();
143104 }
144105 return projectId != null ? projectId : super .defaultProject ();
145106 }
@@ -192,7 +153,7 @@ public Builder toBuilder() {
192153
193154 @ Override
194155 public int hashCode () {
195- return baseHashCode () ^ Objects .hash (namespace , normalizeDataset );
156+ return baseHashCode () ^ Objects .hash (namespace );
196157 }
197158
198159 @ Override
@@ -201,8 +162,7 @@ public boolean equals(Object obj) {
201162 return false ;
202163 }
203164 DatastoreOptions other = (DatastoreOptions ) obj ;
204- return baseEquals (other ) && Objects .equals (namespace , other .namespace )
205- && Objects .equals (normalizeDataset , other .normalizeDataset );
165+ return baseEquals (other ) && Objects .equals (namespace , other .namespace );
206166 }
207167
208168 public static Builder builder () {
0 commit comments