Subversion Repositories SmartDukaan

Rev

Rev 323 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
45 naveen 1
/**
2
 * 
3
 */
4
package in.shop2020.metamodel.util;
5
 
6
import in.shop2020.metamodel.definitions.BulletDefinition;
102 naveen 7
import in.shop2020.metamodel.definitions.Catalog;
8
import in.shop2020.metamodel.definitions.DefinitionsContainer;
45 naveen 9
import in.shop2020.metamodel.definitions.FeatureDefinition;
102 naveen 10
import in.shop2020.metamodel.definitions.RuleDefinition;
45 naveen 11
 
12
/**
51 naveen 13
 * Utility class that supports FeatureDefinition class. All related 
14
 * objects are fetched from database and aggregated here.
15
 * 
45 naveen 16
 * @author naveen
17
 *
18
 */
19
public class ExpandedFeatureDefinition extends FeatureDefinition {
20
 
21
	/**
22
	 * 
23
	 */
24
	private static final long serialVersionUID = 1L;
25
 
26
	/**
51 naveen 27
	 * Expanded from BulletDefinition ID
45 naveen 28
	 */
29
	private ExpandedBulletDefinition expandedBulletDefinition;
30
 
31
	/**
102 naveen 32
	 * Expanded from Normalization Rule Definition ID
33
	 */
34
	private RuleDefinition normalizationRuleDefinition;
35
 
36
	/**
51 naveen 37
	 * Takes FeatureDefinition object as input and converts all references 
38
	 * into corresponding detail objects
45 naveen 39
	 * 
51 naveen 40
	 * @param featureDefintion Feature Definition object
45 naveen 41
	 * @throws Exception 
42
	 */
43
	public ExpandedFeatureDefinition(FeatureDefinition featureDefinition) 
44
		throws Exception {
45
		super(featureDefinition.getID(), featureDefinition.getLabel());
46
 
47
		// Copy rest of the properties
48
		this.setAllowsBlank(featureDefinition.allowsBlank());
49
		this.setDescription(featureDefinition.getDescription());
50
		this.setBulletDefinition(featureDefinition.getBulletDefinition());
102 naveen 51
		this.setNormalizationRuleDefinitionID(
52
				featureDefinition.getNormalizationRuleDefinitionID());
45 naveen 53
 
102 naveen 54
		DefinitionsContainer defs = 
55
			Catalog.getInstance().getDefinitionsContainer();
56
 
45 naveen 57
		// Expand BulletDefinition
58
		BulletDefinition bulletDef = featureDefinition.getBulletDefinition();
59
 
102 naveen 60
		// Expand normalization rule definition ID
61
		long ruleDefinitionID = 
62
			featureDefinition.getNormalizationRuleDefinitionID();
63
 
64
		if(ruleDefinitionID != 0L) {
65
			this.normalizationRuleDefinition  = 
66
				defs.getNormalizationRuleDefinition(ruleDefinitionID);
67
		}
68
 
45 naveen 69
		this.expandedBulletDefinition = new ExpandedBulletDefinition(bulletDef);
70
	}
71
 
72
	/**
51 naveen 73
	 * @return the expandedBulletDefinition ExpandedBulletDefinition object
45 naveen 74
	 */
75
	public ExpandedBulletDefinition getExpandedBulletDefinition() {
76
		return expandedBulletDefinition;
77
	}
78
 
102 naveen 79
	/**
80
	 * @return the normalizationRuleDefinition
81
	 */
82
	public RuleDefinition getNormalizationRuleDefinition() {
83
		return normalizationRuleDefinition;
84
	}
85
 
45 naveen 86
	/* (non-Javadoc)
87
	 * @see java.lang.Object#toString()
88
	 */
89
	@Override
90
	public String toString() {
91
		return "ExpandedFeatureDefinition [expandedBulletDefinition="
102 naveen 92
				+ expandedBulletDefinition + ", normalizationRuleDefinition="
163 naveen 93
				+ normalizationRuleDefinition + ", allowsBlank()="
94
				+ allowsBlank() + ", getBulletDefinition()="
95
				+ getBulletDefinition() + ", getDescription()="
96
				+ getDescription() + ", getLabel()=" + getLabel()
97
				+ ", getNormalizationRuleDefinitionID()="
98
				+ getNormalizationRuleDefinitionID() + ", toString()="
99
				+ super.toString() + ", getID()=" + getID() + "]";
45 naveen 100
	}
101
 
102
}