Subversion Repositories WebE

Rev

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
}