Subversion Repositories SmartDukaan

Rev

Rev 22649 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/**
 * 
 */
package in.shop2020.ui.util;

import in.shop2020.metamodel.core.Entity;
import in.shop2020.metamodel.core.EntityState;
import in.shop2020.metamodel.core.Media;
import in.shop2020.metamodel.core.Slide;
import in.shop2020.metamodel.core.SpecialPage;
import in.shop2020.metamodel.definitions.Catalog;
import in.shop2020.metamodel.util.CreationUtils;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.json.JSONException;

import com.google.gson.Gson;

/**
 * @author mandeep
 * 
 */
public class SpecialPageJSONConvertor {
        private static Log LOG = LogFactory.getLog(SpecialPageJSONConvertor.class);

        public void writeToJSONFile(File file) throws JSONException, IOException {
                Map<Long, SpecialPage> specialPages = CreationUtils.getSpecialPages();
                if (specialPages == null) {
                        return;
                }

                FileWriter fileWriter = new FileWriter(file);
                BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
                for (SpecialPage specialPage : specialPages.values()) {
                        LOG.info("Writing specialPage: " + specialPage);
                        bufferedWriter.write(new Gson().toJson(specialPage));
                        bufferedWriter.newLine();
                }

                bufferedWriter.close();
                fileWriter.close();
        }

        public static void main(String[] args) throws Exception {
                Date when = new Date(CreationUtils.getLastContentGenerationTime() - 86400 * 10 * 1000);
                for (Map.Entry<Long, EntityState> es : CreationUtils.getEntitiesState().entrySet()) {
                        if (es.getValue().getMerkedReadyOn().after(when)) {
                                Entity e = CreationUtils.getEntity(es.getValue().getID());
                                LOG.info("Entity ID - " + e.getID());
                                List<Slide> slides = e.getSlides();
                                if (slides != null) {
                                        for (Slide slide : slides) {
                                                if (slide.getFreeformContent() != null && slide.getFreeformContent().getMedias() != null) {
                                                        String slideName = Catalog.getInstance().getDefinitionsContainer()
                                                                        .getSlideDefinition(slide.getSlideDefinitionID()).getLabel();
                                                        Collection<Media> medias = slide.getFreeformContent().getMedias().values();
                                                        for (Media media : medias) {
                                                                if (media.getFileName() == null) {
                                                                        LOG.info("Slide ID - for media:" + slide.getSlideDefinitionID() + "Slide name is " + slideName);
                                                                        LOG.info("Media label -- " + media.getLabel());
                                                                        LOG.info("Media file name -- " + media.getFileName());
                                                                }
                                                        }
                                                }

                                        }
                                }
                        }
                }
        }
}