ReadableShippingSummaryPopulator.java
Home
/
sm-shop /
src /
main /
java /
com /
salesmanager /
web /
populator /
order /
ReadableShippingSummaryPopulator.java
package com.salesmanager.web.populator.order;
import org.apache.commons.lang.Validate;
import com.salesmanager.core.business.catalog.product.service.PricingService;
import com.salesmanager.core.business.generic.exception.ConversionException;
import com.salesmanager.core.business.merchant.model.MerchantStore;
import com.salesmanager.core.business.reference.language.model.Language;
import com.salesmanager.core.business.shipping.model.ShippingSummary;
import com.salesmanager.core.utils.AbstractDataPopulator;
import com.salesmanager.web.entity.order.ReadableShippingSummary;
public class ReadableShippingSummaryPopulator extends
AbstractDataPopulator<ShippingSummary, ReadableShippingSummary> {
private PricingService pricingService;
@Override
public ReadableShippingSummary populate(ShippingSummary source,
ReadableShippingSummary target, MerchantStore store,
Language language) throws ConversionException {
Validate.notNull(pricingService,"PricingService must be set");
try {
target.setFreeShipping(source.isFreeShipping());
target.setHandling(source.getHandling());
target.setShipping(source.getShipping());
target.setShippingModule(source.getShippingModule());
target.setShippingOption(source.getShippingOption());
target.setTaxOnShipping(source.isTaxOnShipping());
target.setHandlingText(pricingService.getDisplayAmount(source.getHandling(), store));
target.setShippingText(pricingService.getDisplayAmount(source.getShipping(), store));
} catch(Exception e) {
throw new ConversionException(e);
}
return target;
}
@Override
protected ReadableShippingSummary createTarget() {
return new
ReadableShippingSummary();
}
public PricingService getPricingService() {
return pricingService;
}
public void setPricingService(PricingService pricingService) {
this.pricingService = pricingService;
}
}