Subversion Repositories WebE

Rev

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
}