1 package de.tivsource.page.admin.actions.others.slider;
2
3 import java.util.Date;
4 import java.util.UUID;
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.slider.SliderDaoLocal;
19 import de.tivsource.page.entity.slider.Slider;
20 import de.tivsource.page.entity.slider.SliderImage;
21
22
23
24
25
26
27 @TilesDefinitions({
28 @TilesDefinition(name="sliderAddForm", extend = "adminTemplate", putAttributes = {
29 @TilesPutAttribute(name = "meta", value = "/WEB-INF/tiles/active/meta/chosen.jsp"),
30 @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/others.jsp"),
31 @TilesPutAttribute(name = "content", value = "/WEB-INF/tiles/active/view/slider/add_form.jsp")
32 }),
33 @TilesDefinition(name="sliderAddError", extend = "adminTemplate", putAttributes = {
34 @TilesPutAttribute(name = "meta", value = "/WEB-INF/tiles/active/meta/chosen.jsp"),
35 @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/others.jsp"),
36 @TilesPutAttribute(name = "content", value = "/WEB-INF/tiles/active/view/slider/add_error.jsp")
37 })
38 })
39 public class AddAction extends EmptyAction {
40
41
42
43
44 private static final long serialVersionUID = -1758318695882961832L;
45
46
47
48
49 private static final Logger LOGGER = LogManager.getLogger(AddAction.class);
50
51 @InjectEJB(name = "SliderDao")
52 private SliderDaoLocal sliderDaoLocal;
53
54 private Slider slider;
55
56 private SliderImage sliderImage;
57
58 public Slider getSlider() {
59 return slider;
60 }
61
62 public void setSlider(Slider slider) {
63 this.slider = slider;
64 }
65
66 public SliderImage getSliderImage() {
67 return sliderImage;
68 }
69
70 public void setSliderImage(SliderImage sliderImage) {
71 this.sliderImage = sliderImage;
72 }
73
74 @Override
75 @Actions({
76 @Action(
77 value = "add",
78 results = {
79 @Result(name = "success", type = "redirectAction", location = "index.html"),
80 @Result(name = "input", type="tiles", location = "sliderAddForm"),
81 @Result(name = "error", type="tiles", location = "sliderAddError")
82 }
83 )
84 })
85 public String execute() throws Exception {
86 LOGGER.info("execute() aufgerufen.");
87
88 String remoteUser = ServletActionContext.getRequest().getRemoteUser();
89 String remoteAddress = ServletActionContext.getRequest().getRemoteAddr();
90
91 if(slider != null) {
92 slider.setUuid(UUID.randomUUID().toString());
93
94 sliderImage.setSlider(slider);
95 sliderImage.setUuid(UUID.randomUUID().toString());
96 sliderImage.generate();
97 sliderImage.setCreated(new Date());
98 sliderImage.setModified(new Date());
99 sliderImage.setModifiedAddress(remoteAddress);
100 sliderImage.setModifiedBy(remoteUser);
101 slider.setImage(sliderImage);
102
103 slider.setCreated(new Date());
104 slider.setModified(new Date());
105 slider.setModifiedAddress(remoteAddress);
106 slider.setModifiedBy(remoteUser);
107 sliderDaoLocal.merge(slider);
108
109 return SUCCESS;
110 }
111 else {
112 return ERROR;
113 }
114 }
115
116 }