| 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);
|