Subversion Repositories SmartDukaan

Rev

Rev 1061 | Rev 2720 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
10 shop2020 1
/**
2
 * 
3
 */
4
package in.shop2020.metamodel.core;
5
 
199 naveen 6
import java.util.ArrayList;
1069 rajveer 7
import java.util.LinkedHashMap;
199 naveen 8
import java.util.List;
211 naveen 9
import java.util.Map;
451 rajveer 10
import java.util.StringTokenizer;
199 naveen 11
 
10 shop2020 12
import in.shop2020.metamodel.util.MetaModelComponent;
13
 
14
/**
45 naveen 15
 * Represents un-structured data about Slide, Feature and Bullet. It is used
16
 * judiciously by content developers to store multi-media content in support
17
 * component they are attached to.
10 shop2020 18
 * 
19
 * @author naveen
20
 *
21
 */
22
public class FreeformContent extends MetaModelComponent {
23
 
24
	/**
25
	 * 
26
	 */
27
	private static final long serialVersionUID = 1L;
28
 
199 naveen 29
	// Un-structured text only
30
	private List<String> freeformTexts;
10 shop2020 31
 
1050 rajveer 32
	private Map<String, Media> medias;
211 naveen 33
 
1050 rajveer 34
	/**
10 shop2020 35
     * 
36
     */
199 naveen 37
    public FreeformContent() {
10 shop2020 38
    }
39
 
40
    /**
41
     * 
199 naveen 42
     * @param freeformText
10 shop2020 43
     */
199 naveen 44
    public FreeformContent(String freeformText) {
45
    	this.addFreeformText(freeformText);
10 shop2020 46
    }
47
 
199 naveen 48
	/**
49
	 * @param freeformTexts the freeformTexts to set
50
	 */
51
	public void setFreeformTexts(List<String> freeformTexts) {
52
		this.freeformTexts = freeformTexts;
53
	}
54
 
55
	/**
56
	 * 
57
	 * @param fft
58
	 */
59
	public void addFreeformText(String fft) {
60
		if(this.freeformTexts == null) {
61
			this.freeformTexts = new ArrayList<String>();
62
		}
63
 
64
		this.freeformTexts.add(fft);
65
	}
66
 
67
	/**
68
	 * @return the freeformTexts
69
	 */
70
	public List<String> getFreeformTexts() {
71
		return freeformTexts;
72
	}
73
 
74
 
75
	/**
76
	 * Return first free-form text
77
	 * 
78
	 * @return the freeformTexts
79
	 */
80
	public String getFreeformText() {
81
		if(this.freeformTexts != null && this.freeformTexts.size() > 0) {
82
			return this.freeformTexts.get(0);
83
		}
84
 
85
		return null;
86
	}
211 naveen 87
 
512 rajveer 88
	public String[] getFreeformLines() {
89
		if(this.freeformTexts != null && this.freeformTexts.size() > 0) {
90
			return this.freeformTexts.get(0).split("\n");
91
		}
92
		return null;
93
	}
199 naveen 94
	/**
512 rajveer 95
	 * Return list of free-form text separeted by new line
96
	 * 
97
	 * @return the freeformTexts
98
	 */
99
	public List<String> getFreeformTextLines() {
100
		List<String> lines = null;
101
		if(this.freeformTexts != null && this.freeformTexts.size() > 0) {
102
			lines = new ArrayList<String>();
103
			StringTokenizer tokenizer = new StringTokenizer(this.freeformTexts.get(0), "\n");
104
			while(tokenizer.hasMoreTokens()){
105
				lines.add(tokenizer.nextToken());
106
			}
107
			return lines;
108
		}
109
 
110
		return null;
111
	}
112
 
1050 rajveer 113
 
114
	public void setMedias(Map<String, Media> medias) {
115
		this.medias = medias;
199 naveen 116
	}
117
 
1050 rajveer 118
	public Map<String, Media> getMedias() {
119
		return medias;
120
	}
451 rajveer 121
 
1050 rajveer 122
	public void addMedia(Media media) {
123
		if(this.medias == null){
1069 rajveer 124
			this.medias = new LinkedHashMap<String, Media>();
451 rajveer 125
		}
1050 rajveer 126
		this.medias.put(media.getLabel(), media);
451 rajveer 127
	}
211 naveen 128
 
1050 rajveer 129
	public void removeMedia(String label) {
130
		if(this.medias != null){
131
			medias.remove(label);
199 naveen 132
		}
133
	}
134
 
135
 
457 rajveer 136
	public List<String> getImageLabels(){
137
		List<String> imageLabels = new ArrayList<String>();
1050 rajveer 138
		if(this.medias != null){
139
			for(Media media: medias.values()){
140
				if(media.getType().equalsIgnoreCase("image")){
141
					imageLabels.add(media.getLabel());
457 rajveer 142
				}
143
			}
144
		}
145
		return imageLabels;
146
	}
1050 rajveer 147
 
457 rajveer 148
	public List<String> getYoutubeLabels(){
149
		List<String> youtubeLabels = new ArrayList<String>();
1050 rajveer 150
		if(this.medias != null){
151
			for(Media media: medias.values()){
152
				if(media.getType().equalsIgnoreCase("youtube")){
153
					youtubeLabels.add(media.getLabel());
457 rajveer 154
				}
155
			}
156
		}
157
		return youtubeLabels;
158
	}
159
 
10 shop2020 160
}