View Javadoc

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   * @author Marc Michele
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       * Serial Version UID.
43       */
44      private static final long serialVersionUID = -1758318695882961832L;
45  
46      /**
47       * Statischer Logger der Klasse.
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     }// Ende execute()
115 
116 }// Ende class