Subversion Repositories SmartDukaan

Rev

Rev 1229 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
62 naveen 1
/**
2
 * 
3
 */
4
package in.shop2020.metamodel.util;
5
 
6
import java.util.ArrayList;
7
import java.util.List;
8
 
9
import in.shop2020.metamodel.definitions.Catalog;
10
import in.shop2020.metamodel.definitions.Category;
11
import in.shop2020.metamodel.definitions.CategoryFacetDefinition;
12
import in.shop2020.metamodel.definitions.DefinitionsContainer;
1314 rajveer 13
import in.shop2020.metamodel.definitions.FacetDefinition;
81 naveen 14
import in.shop2020.metamodel.definitions.FacetRuleDefinition;
63 naveen 15
import in.shop2020.util.Utils;
62 naveen 16
 
17
/**
18
 * Utility class to support CategoryFacetDefintion class. Expands all 
19
 * references into respect detail objects
20
 * 
1314 rajveer 21
 * @author rajveer
62 naveen 22
 *
23
 */
24
public class ExpandedCategoryFacetDefinition extends CategoryFacetDefinition {
25
 
26
	/**
27
	 * 
28
	 */
29
	private static final long serialVersionUID = 1L;
30
 
31
	/**
32
	 * Expanded Category ID
33
	 */
34
	private Category category;
35
 
36
	/**
81 naveen 37
	 * List of expanded facet rule definitions
62 naveen 38
	 */
1314 rajveer 39
	private List<FacetDefinition> facetDefinitions;
62 naveen 40
 
41
	/**
42
	 * Constructs Expanded version from CategoryFacetDefinition instance
43
	 * 
44
	 * @param categoryFacetDefinition
45
	 * @throws Exception 
46
	 */
47
	public ExpandedCategoryFacetDefinition(
48
			CategoryFacetDefinition categoryFacetDefinition) throws Exception {
49
		super(categoryFacetDefinition.getCategoryID());
50
 
51
		// Copy other properties
1314 rajveer 52
		this.setFacetDefinitions(
53
				categoryFacetDefinition.getFacetDefinitions());
62 naveen 54
 
55
		// Add expanded objects
56
		DefinitionsContainer defs = 
57
			Catalog.getInstance().getDefinitionsContainer();
58
 
59
		// Category
60
		Category category = 
61
			defs.getCategory(categoryFacetDefinition.getCategoryID());
62
 
63
		this.setCategory(category);
64
 
1314 rajveer 65
		// List of FacetDefinition objects
66
		List<FacetDefinition> facetDefinitions = 
67
			categoryFacetDefinition.getFacetDefinitions();
62 naveen 68
 
1229 rajveer 69
		//Utils.info("facetRuleDefinitions=" + facetRuleDefinitions);
81 naveen 70
 
1314 rajveer 71
 
72
		for(FacetDefinition facetDef : facetDefinitions) {
1229 rajveer 73
			//Utils.info("facetRuleDef=" + facetRuleDef);
63 naveen 74
 
1314 rajveer 75
			//FacetDefinition facetDefinition = new FacetDefinition(facetDef);
62 naveen 76
 
1314 rajveer 77
			//Utils.info("facetDefinition=" + facetDefinition);
81 naveen 78
 
1314 rajveer 79
			this.appendFacetDefinition(facetDef);
62 naveen 80
		}
81 naveen 81
 
1314 rajveer 82
		//Utils.info("facetDefinitions=" + this.facetDefinitions);
62 naveen 83
	}
84
 
85
	/**
86
	 * @param category the category to set
87
	 */
88
	public void setCategory(Category category) {
89
		this.category = category;
90
	}
91
 
92
	/**
93
	 * @return the category
94
	 */
95
	public Category getCategory() {
96
		return category;
97
	}
98
 
99
	/**
100
	 * Utility method to add new elements
101
	 * 
1314 rajveer 102
	 * @param facetDefinition
62 naveen 103
	 */
1314 rajveer 104
	public void appendFacetDefinition(
105
			FacetDefinition facetDefinition) {
106
		if(this.facetDefinitions == null) {
107
			this.facetDefinitions = 
108
				new ArrayList<FacetDefinition>();
62 naveen 109
		}
110
 
1314 rajveer 111
		this.facetDefinitions.add(facetDefinition);
62 naveen 112
	}
113
 
114
	/**
1314 rajveer 115
	 * @param facetDefinitions the facetDefinitions 
81 naveen 116
	 * to set
62 naveen 117
	 */
1314 rajveer 118
	public void setFacetDefinitions(
119
			List<FacetDefinition> facetDefinitions) {
120
		this.facetDefinitions = facetDefinitions;
62 naveen 121
	}
122
 
123
	/**
1314 rajveer 124
	 * @return the facetDefinitions
62 naveen 125
	 */
1314 rajveer 126
	public List<FacetDefinition> getFacetDefinitions() {
127
		return facetDefinitions;
62 naveen 128
	}
129
 
81 naveen 130
	/* (non-Javadoc)
131
	 * @see java.lang.Object#toString()
132
	 */
133
	@Override
134
	public String toString() {
135
		return "ExpandedCategoryFacetDefinition [category=" + category
1314 rajveer 136
				+ ", facetDefinitions="
137
				+ facetDefinitions + ", getCategoryID()="
81 naveen 138
				+ getCategoryID() + ", getFacetRuleDefinitions()="
1314 rajveer 139
				+ getFacetDefinitions() + "]";
81 naveen 140
	}
141
 
62 naveen 142
}