Rev 27 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
20 | moos | 1 | package ch.ffhs.webE.action; |
18 | moos | 2 | |
3 | import java.util.ArrayList; |
||
4 | import java.util.List; |
||
5 | |||
22 | moos | 6 | import javax.servlet.http.HttpServletRequest; |
7 | |||
33 | PointedEar | 8 | import org.apache.struts2.StrutsStatics; |
22 | moos | 9 | |
33 | PointedEar | 10 | import ch.ffhs.webE.dao.UserDAOImpl; |
11 | import ch.ffhs.webE.domain.User; |
||
12 | |||
13 | import com.opensymphony.xwork2.Action; |
||
22 | moos | 14 | import com.opensymphony.xwork2.ActionContext; |
18 | moos | 15 | import com.opensymphony.xwork2.ActionSupport; |
16 | import com.opensymphony.xwork2.ModelDriven; |
||
17 | |||
26 | moos | 18 | public class UserAction extends ActionSupport implements ModelDriven<User> |
19 | { |
||
18 | moos | 20 | |
33 | PointedEar | 21 | private static final long serialVersionUID = 1L; |
18 | moos | 22 | |
33 | PointedEar | 23 | private User user = new User(); |
24 | private List<User> userList = new ArrayList<User>(); |
||
25 | private final UserDAOImpl userDAO = new UserDAOImpl(); |
||
22 | moos | 26 | |
33 | PointedEar | 27 | @Override |
28 | public User getModel() |
||
29 | { |
||
30 | return this.user; |
||
31 | } |
||
22 | moos | 32 | |
33 | PointedEar | 33 | /** |
34 | * Executes the DB query to save the user |
||
35 | * |
||
36 | * @return |
||
37 | */ |
||
38 | public String addOrUpdate() |
||
39 | { |
||
40 | this.userDAO.saveOrUpdateUser(this.user); |
||
41 | return Action.SUCCESS; |
||
42 | } |
||
43 | |||
44 | /** |
||
45 | * DB query for userList |
||
46 | * |
||
47 | * @return SUCCESS |
||
48 | */ |
||
49 | public String list() |
||
50 | { |
||
51 | this.userList = this.userDAO.listUser(); |
||
52 | return Action.SUCCESS; |
||
53 | } |
||
54 | |||
55 | public String edit() |
||
56 | { |
||
57 | int id = this.getIdParameter(); |
||
58 | |||
59 | if (id > 0) |
||
26 | moos | 60 | { |
33 | PointedEar | 61 | this.user = this.userDAO.listUserById(id); |
62 | return Action.SUCCESS; |
||
26 | moos | 63 | } |
33 | PointedEar | 64 | else |
26 | moos | 65 | { |
33 | PointedEar | 66 | return Action.ERROR; |
26 | moos | 67 | } |
33 | PointedEar | 68 | } |
22 | moos | 69 | |
33 | PointedEar | 70 | /** |
71 | * Gets the ID Parameter for update / delete requests |
||
72 | * |
||
73 | * @return int from the ID request. If not set or wrong, it gives back -1 |
||
74 | */ |
||
75 | private int getIdParameter() |
||
76 | { |
||
77 | HttpServletRequest request = (HttpServletRequest) ActionContext |
||
78 | .getContext().get(StrutsStatics.HTTP_REQUEST); |
||
79 | |||
80 | int id = -1; |
||
81 | try |
||
27 | moos | 82 | { |
33 | PointedEar | 83 | id = Integer.parseInt(request.getParameter("id")); |
27 | moos | 84 | } |
33 | PointedEar | 85 | catch (Exception e) |
26 | moos | 86 | { |
33 | PointedEar | 87 | // TODO: Logging - wrong parameter set |
27 | moos | 88 | } |
89 | |||
33 | PointedEar | 90 | return id; |
91 | } |
||
27 | moos | 92 | |
33 | PointedEar | 93 | /** |
94 | * deletes a user, gets the ID from the "id" parameter that was submitted with |
||
95 | * the HTTP request |
||
96 | * |
||
97 | * @return String - either SUCCESS or ERROR constant |
||
98 | */ |
||
99 | public String delete() |
||
100 | { |
||
27 | moos | 101 | |
33 | PointedEar | 102 | int id = this.getIdParameter(); |
18 | moos | 103 | |
33 | PointedEar | 104 | // Check for malicious ID values |
105 | if (id > 0) |
||
26 | moos | 106 | { |
33 | PointedEar | 107 | this.userDAO.deleteUser(id); |
108 | return Action.SUCCESS; |
||
26 | moos | 109 | } |
33 | PointedEar | 110 | else |
26 | moos | 111 | { |
33 | PointedEar | 112 | return Action.ERROR; |
26 | moos | 113 | } |
33 | PointedEar | 114 | } |
26 | moos | 115 | |
33 | PointedEar | 116 | /* |
117 | * Standard getters and setters |
||
118 | */ |
||
26 | moos | 119 | |
33 | PointedEar | 120 | public User getUser() |
121 | { |
||
122 | return this.user; |
||
123 | } |
||
124 | |||
125 | public void setUser(User user) |
||
126 | { |
||
127 | this.user = user; |
||
128 | } |
||
129 | |||
130 | public List<User> getUserList() |
||
131 | { |
||
132 | return this.userList; |
||
133 | } |
||
134 | |||
135 | public void setUserList(List<User> userList) |
||
136 | { |
||
137 | this.userList = userList; |
||
138 | } |
||
18 | moos | 139 | } |