20
20
21
21
import com .google .gcloud .datastore .Datastore ;
22
22
import com .google .gcloud .datastore .Entity ;
23
- import com .google .gcloud .datastore .FullEntity ;
24
23
import com .google .gcloud .datastore .Key ;
25
24
import com .google .gcloud .datastore .KeyFactory ;
26
25
import com .google .gcloud .datastore .Query ;
31
30
32
31
public class UserService {
33
32
34
- private static final String KINDNAME = "DEMO_USER" ;
35
- private Datastore datastore ;
33
+ private final Datastore datastore ;
34
+ private final KeyFactory keyFactory ;
35
+ private final String kind ;
36
36
37
- public UserService (Datastore datastore ) {
37
+ /**
38
+ * Constructor for UserService.
39
+ *
40
+ * @param datastore gcloud-java Datastore service object to execute requests
41
+ * @param kind the kind for the Datastore entities in this demo
42
+ */
43
+ public UserService (Datastore datastore , String kind ) {
38
44
this .datastore = datastore ;
45
+ this .keyFactory = datastore .newKeyFactory ().kind (kind );
46
+ this .kind = kind ;
39
47
}
40
48
41
49
/**
42
50
* Return a list of all users.
43
51
*/
44
52
public List <User > getAllUsers () {
45
53
Query <Entity > query =
46
- Query .gqlQueryBuilder (Query .ResultType .ENTITY , "SELECT * FROM " + KINDNAME ).build ();
54
+ Query .gqlQueryBuilder (Query .ResultType .ENTITY , "SELECT * FROM " + kind ).build ();
47
55
QueryResults <Entity > results = datastore .run (query );
48
56
List <User > users = new ArrayList <>();
49
57
while (results .hasNext ()) {
@@ -60,9 +68,8 @@ public List<User> getAllUsers() {
60
68
public User createUser (String name , String email ) {
61
69
failIfInvalid (name , email );
62
70
User user = new User (name , email );
63
- KeyFactory keyFactory = datastore .newKeyFactory ().kind (KINDNAME );
64
71
Key key = keyFactory .newKey (user .getId ());
65
- FullEntity entity = Entity .builder (key )
72
+ Entity entity = Entity .builder (key )
66
73
.set ("id" , user .getId ())
67
74
.set ("name" , name )
68
75
.set ("email" , email )
@@ -75,7 +82,6 @@ public User createUser(String name, String email) {
75
82
* Delete a user from Cloud Datastore.
76
83
*/
77
84
public String deleteUser (String id ) {
78
- KeyFactory keyFactory = datastore .newKeyFactory ().kind (KINDNAME );
79
85
Key key = keyFactory .newKey (id );
80
86
datastore .delete (key );
81
87
return "ok" ;
@@ -86,7 +92,6 @@ public String deleteUser(String id) {
86
92
*/
87
93
public User updateUser (String id , String name , String email ) {
88
94
failIfInvalid (name , email );
89
- KeyFactory keyFactory = datastore .newKeyFactory ().kind (KINDNAME );
90
95
Key key = keyFactory .newKey (id );
91
96
Entity entity = datastore .get (key );
92
97
if (entity == null ) {
0 commit comments