Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
20424 kshitij.so 1
package com.hotspotstore.controllers;
2
 
3
 
4
import java.io.File;
5
import java.io.IOException;
6
import java.util.ArrayList;
7
import java.util.Calendar;
8
import java.util.GregorianCalendar;
9
import java.util.HashMap;
10
import java.util.List;
11
import java.util.Map;
12
 
13
import com.hotspotstore.controllers.BaseController;
14
import com.hotspotstore.model.Banner;
15
import com.hotspotstore.storage.Mongo;
16
 
17
import org.apache.commons.io.FileUtils;
18
import org.apache.log4j.Logger;
19
import org.apache.struts2.convention.annotation.Result;
20
import org.apache.struts2.convention.annotation.Results;
21
 
22
@Results({
23
	@Result(name = "redirect", location = "${url}", type = "redirect")
24
})
25
 
26
 
27
public class BannerController extends BaseController{
28
 
29
	/**
30
	 * 
31
	 */
32
	private static final long serialVersionUID = 1L;
33
 
34
	private static Logger log = Logger.getLogger(Class.class);
35
	private String id;
36
	private File userImage;
37
	private String bannerName;
38
	private String fileExtention;
39
	private String link;
40
	private String priority;
41
	private Banner bannerObj;
42
	private String sameWindowTarget;
43
	private String url;
44
	private String isActive;
45
	private String[] mapLink;
46
 
47
	public String[] getMapLink() {
48
		return mapLink;
49
	}
50
 
51
	public void setMapLink(String[] mapLink) {
52
		this.mapLink = mapLink;
53
	}
54
 
55
	private String[] mapCoordinates;
56
 
57
	public String[] getMapCoordinates() {
58
		return mapCoordinates;
59
	}
60
 
61
	public void setMapCoordinates(String[] mapCoordinates) {
62
		this.mapCoordinates = mapCoordinates;
63
	}
64
 
65
	public String getSameWindowTarget() {
66
		return sameWindowTarget;
67
	}
68
 
69
	public void setSameWindowTarget(String sameWindowTarget) {
70
		this.sameWindowTarget = sameWindowTarget;
71
	}
72
 
73
	public String create(){
74
		try{
75
			String filePath = request.getSession().getServletContext().getRealPath("/images/banners/");
76
			String imageName = getImageName();
77
			File fileToCreate = new File(filePath, imageName); 
78
			FileUtils.copyFile(this.userImage, fileToCreate);
79
 
80
			Banner banner = new Banner();
81
			banner.setBannerName(bannerName);
82
			banner.setLink(link);
83
			banner.setImageName(imageName);
84
			banner.setPriority(Integer.valueOf(priority));
85
			banner.setActive(false);
86
			banner.setSameWindowTarget(Boolean.valueOf(sameWindowTarget));
87
			banner.setFileExtention(fileExtention);
88
			Mongo.addBanner(banner);
89
		}
90
		catch(Exception e){
91
			log.error("Error while adding banner",e);
92
			addActionError("Failed to do changes");
93
		}
94
		addActionMessage("Banner added successfully");
95
		setUrl("/banner");
96
		return "redirect";
97
	}
98
 
99
	public String update() throws NumberFormatException, Exception{
100
		try{
101
			bannerObj = Mongo.getBannerById(Long.valueOf(id));
102
			if (userImage !=null){
103
				bannerObj.setImageName(getImageName());
104
				String filePath = request.getSession().getServletContext().getRealPath("/images/banners/");
105
				File fileToCreate = new File(filePath, bannerObj.getImageName()); 
106
				FileUtils.copyFile(this.userImage, fileToCreate);
107
			}
108
			bannerObj.setBannerName(bannerName);
109
			bannerObj.setLink(link);
110
			bannerObj.setPriority(Integer.valueOf(priority));
111
			bannerObj.setActive(Boolean.valueOf(isActive));
112
			bannerObj.setSameWindowTarget(Boolean.valueOf(sameWindowTarget));
113
			bannerObj.setFileExtention(fileExtention);
114
			ArrayList<Map<String, String>> bannerList = new ArrayList<Map<String, String>>();
115
			if (mapLink!=null){
116
				for(int i=0;i<mapLink.length;i++){
117
					if(mapLink[i].isEmpty() || mapCoordinates[i].isEmpty()) {
118
						continue;
119
					}
120
					Map<String, String> bannerMap = new HashMap<String, String>();
121
					bannerMap.put("link", mapLink[i]);
122
					bannerMap.put("coordinates", mapCoordinates[i]);
123
					bannerList.add(bannerMap);
124
				}
125
			}
126
			bannerObj.setBannerList(bannerList);
127
			Mongo.updateBanner(bannerObj);
128
			addActionMessage("Banner updated successfully");
129
		}
130
		catch(Exception e){
131
			log.error("Unable to update banner ",e);
132
			addActionMessage("Banner updation failed");
133
		}
134
		setUrl("/banner");
135
		return "redirect";
136
	}
137
 
138
	public String destroy(){
139
		try{
140
			Mongo.deleteBanner(Long.valueOf(id));
141
			addActionMessage("Banner deleted successfully");
142
		}
143
		catch(Exception e){
144
			addActionError("Unable to delete banner");
145
		}
146
		setUrl("/banner");
147
		return "redirect";
148
 
149
	}
150
 
151
	public ArrayList<Banner> getAllBanners(){
152
		return Mongo.getAllBanners();
153
	}
154
 
155
	public String index() {
156
		return "index";
157
	}
158
 
159
	public String editNew() {
160
		return "editNew";
161
	}
162
 
163
	public String edit() throws NumberFormatException, Exception {
164
		bannerObj = Mongo.getBannerById(Long.valueOf(id));
165
		return "edit";
166
	}
167
 
168
	public String getImageName() {
169
		Calendar cal=GregorianCalendar.getInstance();
170
		return String.valueOf(cal.getTimeInMillis())+"."+fileExtention;
171
	}
172
 
173
	public String getId() {
174
		return id;
175
	}
176
 
177
	public void setId(String id) {
178
		this.id = id;
179
	}
180
 
181
 
182
	public File getUserImage() {
183
		return userImage;
184
	}
185
 
186
	public void setUserImage(File userImage) {
187
		this.userImage = userImage;
188
	}
189
 
190
	public String getBannerName() {
191
		return bannerName;
192
	}
193
 
194
	public void setBannerName(String bannerName) {
195
		this.bannerName = bannerName;
196
	}
197
 
198
	public String getFileExtention() {
199
		return fileExtention;
200
	}
201
 
202
	public void setFileExtention(String fileExtention) {
203
		this.fileExtention = fileExtention;
204
	}
205
 
206
	public String getLink() {
207
		return link;
208
	}
209
 
210
	public void setLink(String link) {
211
		this.link = link;
212
	}
213
 
214
	public String getPriority() {
215
		return priority;
216
	}
217
 
218
	public void setPriority(String priority) {
219
		this.priority = priority;
220
	}
221
 
222
	public void setBannerObj(Banner bannerObj) {
223
		this.bannerObj = bannerObj;
224
	}
225
 
226
	public Banner getBannerObj() {
227
		return bannerObj;
228
	}
229
 
230
	public void setUrl(String url) {
231
		this.url = url;
232
	}
233
 
234
	public String getUrl() {
235
		return url;
236
	}
237
 
238
	public void setIsActive(String isActive) {
239
		this.isActive = isActive;
240
	}
241
 
242
	public String getIsActive() {
243
		return isActive;
244
	}
245
 
246
}