KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sslexplorer > ajax > ListRolesAction


1 package com.sslexplorer.ajax;
2
3 import javax.servlet.http.HttpServletRequest JavaDoc;
4 import javax.servlet.http.HttpServletResponse JavaDoc;
5
6 import org.ajaxtags.helpers.AjaxXmlBuilder;
7 import org.apache.struts.action.ActionForm;
8 import org.apache.struts.action.ActionMapping;
9
10 import com.sslexplorer.boot.ContextHolder;
11 import com.sslexplorer.boot.Util;
12 import com.sslexplorer.core.UserDatabaseManager;
13 import com.sslexplorer.security.LogonControllerFactory;
14 import com.sslexplorer.security.Role;
15 import com.sslexplorer.security.SessionInfo;
16 import com.sslexplorer.security.UserDatabase;
17
18
19 /**
20  * Implementation of {@link com.sslexplorer.ajax.AbstractAjaxXMLAction}
21  * that returns an XML document containing a list of roles.
22  * <p>
23  * Two request parameters are supported. First, the optional <b>role</b>
24  * which may contain a search string and secondly <b>maxRows</b> which is
25  * an integer, defaults to 10 and determines the maximum number of results to
26  * return. If <b>account</b> is not supplied, all roles (up to the
27  * specified maximum rows) will be returned.
28  *
29  * @author Brett Smith <a HREF="mailto: brett@3sp.com">&lt;brett@3sp.com&gt;</a>
30  */

31 public class ListRolesAction extends AbstractAjaxXMLAction {
32
33     /* (non-Javadoc)
34      * @see com.sslexplorer.core.actions.AuthenticatedAction#onExecute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
35      */

36     protected void onAjaxRequest(ActionMapping mapping, ActionForm form, HttpServletRequest JavaDoc request,
37                     HttpServletResponse JavaDoc response, AjaxXmlBuilder builder) throws Exception JavaDoc {
38         UserDatabase udb;
39         if(ContextHolder.getContext().isSetupMode()) {
40             udb = UserDatabaseManager.getInstance().getDefaultUserDatabase();
41         }
42         else {
43             udb = UserDatabaseManager.getInstance().getUserDatabase(LogonControllerFactory.getInstance().getUser(request).getRealm());
44         }
45         String JavaDoc role = request.getParameter("role");
46         String JavaDoc maxRows = request.getParameter("maxRows");
47         int rows = Integer.parseInt(maxRows == null ? "10" : maxRows);
48         Role[] roles = udb.listAllRoles( ( role == null ? "" : Util.urlDecode(role) ) + "*");
49         for(int i = 0 ; i < roles.length && i < rows; i++) {
50             String JavaDoc s = Util.encodeHTML(roles[i].getPrincipalName());
51             builder.addItem(s, s);
52         }
53     }
54
55     /* (non-Javadoc)
56      * @see com.sslexplorer.core.actions.CoreAction#getNavigationContext(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
57      */

58     public int getNavigationContext(ActionMapping mapping, ActionForm form, HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) {
59         return SessionInfo.MANAGEMENT_CONSOLE_CONTEXT;
60     }
61
62 }
63
Popular Tags