1 package de.tivsource.page.admin.actions.others.slider;
2
3 import java.util.Date;
4
5 import org.apache.logging.log4j.LogManager;
6 import org.apache.logging.log4j.Logger;
7 import org.apache.struts2.ServletActionContext;
8 import org.apache.struts2.convention.annotation.Action;
9 import org.apache.struts2.convention.annotation.Actions;
10 import org.apache.struts2.convention.annotation.Result;
11 import org.apache.struts2.tiles.annotation.TilesDefinition;
12 import org.apache.struts2.tiles.annotation.TilesDefinitions;
13 import org.apache.struts2.tiles.annotation.TilesPutAttribute;
14
15 import de.tivsource.ejb3plugin.InjectEJB;
16 import de.tivsource.page.admin.actions.EmptyAction;
17 import de.tivsource.page.dao.property.PropertyDaoLocal;
18 import de.tivsource.page.dao.slider.SliderDaoLocal;
19 import de.tivsource.page.entity.slider.Slider;
20
21
22
23
24
25
26 @TilesDefinitions({
27 @TilesDefinition(name="sliderEditForm", extend = "adminTemplate", putAttributes = {
28 @TilesPutAttribute(name = "meta", value = "/WEB-INF/tiles/active/meta/chosen.jsp"),
29 @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/others.jsp"),
30 @TilesPutAttribute(name = "content", value = "/WEB-INF/tiles/active/view/slider/edit_form.jsp")
31 }),
32 @TilesDefinition(name="sliderEditError", extend = "adminTemplate", putAttributes = {
33 @TilesPutAttribute(name = "meta", value = "/WEB-INF/tiles/active/meta/chosen.jsp"),
34 @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/others.jsp"),
35 @TilesPutAttribute(name = "content", value = "/WEB-INF/tiles/active/view/slider/edit_error.jsp")
36 })
37 })
38 public class EditAction extends EmptyAction {
39
40
41
42
43 private static final long serialVersionUID = -6472541996524122642L;
44
45
46
47
48 private static final Logger LOGGER = LogManager.getLogger(EditAction.class);
49
50 @InjectEJB(name="PropertyDao")
51 private PropertyDaoLocal propertyDaoLocal;
52
53 @InjectEJB(name = "SliderDao")
54 private SliderDaoLocal sliderDaoLocal;
55
56 private Slider slider;
57
58 public Slider getSlider() {
59 return slider;
60 }
61
62 public void setSlider(Slider slider) {
63 this.slider = slider;
64 }
65
66 @Override
67 @Actions({
68 @Action(
69 value = "edit",
70 results = {
71 @Result(name = "success", type = "redirectAction", location = "index.html"),
72 @Result(name = "input", type = "tiles", location = "sliderEditForm"),
73 @Result(name = "error", type = "tiles", location = "sliderEditError")
74 }
75 )
76 })
77 public String execute() throws Exception {
78 LOGGER.info("execute() aufgerufen.");
79
80 String remoteUser = ServletActionContext.getRequest().getRemoteUser();
81 String remoteAddress = ServletActionContext.getRequest().getRemoteAddr();
82
83 if(slider != null) {
84 LOGGER.info("UUID des Sliders: " + slider.getUuid());
85 Slider dbSlider = sliderDaoLocal.findByUuid(slider.getUuid());
86
87 dbSlider.setClickable(slider.getClickable());
88 dbSlider.setModified(new Date());
89 dbSlider.setModifiedAddress(remoteAddress);
90 dbSlider.setModifiedBy(remoteUser);
91 dbSlider.setName(slider.getName());
92 dbSlider.setOrderNumber(slider.getOrderNumber());
93 dbSlider.setPage(slider.getPage());
94 dbSlider.setUrl(slider.getUrl());
95 dbSlider.setVisible(slider.getVisible());
96
97 sliderDaoLocal.merge(dbSlider);
98 return SUCCESS;
99 }
100 else {
101 return ERROR;
102 }
103
104 }
105
106 }