Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
81 naveen 1
/**
2
 * 
3
 */
4
package in.shop2020.metamodel.util;
5
 
6
import in.shop2020.metamodel.definitions.Catalog;
7
import in.shop2020.metamodel.definitions.DefinitionsContainer;
8
import in.shop2020.metamodel.definitions.FacetDefinition;
9
import in.shop2020.metamodel.definitions.FacetRuleDefinition;
10
import in.shop2020.metamodel.definitions.FeatureDefinition;
11
import in.shop2020.metamodel.definitions.RuleDefinition;
12
import in.shop2020.metamodel.definitions.SlideDefinition;
13
 
14
/**
15
 * Utility class to support FacetRuleDefinition
16
 * 
17
 * @author naveen
18
 *
19
 */
20
public class ExpandedFacetRuleDefinition extends FacetRuleDefinition {
21
 
22
	/**
23
	 * Expanded Facet Definition ID
24
	 */
25
	private FacetDefinition facetDefinition;
26
 
27
	/**
28
	 * Expanded IR Data Rule Definition ID 
29
	 */
30
	private RuleDefinition irDataRuleDefinition;
31
 
32
	/**
33
	 * Expanded Feature Definition ID
34
	 */
35
	private FeatureDefinition featureDefinition;
36
 
37
	/**
38
	 * Expanded Slide Definition ID
39
	 */
40
	private SlideDefinition slideDefinition;
41
 
42
	/**
43
	 * 
44
	 */
45
	private static final long serialVersionUID = 1L;
46
 
47
	/**
48
	 * Expands all references
49
	 * 
50
	 * @param facetDefinitionID
51
	 * @param irDataRuleID
52
	 * @throws Exception 
53
	 */
54
	public ExpandedFacetRuleDefinition(FacetRuleDefinition facetRuleDefinition)
55
		throws Exception{
56
		super(facetRuleDefinition.getFacetDefinitionID(), 
57
				facetRuleDefinition.getIRDataRuleID());
58
 
59
		// Copy rest of the attributes
60
		this.setDescription(facetRuleDefinition.getDescription());
61
 
62
		this.setFacetDefinitionID(facetRuleDefinition.getFacetDefinitionID());
63
 
64
		this.setFeatureDefinitionID(
65
				facetRuleDefinition.getFeatureDefinitionID());
66
 
67
		this.setSlideDefinitionID(facetRuleDefinition.getSlideDefinitionID());
68
 
69
		// Expand
70
		DefinitionsContainer defs = 
71
			Catalog.getInstance().getDefinitionsContainer();
72
 
73
		this.facetDefinition = defs.getFacetDefinition(
74
				facetRuleDefinition.getFacetDefinitionID());
75
 
76
		this.irDataRuleDefinition = 
77
			defs.getIrDataRuleDefinition(facetRuleDefinition.getIRDataRuleID());
78
 
79
		if(facetRuleDefinition.getFeatureDefinitionID() != 0L) {
80
			this.featureDefinition = defs.getFeatureDefinition(
81
					facetRuleDefinition.getFeatureDefinitionID());
82
		}
83
 
84
		if(facetRuleDefinition.getSlideDefinitionID() != 0L) {
85
			this.slideDefinition = defs.getSlideDefinition(
86
					facetRuleDefinition.getSlideDefinitionID());
87
		}
88
	}
89
 
90
	/**
91
	 * Expanded IR Data Rule Definition ID to set
92
	 * 
93
	 * @param irDataRule the irDataRule to set
94
	 */
95
	public void setIRDataRuleDefinition(RuleDefinition irDataRuleDefinition) {
96
		this.irDataRuleDefinition = irDataRuleDefinition;
97
	}
98
 
99
	/**
100
	 * Returns expanded IR Data Rule Definition ID
101
	 *  
102
	 * @return the irDataRule
103
	 */
104
	public RuleDefinition getIRDataRuleDefinition() {
105
		return irDataRuleDefinition;
106
	}
107
 
108
	/**
109
	 * Expanded Feature Definition ID to set
110
	 * 
111
	 * @param featureDefinition the featureDefinition to set
112
	 */
113
	public void setFeatureDefinition(FeatureDefinition featureDefinition) {
114
		this.featureDefinition = featureDefinition;
115
	}
116
 
117
	/**
118
	 * Returns Expanded Feature Definition ID
119
	 * 
120
	 * @return the featureDefinition
121
	 */
122
	public FeatureDefinition getFeatureDefinition() {
123
		return featureDefinition;
124
	}
125
 
126
	/**
127
	 * Expanded Slide Definition ID to set
128
	 * 
129
	 * @param slideDefinition the slideDefinition to set
130
	 */
131
	public void setSlideDefinition(SlideDefinition slideDefinition) {
132
		this.slideDefinition = slideDefinition;
133
	}
134
 
135
	/**
136
	 * Returns expanded Slide Definition ID
137
	 *  
138
	 * @return the slideDefinition
139
	 */
140
	public SlideDefinition getSlideDefinition() {
141
		return slideDefinition;
142
	}
143
 
144
	/**
145
	 * Expanded Facet Definition ID to set
146
	 * 
147
	 * @param facetDefinition the facetDefinition to set
148
	 */
149
	public void setFacetDefinition(FacetDefinition facetDefinition) {
150
		this.facetDefinition = facetDefinition;
151
	}
152
 
153
	/**
154
	 * Returns Expanded Facet Definition ID
155
	 * 
156
	 * @return the facetDefinition
157
	 */
158
	public FacetDefinition getFacetDefinition() {
159
		return facetDefinition;
160
	}
161
 
162
	/* (non-Javadoc)
163
	 * @see java.lang.Object#toString()
164
	 */
165
	@Override
166
	public String toString() {
167
		return "ExpandedFacetRuleDefinition [facetDefinition="
168
				+ facetDefinition + ", featureDefinition=" + featureDefinition
169
				+ ", irDataRuleDefinition=" + irDataRuleDefinition
170
				+ ", slideDefinition=" + slideDefinition
171
				+ ", getDescription()=" + getDescription()
172
				+ ", getFacetDefinitionID()=" + getFacetDefinitionID()
173
				+ ", getFeatureDefinitionID()=" + getFeatureDefinitionID()
174
				+ ", getIRDataRuleID()=" + getIRDataRuleID()
175
				+ ", getSlideDefinitionID()=" + getSlideDefinitionID() + "]";
176
	}
177
 
178
}