Subversion Repositories SmartDukaan

Rev

Rev 245 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 245 Rev 448
Line 1... Line 1...
1
/**
1
/**
2
 * 
2
 * 
3
 */
3
 */
4
package in.shop2020.creation.controllers;
4
package in.shop2020.creation.controllers;
5
 
5
 
-
 
6
import in.shop2020.creation.util.ContentValidator;
6
import in.shop2020.creation.util.CreationUtils;
7
import in.shop2020.creation.util.CreationUtils;
7
import in.shop2020.creation.util.Media;
8
import in.shop2020.creation.util.Media;
-
 
9
import in.shop2020.metamodel.core.Entity;
-
 
10
import in.shop2020.metamodel.core.FreeformContent;
-
 
11
import in.shop2020.metamodel.core.Slide;
-
 
12
import in.shop2020.metamodel.definitions.Catalog;
-
 
13
import in.shop2020.metamodel.definitions.EntityContainer;
-
 
14
import in.shop2020.metamodel.util.ExpandedEntity;
8
import in.shop2020.util.DBUtils;
15
import in.shop2020.util.DBUtils;
9
import in.shop2020.util.Utils;
16
import in.shop2020.util.Utils;
10
 
17
 
11
import java.io.File;
18
import java.io.File;
12
import java.io.FileInputStream;
19
import java.io.FileInputStream;
Line 14... Line 21...
14
import java.io.InputStream;
21
import java.io.InputStream;
15
import java.io.OutputStream;
22
import java.io.OutputStream;
16
import java.net.URLDecoder;
23
import java.net.URLDecoder;
17
import java.util.Collection;
24
import java.util.Collection;
18
import java.util.HashMap;
25
import java.util.HashMap;
-
 
26
import java.util.List;
19
import java.util.Map;
27
import java.util.Map;
-
 
28
import java.util.StringTokenizer;
20
 
29
 
21
import org.apache.commons.io.IOUtils;
30
import org.apache.commons.io.IOUtils;
22
import org.apache.juli.logging.Log;
31
import org.apache.juli.logging.Log;
23
import org.apache.juli.logging.LogFactory;
32
import org.apache.juli.logging.LogFactory;
24
import org.apache.struts2.convention.annotation.Result;
33
import org.apache.struts2.convention.annotation.Result;
Line 45... Line 54...
45
	/**
54
	/**
46
	 * 
55
	 * 
47
	 */
56
	 */
48
	private String id;
57
	private String id;
49
	private String entityID;
58
	private String entityID;
-
 
59
	private String slideID;
50
	private String label;
60
	private String label;
51
	private File pic;
61
	private File pic;
52
	private String picContentType;
62
	private String picContentType;
53
	private String picFileName;
63
	private String picFileName;
54
	private String fileSystemPath;
64
	private String fileSystemPath;
Line 102... Line 112...
102
    			else {
112
    			else {
103
	    			media.setFileName("");
113
	    			media.setFileName("");
104
	    			media.setContentType("");
114
	    			media.setContentType("");
105
    			}
115
    			}
106
    			this.addMedia(media);
116
    			this.addMedia(media);
-
 
117
    			log.info("entity ID:" + this.entityID);
-
 
118
    			log.info("slide ID:" + this.slideID);
-
 
119
    			EntityContainer enContainer = Catalog.getInstance().getEntityContainer();
-
 
120
    			Entity entity = enContainer.getEntity(Long.parseLong(this.entityID));
-
 
121
    			FreeformContent freeformContent = entity.getSlide(Long.parseLong(this.slideID)).getFreeformContent();
-
 
122
    			freeformContent.addMedia(media.getType(), media.getLabel());
-
 
123
    			entity.getSlide(Long.parseLong(slideID)).setFreeformContent(freeformContent);
-
 
124
    			updateEntity(entity);
-
 
125
    			//CreationUtils.storeEntity(entity);
107
    		}
126
    		}
108
 
127
 
109
		} catch (Exception e) {
128
		} catch (Exception e) {
110
			log.error(CreationUtils.getStackTrace(e));
129
			log.error(CreationUtils.getStackTrace(e));
111
			this.setErrorString(CreationUtils.getStackTrace(e));
130
			this.setErrorString(CreationUtils.getStackTrace(e));
112
			return "fatal";
131
			return "fatal";
113
		}
132
		}
114
 
133
 
115
		this.redirectURL = "media?entityID=" + this.getEntityID();
134
		this.redirectURL = "media?entityID=" + this.getEntityID() + "&slideID=" + this.getSlideID();;
116
    	
135
    	
117
		return "redirect";
136
		return "redirect";
118
    }
137
    }
119
 
138
 
120
    // DELETE /entity/1000001
139
    // DELETE /entity/1000001
Line 123... Line 142...
123
     */
142
     */
124
    public String destroy() {
143
    public String destroy() {
125
    	log.info("MediaController.destroy");
144
    	log.info("MediaController.destroy");
126
    	try {
145
    	try {
127
    		long entityID = Long.parseLong(this.getEntityID());
146
    		long entityID = Long.parseLong(this.getEntityID());
-
 
147
    		long slideID = Long.parseLong(this.getSlideID());
128
    		String label = this.getId();
148
    		String label = this.getId();
129
    		log.info("label:" + label);
149
    		log.info("label:" + label);
-
 
150
    		log.info("slide:" + label);
-
 
151
    		log.info("entity:" + label);
130
    		
152
    		
131
    		label = URLDecoder.decode(label, "UTF-8");
153
    		label = URLDecoder.decode(label, "UTF-8");
132
    		
154
    		
133
    		CreationUtils.removeMedia(entityID, label);
155
    		CreationUtils.removeMedia(entityID, label);
-
 
156
    		
-
 
157
    		Entity entity = Catalog.getInstance().getEntityContainer().getEntity(entityID);
-
 
158
			FreeformContent freeformContent = entity.getSlide(slideID).getFreeformContent(); 
-
 
159
			freeformContent.removeMedia("youtube",label);
-
 
160
			freeformContent.removeMedia("image",label);
-
 
161
			entity.getSlide(slideID).setFreeformContent(freeformContent);
-
 
162
			updateEntity(entity);
-
 
163
			//CreationUtils.storeEntity(entity);
-
 
164
			
134
		} catch (Exception e) {
165
		} catch (Exception e) {
135
			log.error(CreationUtils.getStackTrace(e));
166
			log.error(CreationUtils.getStackTrace(e));
136
			this.setErrorString(CreationUtils.getStackTrace(e));
167
			this.setErrorString(CreationUtils.getStackTrace(e));
137
			return "fatal";
168
			return "fatal";
138
		}
169
		}
139
 
170
 
140
		this.redirectURL = "media?entityID=" + this.getEntityID();
171
		this.redirectURL = "media?entityID=" + this.getEntityID() + "&slideID=" + this.getSlideID();
141
    	
172
    	
142
		return "redirect";
173
		return "redirect";
143
    }
174
    }
144
    /**
175
    /**
145
     * 
176
     * 
Line 159... Line 190...
159
		return allMedia;
190
		return allMedia;
160
    }
191
    }
161
	/**
192
	/**
162
	 * @param id the id to set
193
	 * @param id the id to set
163
	 */
194
	 */
-
 
195
	public void setSlideID(String id) {
-
 
196
		this.slideID = id;
-
 
197
		log.info("token 2:" + this.slideID);
-
 
198
 
-
 
199
//		StringTokenizer tokenizer = new StringTokenizer(id,"_");
-
 
200
//		log.info("id:" + id);
-
 
201
//		log.info("token 1:" + tokenizer.nextToken());
-
 
202
//		log.info("token 2:" + tokenizer.nextToken());
-
 
203
//		this.slideID = tokenizer.nextToken();
-
 
204
//		log.info("token 2:" + this.slideID);
-
 
205
	}
-
 
206
	/**
-
 
207
	 * @return the id
-
 
208
	 */
-
 
209
	public String getSlideID() {
-
 
210
		return slideID;
-
 
211
	}
-
 
212
	/**
-
 
213
	 * @param id the id to set
-
 
214
	 */
164
	public void setEntityID(String id) {
215
	public void setEntityID(String id) {
165
		this.entityID = id;
216
		this.entityID = id;
-
 
217
		log.info("token 2:" + this.entityID);
-
 
218
		
-
 
219
//		StringTokenizer tokenizer = new StringTokenizer(id,"_");
-
 
220
//		this.entityID = tokenizer.nextToken();
-
 
221
//		log.info("id:" + id);
-
 
222
//		log.info("token 2:" + this.entityID);
-
 
223
//		log.info("token 2:" + tokenizer.nextToken());
-
 
224
//		this.slideID = tokenizer.nextToken();
-
 
225
//		log.info("token 3:" + this.slideID);
166
	}
226
	}
167
	/**
227
	/**
168
	 * @return the id
228
	 * @return the id
169
	 */
229
	 */
170
	public String getEntityID() {
230
	public String getEntityID() {
Line 331... Line 391...
331
 
391
 
332
	/**
392
	/**
333
	 * @param id the id to set
393
	 * @param id the id to set
334
	 */
394
	 */
335
	public void setId(String id) {
395
	public void setId(String id) {
-
 
396
//		StringTokenizer tokenizer = new StringTokenizer(id,"_");
-
 
397
//		log.info("id:" + id);
-
 
398
//		this.id = tokenizer.nextToken();
-
 
399
//		log.info("token 1:" + tokenizer.nextToken());
-
 
400
//		this.slideID = tokenizer.nextToken();
-
 
401
//		log.info("token 2:" + this.slideID);
-
 
402
		log.info("id:" + id);
336
		this.id = id;
403
		this.id = id;
337
	}
404
	}
338
 
405
 
339
	/**
406
	/**
340
	 * @return the id
407
	 * @return the id
341
	 */
408
	 */
342
	public String getId() {
409
	public String getId() {
343
		return id;
410
		return id;
344
	}
411
	}
-
 
412
	
-
 
413
	
-
 
414
    /**
-
 
415
     * 
-
 
416
     * @param entity
-
 
417
     * @throws Exception
-
 
418
     */
-
 
419
	private void updateEntity(Entity entity) throws Exception {		
-
 
420
		log.info("#### EntityController.updateEntity ####");
-
 
421
		EntityContainer entContainer = Catalog.getInstance().getEntityContainer();
-
 
422
		
-
 
423
		ContentValidator validator = new ContentValidator();
-
 
424
		if(!validator.validate(entity)) {
-
 
425
			CreationUtils.addToIncomplete(entity);
-
 
426
			
-
 
427
			// Delete from repository if incomplete
-
 
428
			entContainer.deleteEntity(entity);
-
 
429
		}
-
 
430
		else {
-
 
431
			CreationUtils.deleteFromIncomplete(entity);
-
 
432
			
-
 
433
			entContainer.updateEntity(entity);
-
 
434
		}
-
 
435
		
-
 
436
		CreationUtils.storeEntity(entity);
-
 
437
		
-
 
438
		this.updateRepository();
-
 
439
	}
-
 
440
 
-
 
441
	/**
-
 
442
	 * 
-
 
443
	 * @throws Exception
-
 
444
	 */
-
 
445
	private void updateRepository() throws Exception {	
-
 
446
		EntityContainer entContainer = Catalog.getInstance().getEntityContainer();
-
 
447
		
-
 
448
		Map<Long, Entity> entities = entContainer.getEntities();
-
 
449
		log.info("entities.size():" + entities.size());
-
 
450
		
-
 
451
		Map<Long, List<Entity>> entitiesByCategory = 
-
 
452
			entContainer.getEntitiesbyCategory();
-
 
453
		log.info("entitiesByCategory.size():" + entitiesByCategory.size());
-
 
454
		
-
 
455
		CreationUtils.rewriteRepository(entities, entitiesByCategory);
-
 
456
	}
-
 
457
 
345
}
458
}