View Javadoc

1   package de.tivsource.page.admin.actions.maintenance.cssgroup;
2   
3   import java.util.Arrays;
4   import java.util.Date;
5   import java.util.Iterator;
6   import java.util.List;
7   import java.util.UUID;
8   
9   import org.apache.logging.log4j.LogManager;
10  import org.apache.logging.log4j.Logger;
11  import org.apache.struts2.ServletActionContext;
12  import org.apache.struts2.convention.annotation.Action;
13  import org.apache.struts2.convention.annotation.Actions;
14  import org.apache.struts2.convention.annotation.Result;
15  import org.apache.struts2.tiles.annotation.TilesDefinition;
16  import org.apache.struts2.tiles.annotation.TilesDefinitions;
17  import org.apache.struts2.tiles.annotation.TilesPutAttribute;
18  
19  import de.tivsource.ejb3plugin.InjectEJB;
20  import de.tivsource.page.admin.actions.EmptyAction;
21  import de.tivsource.page.common.css.CSSFile;
22  import de.tivsource.page.common.css.CSSGroup;
23  import de.tivsource.page.dao.cssfile.CSSFileDaoLocal;
24  import de.tivsource.page.dao.cssgroup.CSSGroupDaoLocal;
25  import de.tivsource.page.entity.enumeration.Language;
26  
27  /**
28   * 
29   * @author Marc Michele
30   *
31   */
32  @TilesDefinitions({
33    @TilesDefinition(name="cssGroupAddForm",  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/maintenance.jsp"),
36      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/cssgroup/add_form.jsp")
37    }),
38    @TilesDefinition(name="cssGroupAddError", extend = "adminTemplate", putAttributes = {
39      @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/maintenance.jsp"),
40      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/cssgroup/add_error.jsp")
41    })
42  })
43  public class AddAction extends EmptyAction {
44  
45      /**
46       * Serial Version UID.
47       */
48      private static final long serialVersionUID = 3442711359941308571L;
49  
50      /**
51       * Statischer Logger der Klasse.
52       */
53      private static final Logger LOGGER = LogManager.getLogger(AddAction.class);
54  
55      @InjectEJB(name="CSSFileDao")
56      private CSSFileDaoLocal cssFileDaoLocal;
57  
58      @InjectEJB(name="CSSGroupDao")
59      private CSSGroupDaoLocal cssGroupDaoLocal;
60  
61      private CSSGroup cssGroup;
62  
63      public CSSGroup getCssGroup() {
64          return cssGroup;
65      }
66  
67      public void setCssGroup(CSSGroup cssGroup) {
68          this.cssGroup = cssGroup;
69      }
70  
71      @Override
72      @Actions({
73          @Action(
74              value = "add",
75              results = {
76                  @Result(name = "success", type = "redirectAction", location = "index.html"),
77                  @Result(name = "input", type="tiles", location = "cssGroupAddForm"),
78                  @Result(name = "error", type="tiles", location = "cssGroupAddError")
79              }
80          )
81      })
82      public String execute() throws Exception {
83      	LOGGER.info("execute() aufgerufen.");
84  
85          String remoteUser    = ServletActionContext.getRequest().getRemoteUser();
86          String remoteAddress = ServletActionContext.getRequest().getRemoteAddr();
87  
88          if (cssGroup != null) {
89              // Füge die Gruppe in die Dateien ein
90              Iterator<CSSFile> cssFiles = cssGroup.getFiles().iterator();
91              while (cssFiles.hasNext()) {
92                  CSSFile next = cssFiles.next();
93                  next.getGroups().add(cssGroup);
94              }
95              cssGroup.setUuid(UUID.randomUUID().toString());
96              cssGroup.setModified(new Date());
97              cssGroup.setCreated(new Date());
98              cssGroup.setModifiedBy(remoteUser);
99              cssGroup.setModifiedAddress(remoteAddress);
100             cssGroupDaoLocal.merge(cssGroup);
101             return SUCCESS;
102         } else {
103             return ERROR;
104         }
105 
106     }// Ende execute()
107 
108     public List<CSSFile> getCssFileList() {
109         return cssFileDaoLocal.findAll(0, cssFileDaoLocal.countAll());
110     }
111 
112     public List<Language> getLanguageList() {
113         return Arrays.asList(Language.values());
114     }
115 
116 }// Ende class