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
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
40
41 private static final long serialVersionUID = -4785386555841300052L;
42
43
44
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 }
92
93 }