-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathUser.java
65 lines (62 loc) · 1.58 KB
/
User.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package regPrototype;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class User {
private int ID;
public String firstName;
public String lastName;
private String userName;
private String password;
public int getID() {
return ID;
}
public void setID(int iD) {
ID = iD;
}
public String getUserName() {
return userName.toLowerCase();
}
public void setUserName(String userName) {
this.userName = userName.toLowerCase();
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public static User findUser(Set<User> allUsers, String inputUsername){
Iterator<User> it = allUsers.iterator();
while(it.hasNext()){
User current =it.next();
if(current.userName.equals(inputUsername)){
return current;
}
}
return null;
}
public static int login(Database userDatabase, String inputUsername, String inputPassword){
Set<User> allUsers = new HashSet<User>();
allUsers.addAll(userDatabase.allProfessors);
allUsers.addAll(userDatabase.allRegistrars);
allUsers.addAll(userDatabase.allStudents);
User current = findUser(allUsers, inputUsername);
if(current!= null){
if(current.getPassword().equals(inputPassword)){
homePage.setCurrentUser(current);
switch(current.getClass().getName()){
case "regPrototype.Student":
return 1;
case "regPrototype.Professor":
return 2;
case "regPrototype.Registrar":
return 3;
default:
return 0;
}
}
}
return 0;
}
}