Example usage for com.liferay.portal.kernel.util PropsKeys USERS_EMAIL_ADDRESS_REQUIRED

List of usage examples for com.liferay.portal.kernel.util PropsKeys USERS_EMAIL_ADDRESS_REQUIRED

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.util PropsKeys USERS_EMAIL_ADDRESS_REQUIRED.

Prototype

String USERS_EMAIL_ADDRESS_REQUIRED

To view the source code for com.liferay.portal.kernel.util PropsKeys USERS_EMAIL_ADDRESS_REQUIRED.

Click Source Link

Usage

From source file:com.custom.portal.security.ldap.CustomDefaultLDAPToPortalConverter.java

License:Open Source License

@Override
public CustomLDAPUser importLDAPUser(long companyId, Attributes attributes, Properties userMappings,
        Properties userExpandoMappings, Properties contactMappings, Properties contactExpandoMappings,
        String password) throws Exception {

    boolean autoScreenName = PrefsPropsUtil.getBoolean(companyId,
            PropsKeys.USERS_SCREEN_NAME_ALWAYS_AUTOGENERATE);

    String screenName = LDAPUtil.getAttributeString(attributes, userMappings, UserConverterKeys.SCREEN_NAME)
            .toLowerCase();/*from   w  ww.  j a va  2s  . c om*/
    String emailAddress = LDAPUtil.getAttributeString(attributes, userMappings,
            UserConverterKeys.EMAIL_ADDRESS);

    if (_log.isDebugEnabled()) {
        _log.debug("Screen name " + screenName + " and email address " + emailAddress);
    }

    String firstName = LDAPUtil.getAttributeString(attributes, userMappings, UserConverterKeys.FIRST_NAME);
    String middleName = LDAPUtil.getAttributeString(attributes, userMappings, UserConverterKeys.MIDDLE_NAME);
    String lastName = LDAPUtil.getAttributeString(attributes, userMappings, UserConverterKeys.LAST_NAME);

    if (Validator.isNull(firstName) || Validator.isNull(lastName)) {
        String fullName = LDAPUtil.getAttributeString(attributes, userMappings, UserConverterKeys.FULL_NAME);

        FullNameGenerator fullNameGenerator = FullNameGeneratorFactory.getInstance();

        String[] names = fullNameGenerator.splitFullName(fullName);

        firstName = names[0];
        middleName = names[1];
        lastName = names[2];
    }

    if (!autoScreenName && Validator.isNull(screenName)) {
        throw new UserScreenNameException("Screen name cannot be null for "
                + ContactConstants.getFullName(firstName, middleName, lastName));
    }

    if (Validator.isNull(emailAddress)
            && PrefsPropsUtil.getBoolean(companyId, PropsKeys.USERS_EMAIL_ADDRESS_REQUIRED)) {

        throw new UserEmailAddressException("Email address cannot be null for "
                + ContactConstants.getFullName(firstName, middleName, lastName));
    }

    CustomLDAPUser ldapUser = new CustomLDAPUser();

    ldapUser.setAutoPassword(password.equals(StringPool.BLANK));
    ldapUser.setAutoScreenName(autoScreenName);

    Contact contact = ContactUtil.create(0);

    int prefixId = getListTypeId(attributes, contactMappings, ContactConverterKeys.PREFIX,
            ListTypeConstants.CONTACT_PREFIX);

    contact.setPrefixId(prefixId);

    int suffixId = getListTypeId(attributes, contactMappings, ContactConverterKeys.SUFFIX,
            ListTypeConstants.CONTACT_SUFFIX);

    contact.setSuffixId(suffixId);

    String gender = LDAPUtil.getAttributeString(attributes, contactMappings, ContactConverterKeys.GENDER);

    gender = StringUtil.toLowerCase(gender);

    if (GetterUtil.getBoolean(gender) || gender.equals("female")) {
        contact.setMale(false);
    } else {
        contact.setMale(true);
    }

    try {
        Date birthday = DateUtil.parseDate(
                LDAPUtil.getAttributeString(attributes, contactMappings, ContactConverterKeys.BIRTHDAY),
                LocaleUtil.getDefault());

        contact.setBirthday(birthday);
    } catch (ParseException pe) {
        Calendar birthdayCalendar = CalendarFactoryUtil.getCalendar(1970, Calendar.JANUARY, 1);

        contact.setBirthday(birthdayCalendar.getTime());
    }

    contact.setSmsSn(LDAPUtil.getAttributeString(attributes, contactMappings, ContactConverterKeys.SMS_SN));
    contact.setAimSn(LDAPUtil.getAttributeString(attributes, contactMappings, ContactConverterKeys.AIM_SN));
    contact.setFacebookSn(
            LDAPUtil.getAttributeString(attributes, contactMappings, ContactConverterKeys.FACEBOOK_SN));
    contact.setIcqSn(LDAPUtil.getAttributeString(attributes, contactMappings, ContactConverterKeys.ICQ_SN));
    contact.setJabberSn(
            LDAPUtil.getAttributeString(attributes, contactMappings, ContactConverterKeys.JABBER_SN));
    contact.setMsnSn(LDAPUtil.getAttributeString(attributes, contactMappings, ContactConverterKeys.MSN_SN));
    contact.setMySpaceSn(
            LDAPUtil.getAttributeString(attributes, contactMappings, ContactConverterKeys.MYSPACE_SN));
    contact.setSkypeSn(LDAPUtil.getAttributeString(attributes, contactMappings, ContactConverterKeys.SKYPE_SN));
    contact.setTwitterSn(
            LDAPUtil.getAttributeString(attributes, contactMappings, ContactConverterKeys.TWITTER_SN));
    contact.setYmSn(LDAPUtil.getAttributeString(attributes, contactMappings, ContactConverterKeys.YM_SN));
    contact.setJobTitle(
            LDAPUtil.getAttributeString(attributes, contactMappings, ContactConverterKeys.JOB_TITLE));

    ldapUser.setContact(contact);

    Map<String, String[]> contactExpandoAttributes = getExpandoAttributes(attributes, contactExpandoMappings);

    ldapUser.setContactExpandoAttributes(contactExpandoAttributes);

    Phone phone = PhoneUtil.create(0);

    phone.setNumber(
            (LDAPUtil.getAttributeString(attributes, contactMappings, CustomContactConverterKeys.PHONE)));

    ldapUser.setPhone(phone);

    Address address = AddressUtil.create(0);

    address.setCity(
            (LDAPUtil.getAttributeString(attributes, contactMappings, CustomContactConverterKeys.CITY)));
    address.setZip((LDAPUtil.getAttributeString(attributes, contactMappings, CustomContactConverterKeys.ZIP)));
    address.setStreet1(
            (LDAPUtil.getAttributeString(attributes, contactMappings, CustomContactConverterKeys.STREET)));

    ldapUser.setAddress(address);

    ldapUser.setCreatorUserId(0);
    ldapUser.setGroupIds(null);
    ldapUser.setOrganizationIds(null);
    ldapUser.setPasswordReset(false);

    Object portrait = LDAPUtil.getAttributeObject(attributes,
            userMappings.getProperty(UserConverterKeys.PORTRAIT));

    if (portrait != null) {
        byte[] portraitBytes = (byte[]) portrait;

        if (portraitBytes.length > 0) {
            ldapUser.setPortraitBytes((byte[]) portrait);
        }

        ldapUser.setUpdatePortrait(true);
    }

    ldapUser.setRoleIds(null);
    ldapUser.setSendEmail(false);

    ServiceContext serviceContext = new ServiceContext();

    String uuid = LDAPUtil.getAttributeString(attributes, userMappings, UserConverterKeys.UUID);

    serviceContext.setUuid(uuid);

    ldapUser.setServiceContext(serviceContext);

    ldapUser.setUpdatePassword(!password.equals(StringPool.BLANK));

    User user = UserUtil.create(0);

    user.setCompanyId(companyId);
    user.setEmailAddress(emailAddress);
    user.setFirstName(firstName);

    String jobTitle = LDAPUtil.getAttributeString(attributes, userMappings, UserConverterKeys.JOB_TITLE);

    user.setJobTitle(jobTitle);

    Locale locale = LocaleUtil.getDefault();

    user.setLanguageId(locale.toString());

    user.setLastName(lastName);
    user.setMiddleName(middleName);
    user.setOpenId(StringPool.BLANK);
    user.setPasswordUnencrypted(password);
    user.setScreenName(screenName);

    String status = LDAPUtil.getAttributeString(attributes, userMappings, UserConverterKeys.STATUS);

    if (Validator.isNotNull(status)) {
        user.setStatus(GetterUtil.getInteger(status));
    }

    ldapUser.setUser(user);

    Map<String, String[]> userExpandoAttributes = getExpandoAttributes(attributes, userExpandoMappings);

    ldapUser.setUserExpandoAttributes(userExpandoAttributes);

    ldapUser.setUserGroupIds(null);
    ldapUser.setUserGroupRoles(null);

    return ldapUser;
}