Rev 1312 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1312 | jmachado | 1 | package pt.estgp.estgweb.web.tags; |
2 | |||
3 | import org.apache.log4j.Logger; |
||
4 | import org.apache.struts.util.RequestUtils; |
||
5 | import pt.estgp.estgweb.domain.ClearanceRuled; |
||
6 | import pt.estgp.estgweb.domain.UserSessionImpl; |
||
7 | import pt.estgp.estgweb.web.UserSessionProxy; |
||
8 | |||
9 | import javax.servlet.http.HttpServletRequest; |
||
10 | import javax.servlet.jsp.JspException; |
||
11 | import javax.servlet.jsp.JspWriter; |
||
12 | import javax.servlet.jsp.tagext.BodyTagSupport; |
||
13 | |||
14 | public class NotClearOperationTag extends BodyTagSupport |
||
15 | { |
||
16 | |||
17 | private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(NotClearOperationTag.class); |
||
18 | private 1.5.0/docs/api/java/lang/String.html">String name; |
||
19 | private 1.5.0/docs/api/java/lang/String.html">String property; |
||
20 | private 1.5.0/docs/api/java/lang/String.html">String op; |
||
21 | |||
22 | |||
23 | public 1.5.0/docs/api/java/lang/String.html">String getName() { |
||
24 | return name; |
||
25 | } |
||
26 | |||
27 | public void setName(1.5.0/docs/api/java/lang/String.html">String name) { |
||
28 | this.name = name; |
||
29 | } |
||
30 | |||
31 | public 1.5.0/docs/api/java/lang/String.html">String getProperty() { |
||
32 | return property; |
||
33 | } |
||
34 | |||
35 | public void setProperty(1.5.0/docs/api/java/lang/String.html">String property) { |
||
36 | this.property = property; |
||
37 | } |
||
38 | |||
39 | public 1.5.0/docs/api/java/lang/String.html">String getOp() { |
||
40 | return op; |
||
41 | } |
||
42 | |||
43 | public void setOp(1.5.0/docs/api/java/lang/String.html">String op) { |
||
44 | this.op = op; |
||
45 | } |
||
46 | |||
47 | boolean go = false; |
||
48 | |||
49 | public int doStartTag() throws JspException |
||
50 | { |
||
51 | go = go(); |
||
52 | if (go) |
||
53 | { |
||
54 | return EVAL_BODY_TAG; |
||
55 | } |
||
56 | else |
||
57 | return SKIP_BODY; |
||
58 | } |
||
59 | |||
60 | public boolean go() throws JspException |
||
61 | { |
||
62 | UserSessionImpl userSession = (UserSessionImpl) UserSessionProxy.loadUserSessionFromRequest((HttpServletRequest) pageContext.getRequest()); |
||
63 | ClearanceRuled ruledObj = (ClearanceRuled) RequestUtils.lookup(pageContext, name, property, null); |
||
1350 | jmachado | 64 | |
65 | 1.5.0/docs/api/java/lang/String.html">String[] ops = op.split(","); |
||
66 | for(1.5.0/docs/api/java/lang/String.html">String opSub: ops) |
||
67 | { |
||
68 | if(ruledObj.isClear(userSession,opSub)) |
||
69 | { |
||
70 | return false; |
||
71 | } |
||
72 | } |
||
73 | return true; |
||
1312 | jmachado | 74 | } |
75 | |||
76 | public int doEndTag() throws JspException |
||
77 | { |
||
78 | if (go) |
||
79 | { |
||
80 | 1.5.0/docs/api/java/lang/String.html">String toPage = bodyContent.getString().trim(); |
||
81 | JspWriter writer = pageContext.getOut(); |
||
82 | try |
||
83 | { |
||
84 | writer.write(toPage); |
||
85 | } |
||
86 | catch (1.5.0/docs/api/java/lang/Exception.html">Exception e) |
||
87 | { |
||
88 | logger.error(e, e); |
||
89 | throw new JspException(e); |
||
90 | } |
||
91 | } |
||
92 | // Continue processing this page |
||
93 | return EVAL_PAGE; |
||
94 | } |
||
95 | |||
96 | |||
97 | } |