1 package de.tivsource.page.admin.actions.others.companion;
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 import org.apache.struts2.tiles.annotation.TilesDefinition;
13 import org.apache.struts2.tiles.annotation.TilesDefinitions;
14 import org.apache.struts2.tiles.annotation.TilesPutAttribute;
15
16 import de.tivsource.ejb3plugin.InjectEJB;
17 import de.tivsource.page.admin.actions.EmptyAction;
18 import de.tivsource.page.dao.companion.CompanionDaoLocal;
19 import de.tivsource.page.dao.companion.CompanionGroupDaoLocal;
20 import de.tivsource.page.entity.companion.Companion;
21 import de.tivsource.page.entity.companion.CompanionGroup;
22
23
24
25
26
27
28 @TilesDefinitions({
29 @TilesDefinition(name="companionAddForm", extend = "adminTemplate", putAttributes = {
30 @TilesPutAttribute(name = "meta", value = "/WEB-INF/tiles/active/meta/chosen.jsp"),
31 @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/others.jsp"),
32 @TilesPutAttribute(name = "content", value = "/WEB-INF/tiles/active/view/companion/edit_form.jsp")
33 })
34 })
35 public class EditAction extends EmptyAction {
36
37
38
39
40 private static final long serialVersionUID = -8055397581589809541L;
41
42
43
44
45 private static final Logger LOGGER = LogManager.getLogger(EditAction.class);
46
47 @InjectEJB(name="CompanionDao")
48 private CompanionDaoLocal companionDaoLocal;
49
50 @InjectEJB(name="CompanionGroupDao")
51 private CompanionGroupDaoLocal companionGroupDaoLocal;
52
53 private Companion companion;
54
55 private String lang;
56
57 public Companion getCompanion() {
58 return companion;
59 }
60
61 public void setCompanion(Companion companion) {
62 this.companion = companion;
63 }
64
65 public String getLang() {
66 return lang;
67 }
68
69 public void setLang(String lang) {
70 this.lang = lang;
71 }
72
73 @Override
74 @Actions({
75 @Action(
76 value = "edit",
77 results = {
78 @Result(name = "success", type = "redirectAction", location = "index.html"),
79 @Result(name = "input", type = "tiles", location = "companionEditForm"),
80 @Result(name = "error", type = "tiles", location = "companionEditError")
81 }
82 )
83 })
84 public String execute() throws Exception {
85 LOGGER.info("execute() aufgerufen.");
86
87 String remoteUser = ServletActionContext.getRequest().getRemoteUser();
88 String remoteAddress = ServletActionContext.getRequest().getRemoteAddr();
89
90 if(companion != null) {
91 LOGGER.info("Companion UUID: " + companion.getUuid());
92 Companion dbCompanion = companionDaoLocal.findByUuid(companion.getUuid());
93
94 dbCompanion.setAddress(companion.getAddress());
95 dbCompanion.setAppendix(companion.getAppendix());
96 dbCompanion.setContactDetails(companion.getContactDetails());
97 dbCompanion.setGroup(companion.getGroup());
98 dbCompanion.setModified(new Date());
99 dbCompanion.setModifiedAddress(remoteAddress);
100 dbCompanion.setModifiedBy(remoteUser);
101 dbCompanion.setName(companion.getName());
102 dbCompanion.setVisible(companion.getVisible());
103
104 companionDaoLocal.merge(dbCompanion);
105 return SUCCESS;
106 }
107 else {
108 return ERROR;
109 }
110
111 }
112
113 public List<CompanionGroup> getCompanionGroupList() {
114 return companionGroupDaoLocal.findAll(0, companionGroupDaoLocal.countAll());
115 }
116
117 }