| 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 |
}
|