View Javadoc

1   package de.tivsource.page.admin.actions.maintenance.cssfile;
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.common.css.CSSFile;
19  import de.tivsource.page.dao.cssfile.CSSFileDaoLocal;
20  
21  /**
22   * 
23   * @author Marc Michele
24   *
25   */
26  @TilesDefinitions({
27    @TilesDefinition(name="cssFileAddForm",  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/maintenance.jsp"),
30      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/cssfile/add_form.jsp")
31    }),
32    @TilesDefinition(name="cssFileAddError", extend = "adminTemplate", putAttributes = {
33      @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/maintenance.jsp"),
34      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/cssfile/add_error.jsp")
35    })
36  })
37  public class AddAction extends EmptyAction {
38  
39      /**
40       * Serial Version UID.
41       */
42      private static final long serialVersionUID = 3442711359941308571L;
43  
44      /**
45       * Statischer Logger der Klasse.
46       */
47      private static final Logger LOGGER = LogManager.getLogger(AddAction.class);
48  
49      @InjectEJB(name="CSSFileDao")
50      private CSSFileDaoLocal cssFileDaoLocal;
51  
52      private CSSFile cssFile;
53  
54      public CSSFile getCssFile() {
55          return cssFile;
56      }
57  
58      public void setCssFile(CSSFile cssFile) {
59          this.cssFile = cssFile;
60      }
61  
62  	@Override
63      @Actions({
64          @Action(
65          		value = "add", 
66          		results = { 
67          				@Result(name = "success", type = "redirectAction", location = "index.html"),
68          				@Result(name = "input", type="tiles", location = "cssFileAddForm"),
69          				@Result(name = "error", type="tiles", location = "cssFileAddError")
70          				}
71          )
72      })
73      public String execute() throws Exception {
74      	LOGGER.info("execute() aufgerufen.");
75  
76          String remoteUser    = ServletActionContext.getRequest().getRemoteUser();
77          String remoteAddress = ServletActionContext.getRequest().getRemoteAddr();
78  
79      	if(cssFile != null) {
80      		/*
81               *  Erzeuge die CSS-Datei.
82               */
83              if(cssFile.getUploadFile() != null) {
84                  cssFile.generate();
85              }
86  
87      	    cssFile.setUuid(UUID.randomUUID().toString());
88      	    cssFile.setModified(new Date());
89      	    cssFile.setCreated(new Date());
90      	    cssFile.setModifiedBy(remoteUser);
91      	    cssFile.setModifiedAddress(remoteAddress);
92      	    cssFileDaoLocal.merge(cssFile);
93              return SUCCESS;
94      	}
95      	else {
96      		return ERROR;
97      	}
98      	
99      	
100     }// Ende execute()
101 
102 }// Ende class