Subversion Repositories SmartDukaan

Rev

Rev 22647 | 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.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 in.shop2020.metamodel.util.MediaPojo;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.Arrays;
import java.util.Collection;
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 {
        Long creationTime = CreationUtils.getLastContentGenerationTime();
        for (Long entityId : CreationUtils.getEntitiesMarkedReady(creationTime - 86400*1000*10)) {
                LOG.info("entityId - " + entityId);
                Entity e = CreationUtils.getEntity(entityId);
                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());
                                                        }
                                                }
                                }
                                                
                        }
                }
        }
    }
}