Search in sources :

Example 1 with ReadableAudit

use of com.salesmanager.shop.model.entity.ReadableAudit in project shopizer by shopizer-ecommerce.

the class ReadableMerchantStorePopulator method populate.

@Override
public ReadableMerchantStore populate(MerchantStore source, ReadableMerchantStore target, MerchantStore store, Language language) throws ConversionException {
    Validate.notNull(countryService, "Must use setter for countryService");
    Validate.notNull(zoneService, "Must use setter for zoneService");
    if (target == null) {
        target = new ReadableMerchantStore();
    }
    target.setId(source.getId());
    target.setCode(source.getCode());
    if (source.getDefaultLanguage() != null) {
        target.setDefaultLanguage(source.getDefaultLanguage().getCode());
    }
    target.setCurrency(source.getCurrency().getCode());
    target.setPhone(source.getStorephone());
    ReadableAddress address = new ReadableAddress();
    address.setAddress(source.getStoreaddress());
    address.setCity(source.getStorecity());
    if (source.getCountry() != null) {
        try {
            address.setCountry(source.getCountry().getIsoCode());
            Country c = countryService.getCountriesMap(language).get(source.getCountry().getIsoCode());
            if (c != null) {
                address.setCountry(c.getIsoCode());
            }
        } catch (ServiceException e) {
            logger.error("Cannot get Country", e);
        }
    }
    if (source.getParent() != null) {
        ReadableMerchantStore parent = populate(source.getParent(), new ReadableMerchantStore(), source, language);
        target.setParent(parent);
    }
    if (target.getParent() == null) {
        target.setRetailer(true);
    } else {
        target.setRetailer(source.isRetailer() != null ? source.isRetailer().booleanValue() : false);
    }
    target.setDimension(MeasureUnit.valueOf(source.getSeizeunitcode()));
    target.setWeight(WeightUnit.valueOf(source.getWeightunitcode()));
    if (source.getZone() != null) {
        address.setStateProvince(source.getZone().getCode());
        try {
            Zone z = zoneService.getZones(language).get(source.getZone().getCode());
            address.setStateProvince(z.getCode());
        } catch (ServiceException e) {
            logger.error("Cannot get Zone", e);
        }
    }
    if (!StringUtils.isBlank(source.getStorestateprovince())) {
        address.setStateProvince(source.getStorestateprovince());
    }
    if (!StringUtils.isBlank(source.getStoreLogo())) {
        ReadableImage image = new ReadableImage();
        image.setName(source.getStoreLogo());
        if (filePath != null) {
            image.setPath(filePath.buildStoreLogoFilePath(source));
        }
        target.setLogo(image);
    }
    address.setPostalCode(source.getStorepostalcode());
    target.setAddress(address);
    target.setCurrencyFormatNational(source.isCurrencyFormatNational());
    target.setEmail(source.getStoreEmailAddress());
    target.setName(source.getStorename());
    target.setId(source.getId());
    target.setInBusinessSince(DateUtil.formatDate(source.getInBusinessSince()));
    target.setUseCache(source.isUseCache());
    if (!CollectionUtils.isEmpty(source.getLanguages())) {
        List<ReadableLanguage> supported = new ArrayList<ReadableLanguage>();
        for (Language lang : source.getLanguages()) {
            try {
                Language langObject = languageService.getLanguagesMap().get(lang.getCode());
                if (langObject != null) {
                    ReadableLanguage l = new ReadableLanguage();
                    l.setId(langObject.getId());
                    l.setCode(langObject.getCode());
                    supported.add(l);
                }
            } catch (ServiceException e) {
                logger.error("Cannot get Language [" + lang.getId() + "]");
            }
        }
        target.setSupportedLanguages(supported);
    }
    if (source.getAuditSection() != null) {
        ReadableAudit audit = new ReadableAudit();
        if (source.getAuditSection().getDateCreated() != null) {
            audit.setCreated(DateUtil.formatDate(source.getAuditSection().getDateCreated()));
        }
        if (source.getAuditSection().getDateModified() != null) {
            audit.setModified(DateUtil.formatDate(source.getAuditSection().getDateCreated()));
        }
        audit.setUser(source.getAuditSection().getModifiedBy());
        target.setReadableAudit(audit);
    }
    return target;
}
Also used : ReadableImage(com.salesmanager.shop.model.content.ReadableImage) ReadableMerchantStore(com.salesmanager.shop.model.store.ReadableMerchantStore) ServiceException(com.salesmanager.core.business.exception.ServiceException) ReadableLanguage(com.salesmanager.shop.model.references.ReadableLanguage) Language(com.salesmanager.core.model.reference.language.Language) Zone(com.salesmanager.core.model.reference.zone.Zone) ReadableAudit(com.salesmanager.shop.model.entity.ReadableAudit) ArrayList(java.util.ArrayList) ReadableAddress(com.salesmanager.shop.model.references.ReadableAddress) Country(com.salesmanager.core.model.reference.country.Country) ReadableLanguage(com.salesmanager.shop.model.references.ReadableLanguage)

Aggregations

ServiceException (com.salesmanager.core.business.exception.ServiceException)1 Country (com.salesmanager.core.model.reference.country.Country)1 Language (com.salesmanager.core.model.reference.language.Language)1 Zone (com.salesmanager.core.model.reference.zone.Zone)1 ReadableImage (com.salesmanager.shop.model.content.ReadableImage)1 ReadableAudit (com.salesmanager.shop.model.entity.ReadableAudit)1 ReadableAddress (com.salesmanager.shop.model.references.ReadableAddress)1 ReadableLanguage (com.salesmanager.shop.model.references.ReadableLanguage)1 ReadableMerchantStore (com.salesmanager.shop.model.store.ReadableMerchantStore)1 ArrayList (java.util.ArrayList)1