1 package de.tivsource.page.user.actions.subsumption;
2
3 import java.util.regex.Pattern;
4
5 import org.apache.logging.log4j.LogManager;
6 import org.apache.logging.log4j.Logger;
7 import org.apache.struts2.ServletActionContext;
8 import org.apache.struts2.convention.annotation.Action;
9 import org.apache.struts2.convention.annotation.Actions;
10 import org.apache.struts2.convention.annotation.Result;
11 import org.apache.struts2.tiles.annotation.TilesDefinition;
12 import org.apache.struts2.tiles.annotation.TilesDefinitions;
13 import org.apache.struts2.tiles.annotation.TilesPutAttribute;
14
15 import de.tivsource.ejb3plugin.InjectEJB;
16 import de.tivsource.page.dao.page.PageDaoLocal;
17 import de.tivsource.page.dao.property.PropertyDaoLocal;
18 import de.tivsource.page.dao.subsumption.SubsumptionDaoLocal;
19 import de.tivsource.page.entity.page.Page;
20 import de.tivsource.page.entity.subsumption.Subsumption;
21 import de.tivsource.page.user.actions.EmptyAction;
22
23
24
25
26
27
28 @TilesDefinitions({
29 @TilesDefinition(name="subsumption", extend = "userTemplate", putAttributes = {
30 @TilesPutAttribute(name = "meta", value = "/WEB-INF/tiles/active/meta/subsumption.jsp"),
31 @TilesPutAttribute(name = "twitter", value = "/WEB-INF/tiles/active/twitter/subsumption.jsp"),
32 @TilesPutAttribute(name = "content", value = "/WEB-INF/tiles/active/view/subsumption/subsumption.jsp")
33 })
34 })
35 public class SubsumptionAction extends EmptyAction {
36
37
38
39
40 private static final long serialVersionUID = 1181728157641483645L;
41
42
43
44
45 private static final Logger LOGGER = LogManager.getLogger(SubsumptionAction.class);
46
47 @InjectEJB(name = "PageDao")
48 private PageDaoLocal pageDaoLocal;
49
50 @InjectEJB(name="PropertyDao")
51 private PropertyDaoLocal propertyDaoLocal;
52
53 @InjectEJB(name="SubsumptionDao")
54 private SubsumptionDaoLocal subsumptionDaoLocal;
55
56 private Subsumption subsumption;
57
58 private String subsumptionTechnical;
59
60 private Page page;
61
62 @Override
63 @Actions({
64 @Action(value = "*/index", results = {
65 @Result(name = "success", type = "tiles", location = "subsumption"),
66 @Result(name = "input", type = "redirectAction", location = "index.html", params={"namespace", "/"}),
67 @Result(name = "error", type = "redirectAction", location = "index.html", params={"namespace", "/"})
68 })
69 })
70 public String execute() throws Exception {
71 LOGGER.info("execute() aufgerufen.");
72
73
74 this.getLanguageFromActionContext();
75
76
77 subsumptionTechnical = ServletActionContext.getRequest().getServletPath();
78 LOGGER.info("SubsumptionTechnical: " + subsumptionTechnical);
79 subsumptionTechnical = subsumptionTechnical.replaceAll("/index.html", "");
80 subsumptionTechnical = subsumptionTechnical.replaceAll("/subsumption/", "");
81 LOGGER.info("SubsumptionTechnical: " + subsumptionTechnical);
82
83
84
85
86
87 if (isValid(subsumptionTechnical) && subsumptionDaoLocal.isSubsumptionUrl(subsumptionTechnical)) {
88 LOGGER.info("gültige Manual Uuid.");
89 subsumption = subsumptionDaoLocal.findByTechnical(subsumptionTechnical);
90 if(subsumption.getVisible()) {
91
92 page = new Page();
93 page.setTechnical(subsumption.getTechnical());
94 page.setDescriptionMap(subsumption.getDescriptionMap());
95 page.setCssGroup(subsumption.getCssGroup());
96 return SUCCESS;
97 }
98 }
99
100 return ERROR;
101
102 }
103
104 @Override
105 public Page getPage() {
106 return page;
107 }
108
109 public Subsumption getSubsumption() {
110 return subsumption;
111 }
112
113 private Boolean isValid(String input) {
114 if (Pattern.matches("[a-z]*", input)) {
115 return true;
116 } else {
117 return false;
118 }
119 }
120
121 }