/** * 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.viewbean; import java.util.ArrayList; 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.Constants; import org.hoteia.qalingo.core.util.CoreUtil; public class RetailerViewBean extends AbstractViewBean { /** * Generated UID */ private static final long serialVersionUID = -5387549593050575454L; // ENTITY protected int version; protected String code; protected String name; protected String description; protected String i18nName; protected String i18nDescription; protected String i18nShortDescription; protected boolean isDefault; protected boolean isOfficialRetailer; protected boolean isBrand; protected boolean isEcommerce; protected boolean isCorner; protected int qualityOfService = 0; protected int priceScore = 0; protected int ratioQualityPrice = 0; protected int reviewCount = 0; protected String reviewCountLabel; protected CompanyViewBean company = new CompanyViewBean(); protected RetailerAddressViewBean defaultAddress = new RetailerAddressViewBean(); protected List<AssetViewBean> assets = new ArrayList<AssetViewBean>(); protected List<RetailerCustomerCommentViewBean> comments = new ArrayList<RetailerCustomerCommentViewBean>(); protected List<RetailerTagViewBean> tags = new ArrayList<RetailerTagViewBean>(); protected Map<String, List<SocialNetworkFeedItemViewBean>> socialNetworkFeed = new HashMap<String, List<SocialNetworkFeedItemViewBean>>(); protected List<StoreViewBean> stores = new ArrayList<StoreViewBean>(); protected List<ShareOptionViewBean> shareOptions = new ArrayList<ShareOptionViewBean>(); protected String detailsUrl; protected String editUrl; protected String storeListUrl; // MENU protected String img; protected String changeContextUrl; protected String homeUrl; public int getVersion() { return version; } public void setVersion(int version) { this.version = version; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getI18nName() { if(StringUtils.isNotEmpty(i18nName)){ return i18nName; } return name; } public void setI18nName(String i18nName) { this.i18nName = i18nName; } public String getI18nTruncatedName() { int size = Constants.POJO_NAME_MAX_LENGTH; if (StringUtils.isNotEmpty(getI18nName())){ if(getI18nName().length() >= size){ return CoreUtil.handleTruncatedString(getI18nName(), size); } else { return getI18nName(); } } return ""; } public String getI18nDescription() { if(StringUtils.isNotEmpty(i18nDescription)){ return i18nDescription; } return description; } public void setI18nDescription(String i18nDescription) { this.i18nDescription = i18nDescription; } public String getI18nShortDescription() { return i18nShortDescription; } public void setI18nShortDescription(String i18nShortDescription) { this.i18nShortDescription = i18nShortDescription; } public String getI18nTruncatedDescription() { int size = Constants.POJO_DESCRIPTION_MAX_LENGTH; if(StringUtils.isNotEmpty(getI18nShortDescription())){ if(getI18nShortDescription().length() >= size){ return CoreUtil.handleTruncatedString(getI18nShortDescription(), size); } else { return getI18nShortDescription(); } } else if (StringUtils.isNotEmpty(getI18nDescription())){ if(getI18nDescription().length() >= size){ return CoreUtil.handleTruncatedString(getI18nDescription(), size); } else { return getI18nDescription(); } } return ""; } public String getShortDescription() { String shortDescription = getDescription(); if (StringUtils.isNotEmpty(shortDescription)) { shortDescription = removeHtml(shortDescription); if (shortDescription.length() > Constants.SHORT_DESCRIPTION_MAX_LENGTH) { shortDescription = shortDescription.substring(0, Constants.SHORT_DESCRIPTION_MAX_LENGTH) + "..."; } } return shortDescription; } public boolean isDefault() { return isDefault; } public void setDefault(boolean isDefault) { this.isDefault = isDefault; } public boolean isOfficialRetailer() { return isOfficialRetailer; } public void setOfficialRetailer(boolean isOfficialRetailer) { this.isOfficialRetailer = isOfficialRetailer; } public boolean isBrand() { return isBrand; } public void setBrand(boolean isBrand) { this.isBrand = isBrand; } public boolean isEcommerce() { return isEcommerce; } public void setEcommerce(boolean isEcommerce) { this.isEcommerce = isEcommerce; } public boolean isCorner() { return isCorner; } public void setCorner(boolean isCorner) { this.isCorner = isCorner; } public int getQualityOfService() { return qualityOfService; } public void setQualityOfService(int qualityOfService) { this.qualityOfService = qualityOfService; } public int getPriceScore() { return priceScore; } public void setPriceScore(int priceScore) { this.priceScore = priceScore; } public int getRatioQualityPrice() { return ratioQualityPrice; } public void setRatioQualityPrice(int ratioQualityPrice) { this.ratioQualityPrice = ratioQualityPrice; } public int getReviewCount() { return reviewCount; } public void setReviewCount(int reviewCount) { this.reviewCount = reviewCount; } public String getReviewCountLabel() { return reviewCountLabel; } public void setReviewCountLabel(String reviewCountLabel) { this.reviewCountLabel = reviewCountLabel; } public CompanyViewBean getCompany() { return company; } public void setCompany(CompanyViewBean company) { this.company = company; } public RetailerAddressViewBean getDefaultAddress() { return defaultAddress; } public void setDefaultAddress(RetailerAddressViewBean defaultAddress) { this.defaultAddress = defaultAddress; } public List<AssetViewBean> getAssets() { return assets; } public List<AssetViewBean> getAssets(String type) { List<AssetViewBean> assetsByType = new ArrayList<AssetViewBean>(); for (Iterator<AssetViewBean> iterator = assets.iterator(); iterator.hasNext();) { AssetViewBean assetViewBean = (AssetViewBean) iterator.next(); if(assetViewBean.getType().equals(type)){ assetsByType.add(assetViewBean); } } if(assetsByType.size() == 0){ assetsByType.add(getDefaultAsset()); } return assetsByType; } public String getAssetPath(String type) { for (Iterator<AssetViewBean> iterator = assets.iterator(); iterator.hasNext();) { AssetViewBean assetViewBean = (AssetViewBean) iterator.next(); if(assetViewBean.getType().equals(type)){ return assetViewBean.getPath(); } } AssetViewBean assetViewBean = getDefaultAsset(); if(assetViewBean != null){ return assetViewBean.getPath(); } return null; } public String getAssetAbsoluteWebPath(String type) { for (Iterator<AssetViewBean> iterator = assets.iterator(); iterator.hasNext();) { AssetViewBean assetViewBean = (AssetViewBean) iterator.next(); if(assetViewBean.getType().equals(type)){ return assetViewBean.getAbsoluteWebPath(); } } AssetViewBean assetViewBean = getDefaultAsset(); if(assetViewBean != null){ return assetViewBean.getAbsoluteWebPath(); } return null; } public String getAssetRelativeWebPath(String type) { for (Iterator<AssetViewBean> iterator = assets.iterator(); iterator.hasNext();) { AssetViewBean assetViewBean = (AssetViewBean) iterator.next(); if(assetViewBean.getType().equals(type)){ return assetViewBean.getRelativeWebPath(); } } AssetViewBean assetViewBean = getDefaultAsset(); if(assetViewBean != null){ return assetViewBean.getRelativeWebPath(); } return null; } public AssetViewBean getDefaultAsset() { for (Iterator<AssetViewBean> iterator = assets.iterator(); iterator.hasNext();) { AssetViewBean assetViewBean = (AssetViewBean) iterator.next(); if("default".equals(assetViewBean.getType())){ return assetViewBean; } } return null; } public void setAssets(List<AssetViewBean> assets) { this.assets = assets; } public List<RetailerCustomerCommentViewBean> getComments() { return comments; } public void setComments(List<RetailerCustomerCommentViewBean> comments) { this.comments = comments; } public List<RetailerTagViewBean> getTags() { return tags; } public void setTags(List<RetailerTagViewBean> tags) { this.tags = tags; } public Map<String, List<SocialNetworkFeedItemViewBean>> getSocialNetworkFeed() { return socialNetworkFeed; } public void setSocialNetworkFeed( Map<String, List<SocialNetworkFeedItemViewBean>> socialNetworkFeed) { this.socialNetworkFeed = socialNetworkFeed; } public List<StoreViewBean> getStores() { return stores; } public void setStores(List<StoreViewBean> stores) { this.stores = stores; } public List<ShareOptionViewBean> getShareOptions() { return shareOptions; } public void setShareOptions(List<ShareOptionViewBean> shareOptions) { this.shareOptions = shareOptions; } public String getMetaShareTitle() { String metaShareTitle = getName(); metaShareTitle = encodeQuote(metaShareTitle); return metaShareTitle; } public String getMetaShareDescription() { String metaShareDescription = getDescription(); metaShareDescription = encodeQuote(metaShareDescription); if (StringUtils.isNotEmpty(metaShareDescription)) { metaShareDescription = removeHtml(metaShareDescription); metaShareDescription = encodeQuote(metaShareDescription); if (metaShareDescription.length() > Constants.SHARE_META_DESCRIPTION_MAX_LENGTH) { metaShareDescription = metaShareDescription.substring(0, Constants.SHARE_META_DESCRIPTION_MAX_LENGTH) + "..."; } } return metaShareDescription; } public String getMetaShareImage() { return getImg(); } public String getDetailsUrl() { return detailsUrl; } public void setDetailsUrl(String detailsUrl) { this.detailsUrl = detailsUrl; } public String getEditUrl() { return editUrl; } public void setEditUrl(String editUrl) { this.editUrl = editUrl; } public String getStoreListUrl() { return storeListUrl; } public void setStoreListUrl(String storeListUrl) { this.storeListUrl = storeListUrl; } public String getImg() { return img; } public void setImg(String img) { this.img = img; } public String getChangeContextUrl() { return changeContextUrl; } public void setChangeContextUrl(String changeContextUrl) { this.changeContextUrl = changeContextUrl; } public String getHomeUrl() { return homeUrl; } public void setHomeUrl(String homeUrl) { this.homeUrl = homeUrl; } }