//package carpool.resources.userResource.userEmailResource; // //import java.io.IOException; //import java.io.UnsupportedEncodingException; //import java.util.ArrayList; //import java.util.Calendar; //import java.util.List; // //import org.restlet.ext.json.JsonRepresentation; //import org.restlet.representation.Representation; //import org.restlet.representation.StringRepresentation; //import org.restlet.resource.*; //import org.restlet.util.Series; //import org.restlet.data.Cookie; //import org.restlet.engine.header.Header; //import org.restlet.data.Status; // //import org.json.JSONArray; //import org.json.JSONException; //import org.json.JSONObject; // //import carpool.common.Validator; //import carpool.constants.Constants; //import carpool.dbservice.*; //import carpool.exception.PseudoException; //import carpool.exception.auth.DuplicateSessionCookieException; //import carpool.exception.auth.SessionEncodingException; //import carpool.exception.user.UserNotFoundException; //import carpool.factory.JSONFactory; //import carpool.model.*; //import carpool.resources.PseudoResource; // // //public class UserEmailResourceId extends PseudoResource{ // // // @Put // /** // * @param entity // */ // public Representation changeEmail(Representation entity) { // JSONObject jsonString = new JSONObject(); // boolean emailChanged = false; // // // try { // this.checkEntity(entity); // // int userId = Integer.parseInt(this.getReqAttr("id")); // String email = this.getQueryVal("email"); // // //though placing userId in post entity, when checking cookie session the id is still effectively verified // this.validateAuthentication(userId); // // String sessionString = this.getSessionString(); // if (Validator.isEmailFormatValid(email)){ // if (EmailDaoService.isEmailAvailable(email)){ // emailChanged = EmailDaoService.changeEmail(userId, email, sessionString); // if (emailChanged){ // setStatus(Status.SUCCESS_OK); // this.closeAuthenticationSession(userId); // } // else{ // setStatus(Status.CLIENT_ERROR_UNPROCESSABLE_ENTITY); // } // jsonString = JSONFactory.toJSON(emailChanged); // } // else{ // setStatus(Status.CLIENT_ERROR_CONFLICT); // } // } // else{ // setStatus(Status.CLIENT_ERROR_BAD_REQUEST); // } // // } catch (PseudoException e){ // this.addCORSHeader(); // return this.doPseudoException(e); // } catch (Exception e) { // return this.doException(e); // } // // Representation result = new JsonRepresentation(jsonString); // // this.addCORSHeader(); // return result; // } // //}