5. .create();
message.getSid();
}
public UserDAO login(String email, String phone, String password)
throws LoginException {
List<User> userList;
if (email != null && !email.isEmpty()) {
userList = users.findByEmailIgnoreCase(email);
} else {
userList = users.findByPhone(phone);
}
if (userList != null && userList.size() == 1) {
User u = userList.get(0);
if (encoder.matches(password, u.getPassword())) {
return u.getLoginDAO();
}
throw new LoginException("Password authentication error!");
}
throw new LoginException("User not found!");
}
private String createVerificationCode(int length) {
StringBuilder k = new StringBuilder();
UserService
6. .create();
message.getSid();
}
public UserDAO login(String email, String phone, String password)
throws LoginException {
List<User> userList;
if (email != null && !email.isEmpty()) {
userList = users.findByEmailIgnoreCase(email);
} else {
userList = users.findByPhone(phone);
}
if (userList != null && userList.size() == 1) {
User u = userList.get(0);
if (encoder.matches(password, u.getPassword())) {
return u.getLoginDAO();
}
throw new LoginException("Password authentication error!");
}
throw new LoginException("User not found!");
}
private String createVerificationCode(int length) {
StringBuilder k = new StringBuilder();
UserService
7. .create();
message.getSid();
}
public UserDAO login(String email, String phone, String password)
throws LoginException {
List<User> userList;
if (email != null && !email.isEmpty()) {
userList = users.findByEmailIgnoreCase(email);
} else {
userList = users.findByPhone(phone);
}
if (userList != null && userList.size() == 1) {
User u = userList.get(0);
if (encoder.matches(password, u.getPassword())) {
return u.getLoginDAO();
}
throw new LoginException("Password authentication error!");
}
throw new LoginException("User not found!");
}
private String createVerificationCode(int length) {
StringBuilder k = new StringBuilder();
UserService
8. .create();
message.getSid();
}
public UserDAO login(String email, String phone, String password)
throws LoginException {
List<User> userList;
if (email != null && !email.isEmpty()) {
userList = users.findByEmailIgnoreCase(email);
} else {
userList = users.findByPhone(phone);
}
if (userList != null && userList.size() == 1) {
User u = userList.get(0);
if (encoder.matches(password, u.getPassword())) {
return u.getLoginDAO();
}
throw new LoginException("Password authentication error!");
}
throw new LoginException("User not found!");
}
private String createVerificationCode(int length) {
StringBuilder k = new StringBuilder();
UserService
9. .create();
message.getSid();
}
public UserDAO login(String email, String phone, String password)
throws LoginException {
List<User> userList;
if (email != null && !email.isEmpty()) {
userList = users.findByEmailIgnoreCase(email);
} else {
userList = users.findByPhone(phone);
}
if (userList != null && userList.size() == 1) {
User u = userList.get(0);
if (encoder.matches(password, u.getPassword())) {
return u.getLoginDAO();
}
throw new LoginException("Password authentication error!");
}
throw new LoginException("User not found!");
}
private String createVerificationCode(int length) {
StringBuilder k = new StringBuilder();
UserService
public class LoginException extends Exception {
public LoginException(String errorMessage) {
super(errorMessage);
}
}
10. User u = users.findByAuthtoken(auth).get(0);
return u.getLoginDAO();
}
public UserDAO signup(UserDAO user) throws SignupException,
UnirestException {
List<ShadowUser> shadowList = null;
if (user.getEmail() != null) {
List<User> u = users.findByEmailIgnoreCase(user.getEmail());
if (u != null && u.size() > 0) {
throw new SignupException(
"The email is already registered!");
}
shadowList = shadows.findByEmail(user.getEmail());
}
if (user.getPhone() != null) {
List<User> u = users.findByPhone(user.getPhone());
if (u != null && u.size() > 0) {
throw new SignupException(
"The phone number is already registered!");
}
shadowList = shadows.findByPhone(user.getPhone());
}
UserService
11. User u = users.findByAuthtoken(auth).get(0);
return u.getLoginDAO();
}
public UserDAO signup(UserDAO user) throws SignupException,
UnirestException {
List<ShadowUser> shadowList = null;
if (user.getEmail() != null) {
List<User> u = users.findByEmailIgnoreCase(user.getEmail());
if (u != null && u.size() > 0) {
throw new SignupException(
"The email is already registered!");
}
shadowList = shadows.findByEmail(user.getEmail());
}
if (user.getPhone() != null) {
List<User> u = users.findByPhone(user.getPhone());
if (u != null && u.size() > 0) {
throw new SignupException(
"The phone number is already registered!");
}
shadowList = shadows.findByPhone(user.getPhone());
}
UserService
12. User u = users.findByAuthtoken(auth).get(0);
return u.getLoginDAO();
}
public UserDAO signup(UserDAO user) throws SignupException,
UnirestException {
List<ShadowUser> shadowList = null;
if (user.getEmail() != null) {
List<User> u = users.findByEmailIgnoreCase(user.getEmail());
if (u != null && u.size() > 0) {
throw new SignupException(
"The email is already registered!");
}
shadowList = shadows.findByEmail(user.getEmail());
}
if (user.getPhone() != null) {
List<User> u = users.findByPhone(user.getPhone());
if (u != null && u.size() > 0) {
throw new SignupException(
"The phone number is already registered!");
}
shadowList = shadows.findByPhone(user.getPhone());
}
UserService
13. User u = users.findByAuthtoken(auth).get(0);
return u.getLoginDAO();
}
public UserDAO signup(UserDAO user) throws SignupException,
UnirestException {
List<ShadowUser> shadowList = null;
if (user.getEmail() != null) {
List<User> u = users.findByEmailIgnoreCase(user.getEmail());
if (u != null && u.size() > 0) {
throw new SignupException(
"The email is already registered!");
}
shadowList = shadows.findByEmail(user.getEmail());
}
if (user.getPhone() != null) {
List<User> u = users.findByPhone(user.getPhone());
if (u != null && u.size() > 0) {
throw new SignupException(
"The phone number is already registered!");
}
shadowList = shadows.findByPhone(user.getPhone());
}
UserService
14. List<User> u = users.findByPhone(user.getPhone());
if (u != null && u.size() > 0) {
throw new SignupException(
"The phone number is already registered!");
}
shadowList = shadows.findByPhone(user.getPhone());
}
User u = new User();
setProps(user, u);
u.setPassword(encoder.encode(user.getPassword()));
u.setAuthtoken(UUID.randomUUID().toString());
u.setVerificationCode(createVerificationCode(4));
if (shadowList != null && !shadowList.isEmpty()) {
Set<User> friendSuggestions = new HashSet<>();
for (ShadowUser s : shadowList) {
friendSuggestions.add(s.getOwner());
}
u.setPeopleYouMayKnow(friendSuggestions);
}
users.save(u);
UserService
15. List<User> u = users.findByPhone(user.getPhone());
if (u != null && u.size() > 0) {
throw new SignupException(
"The phone number is already registered!");
}
shadowList = shadows.findByPhone(user.getPhone());
}
User u = new User();
setProps(user, u);
u.setPassword(encoder.encode(user.getPassword()));
u.setAuthtoken(UUID.randomUUID().toString());
u.setVerificationCode(createVerificationCode(4));
if (shadowList != null && !shadowList.isEmpty()) {
Set<User> friendSuggestions = new HashSet<>();
for (ShadowUser s : shadowList) {
friendSuggestions.add(s.getOwner());
}
u.setPeopleYouMayKnow(friendSuggestions);
}
users.save(u);
UserService
16. List<User> u = users.findByPhone(user.getPhone());
if (u != null && u.size() > 0) {
throw new SignupException(
"The phone number is already registered!");
}
shadowList = shadows.findByPhone(user.getPhone());
}
User u = new User();
setProps(user, u);
u.setPassword(encoder.encode(user.getPassword()));
u.setAuthtoken(UUID.randomUUID().toString());
u.setVerificationCode(createVerificationCode(4));
if (shadowList != null && !shadowList.isEmpty()) {
Set<User> friendSuggestions = new HashSet<>();
for (ShadowUser s : shadowList) {
friendSuggestions.add(s.getOwner());
}
u.setPeopleYouMayKnow(friendSuggestions);
}
users.save(u);
UserService
17. List<User> u = users.findByPhone(user.getPhone());
if (u != null && u.size() > 0) {
throw new SignupException(
"The phone number is already registered!");
}
shadowList = shadows.findByPhone(user.getPhone());
}
User u = new User();
setProps(user, u);
u.setPassword(encoder.encode(user.getPassword()));
u.setAuthtoken(UUID.randomUUID().toString());
u.setVerificationCode(createVerificationCode(4));
if (shadowList != null && !shadowList.isEmpty()) {
Set<User> friendSuggestions = new HashSet<>();
for (ShadowUser s : shadowList) {
friendSuggestions.add(s.getOwner());
}
u.setPeopleYouMayKnow(friendSuggestions);
}
users.save(u);
UserService
18. List<User> u = users.findByPhone(user.getPhone());
if (u != null && u.size() > 0) {
throw new SignupException(
"The phone number is already registered!");
}
shadowList = shadows.findByPhone(user.getPhone());
}
User u = new User();
setProps(user, u);
u.setPassword(encoder.encode(user.getPassword()));
u.setAuthtoken(UUID.randomUUID().toString());
u.setVerificationCode(createVerificationCode(4));
if (shadowList != null && !shadowList.isEmpty()) {
Set<User> friendSuggestions = new HashSet<>();
for (ShadowUser s : shadowList) {
friendSuggestions.add(s.getOwner());
}
u.setPeopleYouMayKnow(friendSuggestions);
}
users.save(u);
UserService
19. for (ShadowUser s : shadowList) {
friendSuggestions.add(s.getOwner());
}
u.setPeopleYouMayKnow(friendSuggestions);
}
users.save(u);
if (user.getEmail() != null) {
sendActivationEmail(user.getEmail(),
"Please Activate Your Facebook Clone Account",
"Activation key: " + u.getVerificationCode());
} else {
sendActivationSMS(user.getPhone(), "Activation key: " + u.
getVerificationCode());
}
return u.getLoginDAO();
}
public boolean verifyEmailOrPhone(String authToken, String code,
boolean email) {
User u = users.findByAuthtoken(authToken).get(0);
if (u.getVerificationCode().equals(code)) {
UserService
20. for (ShadowUser s : shadowList) {
friendSuggestions.add(s.getOwner());
}
u.setPeopleYouMayKnow(friendSuggestions);
}
users.save(u);
if (user.getEmail() != null) {
sendActivationEmail(user.getEmail(),
"Please Activate Your Facebook Clone Account",
"Activation key: " + u.getVerificationCode());
} else {
sendActivationSMS(user.getPhone(), "Activation key: " + u.
getVerificationCode());
}
return u.getLoginDAO();
}
public boolean verifyEmailOrPhone(String authToken, String code,
boolean email) {
User u = users.findByAuthtoken(authToken).get(0);
if (u.getVerificationCode().equals(code)) {
UserService
21. for (ShadowUser s : shadowList) {
friendSuggestions.add(s.getOwner());
}
u.setPeopleYouMayKnow(friendSuggestions);
}
users.save(u);
if (user.getEmail() != null) {
sendActivationEmail(user.getEmail(),
"Please Activate Your Facebook Clone Account",
"Activation key: " + u.getVerificationCode());
} else {
sendActivationSMS(user.getPhone(), "Activation key: " + u.
getVerificationCode());
}
return u.getLoginDAO();
}
public boolean verifyEmailOrPhone(String authToken, String code,
boolean email) {
User u = users.findByAuthtoken(authToken).get(0);
if (u.getVerificationCode().equals(code)) {
UserService
22. } else {
u.setVerifiedPhone(u.getPhone());
}
users.save(u);
return true;
}
return false;
}
private void setProps(UserDAO user, User u) {
u.setEmail(user.getEmail());
if (user.getBirthday() != null) {
u.setBirthday(new Date(user.getBirthday()));
}
u.setFamilyName(user.getFamilyName());
u.setFirstName(user.getFirstName());
u.setGender(user.getGender());
u.setPhone(user.getPhone());
}
public void update(UserDAO user) {
User u = users.findByAuthtoken(user.getAuthtoken()).get(0);
setProps(user, u);
if (u.getPassword() != null) {
UserService
23. } else {
u.setVerifiedPhone(u.getPhone());
}
users.save(u);
return true;
}
return false;
}
private void setProps(UserDAO user, User u) {
u.setEmail(user.getEmail());
if (user.getBirthday() != null) {
u.setBirthday(new Date(user.getBirthday()));
}
u.setFamilyName(user.getFamilyName());
u.setFirstName(user.getFirstName());
u.setGender(user.getGender());
u.setPhone(user.getPhone());
}
public void update(UserDAO user) {
User u = users.findByAuthtoken(user.getAuthtoken()).get(0);
setProps(user, u);
if (u.getPassword() != null) {
UserService
24. User u = userList.get(0);
if (encoder.matches(password, u.getPassword())) {
return u.getLoginDAO();
}
throw new LoginException("Password authentication error!");
}
throw new LoginException("User not found!");
}
private String createVerificationCode(int length) {
StringBuilder k = new StringBuilder();
Random r = new Random();
for (int iter = 0; iter < length; iter++) {
k.append(r.nextInt(10));
}
return k.toString();
}
public UserDAO refreshUser(String auth) {
User u = users.findByAuthtoken(auth).get(0);
return u.getLoginDAO();
}
public UserDAO signup(UserDAO user) throws SignupException,
UserService
25. User u = userList.get(0);
if (encoder.matches(password, u.getPassword())) {
return u.getLoginDAO();
}
throw new LoginException("Password authentication error!");
}
throw new LoginException("User not found!");
}
private String createVerificationCode(int length) {
StringBuilder k = new StringBuilder();
Random r = new Random();
for (int iter = 0; iter < length; iter++) {
k.append(r.nextInt(10));
}
return k.toString();
}
public UserDAO refreshUser(String auth) {
User u = users.findByAuthtoken(auth).get(0);
return u.getLoginDAO();
}
public UserDAO signup(UserDAO user) throws SignupException,
UserService
26. User u = userList.get(0);
if (encoder.matches(password, u.getPassword())) {
return u.getLoginDAO();
}
throw new LoginException("Password authentication error!");
}
throw new LoginException("User not found!");
}
private String createVerificationCode(int length) {
StringBuilder k = new StringBuilder();
Random r = new Random();
for (int iter = 0; iter < length; iter++) {
k.append(r.nextInt(10));
}
return k.toString();
}
public UserDAO refreshUser(String auth) {
User u = users.findByAuthtoken(auth).get(0);
return u.getLoginDAO();
}
public UserDAO signup(UserDAO user) throws SignupException,
UserService
40. if (encoder.matches(password, u.getPassword())) {
return u.getLoginDAO();
}
throw new LoginException("Password authentication error!");
}
throw new LoginException("User not found!");
}
private String createVerificationCode(int length) {
StringBuilder k = new StringBuilder();
Random r = new Random();
for (int iter = 0; iter < length; iter++) {
k.append(r.nextInt(10));
}
return k.toString();
}
public UserDAO refreshUser(String auth) {
User u = users.findByAuthtoken(auth).get(0);
return u.getLoginDAO();
}
public UserDAO signup(UserDAO user) throws SignupException,
UnirestException {
UserService
41. sendActivationSMS(user.getPhone(), "Activation key: " + u.
getVerificationCode());
}
return u.getLoginDAO();
}
public boolean verifyEmailOrPhone(String authToken, String code,
boolean email) {
User u = users.findByAuthtoken(authToken).get(0);
if (u.getVerificationCode().equals(code)) {
u.setVerificationCode(null);
if (email) {
u.setVerifiedEmailAddress(u.getEmail());
} else {
u.setVerifiedPhone(u.getPhone());
}
users.save(u);
return true;
}
return false;
}
private void setProps(UserDAO user, User u) {
UserService
42. sendActivationSMS(user.getPhone(), "Activation key: " + u.
getVerificationCode());
}
return u.getLoginDAO();
}
public boolean verifyEmailOrPhone(String authToken, String code,
boolean email) {
User u = users.findByAuthtoken(authToken).get(0);
if (u.getVerificationCode().equals(code)) {
u.setVerificationCode(null);
if (email) {
u.setVerifiedEmailAddress(u.getEmail());
} else {
u.setVerifiedPhone(u.getPhone());
}
users.save(u);
return true;
}
return false;
}
private void setProps(UserDAO user, User u) {
UserService
43. sendActivationSMS(user.getPhone(), "Activation key: " + u.
getVerificationCode());
}
return u.getLoginDAO();
}
public boolean verifyEmailOrPhone(String authToken, String code,
boolean email) {
User u = users.findByAuthtoken(authToken).get(0);
if (u.getVerificationCode().equals(code)) {
u.setVerificationCode(null);
if (email) {
u.setVerifiedEmailAddress(u.getEmail());
} else {
u.setVerifiedPhone(u.getPhone());
}
users.save(u);
return true;
}
return false;
}
private void setProps(UserDAO user, User u) {
UserService
44. sendActivationSMS(user.getPhone(), "Activation key: " + u.
getVerificationCode());
}
return u.getLoginDAO();
}
public boolean verifyEmailOrPhone(String authToken, String code,
boolean email) {
User u = users.findByAuthtoken(authToken).get(0);
if (u.getVerificationCode().equals(code)) {
u.setVerificationCode(null);
if (email) {
u.setVerifiedEmailAddress(u.getEmail());
} else {
u.setVerifiedPhone(u.getPhone());
}
users.save(u);
return true;
}
return false;
}
private void setProps(UserDAO user, User u) {
UserService
45. private void setProps(UserDAO user, User u) {
u.setEmail(user.getEmail());
if (user.getBirthday() != null) {
u.setBirthday(new Date(user.getBirthday()));
}
u.setFamilyName(user.getFamilyName());
u.setFirstName(user.getFirstName());
u.setGender(user.getGender());
u.setPhone(user.getPhone());
}
public void update(UserDAO user) {
User u = users.findByAuthtoken(user.getAuthtoken()).get(0);
setProps(user, u);
if (u.getPassword() != null) {
u.setPassword(encoder.encode(user.getPassword()));
}
users.save(u);
}
public byte[] getAvatar(String userId) {
User u = users.findById(userId).get();
if (u.getAvatar() != null) {
return u.getAvatar().getData();
}
UserService
46. private void setProps(UserDAO user, User u) {
u.setEmail(user.getEmail());
if (user.getBirthday() != null) {
u.setBirthday(new Date(user.getBirthday()));
}
u.setFamilyName(user.getFamilyName());
u.setFirstName(user.getFirstName());
u.setGender(user.getGender());
u.setPhone(user.getPhone());
}
public void update(UserDAO user) {
User u = users.findByAuthtoken(user.getAuthtoken()).get(0);
setProps(user, u);
if (u.getPassword() != null) {
u.setPassword(encoder.encode(user.getPassword()));
}
users.save(u);
}
public byte[] getAvatar(String userId) {
User u = users.findById(userId).get();
if (u.getAvatar() != null) {
return u.getAvatar().getData();
}
UserService