Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
24 naveen 1
/**
2
 * 
3
 */
4
package in.shop2020.metamodel.util;
5
 
6
import java.util.ArrayList;
7
import java.util.List;
8
 
9
import in.shop2020.metamodel.core.Feature;
10
import in.shop2020.metamodel.core.Slide;
11
import in.shop2020.metamodel.definitions.Catalog;
12
import in.shop2020.metamodel.definitions.DefinitionsContainer;
13
import in.shop2020.metamodel.definitions.SlideDefinition;
14
 
15
/**
16
 * @author naveen
17
 *
18
 */
19
public class ExpandedSlide extends Slide {
49 naveen 20
	/**
21
	 * 
22
	 */
24 naveen 23
	private SlideDefinition slideDefinition;
49 naveen 24
 
25
	/**
26
	 * 
27
	 */
24 naveen 28
	private List<ExpandedSlide> expandedChildrenSlides;
49 naveen 29
 
30
	/**
31
	 * 
32
	 */
24 naveen 33
	private List<ExpandedFeature> expandedFeatures;
34
 
35
	/**
36
	 * 
37
	 */
38
	private static final long serialVersionUID = 1L;
49 naveen 39
 
24 naveen 40
	/**
49 naveen 41
	 * 
42
	 * @param slide
43
	 * @throws Exception
24 naveen 44
	 */
45
	public ExpandedSlide(Slide slide) throws Exception {
46
		super(slide.getSlideDefinitionID());
47
 
48
		// Copy rest of the properties
49
		super.setChildrenSlides(slide.getChildrenSlides());
50
		super.setFeatures(slide.getFeatures());
51
		super.setFreeformContent(slide.getFreeformContent());
52
 
53
		// Expand slide definition id
54
		DefinitionsContainer defs = 
55
			Catalog.getInstance().getDefinitionsContainer();
56
 
57
		this.slideDefinition = 
58
			defs.getSlideDefinition(slide.getSlideDefinitionID());
59
 
60
		// Expand children slides
61
		List<Slide> childrenSlides = slide.getChildrenSlides();
62
		if(childrenSlides != null) {
63
			this.expandedChildrenSlides = new ArrayList<ExpandedSlide>();
64
 
65
			for(Slide childSlide : childrenSlides) {
66
				ExpandedSlide expChildSlide = new ExpandedSlide(childSlide);
67
 
68
				this.expandedChildrenSlides.add(expChildSlide);
69
			}
70
		}
71
 
72
		// Expand features
73
		List<Feature> features = slide.getFeatures();
74
		if(features != null) {
75
			this.expandedFeatures = new ArrayList<ExpandedFeature>();
76
 
77
			for(Feature feature : features) {
78
				ExpandedFeature expFeature = new ExpandedFeature(feature);
79
 
80
				this.expandedFeatures.add(expFeature);
81
			}
82
		}
83
	}
84
 
85
	/**
86
	 * @return the slideDefinition
87
	 */
88
	public SlideDefinition getSlideDefinition() {
89
		return slideDefinition;
90
	}
91
 
92
	/**
93
	 * @return the expandedChildrenSlides
94
	 */
95
	public List<ExpandedSlide> getExpandedChildrenSlides() {
96
		return expandedChildrenSlides;
97
	}
98
 
99
	/**
100
	 * @return the expandedFeatures
101
	 */
102
	public List<ExpandedFeature> getExpandedFeatures() {
103
		return expandedFeatures;
104
	}
105
 
33 naveen 106
	/* (non-Javadoc)
107
	 * @see java.lang.Object#toString()
108
	 */
109
	@Override
110
	public String toString() {
111
		return "ExpandedSlide [expandedChildrenSlides="
112
				+ expandedChildrenSlides + ", expandedFeatures="
113
				+ expandedFeatures + ", slideDefinition=" + slideDefinition
114
				+ ", toString()=" + super.toString() + "]";
115
	}
116
 
24 naveen 117
}