/** * Copyright (C) 2011 Talend Inc. - www.talend.com */ package oauth.service; import javax.ws.rs.Consumes; import javax.ws.rs.FormParam; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.SecurityContext; import oauth.common.Calendar; @Path("accounts") public class SocialService { @Context private SecurityContext context; private UserAccounts accounts; public SocialService() { } public void setAccounts(UserAccounts accounts) { this.accounts = accounts; } @POST @Consumes(MediaType.APPLICATION_FORM_URLENCODED) @Path("calendar") public void updateUserCalendar(@FormParam("hour") int hour, @FormParam("event") String eventDescription) { UserAccount account = getAccount(); account.getCalendar().getEntry(hour).setEventDescription(eventDescription); } @GET @Path("calendar") public Calendar getUserCalendar() { UserAccount account = getAccount(); return account.getCalendar(); } @GET public UserAccount getAccount() { String userName = context.getUserPrincipal().getName(); return accounts.getAccount(userName); } }