com.acc.populator.HttpRequestCustomerDataPopulator.java Source code

Java tutorial

Introduction

Here is the source code for com.acc.populator.HttpRequestCustomerDataPopulator.java

Source

/*
 * [y] hybris Platform
 *
 * Copyright (c) 2000-2013 hybris AG
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of hybris
 * ("Confidential Information"). You shall not disclose such Confidential
 * Information and shall use it only in accordance with the terms of the
 * license agreement you entered into with hybris.
 * 
 *  
 */
package com.acc.populator;

import de.hybris.platform.commercefacades.storesession.data.CurrencyData;
import de.hybris.platform.commercefacades.storesession.data.LanguageData;
import de.hybris.platform.commercefacades.user.data.AddressData;
import de.hybris.platform.commercefacades.user.data.CustomerData;
import de.hybris.platform.converters.impl.AbstractPopulatingConverter;
import de.hybris.platform.servicelayer.dto.converter.ConversionException;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Component;
import org.springframework.util.Assert;

/**
 * Populates {@link CustomerData} instance based on http request parameters:<br>
 * Does not populate address {@link AddressData} information
 * <ul>
 * <li>titleCode</li>
 * <li>firstName</li>
 * <li>lastName</li>
 * <li>language</li>
 * <li>currency</li>
 * </ul>
 * 
 */
@Component("httpRequestCustomerDataPopulator")
public class HttpRequestCustomerDataPopulator
        extends AbstractPopulatingConverter<HttpServletRequest, CustomerData> {

    private static final String TITLECODE = "titleCode";
    private static final String FIRSTNAME = "firstName";
    private static final String LASTNAME = "lastName";
    private static final String LANGUAGE = "language";
    private static final String CURRENCY = "currency";

    @Override
    protected CustomerData createTarget() {
        return new CustomerData();
    }

    @Override
    public void populate(final HttpServletRequest source, final CustomerData target) throws ConversionException {
        Assert.notNull(source, "Parameter source cannot be null.");
        Assert.notNull(target, "Parameter target cannot be null.");

        target.setTitleCode(StringUtils.defaultString(source.getParameter(TITLECODE), target.getTitleCode()));
        target.setFirstName(StringUtils.defaultString(source.getParameter(FIRSTNAME), target.getFirstName()));
        target.setLastName(StringUtils.defaultString(source.getParameter(LASTNAME), target.getLastName()));

        if (source.getParameter(CURRENCY) != null) {
            final CurrencyData currency = new CurrencyData();
            currency.setIsocode(source.getParameter(CURRENCY));
            target.setCurrency(currency);
        }

        if (source.getParameter(LANGUAGE) != null) {
            final LanguageData language = new LanguageData();
            language.setIsocode(source.getParameter(LANGUAGE));
            target.setLanguage(language);
        }

    }

}