Subversion Repositories SmartDukaan

Rev

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

Rev 9218 Rev 9280
Line 1... Line 1...
1
package in.shop2020.util;
1
package in.shop2020.util;
2
 
2
 
3
import in.shop2020.metamodel.core.Entity;
3
import in.shop2020.metamodel.core.Entity;
-
 
4
import in.shop2020.metamodel.core.ExpertReview;
4
import in.shop2020.metamodel.core.Feature;
5
import in.shop2020.metamodel.core.Feature;
5
import in.shop2020.metamodel.core.Media;
6
import in.shop2020.metamodel.core.Media;
6
import in.shop2020.metamodel.core.Slide;
7
import in.shop2020.metamodel.core.Slide;
7
import in.shop2020.metamodel.definitions.Catalog;
8
import in.shop2020.metamodel.definitions.Catalog;
8
import in.shop2020.metamodel.definitions.DefinitionsContainer;
9
import in.shop2020.metamodel.definitions.DefinitionsContainer;
9
import in.shop2020.metamodel.definitions.SlideDefinition;
10
import in.shop2020.metamodel.definitions.SlideDefinition;
10
import in.shop2020.metamodel.util.ContentPojo;
11
import in.shop2020.metamodel.util.ContentPojo;
11
import in.shop2020.metamodel.util.ExpandedBullet;
12
import in.shop2020.metamodel.util.ExpandedBullet;
-
 
13
import in.shop2020.metamodel.util.ExpandedEntity;
12
import in.shop2020.metamodel.util.ExpandedFeature;
14
import in.shop2020.metamodel.util.ExpandedFeature;
13
import in.shop2020.metamodel.util.ImagePojo;
15
import in.shop2020.metamodel.util.ExpertReviewPojo;
14
import in.shop2020.metamodel.util.ItemPojo;
16
import in.shop2020.metamodel.util.ItemPojo;
15
import in.shop2020.metamodel.util.ProductPojo;
17
import in.shop2020.metamodel.util.MediaPojo;
16
import in.shop2020.metamodel.util.Specification;
18
import in.shop2020.metamodel.util.Specification;
17
import in.shop2020.metamodel.util.SpecificationGroup;
19
import in.shop2020.metamodel.util.SpecificationGroup;
18
import in.shop2020.storage.mongo.StorageManager;
20
import in.shop2020.storage.mongo.StorageManager;
19
import in.shop2020.ui.util.NewVUI;
21
import in.shop2020.ui.util.NewVUI;
20
 
22
 
Line 31... Line 33...
31
public class PojoCreator {
33
public class PojoCreator {
32
	private static final String IMG_URL_TEMPLATE ="http://static{0}.saholic.com/images/media/{1}/{2}";
34
	private static final String IMG_URL_TEMPLATE ="http://static{0}.saholic.com/images/media/{1}/{2}";
33
    private static Log log = LogFactory.getLog(PojoCreator.class);
35
    private static Log log = LogFactory.getLog(PojoCreator.class);
34
	private static DefinitionsContainer defs = Catalog.getInstance().getDefinitionsContainer();
36
	private static DefinitionsContainer defs = Catalog.getInstance().getDefinitionsContainer();
35
 
37
 
36
	public void createAndStoreContentPojo(Entity entity){
38
	public void createAndStoreContentPojo(ExpandedEntity expEntity, List<ExpertReview> expertReviews, String warranty){
37
		try {
39
		try {
38
			ContentPojo cp = new ContentPojo(EntityUtils.getProductName(entity), getKeySpecs(entity), getDetailedSpecs(entity), getWarranty());
40
			ContentPojo cp = new ContentPojo(EntityUtils.getProductName(expEntity), getKeySpecs(expEntity), getDetailedSpecs(expEntity), getWarranty());
-
 
41
			if(expertReviews != null && expertReviews.size()!=0){
-
 
42
				List<ExpertReviewPojo> erPojos = new ArrayList<ExpertReviewPojo>();
-
 
43
				for(ExpertReview er : expertReviews){
-
 
44
					ExpertReviewPojo erPojo = new ExpertReviewPojo();
-
 
45
					erPojo.setSource(er.getSource());
-
 
46
					erPojo.setReview(er.getReviewContent());
-
 
47
					erPojos.add(erPojo);
-
 
48
				}
-
 
49
				cp.setExpertReviews(erPojos);
-
 
50
			}
-
 
51
			cp.setPackageContents(getPackageContents(expEntity));
-
 
52
			cp.setWarranty(warranty);
-
 
53
			cp.setUrl(EntityUtils.getEntityNoSlashURL(expEntity));
39
			setImages(entity, cp);
54
			setImagesAndVideos(expEntity, cp);
40
			//StorageManager sm  = StorageManager.getStorageManager();
55
			//StorageManager sm  = StorageManager.getStorageManager();
41
			StorageManager.insertOrUpdateById(StorageManager.views.siteContent, entity.getID(), cp);
56
			StorageManager.insertOrUpdateById(StorageManager.views.siteContent, expEntity.getID(), cp);
42
		} catch (Exception e){
57
		} catch (Exception e){
43
			log.info("Could not generate Pojo for entity:" + entity.getID());
58
			log.info("Could not generate Pojo for entity:" + expEntity.getID());
44
			e.printStackTrace();
59
			e.printStackTrace();
45
		}
60
		}
46
	}
61
	}
47
 
62
 
48
	private List<SpecificationGroup> getDetailedSpecs(Entity entity) throws Exception {
63
	private List<SpecificationGroup> getDetailedSpecs(Entity entity) throws Exception {
Line 158... Line 173...
158
			}
173
			}
159
		}
174
		}
160
		return spGroups;
175
		return spGroups;
161
	}
176
	}
162
 
177
 
163
	private void setImages(Entity entity, ContentPojo cp) {
178
	private void setImagesAndVideos(Entity entity, ContentPojo cp) {
164
		
179
		
165
		String fileNamePrefix = EntityUtils.getMediaPrefix(entity);
180
		String fileNamePrefix = EntityUtils.getMediaPrefix(entity);
166
		List<ImagePojo> images = new ArrayList<ImagePojo>();
181
		List<MediaPojo> images = new ArrayList<MediaPojo>();
-
 
182
		List<MediaPojo> videos = new ArrayList<MediaPojo>();
167
		List<Slide> slides = entity.getSlides();
183
		List<Slide> slides = entity.getSlides();
168
		String entityNumber = entity.getID() + "";
184
		String entityNumber = entity.getID() + "";
169
		if(slides!=null){
185
		if(slides!=null){
170
			
186
			
171
			for(Slide slide : slides){
187
			for(Slide slide : slides){
Line 178... Line 194...
178
					}
194
					}
179
					else if(slide.getFreeformContent() !=null && slide.getFreeformContent().getMedias() !=null){
195
					else if(slide.getFreeformContent() !=null && slide.getFreeformContent().getMedias() !=null){
180
						Collection<Media> medias = slide.getFreeformContent().getMedias().values();
196
						Collection<Media> medias = slide.getFreeformContent().getMedias().values();
181
						for (Media media : medias){
197
						for (Media media : medias){
182
							if(media.getType().equals(Media.Type.IMAGE)){
198
							if(media.getType().equals(Media.Type.IMAGE)){
183
								ImagePojo ip = new ImagePojo(media.getLabel(), MessageFormat.format(IMG_URL_TEMPLATE, entity.getID()%3, entityNumber, NewVUI.computeNewFileName(fileNamePrefix, media.getFileName(), String.valueOf(media.getCreationTime().getTime()))));
199
								MediaPojo ip = new MediaPojo(media.getLabel(), MessageFormat.format(IMG_URL_TEMPLATE, entity.getID()%3, entityNumber, NewVUI.computeNewFileName(fileNamePrefix, media.getFileName(), String.valueOf(media.getCreationTime().getTime()))));
184
								images.add(ip);
200
								images.add(ip);
-
 
201
							}else if(media.getType().equals(Media.Type.VIDEO_WITH_SKIN) || media.getType().equals(Media.Type.VIDEO_WITH_SKIN)){
-
 
202
								MediaPojo vp = new MediaPojo(media.getLabel(), media.getYoutubeId());
-
 
203
								videos.add(vp);
185
							}
204
							}
186
						}
205
						}
187
					}
206
					}
188
				}
207
				}
189
			}
208
			}
190
		}
209
		}
191
		cp.setImages(images);
210
		cp.setImages(images);
192
		
211
		cp.setVideos(videos);
193
	}
212
	}
194
 
213
 
195
	private String getWarranty() {
214
	private String getWarranty() {
196
		// TODO Auto-generated method stub
215
		// TODO Auto-generated method stub
197
		return null;
216
		return null;
Line 234... Line 253...
234
	public static void main (String [] args) throws Exception{
253
	public static void main (String [] args) throws Exception{
235
		PojoCreator creator = new PojoCreator();
254
		PojoCreator creator = new PojoCreator();
236
		//System.out.println(creator.getShortContent(1007425l));
255
		//System.out.println(creator.getShortContent(1007425l));
237
	}
256
	}
238
	
257
	
239
	public void updateCatalogInfo(long entityId, double sellingPrice, double mrp, String offerText, List<ItemPojo> items) {
258
	public void updateCatalogInfo(long entityId, double sellingPrice, double mrp, String offerText, Double minEmi, List<ItemPojo> items) {
240
		ContentPojo cp = new ContentPojo(entityId);
259
		ContentPojo cp = new ContentPojo(entityId);
241
		cp.setPrice(sellingPrice);
260
		cp.setPrice(sellingPrice);
-
 
261
		cp.setMinEmi(minEmi);
242
		cp.setMrp(mrp);
262
		cp.setMrp(mrp);
243
		cp.setOfferText(offerText);
263
		cp.setOfferText(offerText);
244
		cp.setItems(items);
264
		cp.setItems(items);
245
		
265
		
246
		StorageManager.addById(StorageManager.views.siteContent, entityId, cp);
266
		StorageManager.addById(StorageManager.views.siteContent, entityId, cp);