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

📄 usermanagerportlet.java

📁 GridSphere 门户 提供一个基于 portlet 的高级开放源代码门户。GridSphere 是在欧盟提供基金的 GridLab 项目下开发的
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        if (users != null) {            for (int i = 0; i < users.length; i++) {                User user = this.userManagerService.getUser(users[i]);                this.passwordManagerService.deletePassword(user);                List<PortletRole> userRoles = this.roleManagerService.getRolesForUser(user);                for (PortletRole role : userRoles) {                    this.roleManagerService.deleteUserInRole(user, role);                }                this.userManagerService.deleteUser(user);            }        }        createSuccessMessage(event, this.getLocalizedText(req, "USER_DELETE_SUCCESS"));        /*        HiddenFieldBean hf = evt.getHiddenFieldBean("userID");        String userId = hf.getValue();        User user = this.userManagerService.getUser(userId);        if (user != null) {            req.setAttribute("user", user);            this.passwordManagerService.deletePassword(user);            List<PortletRole> userRoles = this.roleManagerService.getRolesForUser(user);            for (PortletRole role : userRoles) {                this.roleManagerService.deleteUserInRole(user, role);            }            this.userManagerService.deleteUser(user);            createSuccessMessage(evt, this.getLocalizedText(req, "USER_DELETE_SUCCESS"));        }        setNextState(req, "doListUsers");        */    }    public void doComposeEmail(ActionFormEvent event) {        ActionRequest req = event.getActionRequest();        String[] users = req.getParameterValues("usersCB");        if (users == null) return;        req.getPortletSession().setAttribute("emails", users);        setNextState(req, "doComposeEmail");    }    public void doComposeEmail(RenderFormEvent event) {        RenderRequest req = event.getRenderRequest();        String[] users = (String[]) req.getPortletSession().getAttribute("emails");        StringBuffer emails = new StringBuffer();        for (int i = 0; i < users.length; i++) {            User user = this.userManagerService.getUser(users[i]);            System.err.println(user.getEmailAddress());            emails.append(user.getEmailAddress()).append(", ");        }        String mailFrom = portalConfigService.getProperty(PortalConfigService.MAIL_FROM);        TextFieldBean senderTF = event.getTextFieldBean("senderTF");        senderTF.setValue(mailFrom);        TextFieldBean emailAddressTF = event.getTextFieldBean("emailAddressTF");        // chop off last , from emails CSV        emailAddressTF.setValue(emails.substring(0, emails.length() - 2));        req.getPortletSession().removeAttribute("emails");        setNextState(req, DO_SEND_EMAIL);    }    public void doSendEmail(ActionFormEvent event) {        ActionRequest req = event.getActionRequest();        MailMessage msg = new MailMessage();        msg.setEmailAddress(event.getTextFieldBean("emailAddressTF").getValue());        msg.setSender(event.getTextFieldBean("senderTF").getValue());        msg.setSubject(event.getTextFieldBean("subjectTF").getValue());        msg.setBody(event.getTextAreaBean("bodyTA").getValue());        RadioButtonBean toRB = event.getRadioButtonBean("toRB");        if (toRB.getValue().equals("TO")) {            msg.setRecipientType(MailMessage.TO);        } else {            msg.setRecipientType(MailMessage.BCC);        }        try {            mailService.sendMail(msg);            createErrorMessage(event, "Successfully sent message");            setNextState(req, "doListUsers");        } catch (PortletServiceException e) {            log.error("Unable to send mail message!", e);            createErrorMessage(event, getLocalizedText(req, "LOGIN_FAILURE_MAIL"));            setNextState(req, "doSendEmail");        }    }    private void setUserValues(ActionFormEvent event, User user) {        event.getTextFieldBean("userName").setValue(user.getUserName());        event.getTextFieldBean("lastName").setValue(user.getLastName());        event.getTextFieldBean("firstName").setValue(user.getFirstName());        //event.getTextFieldBean("fullName").setValue(user.getFullName());        event.getTextFieldBean("emailAddress").setValue(user.getEmailAddress());        event.getTextFieldBean("organization").setValue(user.getOrganization());        event.getPasswordBean("password").setValue("");        event.getTextFieldBean("certificate").setValue((String) user.getAttribute("user.certificate"));    }    private void validateUser(ActionFormEvent event, boolean newuser) throws PortletException {        log.debug("Entering validateUser()");        PortletRequest req = event.getActionRequest();        StringBuffer message = new StringBuffer();        String eMail = event.getTextFieldBean("emailAddress").getValue();        boolean isInvalid = false;        // Validate user name        String userName = event.getTextFieldBean("userName").getValue();        if (userName.equals("")) {            createErrorMessage(event, this.getLocalizedText(req, "USER_NAME_BLANK") + "<br />");            isInvalid = true;        } else if (newuser) {            if (this.userManagerService.existsUserName(userName)) {                createErrorMessage(event, this.getLocalizedText(req, "USER_EXISTS") + "<br />");                isInvalid = true;            }            if (this.userManagerService.getUserByEmail(eMail) != null) {                createErrorMessage(event, this.getLocalizedText(req, "EMAIL_EXISTS") + "<br/>");                isInvalid = true;            }        }        // Validate first and last name        String firstName = event.getTextFieldBean("firstName").getValue();        if (firstName.equals("")) {            createErrorMessage(event, this.getLocalizedText(req, "USER_GIVENNAME_BLANK") + "<br />");            isInvalid = true;        }        String lastName = event.getTextFieldBean("lastName").getValue();        if (lastName.equals("")) {            createErrorMessage(event, this.getLocalizedText(req, "USER_FAMILYNAME_BLANK") + "<br />");            isInvalid = true;        }        // Validate e-mail                if (eMail.equals("")) {            createErrorMessage(event, this.getLocalizedText(req, "USER_NEED_EMAIL") + "<br />");            isInvalid = true;        } else if ((eMail.indexOf("@") < 0)) {            createErrorMessage(event, this.getLocalizedText(req, "USER_NEED_EMAIL") + "<br />");            isInvalid = true;        } else if ((eMail.indexOf(".") < 0)) {            createErrorMessage(event, this.getLocalizedText(req, "USER_NEED_EMAIL") + "<br />");            isInvalid = true;        }        String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);        if (savePasswds.equals(Boolean.TRUE.toString())) {            if (isInvalidPassword(event, newuser)) {                isInvalid = true;            }        }        // Throw exception if error was found        if (isInvalid) {            throw new PortletException(message.toString());        }        log.debug("Exiting validateUser()");    }    private boolean isInvalidPassword(ActionFormEvent event, boolean newuser) {        // Validate password        PortletRequest req = event.getActionRequest();        String passwordValue = event.getPasswordBean("password").getValue();        String confirmPasswordValue = event.getPasswordBean("confirmPassword").getValue();        // If user already exists and password unchanged, no problem        if (passwordValue.length() == 0 &&                confirmPasswordValue.length() == 0) {            if (newuser) {                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_BLANK") + "<br />");                return true;            }            return false;        }        // Otherwise, password must match confirmation        if (!passwordValue.equals(confirmPasswordValue)) {            createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_MISMATCH") + "<br />");            return true;            // If they do match, then validate password with our service        } else {            if (passwordValue.length() == 0) {                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_BLANK"));                return true;            }            if (passwordValue.length() < 5) {                createErrorMessage(event, this.getLocalizedText(req, "USER_PASSWORD_TOOSHORT"));                return true;            }        }        return false;    }    private User saveUser(ActionFormEvent event, User user) {        log.debug("Entering saveUser()");        // Account request        boolean newuserflag = false;        // Create edit account request        if (user == null) {            user = this.userManagerService.createUser();            long now = Calendar.getInstance().getTime().getTime();            user.setAttribute(User.CREATEDATE, String.valueOf(now));            newuserflag = true;        }        String savePasswds = portalConfigService.getProperty(PortalConfigService.SAVE_PASSWORDS);        if (savePasswds.equals(Boolean.TRUE.toString())) {            PasswordEditor editor = passwordManagerService.editPassword(user);            String password = event.getPasswordBean("password").getValue();            boolean isgood = this.isInvalidPassword(event, newuserflag);            if (isgood) {                setNextState(event.getActionRequest(), DO_VIEW_USER_EDIT);                return user;            } else {                if (!password.equals("")) {                    editor.setValue(password);                    passwordManagerService.savePassword(editor);                }            }        }        // Edit account attributes        editAccountRequest(event, user);        // Submit changes        this.userManagerService.saveUser(user);        // Save user role        saveUserRole(event, user);        log.debug("Exiting saveUser()");        return user;    }    private void editAccountRequest(ActionFormEvent event, User accountRequest) {        log.debug("Entering editAccountRequest()");        accountRequest.setUserName(event.getTextFieldBean("userName").getValue());        accountRequest.setFirstName(event.getTextFieldBean("firstName").getValue());        accountRequest.setLastName(event.getTextFieldBean("lastName").getValue());        accountRequest.setFullName(event.getTextFieldBean("lastName").getValue() + ", " + event.getTextFieldBean("firstName").getValue());        accountRequest.setEmailAddress(event.getTextFieldBean("emailAddress").getValue());        accountRequest.setOrganization(event.getTextFieldBean("organization").getValue());        if (event.getCheckBoxBean("accountCB").isSelected()) {            accountRequest.setAttribute(User.DISABLED, "true");        } else {            accountRequest.setAttribute(User.DISABLED, "false");        }        String certval = event.getTextFieldBean("certificate").getValue();        if (certval != null) accountRequest.setAttribute("user.certificate", certval);    }    private void saveUserRole(ActionFormEvent event, User user) {        log.debug("Entering saveUserRole()");        List<PortletRole> roles = roleManagerService.getRoles();        for (PortletRole role : roles) {            CheckBoxBean cb = event.getCheckBoxBean(role.getName() + "CB");            if (cb.isSelected()) {                roleManagerService.addUserToRole(user, role);            } else {                if (roleManagerService.isUserInRole(user, role))                    if ((!role.equals(PortletRole.ADMIN)) || (roleManagerService.getUsersInRole(PortletRole.ADMIN).size() > 1)) {                        roleManagerService.deleteUserInRole(user, role);                    } else {                        log.warn("Can't delete user, one user in role ADMIN necessary");                        createErrorMessage(event, "Unable to delete user! One user with ADMIN role is necessary");                    }            }            log.debug("Exiting saveUserRole()");        }    }    public void filterUserList(ActionFormEvent event) {        PortletRequest req = event.getActionRequest();        ListBoxBean usersPageLB = event.getListBoxBean("usersPageLB");        String numPages = usersPageLB.getSelectedValue();        try {            Integer.parseInt(numPages);        } catch (Exception e) {            numPages = "10";        }        TextFieldBean userEmailTF = event.getTextFieldBean("userEmailTF");        TextFieldBean userOrgTF = event.getTextFieldBean("userOrgTF");        req.getPortletSession().setAttribute(NUM_PAGES, numPages);        req.getPortletSession().setAttribute(EMAIL_QUERY, userEmailTF.getValue());        req.getPortletSession().setAttribute(ORG_QUERY, userOrgTF.getValue());    }    private void mailUserConfirmation(ActionFormEvent evt, User user) {        PortletRequest req = evt.getActionRequest();        MailMessage mailToUser = new MailMessage();        String body = portalConfigService.getProperty("LOGIN_APPROVED_BODY");        if (body == null) body = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");        StringBuffer message = new StringBuffer(body);        String subject = portalConfigService.getProperty("LOGIN_APPROVED_SUBJECT");        if (subject == null) subject = getLocalizedText(req, "LOGIN_ACCOUNT_APPROVAL_ACCOUNT_CREATED");        mailToUser.setSubject(subject);        message.append("\n\n");        message.append(getLocalizedText(req, "USERNAME")).append("\t");        message.append(user.getUserName()).append("\n");        message.append(getLocalizedText(req, "GIVENNAME")).append("\t");        message.append(user.getFirstName()).append("\n");        message.append(getLocalizedText(req, "FAMILYNAME")).append("\t");        message.append(user.getLastName()).append("\n");        message.append(getLocalizedText(req, "ORGANIZATION")).append("\t");        message.append(user.getOrganization()).append("\n");        message.append(getLocalizedText(req, "EMAILADDRESS")).append("\t");        message.append(user.getEmailAddress()).append("\n");        message.append("\n");        message.append(getLocalizedText(req, "USER_PASSWD_MSG"));        message.append("\t").append(evt.getPasswordBean("password").getValue());        mailToUser.setBody(message.toString());        mailToUser.setEmailAddress(user.getEmailAddress());        mailToUser.setSender(portalConfigService.getProperty(PortalConfigService.MAIL_FROM));        try {            mailService.sendMail(mailToUser);        } catch (PortletServiceException e) {            log.error("Unable to send mail message!", e);            createErrorMessage(evt, getLocalizedText(req, "LOGIN_FAILURE_MAIL"));        }    }}

⌨️ 快捷键说明

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