View Javadoc

1   package de.tivsource.page.admin.actions.maintenance.cssfile;
2   
3   import org.apache.logging.log4j.LogManager;
4   import org.apache.logging.log4j.Logger;
5   import org.apache.struts2.convention.annotation.Action;
6   import org.apache.struts2.convention.annotation.Actions;
7   import org.apache.struts2.convention.annotation.Result;
8   import org.apache.struts2.tiles.annotation.TilesDefinition;
9   import org.apache.struts2.tiles.annotation.TilesDefinitions;
10  import org.apache.struts2.tiles.annotation.TilesPutAttribute;
11  
12  import de.tivsource.ejb3plugin.InjectEJB;
13  import de.tivsource.page.admin.actions.EmptyAction;
14  import de.tivsource.page.common.css.CSSFile;
15  import de.tivsource.page.dao.cssfile.CSSFileDaoLocal;
16  
17  /**
18   * 
19   * @author Marc Michele
20   *
21   */
22  @TilesDefinitions({
23    @TilesDefinition(name="cssFileDeleteForm", extend = "adminTemplate", putAttributes = {
24      @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/maintenance.jsp"),
25      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/cssfile/delete_form.jsp")
26    }),
27    @TilesDefinition(name="cssFileDeleteError", extend = "adminTemplate", putAttributes = {
28      @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/maintenance.jsp"),
29      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/cssfile/delete_error.jsp")
30    }),
31    @TilesDefinition(name="cssFileReferences", extend = "adminTemplate", putAttributes = {
32      @TilesPutAttribute(name = "navigation", value = "/WEB-INF/tiles/active/navigation/maintenance.jsp"),
33      @TilesPutAttribute(name = "content",    value = "/WEB-INF/tiles/active/view/cssfile/references.jsp")
34    })
35  })
36  public class DeleteAction extends EmptyAction {
37  
38  	/**
39  	 * Serial Version UID.
40  	 */
41  	private static final long serialVersionUID = -4785386555841300052L;
42  
43  	/**
44       * Statischer Logger der Klasse.
45       */
46      private static final Logger LOGGER = LogManager.getLogger(DeleteAction.class);
47  
48      @InjectEJB(name="CSSFileDao")
49      private CSSFileDaoLocal cssFileDaoLocal;
50  
51      private CSSFile cssFile;
52  
53      public CSSFile getCssFile() {
54          return cssFile;
55      }
56  
57      public void setCssFile(CSSFile cssFile) {
58          this.cssFile = cssFile;
59      }
60  
61      @Override
62      @Actions({
63          @Action(
64          		value = "delete", 
65          		results = { 
66          				@Result(name = "success", type = "redirectAction", location = "index.html"),
67          				@Result(name = "input", type="tiles", location = "cssFileDeleteForm"),
68          				@Result(name = "error", type="tiles", location = "cssFileDeleteError"),
69          				@Result(name = "references", type="tiles", location = "cssFileReferences")
70          				}
71          )
72      })
73      public String execute() throws Exception {
74      	LOGGER.info("execute() aufgerufen.");
75  
76  
77          if(cssFile != null) {
78              if(!cssFileDaoLocal.hasReferences(cssFile.getUuid())) {
79              	CSSFile dbCssFile = cssFileDaoLocal.findByUuid(cssFile.getUuid());
80                  cssFileDaoLocal.delete(dbCssFile);
81                  return SUCCESS;
82              }
83              else {
84              	return "references";
85              }
86      	}
87          else {
88      		return ERROR;
89      	}
90  
91      }// Ende execute()
92  	
93  }// Ende class