1 package de.tivsource.page.admin.actions.system.user;
2
3 import java.util.Date;
4 import java.util.List;
5 import java.util.UUID;
6
7 import org.apache.logging.log4j.LogManager;
8 import org.apache.logging.log4j.Logger;
9 import org.apache.struts2.ServletActionContext;
10 import org.apache.struts2.convention.annotation.Action;
11 import org.apache.struts2.convention.annotation.Actions;
12 import org.apache.struts2.convention.annotation.Result;
13
14 import de.tivsource.ejb3plugin.InjectEJB;
15 import de.tivsource.page.admin.actions.EmptyAction;
16 import de.tivsource.page.dao.administration.RoleDaoLocal;
17 import de.tivsource.page.dao.administration.UserDaoLocal;
18 import de.tivsource.page.entity.administration.Role;
19 import de.tivsource.page.entity.administration.User;
20
21
22
23
24
25
26 public class AddAction extends EmptyAction {
27
28
29
30
31 private static final long serialVersionUID = 5268669809114381373L;
32
33
34
35
36 private static final Logger LOGGER = LogManager.getLogger(AddAction.class);
37
38 @InjectEJB(name="UserDao")
39 private UserDaoLocal userDaoLocal;
40
41 @InjectEJB(name="RoleDao")
42 private RoleDaoLocal roleDaoLocal;
43
44 private User user;
45
46 public User getUser() {
47 return user;
48 }
49
50 public void setUser(User user) {
51 this.user = user;
52 }
53
54 @Override
55 @Actions({
56 @Action(
57 value = "add",
58 results = {
59 @Result(name = "success", type = "redirectAction", location = "index.html"),
60 @Result(name = "input", type="tiles", location = "userAddForm"),
61 @Result(name = "error", type="tiles", location = "userAddError")
62 }
63 )
64 })
65 public String execute() throws Exception {
66 LOGGER.info("execute() aufgerufen.");
67
68 String remoteUser = ServletActionContext.getRequest().getRemoteUser();
69 String remoteAddress = ServletActionContext.getRequest().getRemoteAddr();
70
71 if(user != null) {
72 user.setUuid(UUID.randomUUID().toString());
73 user.setModified(new Date());
74 user.setCreated(new Date());
75 user.setModifiedAddress(remoteAddress);
76 user.setModifiedBy(remoteUser);
77
78 userDaoLocal.merge(user);
79
80 return SUCCESS;
81 }
82 else {
83 return ERROR;
84 }
85
86
87 }
88
89 public List<Role> getRoleList() {
90 return roleDaoLocal.findAll(0, roleDaoLocal.countAll());
91 }
92
93 }