Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | 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 java.util.ArrayList;
7
import java.util.List;
8
 
46 naveen 9
import in.shop2020.metamodel.definitions.Catalog;
10
import in.shop2020.metamodel.definitions.DefinitionsContainer;
45 naveen 11
import in.shop2020.metamodel.definitions.SlideDefinition;
12
import in.shop2020.metamodel.definitions.SlideFeatureDefinition;
13
 
14
/**
15
 * @author naveen
16
 *
17
 */
18
public class ExpandedSlideDefinition extends SlideDefinition {
19
 
20
	/**
21
	 * 
22
	 */
23
	private static final long serialVersionUID = 1L;
24
 
25
	/**
26
	 * 
27
	 */
28
	private List<ExpandedSlideFeatureDefinition> 
29
		expandedSlideFeatureDefinitions;
30
 
31
	/**
46 naveen 32
	 * 
33
	 */
34
	private List<ExpandedSlideDefinition> expandedChildrentSlideDefinitions;
35
 
36
	/**
45 naveen 37
	 * @param newID
38
	 * @param label
39
	 * @throws Exception 
40
	 */
41
	public ExpandedSlideDefinition(SlideDefinition slideDefinition) 
42
		throws Exception {
43
		super(slideDefinition.getID(), slideDefinition.getLabel());
44
 
45
		// Copy rest of the properties
46
		this.setChildrenSlideDefinitionIDs(
47
				slideDefinition.getChildrenSlideDefinitionIDs());
48
 
49
		this.setDescription(slideDefinition.getDescription());
50
		this.setLabel(slideDefinition.getLabel());
51
 
52
		this.setSlideFeatureDefinitions(
53
				slideDefinition.getSlideFeatureDefinitions());
54
 
55
		// Expand SlideFeatureDefinition
56
		List<SlideFeatureDefinition> slideFeatureDefs = 
57
			slideDefinition.getSlideFeatureDefinitions();
58
 
59
		if(slideFeatureDefs != null) {
60
			this.expandedSlideFeatureDefinitions = 
61
				new ArrayList<ExpandedSlideFeatureDefinition>();
62
 
63
			for(SlideFeatureDefinition slideFeatureDef : slideFeatureDefs) {
64
				this.expandedSlideFeatureDefinitions.add(
65
						new ExpandedSlideFeatureDefinition(slideFeatureDef));
66
			}
67
		}
46 naveen 68
 
69
		// Expand children slides
70
		DefinitionsContainer defs = 
71
			Catalog.getInstance().getDefinitionsContainer();
72
 
73
		List<Long> childrenSlideIDs = this.getChildrenSlideDefinitionIDs();
74
		if(childrenSlideIDs != null) {
75
			this.expandedChildrentSlideDefinitions = 
76
				new ArrayList<ExpandedSlideDefinition>();
77
 
78
			for(Long childSlideID : childrenSlideIDs) {
79
				SlideDefinition childSlideDef = 
80
					defs.getSlideDefinition(childSlideID.longValue());
81
 
82
				this.expandedChildrentSlideDefinitions.add(
83
						new ExpandedSlideDefinition(childSlideDef));
84
			}
85
		}
45 naveen 86
	}
87
 
88
	/**
89
	 * @return the expandedSlideFeatureDefinitions
90
	 */
91
	public List<ExpandedSlideFeatureDefinition> 
92
		getExpandedSlideFeatureDefinitions() {
93
		return expandedSlideFeatureDefinitions;
94
	}
95
 
46 naveen 96
	/**
97
	 * @return the expandedChildrentSlideDefinitions
98
	 */
99
	public List<ExpandedSlideDefinition> getExpandedChildrentSlideDefinitions(){
100
		return expandedChildrentSlideDefinitions;
101
	}
102
 
45 naveen 103
	/* (non-Javadoc)
104
	 * @see java.lang.Object#toString()
105
	 */
106
	@Override
107
	public String toString() {
108
		return "ExpandedSlideDefinition [expandedSlideFeatureDefinitions="
109
				+ expandedSlideFeatureDefinitions
110
				+ ", getChildrenSlideDefinitionIDs()="
111
				+ getChildrenSlideDefinitionIDs() + ", getDescription()="
112
				+ getDescription() + ", getLabel()=" + getLabel()
113
				+ ", getSlideFeatureDefinitions()="
46 naveen 114
				+ getSlideFeatureDefinitions()
115
				+ ", getExpandedChildrentSlideDefinitions()="
116
				+ getExpandedChildrentSlideDefinitions() + 
117
				", getID()=" + getID() + "]";
45 naveen 118
	}
119
 
120
}