List of usage examples for com.liferay.portal.kernel.util PropsKeys USERS_SCREEN_NAME_ALWAYS_AUTOGENERATE
String USERS_SCREEN_NAME_ALWAYS_AUTOGENERATE
To view the source code for com.liferay.portal.kernel.util PropsKeys USERS_SCREEN_NAME_ALWAYS_AUTOGENERATE.
Click Source Link
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 w w . j av a 2s . co m*/ 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; }