Rev 1229 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/****/package in.shop2020.metamodel.util;import java.util.ArrayList;import java.util.List;import in.shop2020.metamodel.definitions.Catalog;import in.shop2020.metamodel.definitions.Category;import in.shop2020.metamodel.definitions.CategoryFacetDefinition;import in.shop2020.metamodel.definitions.DefinitionsContainer;import in.shop2020.metamodel.definitions.FacetDefinition;import in.shop2020.metamodel.definitions.FacetRuleDefinition;import in.shop2020.util.Utils;/*** Utility class to support CategoryFacetDefintion class. Expands all* references into respect detail objects** @author rajveer**/public class ExpandedCategoryFacetDefinition extends CategoryFacetDefinition {/****/private static final long serialVersionUID = 1L;/*** Expanded Category ID*/private Category category;/*** List of expanded facet rule definitions*/private List<FacetDefinition> facetDefinitions;/*** Constructs Expanded version from CategoryFacetDefinition instance** @param categoryFacetDefinition* @throws Exception*/public ExpandedCategoryFacetDefinition(CategoryFacetDefinition categoryFacetDefinition) throws Exception {super(categoryFacetDefinition.getCategoryID());// Copy other propertiesthis.setFacetDefinitions(categoryFacetDefinition.getFacetDefinitions());// Add expanded objectsDefinitionsContainer defs =Catalog.getInstance().getDefinitionsContainer();// CategoryCategory category =defs.getCategory(categoryFacetDefinition.getCategoryID());this.setCategory(category);// List of FacetDefinition objectsList<FacetDefinition> facetDefinitions =categoryFacetDefinition.getFacetDefinitions();//Utils.info("facetRuleDefinitions=" + facetRuleDefinitions);for(FacetDefinition facetDef : facetDefinitions) {//Utils.info("facetRuleDef=" + facetRuleDef);//FacetDefinition facetDefinition = new FacetDefinition(facetDef);//Utils.info("facetDefinition=" + facetDefinition);this.appendFacetDefinition(facetDef);}//Utils.info("facetDefinitions=" + this.facetDefinitions);}/*** @param category the category to set*/public void setCategory(Category category) {this.category = category;}/*** @return the category*/public Category getCategory() {return category;}/*** Utility method to add new elements** @param facetDefinition*/public void appendFacetDefinition(FacetDefinition facetDefinition) {if(this.facetDefinitions == null) {this.facetDefinitions =new ArrayList<FacetDefinition>();}this.facetDefinitions.add(facetDefinition);}/*** @param facetDefinitions the facetDefinitions* to set*/public void setFacetDefinitions(List<FacetDefinition> facetDefinitions) {this.facetDefinitions = facetDefinitions;}/*** @return the facetDefinitions*/public List<FacetDefinition> getFacetDefinitions() {return facetDefinitions;}/* (non-Javadoc)* @see java.lang.Object#toString()*/@Overridepublic String toString() {return "ExpandedCategoryFacetDefinition [category=" + category+ ", facetDefinitions="+ facetDefinitions + ", getCategoryID()="+ getCategoryID() + ", getFacetRuleDefinitions()="+ getFacetDefinitions() + "]";}}