ReadableCustomerOptionPopulator.java
Home
/
sm-shop /
src /
main /
java /
com /
salesmanager /
shop /
populator /
customer /
ReadableCustomerOptionPopulator.java
package com.salesmanager.shop.populator.customer;
import java.util.ArrayList;
import java.util.List;
import com.salesmanager.core.business.exception.ConversionException;
import com.salesmanager.core.business.utils.AbstractDataPopulator;
import com.salesmanager.core.model.customer.attribute.CustomerOptionSet;
import com.salesmanager.core.model.merchant.MerchantStore;
import com.salesmanager.core.model.reference.language.Language;
import com.salesmanager.shop.admin.model.customer.attribute.CustomerOption;
import com.salesmanager.shop.admin.model.customer.attribute.CustomerOptionValue;
public class ReadableCustomerOptionPopulator extends
AbstractDataPopulator<com.salesmanager.core.model.customer.attribute.CustomerOption, com.salesmanager.shop.admin.model.customer.attribute.CustomerOption> {
private CustomerOptionSet optionSet;
public CustomerOptionSet getOptionSet() {
return optionSet;
}
public void setOptionSet(CustomerOptionSet optionSet) {
this.optionSet = optionSet;
}
@Override
public CustomerOption populate(
com.salesmanager.core.model.customer.attribute.CustomerOption source,
CustomerOption target, MerchantStore store, Language language) throws ConversionException {
CustomerOption customerOption = target;
if(customerOption==null) {
customerOption = new CustomerOption();
}
customerOption.setId(source.getId());
customerOption.setType(source.getCustomerOptionType());
customerOption.setName(source.getDescriptionsSettoList().get(0).getName());
List<CustomerOptionValue> values = customerOption.getAvailableValues();
if(values==null) {
values = new ArrayList<CustomerOptionValue>();
customerOption.setAvailableValues(values);
}
com.salesmanager.core.model.customer.attribute.CustomerOptionValue optionValue = optionSet.getCustomerOptionValue();
CustomerOptionValue custOptValue = new CustomerOptionValue();
custOptValue.setId(optionValue.getId());
custOptValue.setLanguage(language.getCode());
custOptValue.setName(optionValue.getDescriptionsSettoList().get(0).getName());
values.add(custOptValue);
return customerOption;
}
@Override
protected CustomerOption createTarget()
{
// TODO Auto-generated method stub
return null;
}
}