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