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 Meta Data Rule ID
34
	 */
35
	private RuleDefinition irmetadataRuleDefinition;
36
 
37
	/**
38
	 * 
39
	 */
40
	private static final long serialVersionUID = 1L;
41
 
42
	/**
43
	 * Constructs Expanded version from FacetDefintion instance
44
	 * 
45
	 * @param facetDefinition
46
	 * @throws Exception 
47
	 */
48
	public ExpandedFacetDefinition(FacetDefinition facetDefinition) 
49
		throws Exception {
50
		super(facetDefinition.getID(), facetDefinition.getTarget());
51
 
52
		// Copy other properties
53
		this.setFeatureDefinitionID(facetDefinition.getFeatureDefinitionID());
54
		this.setSlideDefinitionID(facetDefinition.getSlideDefinitionID());
55
		this.setIrMetaDataRuleID(facetDefinition.getIrMetaDataRuleID());
56
		this.setDescription(facetDefinition.getDescription());
57
 
58
		// Add expanded objects
59
		DefinitionsContainer defs = 
60
			Catalog.getInstance().getDefinitionsContainer();
61
 
62
		// FeatureDefinition
63
		if(facetDefinition.getFeatureDefinitionID() != 0L) {
64
			FeatureDefinition featureDefintion = defs.getFeatureDefinition(
65
					facetDefinition.getFeatureDefinitionID());
66
 
67
			this.setFeatureDefinition(featureDefintion);
68
		}
69
 
70
		// SlideDefinition
71
		if(facetDefinition.getSlideDefinitionID() != 0L) {
72
			SlideDefinition slideDefinition = 
73
				defs.getSlideDefinition(facetDefinition.getSlideDefinitionID());
74
 
75
			this.setSlideDefinition(slideDefinition);
76
		}
77
 
78
		// IrMetaDataRuleID
79
		RuleDefinition irMetaDataRuleDef = defs.getIrMetaDataRuleDefinition(
80
				facetDefinition.getIrMetaDataRuleID());
81
 
82
		this.setIrMetadataRuleDefinition(irMetaDataRuleDef);
83
	}
84
 
85
	/**
86
	 * @param featureDefinition the featureDefinition to set
87
	 */
88
	public void setFeatureDefinition(FeatureDefinition featureDefinition) {
89
		this.featureDefinition = featureDefinition;
90
	}
91
 
92
	/**
93
	 * @return the featureDefinition
94
	 */
95
	public FeatureDefinition getFeatureDefinition() {
96
		return featureDefinition;
97
	}
98
 
99
	/**
100
	 * @param slideDefinition the slideDefinition to set
101
	 */
102
	public void setSlideDefinition(SlideDefinition slideDefinition) {
103
		this.slideDefinition = slideDefinition;
104
	}
105
 
106
	/**
107
	 * @return the slideDefinition
108
	 */
109
	public SlideDefinition getSlideDefinition() {
110
		return slideDefinition;
111
	}
112
 
113
	/**
114
	 * @param irmetadataRuleDefinition the irmetadataRuleDefinition to set
115
	 */
116
	public void setIrMetadataRuleDefinition(RuleDefinition irmetadataRuleDefinition) {
117
		this.irmetadataRuleDefinition = irmetadataRuleDefinition;
118
	}
119
 
120
	/**
121
	 * @return the irmetadataRuleDefinition
122
	 */
123
	public RuleDefinition getIrMetadataRuleDefinition() {
124
		return irmetadataRuleDefinition;
125
	}
126
 
127
}