Subversion Repositories bacoAlunos

Rev

Rev 1283 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1283 jmachado 1
package pt.estgp.estgweb.web.controllers.configuration;
2
 
3
import org.apache.log4j.Logger;
4
import org.apache.struts.action.ActionForm;
5
import org.apache.struts.action.ActionForward;
6
import org.apache.struts.action.ActionMapping;
7
import pt.estgp.estgweb.domain.DomainObjectFactory;
8
import pt.estgp.estgweb.domain.UserRoleConfig;
9
import pt.estgp.estgweb.domain.UserRoleConfigImpl;
10
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
11
import pt.estgp.estgweb.web.filters.UserRoleProxy;
12
import pt.estgp.estgweb.web.form.configuration.ConfigurationUserRolesForm;
13
import pt.estgp.estgweb.web.utils.RequestUtils;
14
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
15
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
16
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException;
17
 
18
import javax.servlet.ServletException;
19
import javax.servlet.http.HttpServletRequest;
20
import javax.servlet.http.HttpServletResponse;
21
 
22
/**
23
 * @author Jorge Machado
24
 * @date 26/Fev/2008
25
 * @time 18:01:54
26
 * @see pt.estgp.estgweb.web
27
 */
28
public class UserRolesController extends ApplicationDispatchController
29
{
30
 
31
    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(UserRolesController.class);
32
 
33
 
34
 
35
 
36
 
37
    public ActionForward addNew(ActionMapping mapping,
38
                                            ActionForm form,
39
                                            HttpServletRequest request,
40
                                            HttpServletResponse response)
41
            throws ServletException
42
    {
43
 
44
        UserRoleConfigImpl role = DomainObjectFactory.createUserRoleConfigImpl();
45
        role.setDirty(true);
46
        ConfigurationUserRolesForm f = (ConfigurationUserRolesForm) form;
47
        f.getUserRolesConfig().add(0,role);
48
        return mapping.findForward("userRoles");
49
    }
50
 
51
 
52
    public ActionForward saveAllDirty(ActionMapping mapping,
53
                                ActionForm form,
54
                                HttpServletRequest request,
55
                                HttpServletResponse response)
56
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable {
57
 
58
        ConfigurationUserRolesForm f = (ConfigurationUserRolesForm) form;
59
        IServiceManager sm = ServiceManager.getInstance();
60
        1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{};
61
        5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{
62
               f.getUserRolesConfig()
63
        };
64
 
65
        try
66
        {
67
            sm.execute(RequestUtils.getRequester(request, response), "AddUpdateDirtyRolesTranslation", args, names);
68
            UserRoleProxy.setDirty();
69
            f.setUserRoleConfigs(null);
70
            addMessage(request, "configuration.roles.saved");
71
        }
72
        catch (FilterChainFailedException e)
73
        {
74
            return mapping.findForward("error401");
75
        }
76
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
77
        {
78
            logger.error(e, e);
79
            throw e;
80
        }
81
        return mapping.findForward("userRoles");
82
    }
83
 
84
    public ActionForward saveUserRole(ActionMapping mapping,
85
                                      ActionForm form,
86
                                      HttpServletRequest request,
87
                                      HttpServletResponse response)
88
            throws 1.5.0/docs/api/java/lang/Throwable.html">Throwable {
89
 
90
        ConfigurationUserRolesForm f = (ConfigurationUserRolesForm) form;
91
        UserRoleConfig userRoleConfig = null;
92
        long idPosChoosed = f.getId();
93
        for(UserRoleConfig u : f.getUserRolesConfig())
94
        {
95
            UserRoleConfigImpl ur = (UserRoleConfigImpl) u;
96
            if(ur.getPosForId() == idPosChoosed)
97
            {
98
                userRoleConfig = ur;
99
                break;
100
            }
101
        }
102
        if(userRoleConfig == null)
103
            return mapping.findForward("userRoles");
104
 
105
        IServiceManager sm = ServiceManager.getInstance();
106
        1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{};
107
        5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{
108
                userRoleConfig
109
        };
110
 
111
        try
112
        {
113
            sm.execute(RequestUtils.getRequester(request, response), "AddUpdateRoleTranslation", args, names);
114
            UserRoleConfigImpl ur = (UserRoleConfigImpl) userRoleConfig;
115
            ur.setDirty(false);
116
            UserRoleProxy.setDirty();
117
            //f.setUserRoleConfigs(null);
118
            addMessage(request, "configuration.role.saved",ur.getValue());
119
        }
120
        catch (FilterChainFailedException e)
121
        {
122
            return mapping.findForward("error401");
123
        }
124
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
125
        {
126
            logger.error(e, e);
127
            throw e;
128
        }
129
        return mapping.findForward("userRoles");
130
    }
131
 
132
 
133
 
134
}