KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > war > control > CRUDRoleController


1 /*
2  * Copyright (C) 2006 JasperSoft http://www.jaspersoft.com
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed WITHOUT ANY WARRANTY; and without the
10  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
15  * or write to:
16  *
17  * Free Software Foundation, Inc.,
18  * 59 Temple Place - Suite 330,
19  * Boston, MA USA 02111-1307
20  */

21 package com.jaspersoft.jasperserver.war.control;
22
23 import javax.servlet.ServletException JavaDoc;
24 import javax.servlet.http.HttpServletRequest JavaDoc;
25 import javax.servlet.http.HttpServletResponse JavaDoc;
26
27 import org.springframework.validation.BindException;
28 import org.springframework.web.bind.ServletRequestDataBinder;
29 import org.springframework.web.multipart.support.ByteArrayMultipartFileEditor;
30 import org.springframework.web.servlet.ModelAndView;
31 import org.springframework.web.servlet.mvc.SimpleFormController;
32
33 import com.jaspersoft.jasperserver.api.common.domain.ExecutionContext;
34 import com.jaspersoft.jasperserver.api.common.domain.impl.ExecutionContextImpl;
35
36 import com.jaspersoft.jasperserver.api.metadata.user.domain.Role;
37 import com.jaspersoft.jasperserver.api.metadata.user.domain.impl.hibernate.RepoRole;
38 import com.jaspersoft.jasperserver.api.metadata.user.service.UserAuthorityService;
39 import com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl;
40 import com.jaspersoft.jasperserver.war.common.JasperServerUtil;
41
42 public class CRUDRoleController extends SimpleFormController {
43
44     //variable for userauth-service
45
protected UserAuthorityService userAuthService;
46
47     /*
48     * method to return authService object
49     * @param
50     * @return: Object
51     */

52     public UserAuthorityService getUserAuthService() {
53         return userAuthService;
54     }
55
56     /*
57     * method to return authService object
58     * @param
59     * @return: void
60     */

61     public void setUserAuthService(UserAuthorityService userAuthService) {
62         this.userAuthService = userAuthService;
63     }
64
65     /*
66     * overridden method for commandobject initialization
67     * during formView
68     * @param
69     * @return Object
70     */

71     public Object JavaDoc formBackingObject(HttpServletRequest JavaDoc request) {
72
73         String JavaDoc rolename = null;
74         String JavaDoc fromPage = request.getParameter("frompage");
75         if(fromPage != null && fromPage.equals("ObjectPermissionToRole"))
76             rolename = request.getParameter("selectedrole");
77         else
78             rolename = request.getParameter("roleName");
79
80         ExecutionContext context = new ExecutionContextImpl();
81         Role roleUnit = null;
82         if(rolename == null || rolename.trim().length()==0)
83             roleUnit = userAuthService.newRole(context);
84         else {
85             roleUnit = userAuthService.getRole(context, rolename);
86         }
87
88         //when rolename is used for matching exist role
89
if(roleUnit == null) {
90             roleUnit = userAuthService.newRole(context);
91         }
92
93         request.setAttribute("roleList", userAuthService.getRoles(context, null));
94         return roleUnit;
95     }
96
97     /*
98      * overridden lifecycle method on form submission
99      * @param:
100      * return: ModelAndView
101      */

102     public ModelAndView onSubmit(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response,
103             Object JavaDoc command, BindException errors) throws Exception JavaDoc {
104
105         String JavaDoc fromPage = request.getParameter("frompage");
106         Role roleUnit = (Role)command;
107
108         //for proper-save of checkbox value
109
String JavaDoc extdef = request.getParameter("extDefined");
110         if(extdef != null && extdef.equals("true"))
111             roleUnit.setExternallyDefined(true);
112         else
113             roleUnit.setExternallyDefined(false);
114
115         JasperServerUtil.trimDTOFieldSpaces(roleUnit);
116
117         userAuthService.putRole(null, roleUnit);
118
119         if(fromPage != null && !fromPage.equals("ObjectPermissionToRole")) {
120             return new ModelAndView("AdminStatus");
121         } else {
122             return new ModelAndView(fromPage);
123         }
124     }
125
126     /*
127      * function to bind to a custom editor
128      * @param:
129      * return: void
130      */

131     protected void initBinder(HttpServletRequest JavaDoc request, ServletRequestDataBinder binder)
132                                             throws ServletException JavaDoc {
133         binder.registerCustomEditor(byte[].class, new ByteArrayMultipartFileEditor());
134     }
135
136
137 }
138
Popular Tags