📄 listaccountsaction.java
字号:
package com.sslexplorer.ajax;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.ajaxtags.helpers.AjaxXmlBuilder;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import com.sslexplorer.boot.ContextHolder;
import com.sslexplorer.core.CoreServlet;
import com.sslexplorer.core.UserDatabaseManager;
import com.sslexplorer.install.forms.SelectUserDatabaseForm;
import com.sslexplorer.security.Constants;
import com.sslexplorer.security.SessionInfo;
import com.sslexplorer.security.User;
import com.sslexplorer.security.UserDatabase;
import com.sslexplorer.wizard.AbstractWizardSequence;
/**
* Implementation of {@link com.sslexplorer.ajax.AbstractAjaxXMLAction} that returns an
* XML document containing a list of user accounts.
* <p>
* Two request parameters are supported. First, the optional <b>account</b>
* which may contain a search string and secondly <b>maxRows</b> which is
* an integer, defaults to 10 and determines the maximum number of results to
* return. If <b>account</b> is not supplied, all accounts (up to the
* specified maximum rows) will be returned.
*
* @author Brett Smith <a href="mailto: brett@3sp.com"><brett@3sp.com></a>
* @version $Revision: 1.12 $
*/
public class ListAccountsAction extends AbstractAjaxXMLAction {
/* (non-Javadoc)
* @see com.sslexplorer.ajax.AbstractAjaxAction#onAjaxRequest(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.ajaxtags.helpers.AjaxXmlBuilder)
*/
protected void onAjaxRequest(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response, AjaxXmlBuilder builder) throws Exception {
UserDatabase udb;
if(ContextHolder.getContext().isSetupMode()) {
AbstractWizardSequence seq = (AbstractWizardSequence)request.getSession().getAttribute(Constants.WIZARD_SEQUENCE);
udb = UserDatabaseManager.getInstance().getUserDatabase(
(String)seq.getAttribute(SelectUserDatabaseForm.ATTR_USER_DATABASE, null));
}
else {
udb = CoreServlet.getServlet().getUserDatabase();
}
String account = request.getParameter("account");
String maxRows = request.getParameter("maxRows");
int rows = Integer.parseInt(maxRows == null ? "10" : maxRows);
String filter = ( account == null ? "" : account ) + "*";
User[] users = udb.listAllUsers(filter);
for(int i = 0 ; i < users.length && i < rows; i++) {
builder.addItem(users[i].getPrincipalName(), users[i].getPrincipalName());
}
}
/* (non-Javadoc)
* @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)
*/
public int getNavigationContext(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
return SessionInfo.MANAGEMENT_CONSOLE_CONTEXT | SessionInfo.SETUP_CONSOLE_CONTEXT;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -