Skip to content

Commit cd1cda3

Browse files
committed
---
yaml --- r: 21 b: refs/heads/master c: d0e243c h: refs/heads/master i: 19: 32bbe0a v: v3
1 parent fa157ec commit cd1cda3

20 files changed

Lines changed: 395 additions & 181 deletions

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
refs/heads/master: c5b5b75533e24c298692193e8f4a98d8102bdc86
2+
refs/heads/master: d0e243c2c9366a2927cb6938fa3109ddddf4cef0

trunk/.classpath

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
</attributes>
2424
<accessrules>
2525
<accessrule kind="nonaccessible" pattern="**/repackaged/**"/>
26+
<accessrule kind="nonaccessible" pattern="com/google/api/client/util/**"/>
2627
</accessrules>
2728
</classpathentry>
2829
<classpathentry kind="var" path="ECLIPSE_HOME"/>

trunk/pom.xml

Lines changed: 48 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,52 @@
44
<artifactId>git-demo</artifactId>
55
<version>0.0.1-SNAPSHOT</version>
66
<dependencies>
7-
<dependency>
8-
<groupId>com.google.http-client</groupId>
9-
<artifactId>google-http-client</artifactId>
10-
<version>1.18.0-rc</version>
11-
</dependency>
12-
<dependency>
13-
<groupId>com.google.oauth-client</groupId>
14-
<artifactId>google-oauth-client</artifactId>
15-
<version>1.18.0-rc</version>
16-
</dependency>
17-
<dependency>
18-
<groupId>com.google.guava</groupId>
19-
<artifactId>guava</artifactId>
20-
<version>RELEASE</version>
21-
</dependency>
22-
<dependency>
23-
<groupId>com.google.apis</groupId>
24-
<artifactId>
25-
google-api-services-datastore-protobuf
26-
</artifactId>
27-
<version>v1beta2-rev1-2.1.0</version>
28-
</dependency>
29-
<dependency>
30-
<groupId>com.google.api-client</groupId>
31-
<artifactId>google-api-client-appengine</artifactId>
32-
<version>1.18.0-rc</version>
33-
</dependency>
7+
<dependency>
8+
<groupId>com.google.http-client</groupId>
9+
<artifactId>google-http-client</artifactId>
10+
<version>1.18.0-rc</version>
11+
</dependency>
12+
<dependency>
13+
<groupId>com.google.oauth-client</groupId>
14+
<artifactId>google-oauth-client</artifactId>
15+
<version>1.18.0-rc</version>
16+
</dependency>
17+
<dependency>
18+
<groupId>com.google.guava</groupId>
19+
<artifactId>guava</artifactId>
20+
<version>RELEASE</version>
21+
</dependency>
22+
<dependency>
23+
<groupId>com.google.apis</groupId>
24+
<artifactId>
25+
google-api-services-datastore-protobuf
26+
</artifactId>
27+
<version>v1beta2-rev1-2.1.0</version>
28+
</dependency>
29+
<dependency>
30+
<groupId>com.google.api-client</groupId>
31+
<artifactId>google-api-client-appengine</artifactId>
32+
<version>1.18.0-rc</version>
33+
</dependency>
34+
<dependency>
35+
<groupId>junit</groupId>
36+
<artifactId>junit</artifactId>
37+
<scope>test</scope>
38+
<version>RELEASE</version>
39+
</dependency>
3440
</dependencies>
35-
</project>
41+
<build>
42+
<plugins>
43+
<plugin>
44+
<groupId>org.apache.maven.plugins</groupId>
45+
<artifactId>maven-compiler-plugin</artifactId>
46+
<version>2.5.1</version>
47+
<configuration>
48+
<source>1.7</source>
49+
<target>1.7</target>
50+
<encoding>UTF-8</encoding>
51+
</configuration>
52+
</plugin>
53+
</plugins>
54+
</build>
55+
</project>

trunk/src/main/java/com/google/gcloud/ServiceOptions.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,17 +79,17 @@ protected Builder(ServiceOptions options) {
7979

8080
protected abstract ServiceOptions build();
8181

82-
public Builder setHost(String host) {
82+
public Builder host(String host) {
8383
this.host = host;
8484
return this;
8585
}
8686

87-
public Builder setHttpTransport(HttpTransport httpTransport) {
87+
public Builder httpTransport(HttpTransport httpTransport) {
8888
this.httpTransport = httpTransport;
8989
return this;
9090
}
9191

92-
public Builder setAuthConfig(AuthConfig authConfig) {
92+
public Builder authConfig(AuthConfig authConfig) {
9393
this.authConfig = authConfig;
9494
return this;
9595
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.google.gcloud.datastore;
2+
3+
import java.util.Iterator;
4+
5+
public interface DatastoreReader {
6+
7+
Entity get(Key key);
8+
9+
// results are returned using request order
10+
Iterator<Entity> get(Key... key);
11+
12+
// query result item is a tuple of (key, value...) where values may be empty
13+
//QueryResult runQuery(Query query);
14+
}
Lines changed: 10 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,11 @@
11
package com.google.gcloud.datastore;
22

33
import java.util.Iterator;
4-
import java.util.Map;
54

6-
public interface DatastoreService {
5+
public interface DatastoreService extends DatastoreReader, DatastoreWriter {
76

8-
interface DatastoreReader {
7+
interface Query {
98

10-
Map<String, Property<?, ?, ?>> get(Key key);
11-
12-
// return the result in the given order
13-
Iterator<Map<String, Property<?, ?, ?>>> get(Iterator<Key> key);
14-
15-
// query result item is a tuple of (key, value...) where values may be empty
16-
//QueryResult runQuery(Query query);
17-
}
18-
19-
// TODO: remove all refrence of IncomplteKey (except allocate and use Entity instead of Map)
20-
21-
interface DatastoreWriter {
22-
23-
Key add(IncompleteKey key, Map<String, Property<?, ?, ?>> values);
24-
25-
void update(Key key , Map<String, Property<?, ?, ?>> values);
26-
27-
Key put(IncompleteKey key, Map<String, Property<?, ?, ?>> values);
28-
29-
void delete(Key key);
309
}
3110

3211

@@ -43,35 +22,28 @@ enum IsolationLevel {
4322
SERIALIZABLE, SNAPSHOT;
4423
}
4524

46-
IsolationLevel getIsolationLevel();
47-
}
48-
49-
public interface Batch extends DatastoreWriter {
5025

51-
@Override
52-
void add(Key key, Map<String, Property<?, ?, ?>> values);
26+
IsolationLevel getIsolationLevel();
5327

54-
@Override
55-
void update(Key key , Map<String, Property<?, ?, ?>> values);
28+
boolean force();
29+
}
5630

57-
@Override
58-
void put(Key key, Map<String, Property<?, ?, ?>> values);
31+
public interface BatchWriter extends DatastoreWriter {
5932

6033
void submit();
6134
}
6235

6336
public interface BatchOptions {
64-
6537
}
6638

6739
DatastoreServiceOptions getOptions();
6840

69-
Transaction newTransaction(TransactionOptions tsOptions);
41+
Transaction newTransaction(TransactionOptions transactionOptions);
7042

71-
Batch newBatch();
43+
BatchWriter newBatchWriter(BatchOptions batchOptions);
7244

7345
Key allocateId(IncompleteKey key);
7446

75-
// results are returned in request order
76-
Iterator<Key> allocateIds(Iterator<IncompleteKey> key);
47+
// results are returned using request order
48+
Iterator<Key> allocateIds(IncompleteKey... key);
7749
}

trunk/src/main/java/com/google/gcloud/datastore/DatastoreServiceImpl.java

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.google.gcloud.datastore;
22

3+
import java.util.Iterator;
4+
35

46
final class DatastoreServiceImpl implements DatastoreService {
57

@@ -13,4 +15,64 @@ final class DatastoreServiceImpl implements DatastoreService {
1315
public DatastoreServiceOptions getOptions() {
1416
return options;
1517
}
18+
19+
@Override
20+
public Transaction newTransaction(TransactionOptions transactionOptions) {
21+
// TODO Auto-generated method stub
22+
return null;
23+
}
24+
25+
@Override
26+
public BatchWriter newBatchWriter(BatchOptions batchOptions) {
27+
// TODO Auto-generated method stub
28+
return null;
29+
}
30+
31+
@Override
32+
public Key allocateId(IncompleteKey key) {
33+
// TODO Auto-generated method stub
34+
return null;
35+
}
36+
37+
@Override
38+
public Iterator<Key> allocateIds(IncompleteKey... key) {
39+
// TODO Auto-generated method stub
40+
return null;
41+
}
42+
43+
@Override
44+
public Entity get(Key key) {
45+
// TODO Auto-generated method stub
46+
return null;
47+
}
48+
49+
@Override
50+
public Iterator<Entity> get(Key... key) {
51+
// TODO Auto-generated method stub
52+
return null;
53+
}
54+
55+
@Override
56+
public void add(Entity... entity) {
57+
// TODO Auto-generated method stub
58+
59+
}
60+
61+
@Override
62+
public void update(Entity... entity) {
63+
// TODO Auto-generated method stub
64+
65+
}
66+
67+
@Override
68+
public Key put(Entity... entity) {
69+
// TODO Auto-generated method stub
70+
return null;
71+
}
72+
73+
@Override
74+
public void delete(Key... key) {
75+
// TODO Auto-generated method stub
76+
77+
}
1678
}

trunk/src/main/java/com/google/gcloud/datastore/DatastoreServiceOptions.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,34 +17,44 @@ public class DatastoreServiceOptions extends ServiceOptions {
1717
private static final Set<String> SCOPES = ImmutableSet.of(DATASTORE_SCOPE, USERINFO_SCOPE);
1818
private static final Pattern PATTERN = Pattern.compile(
1919
"([a-z\\d\\-]{1,100}~)?([a-z\\d][a-z\\d\\-\\.]{0,99}\\:)?([a-z\\d][a-z\\d\\-]{0,99})");
20+
2021
private final String dataset;
22+
private final boolean force;
2123

2224
DatastoreServiceOptions(Builder builder) {
2325
super(builder);
2426
dataset = firstNonNull(builder.dataset, getAppEngineAppId());
2527
checkArgument(dataset != null, "missing dataset");
28+
force = builder.force;
2629
}
2730

2831
public static class Builder extends ServiceOptions.Builder {
2932

3033
private String dataset;
34+
private boolean force = false;
3135

3236
public Builder() {}
3337

3438
public Builder(DatastoreServiceOptions options) {
3539
super(options);
3640
dataset = options.dataset;
41+
force = options.force;
3742
}
3843

3944
@Override
4045
public DatastoreServiceOptions build() {
4146
return new DatastoreServiceOptions(this);
4247
}
4348

44-
public Builder setDataset(String dataset) {
49+
public Builder dataset(String dataset) {
4550
this.dataset = validateDataset(dataset);
4651
return this;
4752
}
53+
54+
public Builder force(boolean force) {
55+
this.force = force;
56+
return this;
57+
}
4858
}
4959

5060
static String validateDataset(String dataset) {
@@ -62,6 +72,10 @@ public String getDataset() {
6272
return dataset;
6373
}
6474

75+
public boolean getForce() {
76+
return force;
77+
}
78+
6579
@Override
6680
protected Set<String> getScopes() {
6781
return SCOPES;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.google.gcloud.datastore;
2+
3+
public interface DatastoreWriter {
4+
5+
void add(Entity... entity);
6+
7+
void update(Entity... entity);
8+
9+
Key put(Entity... entity);
10+
11+
void delete(Key... key);
12+
}

trunk/src/main/java/com/google/gcloud/datastore/EmbeddedEntity.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.google.gcloud.datastore;
22

33
import com.google.api.services.datastore.DatastoreV1;
4-
import com.google.common.collect.ImmutableMap;
4+
import com.google.common.collect.ImmutableSortedMap;
55

66
import java.io.IOException;
77
import java.io.ObjectInputStream;
@@ -18,7 +18,7 @@ public final class EmbeddedEntity implements Serializable {
1818
private static final long serialVersionUID = 6492561268709192891L;
1919

2020
private final transient IncompleteKey key;
21-
private final transient ImmutableMap<String, Property<?, ?, ?>> properties;
21+
private final transient ImmutableSortedMap<String, Property<?, ?, ?>> properties;
2222
private transient DatastoreV1.Entity tempEntityPb; // only for deserialization
2323

2424
public static final class Builder {
@@ -66,7 +66,12 @@ public EmbeddedEntity build() {
6666

6767
private EmbeddedEntity(Builder builder) {
6868
key = builder.key;
69-
properties = ImmutableMap.copyOf(builder.properties);
69+
properties = ImmutableSortedMap.copyOf(builder.properties);
70+
}
71+
72+
public EmbeddedEntity(Entity entity) {
73+
key = entity.getKey();
74+
properties = entity.getProperties();
7075
}
7176

7277
/**

0 commit comments

Comments
 (0)