@Test public void testSaveProfile() throws Exception { Profile profile = conferenceApi.saveProfile( user, new ProfileForm(DISPLAY_NAME, TEE_SHIRT_SIZE)); assertEquals(USER_ID, profile.getUserId()); assertEquals(EMAIL, profile.getMainEmail()); assertEquals(TEE_SHIRT_SIZE, profile.getTeeShirtSize()); assertEquals(DISPLAY_NAME, profile.getDisplayName()); profile = ofy().load().key(Key.create(Profile.class, user.getUserId())).now(); assertEquals(USER_ID, profile.getUserId()); assertEquals(EMAIL, profile.getMainEmail()); assertEquals(TEE_SHIRT_SIZE, profile.getTeeShirtSize()); assertEquals(DISPLAY_NAME, profile.getDisplayName()); }
@ApiMethod(name = "saveProfile", path = "profile", httpMethod = HttpMethod.POST) public Profile saveProfile(final User user, final ProfileForm profileForm) throws UnauthorizedException { if (user == null) { throw new UnauthorizedException("Authorization required"); } String displayName = profileForm.getDisplayName(); TeeShirtSize teeShirtSize = profileForm.getTeeShirtSize(); Profile profile = ofy().load().key(Key.create(Profile.class, getUserId(user))).now(); if (profile == null) { if (displayName == null) { displayName = extractDefaultDisplayNameFromEmail(user.getEmail()); } if (teeShirtSize == null) { teeShirtSize = TeeShirtSize.NOT_SPECIFIED; } profile = new Profile(getUserId(user), displayName, user.getEmail(), teeShirtSize); } else { profile.update(displayName, teeShirtSize); } ofy().save().entity(profile).now(); return profile; }
ConferenceApi { @ApiMethod(name = "saveProfile", path = "profile", httpMethod = HttpMethod.POST) public Profile saveProfile(final User user, final ProfileForm profileForm) throws UnauthorizedException { if (user == null) { throw new UnauthorizedException("Authorization required"); } String displayName = profileForm.getDisplayName(); TeeShirtSize teeShirtSize = profileForm.getTeeShirtSize(); Profile profile = ofy().load().key(Key.create(Profile.class, getUserId(user))).now(); if (profile == null) { if (displayName == null) { displayName = extractDefaultDisplayNameFromEmail(user.getEmail()); } if (teeShirtSize == null) { teeShirtSize = TeeShirtSize.NOT_SPECIFIED; } profile = new Profile(getUserId(user), displayName, user.getEmail(), teeShirtSize); } else { profile.update(displayName, teeShirtSize); } ofy().save().entity(profile).now(); return profile; } }
ConferenceApi { @ApiMethod(name = "saveProfile", path = "profile", httpMethod = HttpMethod.POST) public Profile saveProfile(final User user, final ProfileForm profileForm) throws UnauthorizedException { if (user == null) { throw new UnauthorizedException("Authorization required"); } String displayName = profileForm.getDisplayName(); TeeShirtSize teeShirtSize = profileForm.getTeeShirtSize(); Profile profile = ofy().load().key(Key.create(Profile.class, getUserId(user))).now(); if (profile == null) { if (displayName == null) { displayName = extractDefaultDisplayNameFromEmail(user.getEmail()); } if (teeShirtSize == null) { teeShirtSize = TeeShirtSize.NOT_SPECIFIED; } profile = new Profile(getUserId(user), displayName, user.getEmail(), teeShirtSize); } else { profile.update(displayName, teeShirtSize); } ofy().save().entity(profile).now(); return profile; }  }
ConferenceApi { @ApiMethod(name = "saveProfile", path = "profile", httpMethod = HttpMethod.POST) public Profile saveProfile(final User user, final ProfileForm profileForm) throws UnauthorizedException { if (user == null) { throw new UnauthorizedException("Authorization required"); } String displayName = profileForm.getDisplayName(); TeeShirtSize teeShirtSize = profileForm.getTeeShirtSize(); Profile profile = ofy().load().key(Key.create(Profile.class, getUserId(user))).now(); if (profile == null) { if (displayName == null) { displayName = extractDefaultDisplayNameFromEmail(user.getEmail()); } if (teeShirtSize == null) { teeShirtSize = TeeShirtSize.NOT_SPECIFIED; } profile = new Profile(getUserId(user), displayName, user.getEmail(), teeShirtSize); } else { profile.update(displayName, teeShirtSize); } ofy().save().entity(profile).now(); return profile; }  @ApiMethod(name = "getProfile", path = "profile", httpMethod = HttpMethod.GET) Profile getProfile(final User user); @ApiMethod(name = "saveProfile", path = "profile", httpMethod = HttpMethod.POST) Profile saveProfile(final User user, final ProfileForm profileForm); @ApiMethod(name = "createConference", path = "conference", httpMethod = HttpMethod.POST) Conference createConference(final User user, final ConferenceForm conferenceForm); @ApiMethod( name = "updateConference", path = "conference/{websafeConferenceKey}", httpMethod = HttpMethod.PUT ) Conference updateConference(final User user, final ConferenceForm conferenceForm,
                                       @Named("websafeConferenceKey")
                                       final String websafeConferenceKey); @ApiMethod( name = "getAnnouncement", path = "announcement", httpMethod = HttpMethod.GET ) Announcement getAnnouncement(); @ApiMethod( name = "getConference", path = "conference/{websafeConferenceKey}", httpMethod = HttpMethod.GET ) Conference getConference(
            @Named("websafeConferenceKey") final String websafeConferenceKey); @ApiMethod( name = "getConferencesToAttend", path = "getConferencesToAttend", httpMethod = HttpMethod.GET ) Collection<Conference> getConferencesToAttend(final User user); @ApiMethod( name = "queryConferences", path = "queryConferences", httpMethod = HttpMethod.POST ) List<Conference> queryConferences(ConferenceQueryForm conferenceQueryForm); @ApiMethod( name = "getConferencesCreated", path = "getConferencesCreated", httpMethod = HttpMethod.POST ) List<Conference> getConferencesCreated(final User user); @ApiMethod( name = "registerForConference", path = "conference/{websafeConferenceKey}/registration", httpMethod = HttpMethod.POST ) WrappedBoolean registerForConference(final User user,
                                         @Named("websafeConferenceKey")
                                         final String websafeConferenceKey); @ApiMethod( name = "unregisterFromConference", path = "conference/{websafeConferenceKey}/registration", httpMethod = HttpMethod.DELETE ) WrappedBoolean unregisterFromConference(final User user,
                                            @Named("websafeConferenceKey")
                                            final String websafeConferenceKey); }
ConferenceApi { @ApiMethod(name = "saveProfile", path = "profile", httpMethod = HttpMethod.POST) public Profile saveProfile(final User user, final ProfileForm profileForm) throws UnauthorizedException { if (user == null) { throw new UnauthorizedException("Authorization required"); } String displayName = profileForm.getDisplayName(); TeeShirtSize teeShirtSize = profileForm.getTeeShirtSize(); Profile profile = ofy().load().key(Key.create(Profile.class, getUserId(user))).now(); if (profile == null) { if (displayName == null) { displayName = extractDefaultDisplayNameFromEmail(user.getEmail()); } if (teeShirtSize == null) { teeShirtSize = TeeShirtSize.NOT_SPECIFIED; } profile = new Profile(getUserId(user), displayName, user.getEmail(), teeShirtSize); } else { profile.update(displayName, teeShirtSize); } ofy().save().entity(profile).now(); return profile; }  @ApiMethod(name = "getProfile", path = "profile", httpMethod = HttpMethod.GET) Profile getProfile(final User user); @ApiMethod(name = "saveProfile", path = "profile", httpMethod = HttpMethod.POST) Profile saveProfile(final User user, final ProfileForm profileForm); @ApiMethod(name = "createConference", path = "conference", httpMethod = HttpMethod.POST) Conference createConference(final User user, final ConferenceForm conferenceForm); @ApiMethod( name = "updateConference", path = "conference/{websafeConferenceKey}", httpMethod = HttpMethod.PUT ) Conference updateConference(final User user, final ConferenceForm conferenceForm,
                                       @Named("websafeConferenceKey")
                                       final String websafeConferenceKey); @ApiMethod( name = "getAnnouncement", path = "announcement", httpMethod = HttpMethod.GET ) Announcement getAnnouncement(); @ApiMethod( name = "getConference", path = "conference/{websafeConferenceKey}", httpMethod = HttpMethod.GET ) Conference getConference(
            @Named("websafeConferenceKey") final String websafeConferenceKey); @ApiMethod( name = "getConferencesToAttend", path = "getConferencesToAttend", httpMethod = HttpMethod.GET ) Collection<Conference> getConferencesToAttend(final User user); @ApiMethod( name = "queryConferences", path = "queryConferences", httpMethod = HttpMethod.POST ) List<Conference> queryConferences(ConferenceQueryForm conferenceQueryForm); @ApiMethod( name = "getConferencesCreated", path = "getConferencesCreated", httpMethod = HttpMethod.POST ) List<Conference> getConferencesCreated(final User user); @ApiMethod( name = "registerForConference", path = "conference/{websafeConferenceKey}/registration", httpMethod = HttpMethod.POST ) WrappedBoolean registerForConference(final User user,
                                         @Named("websafeConferenceKey")
                                         final String websafeConferenceKey); @ApiMethod( name = "unregisterFromConference", path = "conference/{websafeConferenceKey}/registration", httpMethod = HttpMethod.DELETE ) WrappedBoolean unregisterFromConference(final User user,
                                            @Named("websafeConferenceKey")
                                            final String websafeConferenceKey);  }