Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | 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 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.FeatureDefinition;
10
import in.shop2020.metamodel.definitions.RuleDefinition;
11
import in.shop2020.metamodel.definitions.SlideDefinition;
12
 
13
/**
14
 * Utility class to support FacetDefinition class. All references are expanded 
15
 * into respective detail objects
16
 * 
17
 * @author naveen
18
 *
19
 */
20
public class ExpandedFacetDefinition extends FacetDefinition {
21
 
22
	/**
23
	 * Expanded feature definition ID
24
	 */
25
	private FeatureDefinition featureDefinition;
26
 
27
	/**
28
	 * Expanded slide definition ID 
29
	 */
30
	private SlideDefinition slideDefinition;
31
 
32
	/**
33
	 * Expanded IR Data Rule ID
34
	 */
35
	private RuleDefinition irdataRuleDefinition;
36
 
37
	/**
38
	 * Expanded IR Meta Data Rule ID
39
	 */
40
	private RuleDefinition irmetadataRuleDefinition;
41
 
42
	/**
43
	 * 
44
	 */
45
	private static final long serialVersionUID = 1L;
46
 
47
	/**
48
	 * Constructs Expanded version from FacetDefintion instance
49
	 * 
50
	 * @param facetDefinition
51
	 * @throws Exception 
52
	 */
53
	public ExpandedFacetDefinition(FacetDefinition facetDefinition) 
54
		throws Exception {
55
		super(facetDefinition.getID(), facetDefinition.getTarget());
56
 
57
		// Copy other properties
58
		this.setFeatureDefinitionID(facetDefinition.getFeatureDefinitionID());
59
		this.setSlideDefinitionID(facetDefinition.getSlideDefinitionID());
60
		this.setIrDataRuleID(facetDefinition.getIrDataRuleID());
61
		this.setIrMetaDataRuleID(facetDefinition.getIrMetaDataRuleID());
62
		this.setDescription(facetDefinition.getDescription());
63
 
64
		// Add expanded objects
65
		DefinitionsContainer defs = 
66
			Catalog.getInstance().getDefinitionsContainer();
67
 
68
		// FeatureDefinition
69
		if(facetDefinition.getFeatureDefinitionID() != 0L) {
70
			FeatureDefinition featureDefintion = defs.getFeatureDefinition(
71
					facetDefinition.getFeatureDefinitionID());
72
 
73
			this.setFeatureDefinition(featureDefintion);
74
		}
75
 
76
		// SlideDefinition
77
		if(facetDefinition.getSlideDefinitionID() != 0L) {
78
			SlideDefinition slideDefinition = 
79
				defs.getSlideDefinition(facetDefinition.getSlideDefinitionID());
80
 
81
			this.setSlideDefinition(slideDefinition);
82
		}
83
 
84
		// IrDataRuleID
85
		RuleDefinition irDataRuleDef = 
86
			defs.getIrDataRuleDefinition(facetDefinition.getIrDataRuleID());
87
 
88
		this.setIrdataRuleDefinition(irDataRuleDef);
89
 
90
		// IrMetaDataRuleID
91
		RuleDefinition irMetaDataRuleDef = defs.getIrMetaDataRuleDefinition(
92
				facetDefinition.getIrMetaDataRuleID());
93
 
94
		this.setIrMetadataRuleDefinition(irMetaDataRuleDef);
95
	}
96
 
97
	/**
98
	 * @param featureDefinition the featureDefinition to set
99
	 */
100
	public void setFeatureDefinition(FeatureDefinition featureDefinition) {
101
		this.featureDefinition = featureDefinition;
102
	}
103
 
104
	/**
105
	 * @return the featureDefinition
106
	 */
107
	public FeatureDefinition getFeatureDefinition() {
108
		return featureDefinition;
109
	}
110
 
111
	/**
112
	 * @param slideDefinition the slideDefinition to set
113
	 */
114
	public void setSlideDefinition(SlideDefinition slideDefinition) {
115
		this.slideDefinition = slideDefinition;
116
	}
117
 
118
	/**
119
	 * @return the slideDefinition
120
	 */
121
	public SlideDefinition getSlideDefinition() {
122
		return slideDefinition;
123
	}
124
 
125
	/**
126
	 * @param irdataRuleDefinition the irdataRuleDefinition to set
127
	 */
128
	public void setIrdataRuleDefinition(RuleDefinition irdataRuleDefinition) {
129
		this.irdataRuleDefinition = irdataRuleDefinition;
130
	}
131
 
132
	/**
133
	 * @return the irdataRuleDefinition
134
	 */
135
	public RuleDefinition getIrdataRuleDefinition() {
136
		return irdataRuleDefinition;
137
	}
138
 
139
	/**
140
	 * @param irmetadataRuleDefinition the irmetadataRuleDefinition to set
141
	 */
142
	public void setIrMetadataRuleDefinition(RuleDefinition irmetadataRuleDefinition) {
143
		this.irmetadataRuleDefinition = irmetadataRuleDefinition;
144
	}
145
 
146
	/**
147
	 * @return the irmetadataRuleDefinition
148
	 */
149
	public RuleDefinition getIrMetadataRuleDefinition() {
150
		return irmetadataRuleDefinition;
151
	}
152
 
153
}