Subversion Repositories SmartDukaan

Rev

Rev 1061 | 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;
2170 rajveer 10
import in.shop2020.metamodel.definitions.HelpDocDefinition;
102 naveen 11
import in.shop2020.metamodel.definitions.RuleDefinition;
45 naveen 12
 
13
/**
51 naveen 14
 * Utility class that supports FeatureDefinition class. All related 
15
 * objects are fetched from database and aggregated here.
16
 * 
45 naveen 17
 * @author naveen
18
 *
19
 */
20
public class ExpandedFeatureDefinition extends FeatureDefinition {
21
 
22
	/**
23
	 * 
24
	 */
25
	private static final long serialVersionUID = 1L;
26
 
27
	/**
51 naveen 28
	 * Expanded from BulletDefinition ID
45 naveen 29
	 */
30
	private ExpandedBulletDefinition expandedBulletDefinition;
31
 
32
	/**
102 naveen 33
	 * Expanded from Normalization Rule Definition ID
34
	 */
35
	private RuleDefinition normalizationRuleDefinition;
36
 
37
	/**
2170 rajveer 38
	 * Expanded of helpDocDefinition
39
	 */
40
	private HelpDocDefinition helpDocDefinition;
41
 
42
	/**
51 naveen 43
	 * Takes FeatureDefinition object as input and converts all references 
44
	 * into corresponding detail objects
45 naveen 45
	 * 
51 naveen 46
	 * @param featureDefintion Feature Definition object
45 naveen 47
	 * @throws Exception 
48
	 */
49
	public ExpandedFeatureDefinition(FeatureDefinition featureDefinition) 
50
		throws Exception {
51
		super(featureDefinition.getID(), featureDefinition.getLabel());
52
 
53
		// Copy rest of the properties
54
		this.setAllowsBlank(featureDefinition.allowsBlank());
55
		this.setDescription(featureDefinition.getDescription());
56
		this.setBulletDefinition(featureDefinition.getBulletDefinition());
102 naveen 57
		this.setNormalizationRuleDefinitionID(
58
				featureDefinition.getNormalizationRuleDefinitionID());
2170 rajveer 59
		this.setHelpDocDefinitionID(featureDefinition.getHelpDocDefinitionID());
45 naveen 60
 
102 naveen 61
		DefinitionsContainer defs = 
62
			Catalog.getInstance().getDefinitionsContainer();
63
 
45 naveen 64
		// Expand BulletDefinition
65
		BulletDefinition bulletDef = featureDefinition.getBulletDefinition();
66
 
102 naveen 67
		// Expand normalization rule definition ID
68
		long ruleDefinitionID = 
69
			featureDefinition.getNormalizationRuleDefinitionID();
70
 
71
		if(ruleDefinitionID != 0L) {
72
			this.normalizationRuleDefinition  = 
73
				defs.getNormalizationRuleDefinition(ruleDefinitionID);
74
		}
75
 
45 naveen 76
		this.expandedBulletDefinition = new ExpandedBulletDefinition(bulletDef);
2170 rajveer 77
 
78
 
79
		// Expand help doc definition ID
80
        long helpDocDefinitionID = featureDefinition.getHelpDocDefinitionID();
81
 
82
        if(helpDocDefinitionID != 0L) {
83
            this.helpDocDefinition  = 
84
                defs.getHelpDocDefinition(helpDocDefinitionID);
85
        }
45 naveen 86
	}
87
 
88
	/**
51 naveen 89
	 * @return the expandedBulletDefinition ExpandedBulletDefinition object
45 naveen 90
	 */
91
	public ExpandedBulletDefinition getExpandedBulletDefinition() {
92
		return expandedBulletDefinition;
93
	}
94
 
102 naveen 95
	/**
96
	 * @return the normalizationRuleDefinition
97
	 */
98
	public RuleDefinition getNormalizationRuleDefinition() {
99
		return normalizationRuleDefinition;
100
	}
101
 
2170 rajveer 102
    /**
103
     * @param helpDocDefinition the helpDocDefinition to set
104
     */
105
    public void setHelpDocDefinition(HelpDocDefinition helpDocDefinition) {
106
        this.helpDocDefinition = helpDocDefinition;
107
    }
108
 
109
    /**
110
     * @return the helpDocDefinition
111
     */
112
    public HelpDocDefinition getHelpDocDefinition() {
113
        return helpDocDefinition;
114
    }
115
 
116
 
45 naveen 117
	/* (non-Javadoc)
118
	 * @see java.lang.Object#toString()
119
	 */
120
	@Override
121
	public String toString() {
122
		return "ExpandedFeatureDefinition [expandedBulletDefinition="
102 naveen 123
				+ expandedBulletDefinition + ", normalizationRuleDefinition="
163 naveen 124
				+ normalizationRuleDefinition + ", allowsBlank()="
125
				+ allowsBlank() + ", getBulletDefinition()="
126
				+ getBulletDefinition() + ", getDescription()="
127
				+ getDescription() + ", getLabel()=" + getLabel()
128
				+ ", getNormalizationRuleDefinitionID()="
129
				+ getNormalizationRuleDefinitionID() + ", toString()="
130
				+ super.toString() + ", getID()=" + getID() + "]";
45 naveen 131
	}
132
 
2170 rajveer 133
 
45 naveen 134
}