Rev 33 | 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 | |
37 | PointedEar | 10 | import ch.ffhs.webE.dao.UserDAO; |
33 | PointedEar | 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>(); |
||
37 | PointedEar | 25 | private final UserDAO userDAO = new UserDAO(); |
22 | moos | 26 | |
37 | PointedEar | 27 | public boolean edit = false; |
28 | public boolean added = false; |
||
29 | public User savedUser; |
||
30 | |||
33 | PointedEar | 31 | @Override |
32 | public User getModel() |
||
33 | { |
||
34 | return this.user; |
||
35 | } |
||
22 | moos | 36 | |
33 | PointedEar | 37 | /** |
37 | PointedEar | 38 | * DB query for userList |
33 | PointedEar | 39 | * |
37 | PointedEar | 40 | * @return SUCCESS |
33 | PointedEar | 41 | */ |
37 | PointedEar | 42 | public String list() |
33 | PointedEar | 43 | { |
37 | PointedEar | 44 | this.userList = this.userDAO.getList(); |
33 | PointedEar | 45 | return Action.SUCCESS; |
46 | } |
||
47 | |||
48 | /** |
||
37 | PointedEar | 49 | * Executes the DB query to save the user |
33 | PointedEar | 50 | * |
37 | PointedEar | 51 | * @return |
33 | PointedEar | 52 | */ |
37 | PointedEar | 53 | public String save() |
33 | PointedEar | 54 | { |
37 | PointedEar | 55 | this.userDAO.saveOrUpdate(this.user); |
56 | this.savedUser = this.user; |
||
57 | this.user = null; |
||
58 | |||
59 | this.list(); |
||
60 | |||
33 | PointedEar | 61 | return Action.SUCCESS; |
62 | } |
||
63 | |||
64 | public String edit() |
||
65 | { |
||
66 | int id = this.getIdParameter(); |
||
67 | |||
37 | PointedEar | 68 | String result = Action.ERROR; |
33 | PointedEar | 69 | if (id > 0) |
26 | moos | 70 | { |
37 | PointedEar | 71 | this.user = this.userDAO.getById(id); |
72 | this.edit = true; |
||
73 | result = Action.SUCCESS; |
||
26 | moos | 74 | } |
37 | PointedEar | 75 | |
76 | this.list(); |
||
77 | |||
78 | return result; |
||
33 | PointedEar | 79 | } |
22 | moos | 80 | |
33 | PointedEar | 81 | /** |
82 | * Gets the ID Parameter for update / delete requests |
||
83 | * |
||
84 | * @return int from the ID request. If not set or wrong, it gives back -1 |
||
85 | */ |
||
86 | private int getIdParameter() |
||
87 | { |
||
88 | HttpServletRequest request = (HttpServletRequest) ActionContext |
||
89 | .getContext().get(StrutsStatics.HTTP_REQUEST); |
||
90 | |||
91 | int id = -1; |
||
92 | try |
||
27 | moos | 93 | { |
33 | PointedEar | 94 | id = Integer.parseInt(request.getParameter("id")); |
27 | moos | 95 | } |
33 | PointedEar | 96 | catch (Exception e) |
26 | moos | 97 | { |
33 | PointedEar | 98 | // TODO: Logging - wrong parameter set |
27 | moos | 99 | } |
100 | |||
33 | PointedEar | 101 | return id; |
102 | } |
||
27 | moos | 103 | |
33 | PointedEar | 104 | /** |
105 | * deletes a user, gets the ID from the "id" parameter that was submitted with |
||
106 | * the HTTP request |
||
107 | * |
||
108 | * @return String - either SUCCESS or ERROR constant |
||
109 | */ |
||
110 | public String delete() |
||
111 | { |
||
27 | moos | 112 | |
33 | PointedEar | 113 | int id = this.getIdParameter(); |
18 | moos | 114 | |
33 | PointedEar | 115 | // Check for malicious ID values |
116 | if (id > 0) |
||
26 | moos | 117 | { |
37 | PointedEar | 118 | this.userDAO.delete(id); |
33 | PointedEar | 119 | return Action.SUCCESS; |
26 | moos | 120 | } |
33 | PointedEar | 121 | else |
26 | moos | 122 | { |
33 | PointedEar | 123 | return Action.ERROR; |
26 | moos | 124 | } |
33 | PointedEar | 125 | } |
26 | moos | 126 | |
33 | PointedEar | 127 | /* |
128 | * Standard getters and setters |
||
129 | */ |
||
26 | moos | 130 | |
33 | PointedEar | 131 | public User getUser() |
132 | { |
||
133 | return this.user; |
||
134 | } |
||
135 | |||
136 | public void setUser(User user) |
||
137 | { |
||
138 | this.user = user; |
||
139 | } |
||
140 | |||
141 | public List<User> getUserList() |
||
142 | { |
||
143 | return this.userList; |
||
144 | } |
||
145 | |||
146 | public void setUserList(List<User> userList) |
||
147 | { |
||
148 | this.userList = userList; |
||
149 | } |
||
18 | moos | 150 | } |