Subversion Repositories SmartDukaan

Rev

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