Subversion Repositories SmartDukaan

Rev

Rev 1069 | Rev 3018 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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