View Javadoc

1   package de.tivsource.page.admin.actions.system.user;
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   * @author Marc Michele
23   *
24   */
25  public class EditAction extends EmptyAction {
26  
27  	/**
28  	 * Serial Version UID.
29  	 */
30      private static final long serialVersionUID = -1279279278140940652L;
31  
32      /**
33       * Statischer Logger der Klasse.
34       */
35      private static final Logger LOGGER = LogManager.getLogger(EditAction.class);
36  
37      @InjectEJB(name="UserDao")
38      private UserDaoLocal userDaoLocal;
39  
40      @InjectEJB(name="RoleDao")
41      private RoleDaoLocal roleDaoLocal;
42      
43      private User user;
44  
45      public User getUser() {
46          return user;
47      }
48  
49      public void setUser(User user) {
50          this.user = user;
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 = "userEditForm"),
60          				@Result(name = "error",   type = "tiles", location = "userEditError")
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(user != null) {
71      		LOGGER.info(user.getUsername());
72      		User dbUser = userDaoLocal.findByUuid(user.getUuid());
73      		
74      		dbUser.setEmail(user.getEmail());
75      		dbUser.setFirstname(user.getFirstname());
76      		dbUser.setLastname(user.getLastname());
77      		dbUser.setPassword(user.getPassword());
78      		dbUser.setRoles(user.getRoles());
79      		dbUser.setUsername(user.getUsername());
80      		dbUser.setModifiedAddress(remoteAddress);
81      		dbUser.setModified(new Date());
82      		dbUser.setModifiedBy(remoteUser);
83  
84      		userDaoLocal.merge(dbUser);
85              return SUCCESS;
86      	}
87      	else {
88      		return ERROR;
89      	}
90  
91      }// Ende execute()
92  
93      public List<Role> getRoleList() {
94          return roleDaoLocal.findAll(0, roleDaoLocal.countAll());
95      }
96  
97  }// Ende class