Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
3438 varun.gupt 1
package in.shop2020.util;
2
 
3
import in.shop2020.metamodel.core.Bullet;
4
import in.shop2020.metamodel.core.Entity;
5
import in.shop2020.metamodel.core.Feature;
6
import in.shop2020.metamodel.core.PrimitiveDataObject;
7
import in.shop2020.metamodel.core.Slide;
8
 
5084 phani.kuma 9
import java.io.File;
3438 varun.gupt 10
import java.util.ArrayList;
11
import java.util.HashMap;
12
import java.util.List;
13
import java.util.Map;
14
 
5084 phani.kuma 15
import org.apache.commons.io.FileUtils;
3438 varun.gupt 16
import com.google.gson.Gson;
5084 phani.kuma 17
import com.google.gson.reflect.TypeToken;
3438 varun.gupt 18
 
19
public class SynonymExporter {
20
 
5084 phani.kuma 21
	private static String synonymFilename = Utils.EXPORT_JAVASCRIPT_CONTENT_PATH + "synonyms.json";
22
	private Map<Long, Map<String,List<String>>> synonyms = new HashMap<Long, Map<String,List<String>>>();
3438 varun.gupt 23
 
5084 phani.kuma 24
	public SynonymExporter(){
25
		try {
26
			Gson g = new Gson();
27
			java.lang.reflect.Type typeOfT = new TypeToken<Map<Long, Map<String, List<String>>>>(){}.getType();
28
			synonyms = g.fromJson(FileUtils.readFileToString(new File(synonymFilename)), typeOfT);
29
			if(synonyms == null){
30
				synonyms = new HashMap<Long, Map<String,List<String>>>();
31
			}
32
		} catch (Exception e) {
33
			e.printStackTrace();
34
		}
3438 varun.gupt 35
	}
36
 
5084 phani.kuma 37
	public void storeSynonyms(List<Entity> entities){
3438 varun.gupt 38
		for(Entity entity: entities)	{
39
			Map<String,List<String>> synonymMap = null;
40
			Slide slide = entity.getSlide(Utils.SUMMARY_SLIDE_DEFINITION_ID);
41
			List<Feature> features = slide.getFeatures();
42
			for(Feature feature: features){
43
				if(feature.getFeatureDefinitionID() == 120156){
44
					List<Bullet> bullets =  feature.getBullets();
45
					if(bullets != null){
46
						List<String> modelNameSynonyms= new ArrayList<String>();
47
						for(Bullet bullet: bullets){
48
							PrimitiveDataObject pdo = (PrimitiveDataObject)bullet.getDataObject();
49
							modelNameSynonyms.add(pdo.getValue());
50
						}
51
						if(synonymMap == null){
52
							synonymMap = new HashMap<String,List<String>>();				
53
						}
54
						synonymMap.put("MODEL_NAME", modelNameSynonyms );
55
					}
56
				}else if(feature.getFeatureDefinitionID() == 120157){
57
					List<Bullet> bullets =  feature.getBullets();
58
					if(bullets != null){
59
						List<String> modelNameSynonyms= new ArrayList<String>();
60
						for(Bullet bullet: bullets){
61
							PrimitiveDataObject pdo = (PrimitiveDataObject)bullet.getDataObject();
62
							modelNameSynonyms.add(pdo.getValue());
63
						}
64
						if(synonymMap == null){
65
							synonymMap = new HashMap<String,List<String>>();				
66
						}
67
						synonymMap.put("MODEL_NUMBER", modelNameSynonyms );
68
					}
69
				}
70
			}
5084 phani.kuma 71
 
72
			if(synonymMap == null){
73
				synonymMap = new HashMap<String,List<String>>();				
3438 varun.gupt 74
			}
5084 phani.kuma 75
 
76
			List<String> brand = new ArrayList<String>();
77
			brand.add(entity.getBrand());
78
			List<String> modelName = new ArrayList<String>();
79
			modelName.add(entity.getModelName());
80
			List<String> modelNumber = new ArrayList<String>();
81
			modelNumber.add(entity.getModelNumber());
82
			synonymMap.put("ORIGINAL_BRAND", brand );
83
			synonymMap.put("ORIGINAL_MODEL_NAME", modelName );
84
			synonymMap.put("ORIGINAL_MODEL_NUMBER", modelNumber );
85
			synonyms.put(entity.getID(), synonymMap);
3438 varun.gupt 86
		}
87
 
88
		Gson gson = new Gson();
89
		try {
90
			DBUtils.store(gson.toJson(synonyms), synonymFilename);
91
		} catch (Exception e) {
92
			e.printStackTrace();
93
		}
94
	}
5084 phani.kuma 95
 
96
	public Map<Long, Map<String,List<String>>> getSynonyms(){
97
		return synonyms;
98
	}
99
 
100
	public static void main(String[] args) throws Exception {
101
		SynonymExporter sx = new SynonymExporter();
102
		System.out.println(sx.getSynonyms());
103
    }
3438 varun.gupt 104
}