2020
2121import com .google .gcloud .datastore .Datastore ;
2222import com .google .gcloud .datastore .Entity ;
23- import com .google .gcloud .datastore .FullEntity ;
2423import com .google .gcloud .datastore .Key ;
2524import com .google .gcloud .datastore .KeyFactory ;
2625import com .google .gcloud .datastore .Query ;
3130
3231public class UserService {
3332
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 ;
3636
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 ) {
3844 this .datastore = datastore ;
45+ this .keyFactory = datastore .newKeyFactory ().kind (kind );
46+ this .kind = kind ;
3947 }
4048
4149 /**
4250 * Return a list of all users.
4351 */
4452 public List <User > getAllUsers () {
4553 Query <Entity > query =
46- Query .gqlQueryBuilder (Query .ResultType .ENTITY , "SELECT * FROM " + KINDNAME ).build ();
54+ Query .gqlQueryBuilder (Query .ResultType .ENTITY , "SELECT * FROM " + kind ).build ();
4755 QueryResults <Entity > results = datastore .run (query );
4856 List <User > users = new ArrayList <>();
4957 while (results .hasNext ()) {
@@ -60,9 +68,8 @@ public List<User> getAllUsers() {
6068 public User createUser (String name , String email ) {
6169 failIfInvalid (name , email );
6270 User user = new User (name , email );
63- KeyFactory keyFactory = datastore .newKeyFactory ().kind (KINDNAME );
6471 Key key = keyFactory .newKey (user .getId ());
65- FullEntity entity = Entity .builder (key )
72+ Entity entity = Entity .builder (key )
6673 .set ("id" , user .getId ())
6774 .set ("name" , name )
6875 .set ("email" , email )
@@ -75,7 +82,6 @@ public User createUser(String name, String email) {
7582 * Delete a user from Cloud Datastore.
7683 */
7784 public String deleteUser (String id ) {
78- KeyFactory keyFactory = datastore .newKeyFactory ().kind (KINDNAME );
7985 Key key = keyFactory .newKey (id );
8086 datastore .delete (key );
8187 return "ok" ;
@@ -86,7 +92,6 @@ public String deleteUser(String id) {
8692 */
8793 public User updateUser (String id , String name , String email ) {
8894 failIfInvalid (name , email );
89- KeyFactory keyFactory = datastore .newKeyFactory ().kind (KINDNAME );
9095 Key key = keyFactory .newKey (id );
9196 Entity entity = datastore .get (key );
9297 if (entity == null ) {
0 commit comments