Subversion Repositories SmartDukaan

Rev

Rev 22650 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2838 mandeep.dh 1
/**
2
 * 
3
 */
4
package in.shop2020.ui.util;
5
 
22640 amit.gupta 6
import in.shop2020.metamodel.core.Entity;
22649 amit.gupta 7
import in.shop2020.metamodel.core.EntityState;
22651 amit.gupta 8
import in.shop2020.metamodel.core.EntityStatus;
22640 amit.gupta 9
import in.shop2020.metamodel.core.Media;
10
import in.shop2020.metamodel.core.Slide;
2838 mandeep.dh 11
import in.shop2020.metamodel.core.SpecialPage;
22647 amit.gupta 12
import in.shop2020.metamodel.definitions.Catalog;
2838 mandeep.dh 13
import in.shop2020.metamodel.util.CreationUtils;
14
 
15
import java.io.BufferedWriter;
16
import java.io.File;
17
import java.io.FileWriter;
18
import java.io.IOException;
22640 amit.gupta 19
import java.util.Collection;
22649 amit.gupta 20
import java.util.Date;
22640 amit.gupta 21
import java.util.List;
2838 mandeep.dh 22
import java.util.Map;
23
 
24
import org.apache.commons.logging.Log;
25
import org.apache.commons.logging.LogFactory;
26
import org.json.JSONException;
27
 
28
import com.google.gson.Gson;
29
 
30
/**
31
 * @author mandeep
22649 amit.gupta 32
 * 
2838 mandeep.dh 33
 */
34
public class SpecialPageJSONConvertor {
22649 amit.gupta 35
	private static Log LOG = LogFactory.getLog(SpecialPageJSONConvertor.class);
2838 mandeep.dh 36
 
22649 amit.gupta 37
	public void writeToJSONFile(File file) throws JSONException, IOException {
38
		Map<Long, SpecialPage> specialPages = CreationUtils.getSpecialPages();
39
		if (specialPages == null) {
40
			return;
41
		}
2839 mandeep.dh 42
 
22649 amit.gupta 43
		FileWriter fileWriter = new FileWriter(file);
44
		BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
45
		for (SpecialPage specialPage : specialPages.values()) {
46
			LOG.info("Writing specialPage: " + specialPage);
47
			bufferedWriter.write(new Gson().toJson(specialPage));
48
			bufferedWriter.newLine();
49
		}
2838 mandeep.dh 50
 
22649 amit.gupta 51
		bufferedWriter.close();
52
		fileWriter.close();
53
	}
2838 mandeep.dh 54
 
22649 amit.gupta 55
	public static void main(String[] args) throws Exception {
56
		Date when = new Date(CreationUtils.getLastContentGenerationTime() - 86400 * 10 * 1000);
57
		for (Map.Entry<Long, EntityState> es : CreationUtils.getEntitiesState().entrySet()) {
22651 amit.gupta 58
			if ( es.getValue().getStatus().equals(EntityStatus.READY) && es.getValue().getMerkedReadyOn().after(when)) {
22649 amit.gupta 59
				Entity e = CreationUtils.getEntity(es.getValue().getID());
60
				LOG.info("Entity ID - " + e.getID());
61
				List<Slide> slides = e.getSlides();
62
				if (slides != null) {
63
					for (Slide slide : slides) {
64
						if (slide.getFreeformContent() != null && slide.getFreeformContent().getMedias() != null) {
65
							String slideName = Catalog.getInstance().getDefinitionsContainer()
66
									.getSlideDefinition(slide.getSlideDefinitionID()).getLabel();
67
							Collection<Media> medias = slide.getFreeformContent().getMedias().values();
68
							for (Media media : medias) {
69
								if (media.getFileName() == null) {
70
									LOG.info("Slide ID - for media:" + slide.getSlideDefinitionID() + "Slide name is " + slideName);
71
									LOG.info("Media label -- " + media.getLabel());
72
									LOG.info("Media file name -- " + media.getFileName());
73
								}
22647 amit.gupta 74
							}
22640 amit.gupta 75
						}
22649 amit.gupta 76
 
77
					}
78
				}
79
			}
80
		}
81
	}
2838 mandeep.dh 82
}