Subversion Repositories bacoAlunos

Rev

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
}