/** * Most of the code in the Qalingo project is copyrighted Hoteia and licensed * under the Apache License Version 2.0 (release version 0.8.0) * http://www.apache.org/licenses/LICENSE-2.0 * * Copyright (c) Hoteia, 2012-2014 * http://www.hoteia.com - http://twitter.com/hoteia - contact@hoteia.com * */ package org.hoteia.qalingo.core.web.mvc.factory; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.hoteia.qalingo.core.domain.AbstractPaymentGateway; import org.hoteia.qalingo.core.domain.AbstractRuleReferential; import org.hoteia.qalingo.core.domain.Asset; import org.hoteia.qalingo.core.domain.CatalogCategoryMaster; import org.hoteia.qalingo.core.domain.CatalogCategoryVirtual; import org.hoteia.qalingo.core.domain.CmsContent; import org.hoteia.qalingo.core.domain.CmsMenu; import org.hoteia.qalingo.core.domain.Company; import org.hoteia.qalingo.core.domain.Customer; import org.hoteia.qalingo.core.domain.DeliveryMethod; import org.hoteia.qalingo.core.domain.DeliveryMethodPrice; import org.hoteia.qalingo.core.domain.EngineSetting; import org.hoteia.qalingo.core.domain.EngineSettingValue; import org.hoteia.qalingo.core.domain.MarketArea; import org.hoteia.qalingo.core.domain.OrderPurchase; import org.hoteia.qalingo.core.domain.ProductBrand; import org.hoteia.qalingo.core.domain.ProductBrandAttribute; import org.hoteia.qalingo.core.domain.ProductMarketing; import org.hoteia.qalingo.core.domain.ProductMarketingAttribute; import org.hoteia.qalingo.core.domain.ProductSku; import org.hoteia.qalingo.core.domain.ProductSkuAttribute; import org.hoteia.qalingo.core.domain.Retailer; import org.hoteia.qalingo.core.domain.RetailerAddress; import org.hoteia.qalingo.core.domain.Store; import org.hoteia.qalingo.core.domain.Tax; import org.hoteia.qalingo.core.domain.User; import org.hoteia.qalingo.core.domain.Warehouse; import org.hoteia.qalingo.core.i18n.message.CoreMessageSource; import org.hoteia.qalingo.core.service.BackofficeUrlService; import org.hoteia.qalingo.core.service.LocalizationService; import org.hoteia.qalingo.core.service.MarketService; import org.hoteia.qalingo.core.web.mvc.form.AssetForm; import org.hoteia.qalingo.core.web.mvc.form.AttributeContextBean; import org.hoteia.qalingo.core.web.mvc.form.CatalogCategoryForm; import org.hoteia.qalingo.core.web.mvc.form.CmsContentForm; import org.hoteia.qalingo.core.web.mvc.form.CmsMenuForm; import org.hoteia.qalingo.core.web.mvc.form.CompanyForm; import org.hoteia.qalingo.core.web.mvc.form.CustomerForm; import org.hoteia.qalingo.core.web.mvc.form.DeliveryMethodForm; import org.hoteia.qalingo.core.web.mvc.form.EngineSettingForm; import org.hoteia.qalingo.core.web.mvc.form.EngineSettingValueForm; import org.hoteia.qalingo.core.web.mvc.form.OrderForm; import org.hoteia.qalingo.core.web.mvc.form.PaymentGatewayForm; import org.hoteia.qalingo.core.web.mvc.form.ProductBrandForm; import org.hoteia.qalingo.core.web.mvc.form.ProductMarketingForm; import org.hoteia.qalingo.core.web.mvc.form.ProductSkuForm; import org.hoteia.qalingo.core.web.mvc.form.QuickSearchForm; import org.hoteia.qalingo.core.web.mvc.form.RetailerForm; import org.hoteia.qalingo.core.web.mvc.form.RuleForm; import org.hoteia.qalingo.core.web.mvc.form.StoreForm; import org.hoteia.qalingo.core.web.mvc.form.TaxForm; import org.hoteia.qalingo.core.web.mvc.form.UserForm; import org.hoteia.qalingo.core.web.mvc.form.WarehouseForm; import org.hoteia.qalingo.core.web.resolver.RequestData; import org.hoteia.qalingo.core.web.util.RequestUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * */ @Service("backofficeFormFactory") public class BackofficeFormFactory { @Autowired protected MarketService marketService; @Autowired protected LocalizationService localizationService; @Autowired protected CoreMessageSource coreMessageSource; @Autowired protected RequestUtil requestUtil; @Autowired protected BackofficeUrlService backofficeUrlService; // @Autowired // protected AttributeService attributeService; public EngineSettingForm buildEngineSettingForm(final RequestData requestData, final EngineSetting engineSetting) throws Exception { final EngineSettingForm engineSettingForm = new EngineSettingForm(); if(engineSetting != null){ engineSettingForm.setId(engineSetting.getId().toString()); engineSettingForm.setCode(engineSetting.getCode()); engineSettingForm.setVersion(engineSetting.getVersion()); engineSettingForm.setName(engineSetting.getName()); engineSettingForm.setDescription(engineSetting.getDescription()); engineSettingForm.setDefaultValue(engineSetting.getDefaultValue()); } return engineSettingForm; } public EngineSettingValueForm buildEngineSettingValueForm(final RequestData requestData, final EngineSettingValue engineSettingValue) throws Exception { final EngineSettingValueForm engineSettingValueForm = new EngineSettingValueForm(); if(engineSettingValue != null){ engineSettingValueForm.setId(engineSettingValue.getId().toString()); engineSettingValueForm.setContext(engineSettingValue.getContext()); engineSettingValueForm.setValue(engineSettingValue.getValue()); } return engineSettingValueForm; } public PaymentGatewayForm buildPaymentGatewayForm(final MarketArea marketArea, final AbstractPaymentGateway paymentGateway) throws Exception { final PaymentGatewayForm paymentGatewayForm = new PaymentGatewayForm(); if(paymentGateway != null){ paymentGatewayForm.setId(paymentGateway.getId().toString()); paymentGatewayForm.setVersion(paymentGateway.getVersion()); paymentGatewayForm.setCode(paymentGateway.getCode()); paymentGatewayForm.setName(paymentGateway.getName()); paymentGatewayForm.setDescription(paymentGateway.getDescription()); paymentGatewayForm.setActive(paymentGateway.getMarketAreas().contains(marketArea)); } return paymentGatewayForm; } public UserForm buildUserForm(final RequestData requestData, final User user) throws Exception { final UserForm userForm = new UserForm(); if(user != null){ userForm.setId(user.getId().toString()); userForm.setVersion(user.getVersion()); userForm.setCode(user.getCode()); userForm.setLogin(user.getLogin()); userForm.setTitle(user.getTitle()); userForm.setFirstname(user.getFirstname()); userForm.setLastname(user.getLastname()); userForm.setActive(user.isActive()); userForm.setAddress1(user.getAddress1()); userForm.setAddress2(user.getAddress2()); userForm.setPostalCode(user.getPostalCode()); userForm.setCity(user.getCity()); userForm.setStateCode(user.getStateCode()); userForm.setAreaCode(user.getAreaCode()); userForm.setCountryCode(user.getCountryCode()); userForm.setPhone(user.getPhone()); userForm.setMobile(user.getMobile()); userForm.setEmail(user.getEmail()); } return userForm; } public CompanyForm buildCompanyForm(final RequestData requestData, final Company company) throws Exception { final CompanyForm companyForm = new CompanyForm(); if(company != null){ companyForm.setId(company.getId().toString()); companyForm.setVersion(company.getVersion()); companyForm.setCode(company.getCode()); companyForm.setName(company.getName()); companyForm.setDescription(company.getDescription()); companyForm.setActive(company.isActive()); companyForm.setAddress1(company.getAddress1()); companyForm.setAddress2(company.getAddress2()); companyForm.setPostalCode(company.getPostalCode()); companyForm.setCity(company.getCity()); companyForm.setStateCode(company.getStateCode()); companyForm.setAreaCode(company.getAreaCode()); companyForm.setCountryCode(company.getCountryCode()); companyForm.setPhone(company.getPhone()); companyForm.setFax(company.getFax()); companyForm.setEmail(company.getEmail()); companyForm.setWebsite(company.getWebsite()); } return companyForm; } public QuickSearchForm buildEngineSettingQuickSearchForm(final RequestData requestData) throws Exception { final QuickSearchForm engineSettingQuickSearchForm = new QuickSearchForm(); return engineSettingQuickSearchForm; } public QuickSearchForm buildUserQuickSearchForm(final RequestData requestData) throws Exception { final QuickSearchForm userQuickSearchForm = new QuickSearchForm(); return userQuickSearchForm; } public QuickSearchForm buildBatchQuickSearchForm(final RequestData requestData) throws Exception { final QuickSearchForm batchQuickSearchForm = new QuickSearchForm(); return batchQuickSearchForm; } public CatalogCategoryForm buildCatalogCategoryForm(final RequestData requestData) throws Exception { final CatalogCategoryForm catalogCategoryForm = new CatalogCategoryForm(); // List<AttributeDefinition> attributeDefinitions = attributeService.findCatalogCategoryGlobalAttributeDefinitions(); // for (Iterator<AttributeDefinition> iterator = attributeDefinitions.iterator(); iterator.hasNext();) { // AttributeDefinition attributeDefinition = (AttributeDefinition) iterator.next(); // if(attributeDefinition.isGlobal()){ // catalogCategoryForm.getGlobalAttributes().put(attributeDefinition.getCode(), ""); // } else { // catalogCategoryForm.getMarketAreaAttributes().put(attributeDefinition.getCode(), ""); // } // } return catalogCategoryForm; } public CatalogCategoryForm buildCatalogMasterCategoryForm(final RequestData requestData, final CatalogCategoryMaster parentProductCategory, final CatalogCategoryMaster catalogCategory) throws Exception { final CatalogCategoryForm catalogCategoryForm = buildCatalogCategoryForm(requestData); if(parentProductCategory != null){ catalogCategoryForm.setDefaultParentCategoryId("" + catalogCategory.getId()); } else { if(catalogCategory != null && catalogCategory.getParentCatalogCategory() != null){ catalogCategoryForm.setDefaultParentCategoryId("" + catalogCategory.getParentCatalogCategory().getId()); } } if(catalogCategory != null){ catalogCategoryForm.setId(catalogCategory.getId().toString()); catalogCategoryForm.setCatalogCode(catalogCategory.getName()); catalogCategoryForm.setName(catalogCategory.getName()); catalogCategoryForm.setCode(catalogCategory.getCode()); catalogCategoryForm.setDescription(catalogCategory.getDescription()); if(catalogCategory.getRanking() != null){ catalogCategoryForm.setRanking("" + catalogCategory.getRanking()); } } return catalogCategoryForm; } public CatalogCategoryForm buildCatalogVirtualCategoryForm(final RequestData requestData, final CatalogCategoryVirtual parentProductCategory, final CatalogCategoryVirtual catalogCategory) throws Exception { final CatalogCategoryForm catalogCategoryForm = buildCatalogCategoryForm(requestData); if(parentProductCategory != null){ catalogCategoryForm.setDefaultParentCategoryId("" + parentProductCategory.getId()); } else { if(catalogCategory != null && catalogCategory.getParentCatalogCategory() != null){ catalogCategoryForm.setDefaultParentCategoryId("" + catalogCategory.getParentCatalogCategory().getId()); } } if(catalogCategory != null){ catalogCategoryForm.setId(catalogCategory.getId().toString()); catalogCategoryForm.setCode(catalogCategory.getCode()); catalogCategoryForm.setName(catalogCategory.getName()); catalogCategoryForm.setDescription(catalogCategory.getDescription()); if(catalogCategory.getRanking() != null){ catalogCategoryForm.setRanking("" + catalogCategory.getRanking()); } catalogCategoryForm.setCatalogCode(catalogCategory.getName()); CatalogCategoryMaster catalogCategoryMaster = catalogCategory.getCategoryMaster(); catalogCategoryForm.setMasterCategoryId("" + catalogCategoryMaster.getId()); } return catalogCategoryForm; } public ProductBrandForm buildProductBrandForm(final RequestData requestData, final ProductBrand productBrand) throws Exception { final MarketArea currentMarketArea = requestData.getMarketArea(); final ProductBrandForm productBrandForm = new ProductBrandForm(); if(productBrand != null){ productBrandForm.setId(productBrand.getId().toString()); productBrandForm.setName(productBrand.getName()); productBrandForm.setCode(productBrand.getCode()); productBrandForm.setDescription(productBrand.getDescription()); productBrandForm.setEnabled(productBrand.isEnabled()); productBrandForm.setEnabledB2B(productBrand.isEnabledB2B()); productBrandForm.setEnabledB2C(productBrand.isEnabledB2C()); List<ProductBrandAttribute> globalAttributes = productBrand.getGlobalAttributes(); for (Iterator<ProductBrandAttribute> iterator = globalAttributes.iterator(); iterator.hasNext();) { ProductBrandAttribute productBrandAttribute = (ProductBrandAttribute) iterator.next(); MarketArea marketArea = null; String marketAreaCode = null; if(productBrandAttribute.getMarketAreaId() != null){ marketArea = marketService.getMarketAreaById(productBrandAttribute.getMarketAreaId()); marketAreaCode = marketArea.getCode(); } AttributeContextBean attributeContextBean = new AttributeContextBean(productBrandAttribute.getAttributeDefinition().getCode(), marketAreaCode, productBrandAttribute.getLocalizationCode()); productBrandForm.getGlobalAttributes().put(attributeContextBean, productBrandAttribute.getValueAsString()); } List<ProductBrandAttribute> marketAreaAttributes = productBrand.getMarketAreaAttributes(currentMarketArea.getId()); for (Iterator<ProductBrandAttribute> iterator = marketAreaAttributes.iterator(); iterator.hasNext();) { ProductBrandAttribute productBrandAttribute = (ProductBrandAttribute) iterator.next(); MarketArea marketAreaAttribute = null; if(productBrandAttribute.getMarketAreaId() != null){ marketAreaAttribute = marketService.getMarketAreaById(productBrandAttribute.getMarketAreaId()); } AttributeContextBean attributeContextBean = new AttributeContextBean(productBrandAttribute.getAttributeDefinition().getCode(), marketAreaAttribute.getCode(), productBrandAttribute.getLocalizationCode()); productBrandForm.getMarketAreaAttributes().put(attributeContextBean, productBrandAttribute.getValueAsString()); } } return productBrandForm; } public ProductMarketingForm buildProductMarketingForm(final RequestData requestData, final ProductMarketing productMarketing) throws Exception { final MarketArea currentMarketArea = requestData.getMarketArea(); final ProductMarketingForm productMarketingForm = new ProductMarketingForm(); if(productMarketing != null){ productMarketingForm.setId(productMarketing.getId().toString()); productMarketingForm.setName(productMarketing.getName()); productMarketingForm.setCode(productMarketing.getCode()); productMarketingForm.setDescription(productMarketing.getDescription()); List<ProductMarketingAttribute> globalAttributes = productMarketing.getGlobalAttributes(); for (Iterator<ProductMarketingAttribute> iterator = globalAttributes.iterator(); iterator.hasNext();) { ProductMarketingAttribute productMarketingAttribute = (ProductMarketingAttribute) iterator.next(); productMarketingForm.getGlobalAttributes().put(productMarketingAttribute.getAttributeDefinition().getCode(), productMarketingAttribute.getValueAsString()); } List<ProductMarketingAttribute> marketAreaAttributes = productMarketing.getMarketAreaAttributes(currentMarketArea.getId()); for (Iterator<ProductMarketingAttribute> iterator = marketAreaAttributes.iterator(); iterator.hasNext();) { ProductMarketingAttribute productMarketingAttribute = (ProductMarketingAttribute) iterator.next(); productMarketingForm.getMarketAreaAttributes().put(productMarketingAttribute.getAttributeDefinition().getCode(), productMarketingAttribute.getValueAsString()); } } return productMarketingForm; } public AssetForm buildProductMarketingAssetForm(final RequestData requestData, final Asset asset) throws Exception { final AssetForm assetForm = new AssetForm(); if(asset != null){ assetForm.setId(asset.getId().toString()); assetForm.setName(asset.getName()); assetForm.setDescription(asset.getDescription()); assetForm.setDefault(asset.isDefault()); assetForm.setPath(asset.getPath()); assetForm.setType(asset.getType()); assetForm.setSize(asset.getSize()); } return assetForm; } public ProductSkuForm buildProductSkuForm(final RequestData requestData, final ProductMarketing productMarketing, final ProductSku productSku) throws Exception { final MarketArea currentMarketArea = requestData.getMarketArea(); final ProductSkuForm productSkuForm = new ProductSkuForm(); if(productSku != null){ productSkuForm.setId(productSku.getId().toString()); productSkuForm.setName(productSku.getName()); productSkuForm.setCode(productSku.getCode()); productSkuForm.setDescription(productSku.getDescription()); List<ProductSkuAttribute> globalAttributes = productSku.getGlobalAttributes(); for (Iterator<ProductSkuAttribute> iterator = globalAttributes.iterator(); iterator.hasNext();) { ProductSkuAttribute productSkuAttribute = (ProductSkuAttribute) iterator.next(); productSkuForm.getGlobalAttributes().put(productSkuAttribute.getAttributeDefinition().getCode(), productSkuAttribute.getValueAsString()); } List<ProductSkuAttribute> marketAreaAttributes = productSku.getMarketAreaAttributes(currentMarketArea.getId()); for (Iterator<ProductSkuAttribute> iterator = marketAreaAttributes.iterator(); iterator.hasNext();) { ProductSkuAttribute productSkuAttribute = (ProductSkuAttribute) iterator.next(); productSkuForm.getMarketAreaAttributes().put(productSkuAttribute.getAttributeDefinition().getCode(), productSkuAttribute.getValueAsString()); } } if(productMarketing != null){ productSkuForm.setProductMarketingId("" + productMarketing.getId()); } return productSkuForm; } public CustomerForm buildCustomerForm(final RequestData requestData, final Customer customer) throws Exception { final CustomerForm customerForm = new CustomerForm(); if(customer != null){ customerForm.setId(customer.getId().toString()); customerForm.setVersion(customer.getVersion()); customerForm.setCode(customer.getCode()); customerForm.setLogin(customer.getLogin()); customerForm.setTitle(customer.getTitle()); customerForm.setFirstname(customer.getFirstname()); customerForm.setLastname(customer.getLastname()); customerForm.setEmail(customer.getEmail()); customerForm.setPassword(customer.getPassword()); customerForm.setDefaultLocale(customer.getDefaultLocale()); customerForm.setActive(customer.isActive()); } return customerForm; } public OrderForm buildOrderForm(final RequestData requestData, final OrderPurchase order) throws Exception { final OrderForm orderForm = new OrderForm(); if(order != null){ orderForm.setId(order.getId().toString()); orderForm.setVersion(order.getVersion()); orderForm.setStatus(order.getStatus()); orderForm.setOrderNum(order.getOrderNum()); if(order.getCustomer() != null){ orderForm.setCustomerId(order.getCustomer().getId()); } if(order.getBillingAddress() != null){ orderForm.setBillingAddressId(order.getBillingAddress().getId()); } if(order.getShippingAddress() != null){ orderForm.setShippingAddressId(order.getShippingAddress().getId()); } } return orderForm; } public RuleForm buildRuleForm(final RequestData requestData, final AbstractRuleReferential rule) throws Exception { final RuleForm ruleForm = new RuleForm(); if(rule != null){ ruleForm.setId(rule.getId()); ruleForm.setVersion(rule.getVersion()); ruleForm.setCode(rule.getCode()); ruleForm.setName(rule.getName()); ruleForm.setDescription(rule.getDescription()); ruleForm.setSalience(rule.getSalience()); } return ruleForm; } public WarehouseForm buildWarehouseForm(final RequestData requestData, final Warehouse warehouse) throws Exception { final WarehouseForm warehouseForm = new WarehouseForm(); if(warehouse != null){ warehouseForm.setId(warehouse.getId().toString()); warehouseForm.setVersion(warehouse.getVersion()); warehouseForm.setCode(warehouse.getCode()); warehouseForm.setName(warehouse.getName()); warehouseForm.setDescription(warehouse.getDescription()); } return warehouseForm; } public DeliveryMethodForm buildDeliveryMethodForm(final RequestData requestData, final DeliveryMethod deliveryMethod) throws Exception { final DeliveryMethodForm deliveryMethodForm = new DeliveryMethodForm(); if(deliveryMethod != null){ deliveryMethodForm.setId(deliveryMethod.getId().toString()); deliveryMethodForm.setVersion(deliveryMethod.getVersion()); deliveryMethodForm.setCode(deliveryMethod.getCode()); deliveryMethodForm.setName(deliveryMethod.getName()); deliveryMethodForm.setDescription(deliveryMethod.getDescription()); Map<String, String> prices = new HashMap<String, String>(); for (Iterator<DeliveryMethodPrice> iterator = deliveryMethod.getPrices().iterator(); iterator.hasNext();) { DeliveryMethodPrice deliveryMethodPrice = (DeliveryMethodPrice) iterator.next(); deliveryMethodForm.getPrices().put(deliveryMethodPrice.getCurrency().getCode(), deliveryMethodPrice.getPrice().toString()); } } return deliveryMethodForm; } public TaxForm buildTaxForm(final RequestData requestData, final Tax tax) throws Exception { final TaxForm taxForm = new TaxForm(); if(tax != null){ taxForm.setId(tax.getId().toString()); taxForm.setCode(tax.getCode()); taxForm.setVersion(tax.getVersion()); taxForm.setName(tax.getName()); taxForm.setDescription(tax.getDescription()); taxForm.setPercent("" + tax.getPercent()); } return taxForm; } public RetailerForm buildRetailerForm(final RequestData requestData, final Retailer retailer) throws Exception { final RetailerForm retailerForm = new RetailerForm(); if(retailer != null){ retailerForm.setId(retailer.getId().toString()); retailerForm.setCode(retailer.getCode()); retailerForm.setName(retailer.getName()); retailerForm.setDescription(retailer.getDescription()); retailerForm.setBrand(retailer.isBrand()); retailerForm.setCorner(retailer.isCorner()); retailerForm.setOfficialRetailer(retailer.isOfficialRetailer()); retailerForm.setEcommerce(retailer.isEcommerce()); if (retailer.getAddresses() != null) { RetailerAddress defaultAddress = retailer.getDefaultAddress(); if (defaultAddress != null) { retailerForm.setAddress1(defaultAddress.getAddress1()); retailerForm.setAddress2(defaultAddress.getAddress2()); retailerForm.setAddressAdditionalInformation(defaultAddress.getAddressAdditionalInformation()); retailerForm.setPostalCode(defaultAddress.getPostalCode()); retailerForm.setCity(defaultAddress.getCity()); retailerForm.setStateCode(defaultAddress.getStateCode()); retailerForm.setAreaCode(defaultAddress.getAreaCode()); retailerForm.setCountryCode(defaultAddress.getCountryCode()); retailerForm.setLongitude(defaultAddress.getLongitude()); retailerForm.setLatitude(defaultAddress.getLatitude()); retailerForm.setPhone(defaultAddress.getPhone()); retailerForm.setMobile(defaultAddress.getMobile()); retailerForm.setFax(defaultAddress.getFax()); retailerForm.setEmail(defaultAddress.getEmail()); String websiteUrl = defaultAddress.getWebsite(); if (StringUtils.isNotEmpty(websiteUrl) && !websiteUrl.contains("http")) { websiteUrl = "http://" + websiteUrl; } retailerForm.setWebsite(websiteUrl); } } } return retailerForm; } public StoreForm buildStoreForm(RequestData requestData, Store store) throws Exception { final StoreForm storeForm = new StoreForm(); if(store != null){ storeForm.setId(store.getId().toString()); storeForm.setCode(store.getCode()); storeForm.setName(store.getName()); if(store.getRetailer() != null){ storeForm.setRetailerId(store.getRetailer().getId().toString()); } storeForm.setActive(store.isActive()); storeForm.setPrimary(store.isPrimary()); storeForm.setB2b(store.isB2b()); storeForm.setB2c(store.isB2c()); storeForm.setType(store.getType()); storeForm.setAddress1(store.getAddress1()); storeForm.setAddress2(store.getAddress2()); storeForm.setAddressAdditionalInformation(store.getAddressAdditionalInformation()); storeForm.setAreaCode(store.getAreaCode()); storeForm.setPostalCode(store.getPostalCode()); storeForm.setCity(store.getCity()); storeForm.setStateCode(store.getStateCode()); storeForm.setCountryCode(store.getCountryCode()); storeForm.setLatitude(store.getLatitude()); storeForm.setLongitude(store.getLongitude()); storeForm.setPhone(store.getPhone()); storeForm.setFax(store.getFax()); storeForm.setEmail(store.getEmail()); storeForm.setWebsite(store.getWebsite()); } else { MarketArea marketArea = requestData.getMarketArea(); storeForm.setCountryCode(marketArea.getGeolocCountryCode()); } return storeForm; } public CmsContentForm buildArticleForm(final RequestData requestData, final CmsContent article) throws Exception { final CmsContentForm articleForm = new CmsContentForm(); if(article != null){ articleForm.setId(article.getId().toString()); articleForm.setCode(article.getCode()); articleForm.setActive(article.isActive()); articleForm.setSeoSegment(article.getSeoSegment()); articleForm.setSeoKey(article.getSeoKey()); articleForm.setTitle(article.getTitle()); articleForm.setLinkTitle(article.getLinkTitle()); articleForm.setSummary(article.getSummary()); } return articleForm; } public CmsContentForm buildHomeForm(final RequestData requestData, final CmsContent article) throws Exception { final CmsContentForm articleForm = new CmsContentForm(); if(article != null){ articleForm.setId(article.getId().toString()); articleForm.setCode(article.getCode()); articleForm.setActive(article.isActive()); articleForm.setSeoSegment(article.getSeoSegment()); articleForm.setSeoKey(article.getSeoKey()); articleForm.setTitle(article.getTitle()); articleForm.setLinkTitle(article.getLinkTitle()); articleForm.setSummary(article.getSummary()); } return articleForm; } public CmsMenuForm buildCmsMenuForm(final RequestData requestData, final CmsMenu menu) throws Exception { final CmsMenuForm menuForm = new CmsMenuForm(); if(menu != null){ menuForm.setId(menu.getId().toString()); menuForm.setCode(menu.getCode()); menuForm.setName(menu.getName()); if(menu.getMenu() != null){ menuForm.setRootMenuId(menu.getMenu().getId().toString()); } menuForm.setActive(menu.isActive()); menuForm.setPosition(menu.getPosition()); if(menu.getLink() != null){ menuForm.setExternal(menu.getLink().isExternal()); } menuForm.setPosition(menu.getPosition()); menuForm.setType(menu.getLink().getType()); menuForm.setParams(menu.getLink().getParams()); menuForm.setOrdering(menu.getOrdering()); menuForm.setFullUrlPath(menu.getLink().getFullUrlPath()); } return menuForm; } }