1 package de.tivsource.page.admin.actions.maintenance.cssgroup;
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.CSSGroup;
15 import de.tivsource.page.dao.cssgroup.CSSGroupDaoLocal;
16
17
18
19
20
21
22 @TilesDefinitions({
23 @TilesDefinition(name="cssGroupDeleteForm", 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/cssgroup/delete_form.jsp")
26 }),
27 @TilesDefinition(name="cssGroupDeleteError", 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/cssgroup/delete_error.jsp")
30 }),
31 @TilesDefinition(name="cssGroupReferences", 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/cssgroup/references.jsp")
34 })
35 })
36 public class DeleteAction extends EmptyAction {
37
38
39
40
41 private static final long serialVersionUID = 8847714905311859127L;
42
43
44
45
46 private static final Logger LOGGER = LogManager.getLogger(DeleteAction.class);
47
48 @InjectEJB(name="CSSGroupDao")
49 private CSSGroupDaoLocal cssGroupDaoLocal;
50
51 private CSSGroup cssGroup;
52
53
54
55
56 public CSSGroup getCssGroup() {
57 return cssGroup;
58 }
59
60
61
62
63 public void setCssGroup(CSSGroup cssGroup) {
64 this.cssGroup = cssGroup;
65 }
66
67 @Override
68 @Actions({
69 @Action(
70 value = "delete",
71 results = {
72 @Result(name = "success", type = "redirectAction", location = "index.html"),
73 @Result(name = "input", type="tiles", location = "cssGroupDeleteForm"),
74 @Result(name = "error", type="tiles", location = "cssGroupDeleteError"),
75 @Result(name = "references", type="tiles", location = "cssGroupReferences")
76 }
77 )
78 })
79 public String execute() throws Exception {
80 LOGGER.info("execute() aufgerufen.");
81
82
83 if(cssGroup != null) {
84 if(!cssGroupDaoLocal.hasReferences(cssGroup.getUuid())) {
85 CSSGroup dbCSSGroup = cssGroupDaoLocal.findByUuid(cssGroup.getUuid());
86 cssGroupDaoLocal.delete(dbCSSGroup);
87 return SUCCESS;
88 }
89 else {
90 return "references";
91 }
92 }
93 else {
94 return ERROR;
95 }
96
97 }
98
99 }