1 package de.tivsource.page.admin.actions.system.role;
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 = 3206549364257116831L;
32
33
34
35
36 private static final Logger LOGGER = LogManager.getLogger(AddAction.class);
37
38 @InjectEJB(name="RoleDao")
39 private RoleDaoLocal roleDaoLocal;
40
41 @InjectEJB(name="UserDao")
42 private UserDaoLocal userDaoLocal;
43
44 private Role role;
45
46 public Role getRole() {
47 return role;
48 }
49
50 public void setRole(Role role) {
51 this.role = role;
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 = "roleAddForm"),
61 @Result(name = "error", type="tiles", location = "roleAddError")
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(role != null) {
72 role.setUuid(UUID.randomUUID().toString());
73 role.setCreated(new Date());
74 role.setModified(new Date());
75 role.setModifiedBy(remoteUser);
76 role.setModifiedAddress(remoteAddress);
77
78 roleDaoLocal.merge(role);
79 return SUCCESS;
80 }
81 else {
82 return ERROR;
83 }
84
85
86 }
87
88 public List<User> getUserList() {
89 return userDaoLocal.findAll(0, userDaoLocal.countAll());
90 }
91
92 }