Example usage for com.liferay.portal.kernel.util DateUtil parseDate

List of usage examples for com.liferay.portal.kernel.util DateUtil parseDate

Introduction

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

Prototype

public static Date parseDate(String dateString, Locale locale) throws ParseException 

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 w  w. j a v a2s.  c o 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;
}

From source file:com.liferay.dynamic.data.mapping.internal.util.DDMImpl.java

License:Open Source License

protected List<Serializable> getFieldValues(DDMStructure ddmStructure, String fieldName, String fieldNamespace,
        ServiceContext serviceContext) throws PortalException {

    DDMFormField ddmFormField = ddmStructure.getDDMFormField(fieldName);

    String fieldDataType = ddmFormField.getDataType();
    String fieldType = ddmFormField.getType();

    LocalizedValue predefinedValue = ddmFormField.getPredefinedValue();

    List<String> fieldNames = getFieldNames(fieldNamespace, fieldName, serviceContext);

    List<Serializable> fieldValues = new ArrayList<>(fieldNames.size());

    for (String fieldNameValue : fieldNames) {
        Serializable fieldValue = serviceContext.getAttribute(fieldNameValue);

        if (Validator.isNull(fieldValue)) {
            fieldValue = predefinedValue.getString(serviceContext.getLocale());
        }/*from ww  w.  j  av a  2s.co m*/

        if (fieldType.equals(DDMImpl.TYPE_CHECKBOX) && Validator.isNull(fieldValue)) {

            fieldValue = "false";
        } else if (fieldDataType.equals(FieldConstants.DATE)) {
            Date fieldValueDate = null;

            if (Validator.isNull(fieldValue)) {
                int fieldValueMonth = GetterUtil
                        .getInteger(serviceContext.getAttribute(fieldNameValue + "Month"));
                int fieldValueDay = GetterUtil.getInteger(serviceContext.getAttribute(fieldNameValue + "Day"));
                int fieldValueYear = GetterUtil
                        .getInteger(serviceContext.getAttribute(fieldNameValue + "Year"));

                fieldValueDate = _portal.getDate(fieldValueMonth, fieldValueDay, fieldValueYear,
                        TimeZoneUtil.getTimeZone("UTC"), null);
            } else {
                try {
                    fieldValueDate = DateUtil.parseDate(String.valueOf(fieldValue), serviceContext.getLocale());
                } catch (ParseException pe) {
                    _log.error("Unable to parse date " + fieldValue);
                }
            }

            if (fieldValueDate != null) {
                fieldValue = String.valueOf(fieldValueDate.getTime());
            }
        } else if (fieldDataType.equals(FieldConstants.IMAGE) && Validator.isNull(fieldValue)) {

            HttpServletRequest request = serviceContext.getRequest();

            if (request instanceof UploadRequest) {
                String imageFieldValue = getImageFieldValue((UploadRequest) request, fieldNameValue);

                if (Validator.isNotNull(imageFieldValue)) {
                    fieldValue = imageFieldValue;
                }
            }
        }

        if (Validator.isNull(fieldValue)) {
            return null;
        }

        if (DDMImpl.TYPE_SELECT.equals(fieldType)) {
            String predefinedValueString = predefinedValue.getString(serviceContext.getLocale());

            if (!fieldValue.equals(predefinedValueString) && (fieldValue instanceof String)) {

                fieldValue = new String[] { String.valueOf(fieldValue) };

                fieldValue = JSONFactoryUtil.serialize(fieldValue);
            }
        }

        Serializable fieldValueSerializable = FieldConstants.getSerializable(fieldDataType,
                GetterUtil.getString(fieldValue));

        fieldValues.add(fieldValueSerializable);
    }

    return fieldValues;
}