⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usermanagerportlet.java

📁 GridSphere 门户 提供一个基于 portlet 的高级开放源代码门户。GridSphere 是在欧盟提供基金的 GridLab 项目下开发的
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * @author <a href="mailto:novotny@gridsphere.org">Jason Novotny</a> * @version $Id: UserManagerPortlet.java 5088 2006-08-18 22:53:27Z novotny $ */package org.gridsphere.portlets.core.admin.users;import org.gridsphere.portlet.service.PortletServiceException;import org.gridsphere.provider.event.jsr.ActionFormEvent;import org.gridsphere.provider.event.jsr.RenderFormEvent;import org.gridsphere.provider.portlet.jsr.ActionPortlet;import org.gridsphere.provider.portletui.beans.*;import org.gridsphere.provider.portletui.model.DefaultTableModel;import org.gridsphere.services.core.mail.MailMessage;import org.gridsphere.services.core.mail.MailService;import org.gridsphere.services.core.persistence.QueryFilter;import org.gridsphere.services.core.portal.PortalConfigService;import org.gridsphere.services.core.security.password.PasswordEditor;import org.gridsphere.services.core.security.password.PasswordManagerService;import org.gridsphere.services.core.security.role.PortletRole;import org.gridsphere.services.core.security.role.RoleManagerService;import org.gridsphere.services.core.user.User;import org.gridsphere.services.core.user.UserManagerService;import javax.portlet.*;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.Iterator;import java.util.List;public class UserManagerPortlet extends ActionPortlet {    // JSP pages used by this portlet    public static final String DO_VIEW_USER_LIST = "admin/users/doViewUserList.jsp";    public static final String DO_VIEW_USER_VIEW = "admin/users/doViewUserView.jsp";    public static final String DO_VIEW_USER_EDIT = "admin/users/doViewUserEdit.jsp";    public static final String DO_SEND_EMAIL = "admin/users/doSendEmail.jsp";    // Portlet services    private UserManagerService userManagerService = null;    private PasswordManagerService passwordManagerService = null;    private RoleManagerService roleManagerService = null;    private PortalConfigService portalConfigService = null;    private MailService mailService = null;    private String NUM_PAGES = getClass() + ".NUM_PAGES";    private String EMAIL_QUERY = getClass() + ".EMAIL_QUERY";    private String ORG_QUERY = getClass() + ".ORG_QUERY";    public void init(PortletConfig config) throws PortletException {        super.init(config);        this.userManagerService = (UserManagerService) createPortletService(UserManagerService.class);        this.roleManagerService = (RoleManagerService) createPortletService(RoleManagerService.class);        this.passwordManagerService = (PasswordManagerService) createPortletService(PasswordManagerService.class);        this.mailService = (MailService) createPortletService(MailService.class);        this.portalConfigService = (PortalConfigService) createPortletService(PortalConfigService.class);        DEFAULT_HELP_PAGE = "admin/users/help.jsp";        DEFAULT_VIEW_PAGE = "doListUsers";    }    public void doListUsers(ActionFormEvent evt) throws PortletException {        setNextState(evt.getActionRequest(), DEFAULT_VIEW_PAGE);    }    public void doListUsers(RenderFormEvent evt) throws PortletException {        PortletRequest req = evt.getRenderRequest();        String numPages = (String) req.getPortletSession().getAttribute(NUM_PAGES);        numPages = (numPages != null) ? numPages : "10";        String[] itemList = {"10", "20", "50", "100", "200", "500"};        ListBoxBean usersPageLB = evt.getListBoxBean("usersPageLB");        usersPageLB.clear();        for (int i = 0; i < itemList.length; i++) {            ListBoxItemBean item = new ListBoxItemBean();            item.setName(itemList[i]);            item.setValue(itemList[i]);            if (numPages.equals(itemList[i])) item.setSelected(true);            usersPageLB.addBean(item);        }        String likeEmail = (String) req.getPortletSession().getAttribute(EMAIL_QUERY);        likeEmail = (likeEmail != null) ? likeEmail : "";        String likeOrganization = (String) req.getPortletSession().getAttribute(ORG_QUERY);        likeOrganization = (likeOrganization != null) ? likeOrganization : "";        Integer maxRows = Integer.parseInt(numPages);        int numUsers = userManagerService.getNumUsers();        QueryFilter filter = evt.getQueryFilter(maxRows, numUsers);        List userList = userManagerService.getUsersByFullName(likeEmail, likeOrganization, filter);        req.setAttribute("userList", userList);        int dispPages = (numUsers / Integer.valueOf(numPages).intValue());        //System.err.println("numUsers= " + numUsers + " numPages= " + numPages + " dispPages= " + dispPages);        req.setAttribute("dispPages", Integer.valueOf(dispPages));        //System.err.println("sizeof users=" + userList.size());        //req.setAttribute("numUsers", Integer.valueOf(numUsers));        //req.setAttribute("maxRows", Integer.valueOf(maxRows));        TableBean userTable = evt.getTableBean("userTable");        userTable.setQueryFilter(filter);        //userTable.setMaxRows(maxRows);        //userTable.setNumEntries(numUsers);        setNextState(req, DO_VIEW_USER_LIST);    }    public void doReturn(ActionFormEvent event) {        setNextState(event.getActionRequest(), "doListUsers");    }    public void doViewUser(ActionFormEvent evt) throws PortletException {        PortletRequest req = evt.getActionRequest();        String userID = evt.getAction().getParameter("userID");        User user = userManagerService.getUser(userID);        if (user != null) {            // should check for non-null user !            req.setAttribute("user", user);            HiddenFieldBean hf = evt.getHiddenFieldBean("userID");            hf.setValue(user.getID());            List userRoles = roleManagerService.getRolesForUser(user);            Iterator it = userRoles.iterator();            String userRole = "";            while (it.hasNext()) {                userRole += ((PortletRole) it.next()).getName() + ", ";            }            if (userRole.length() > 2) {                req.setAttribute("role", userRole.substring(0, userRole.length() - 2));            } else {                req.setAttribute("role", this.getLocalizedText(req, "ROLES_HASNOROLES"));            }            SimpleDateFormat dateFormat = new SimpleDateFormat("MMM d yyyy hh:mm a");            String createtime = (String) user.getAttribute(User.CREATEDATE);            String createdate;            if (createtime == null) {                createdate = "Unknown";            } else {                createdate = dateFormat.format(Long.valueOf(createtime));            }            req.setAttribute("createdate", createdate);            CheckBoxBean accountCB = evt.getCheckBoxBean("accountCB");            String disabled = (String) user.getAttribute(User.DISABLED);            if ((disabled != null) && ("TRUE".equalsIgnoreCase(disabled))) {                accountCB.setSelected(true);            }            accountCB.setDisabled(true);            setNextState(req, DO_VIEW_USER_VIEW);        } else {            setNextState(req, DEFAULT_VIEW_PAGE);        }    }    public void doNewUser(ActionFormEvent evt)            throws PortletException {        PortletRequest req = evt.getActionRequest();        req.setAttribute("newuser", "true");        // indicate to edit JSP this is a new user        HiddenFieldBean hf = evt.getHiddenFieldBean("newuser");        hf.setValue("true");        String savePasswd = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);        if (savePasswd.equals(Boolean.TRUE.toString())) {            req.setAttribute("savePass", "true");        }        makeRoleFrame(evt, null);        setNextState(req, DO_VIEW_USER_EDIT);        log.debug("in doNewUser");    }    /**     * Creates the role table     *     * @param evt  the action form event     * @param user the user if this is editing an existing user, null if a new user     */    private void makeRoleFrame(ActionFormEvent evt, User user) {        FrameBean roleFrame = evt.getFrameBean("roleFrame");        DefaultTableModel model = new DefaultTableModel();        TableRowBean tr = new TableRowBean();        tr.setHeader(true);        TableCellBean tc = new TableCellBean();        TextBean text = new TextBean();        text.setKey("USER_SELECT_ROLES");        tc.addBean(text);        tc.setWidth("100");        tr.addBean(tc);        tc = new TableCellBean();        text = new TextBean();        text.setKey("USER_ROLE_NAME");        tc.setWidth("200");        tc.addBean(text);        tr.addBean(tc);        model.addTableRowBean(tr);        List<PortletRole> roles = roleManagerService.getRoles();        List myroles = new ArrayList<PortletRole>();        List defaultRoles = roleManagerService.getDefaultRoles();        if (user != null) myroles = roleManagerService.getRolesForUser(user);        for (PortletRole role : roles) {            tr = new TableRowBean();            tc = new TableCellBean();            CheckBoxBean cb = new CheckBoxBean();            if (myroles.contains(role)) {                cb.setSelected(true);            }            if ((user == null) && (defaultRoles.contains(role))) cb.setSelected(true);            cb.setBeanId(role.getName() + "CB");            tc.addBean(cb);            tr.addBean(tc);            tc = new TableCellBean();            text = new TextBean();            text.setValue(role.getName());            tc.addBean(text);            tr.addBean(tc);            model.addTableRowBean(tr);        }        roleFrame.setTableModel(model);    }    public void doEditUser(ActionFormEvent evt)            throws PortletException {        PortletRequest req = evt.getActionRequest();        // indicate to edit JSP this is an existing user        HiddenFieldBean newuserHF = evt.getHiddenFieldBean("newuser");        newuserHF.setValue("false");        String userID = evt.getAction().getParameter("userID");        HiddenFieldBean userHF = evt.getHiddenFieldBean("userID");        userHF.setValue(userID);        // get user        User user = this.userManagerService.getUser(userID);        if (user == null) {            doReturn(evt);            return;        }        makeRoleFrame(evt, user);        setUserValues(evt, user);        String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);        if (savePasswds.equals(Boolean.TRUE.toString())) {            req.setAttribute("savePass", "true");        }        String supportX509 = portalConfigService.getProperty(PortalConfigService.SUPPORT_X509_AUTH);        if (supportX509.equals(Boolean.TRUE.toString())) {            req.setAttribute("certSupport", "true");        }        CheckBoxBean accountCB = evt.getCheckBoxBean("accountCB");        String disabled = (String) user.getAttribute(User.DISABLED);        if ((disabled != null) && ("TRUE".equalsIgnoreCase(disabled))) {            accountCB.setSelected(true);        }        setNextState(req, DO_VIEW_USER_EDIT);    }    public void doConfirmEditUser(ActionFormEvent evt)            throws PortletException {        PortletRequest req = evt.getActionRequest();        HiddenFieldBean hf = evt.getHiddenFieldBean("newuser");        String newuser = hf.getValue();        try {            User user;            log.debug("in doConfirmEditUser: " + newuser);            if (newuser.equals("true")) {                validateUser(evt, true);                user = saveUser(evt, null);                HiddenFieldBean userHF = evt.getHiddenFieldBean("userID");                userHF.setValue(user.getID());                CheckBoxBean cb = evt.getCheckBoxBean("emailUserCB");                if (cb.isSelected()) mailUserConfirmation(evt, user);                createSuccessMessage(evt, this.getLocalizedText(req, "USER_NEW_SUCCESS"));            } else {                validateUser(evt, false);                // load in User values                HiddenFieldBean userHF = evt.getHiddenFieldBean("userID");                String userID = userHF.getValue();                User thisuser = this.userManagerService.getUser(userID);                user = saveUser(evt, thisuser);                createSuccessMessage(evt, this.getLocalizedText(req, "USER_EDIT_SUCCESS"));            }            req.setAttribute("user", user);            setNextState(req, "doListUsers");        } catch (PortletException e) {            createErrorMessage(evt, e.getMessage());            String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);            if (savePasswds.equals(Boolean.TRUE.toString())) {                req.setAttribute("savePass", "true");            }            if (newuser.equals("true")) {                // setNextState(req, "doNewUser");            } else {            }            setNextState(req, DO_VIEW_USER_EDIT);        }    }    public void doDeleteUser(ActionFormEvent event)            throws PortletException {        ActionRequest req = event.getActionRequest();        String[] users = req.getParameterValues("usersCB");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -