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 {
20
	private SlideDefinition slideDefinition;
21
	private List<ExpandedSlide> expandedChildrenSlides;
22
	private List<ExpandedFeature> expandedFeatures;
23
 
24
	/**
25
	 * 
26
	 */
27
	private static final long serialVersionUID = 1L;
28
 
29
	/**
30
	 * @param slideDefinitionID
31
	 * @throws Exception 
32
	 */
33
	public ExpandedSlide(Slide slide) throws Exception {
34
		super(slide.getSlideDefinitionID());
35
 
36
		// Copy rest of the properties
37
		super.setChildrenSlides(slide.getChildrenSlides());
38
		super.setFeatures(slide.getFeatures());
39
		super.setFreeformContent(slide.getFreeformContent());
40
 
41
		// Expand slide definition id
42
		DefinitionsContainer defs = 
43
			Catalog.getInstance().getDefinitionsContainer();
44
 
45
		this.slideDefinition = 
46
			defs.getSlideDefinition(slide.getSlideDefinitionID());
47
 
48
		// Expand children slides
49
		List<Slide> childrenSlides = slide.getChildrenSlides();
50
		if(childrenSlides != null) {
51
			this.expandedChildrenSlides = new ArrayList<ExpandedSlide>();
52
 
53
			for(Slide childSlide : childrenSlides) {
54
				ExpandedSlide expChildSlide = new ExpandedSlide(childSlide);
55
 
56
				this.expandedChildrenSlides.add(expChildSlide);
57
			}
58
		}
59
 
60
		// Expand features
61
		List<Feature> features = slide.getFeatures();
62
		if(features != null) {
63
			this.expandedFeatures = new ArrayList<ExpandedFeature>();
64
 
65
			for(Feature feature : features) {
66
				ExpandedFeature expFeature = new ExpandedFeature(feature);
67
 
68
				this.expandedFeatures.add(expFeature);
69
			}
70
		}
71
	}
72
 
73
	/**
74
	 * @return the slideDefinition
75
	 */
76
	public SlideDefinition getSlideDefinition() {
77
		return slideDefinition;
78
	}
79
 
80
	/**
81
	 * @return the expandedChildrenSlides
82
	 */
83
	public List<ExpandedSlide> getExpandedChildrenSlides() {
84
		return expandedChildrenSlides;
85
	}
86
 
87
	/**
88
	 * @return the expandedFeatures
89
	 */
90
	public List<ExpandedFeature> getExpandedFeatures() {
91
		return expandedFeatures;
92
	}
93
 
33 naveen 94
	/* (non-Javadoc)
95
	 * @see java.lang.Object#toString()
96
	 */
97
	@Override
98
	public String toString() {
99
		return "ExpandedSlide [expandedChildrenSlides="
100
				+ expandedChildrenSlides + ", expandedFeatures="
101
				+ expandedFeatures + ", slideDefinition=" + slideDefinition
102
				+ ", toString()=" + super.toString() + "]";
103
	}
104
 
24 naveen 105
}