Subversion Repositories SmartDukaan

Rev

Rev 4818 | Rev 5281 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4818 Rev 4964
Line 48... Line 48...
48
 */
48
 */
49
 
49
 
50
public class ContentMigrator {
50
public class ContentMigrator {
51
	private String sourceDbPath;
51
	private String sourceDbPath;
52
	private String destinationDbPath;
52
	private String destinationDbPath;
-
 
53
 
53
	public static void main(String[] args) throws Exception {
54
	public static void main(String[] args) throws Exception {
54
		String usage = "Usage: ContentMigrator {source db path}{destination db path}";
55
		String usage = "Usage: ContentMigrator {source db path}{destination db path}";
55
		
56
 
56
		String sourceDbPath = null, destinationDbPath = null; String dryRun = null;
57
		String sourceDbPath = null, destinationDbPath = null;
-
 
58
		String dryRun = null;
57
//		if(args.length < 2) {
59
		// if(args.length < 2) {
58
//			System.out.println(usage);
60
		// System.out.println(usage);
59
//			System.exit(-1);
61
		// System.exit(-1);
60
//		}else{
62
		// }else{
61
//			sourceDbPath = args[0];
63
		// sourceDbPath = args[0];
62
//			destinationDbPath = args[1];
64
		// destinationDbPath = args[1];
63
//			dryRun = args[2];
65
		// dryRun = args[2];
64
//		}
66
		// }
65
//		
67
		//
66
		ContentMigrator contentmigrator = new ContentMigrator(sourceDbPath, destinationDbPath);
68
		ContentMigrator contentmigrator = new ContentMigrator(sourceDbPath,
-
 
69
				destinationDbPath);
67
		contentmigrator.migrateNetwork();
70
		contentmigrator.renameTitles();
68
//		contentmigrator.migrateWarrantyType();
71
		// contentmigrator.migrateWarrantyType();
69
//    	CreationUtils.storeComparisonStats(null);
72
		// CreationUtils.storeComparisonStats(null);n
70
//		contentmigrator.migrateMedia();
73
		// contentmigrator.migrateMedia();
71
		
-
 
72
		
74
 
73
		//contentmigrator.populateHelpdocEntityIds();
75
		// contentmigrator.populateHelpdocEntityIds();
74
		//contentmigrator.migrateDataBack();
76
		// contentmigrator.migrateDataBack();
75
		//contentmigrator.migrateBrandModel(dryRun);
77
		// contentmigrator.migrateBrandModel(dryRun);
76
		//contentmigrator.migrateData();
78
		// contentmigrator.migrateData();
77
		//contentmigrator.migrateRemoveBorrowedCategoryIdFromSlide();
79
		// contentmigrator.migrateRemoveBorrowedCategoryIdFromSlide();
78
		//contentmigrator.migrateModel1();
80
		// contentmigrator.migrateModel1();
79
		//contentmigrator.changeEntityState();
81
		// contentmigrator.changeEntityState();
80
		//contentmigrator.removeBrowserBullets();
82
		// contentmigrator.removeBrowserBullets();
81
		//contentmigrator.migrateModel2();
83
		// contentmigrator.migrateModel2();
82
		//contentmigrator.printDataModel();
84
		// contentmigrator.printDataModel();
83
		//contentmigrator.makeEntitiesObject();
85
		// contentmigrator.makeEntitiesObject();
84
		//contentmigrator.printSlides();
86
		// contentmigrator.printSlides();
-
 
87
		/*
-
 
88
		 * DefinitionsContainer dfc =
-
 
89
		 * Catalog.getInstance().getDefinitionsContainer(); for(Long fid:
-
 
90
		 * dfc.getCategoryFacetDefinitions().keySet()){ for(FacetDefinition
-
 
91
		 * facetDef:
-
 
92
		 * dfc.getCategoryFacetDefinitions().get(fid).getFacetDefinitions()){
-
 
93
		 * System.out.println("***" + fid + " *** " + facetDef.getID() +
-
 
94
		 * facetDef.getTarget() ); }
-
 
95
		 * 
-
 
96
		 * }
-
 
97
		 */
-
 
98
 
-
 
99
		// System.out.println("**********" + dfc.getCategoryFacetDefinitions());
-
 
100
		// System.out.println("**********" + dfc.getSlideFacetDefinitions());
-
 
101
 
85
		/*
102
		/*
86
		DefinitionsContainer dfc = Catalog.getInstance().getDefinitionsContainer();
103
		 * for(Long defID : dfc.getSlideFacetDefinitions().keySet()){
87
		for(Long fid: dfc.getCategoryFacetDefinitions().keySet()){
104
		 * for(FacetDefinition facetDef:
88
			for(FacetDefinition facetDef: dfc.getCategoryFacetDefinitions().get(fid).getFacetDefinitions()){
105
		 * dfc.getSlideFacetDefinitions().get(defID)){ System.out.println(defID
89
				System.out.println("***" + fid + " *** " + facetDef.getID() + facetDef.getTarget() );
106
		 * + "****" + facetDef.getID() + facetDef.getDescription()); }
-
 
107
		 * 
-
 
108
		 * }
-
 
109
		 */
-
 
110
 
-
 
111
		/*
-
 
112
		 * System.out.println(OldCreationUtils.getSlideSequence(1000194));
-
 
113
		 * List<Slide> slides = OldCreationUtils.getEntity(1000194).getSlides();
-
 
114
		 * for(Slide slide: slides){
-
 
115
		 * System.out.println(slide.getSlideDefinitionID()); }
-
 
116
		 */
-
 
117
 
-
 
118
		// ContentMigrator contentmigrator = new ContentMigrator(sourceDbPath,
-
 
119
		// destinationDbPath);
-
 
120
		// boolean result = contentmigrator.migrate();
-
 
121
		// System.out.println("Content migration status:  "+ result);
-
 
122
 
-
 
123
	}
-
 
124
 
-
 
125
	private void renameTitles() throws Exception {
-
 
126
		Map<Long, Entity> map = CreationUtils.getEntities();
-
 
127
		for (Long entityId : map.keySet()) {
-
 
128
			Entity entity = map.get(entityId);
-
 
129
			if (entity == null || entity.getSlides() == null) {
-
 
130
				continue;
90
			}
131
			}
91
			
132
			
92
		}*/
-
 
93
		
133
 
-
 
134
			String brand = entity.getBrand();
94
		//System.out.println("**********" + dfc.getCategoryFacetDefinitions());
135
			String modelName = entity.getModelName();
95
		//System.out.println("**********" + dfc.getSlideFacetDefinitions());
136
			String modelNumber = entity.getModelNumber();
96
		
-
 
97
		/*
137
			String value = "";
98
		for(Long defID : dfc.getSlideFacetDefinitions().keySet()){
138
			if(StringUtils.isEmpty(modelName)){
99
			for(FacetDefinition facetDef: dfc.getSlideFacetDefinitions().get(defID)){
139
				value = brand + " " + modelNumber + " Price in India | Specifications, Features and Reviews";
-
 
140
			}else {
100
				System.out.println(defID + "****" + facetDef.getID() + facetDef.getDescription());	
141
				value = brand + " " + modelName + " Price in India | " + modelNumber + " Specifications, Features and Reviews";
101
			}
142
			}
102
			
143
			
-
 
144
			Slide summarySlide = entity.getSlide(130054);
-
 
145
			if(summarySlide != null){
-
 
146
				for(Feature f : summarySlide.getFeatures()){
-
 
147
					if (f.getFeatureDefinitionID()==120132){
-
 
148
						List<Bullet> bulletList = f.getBullets();
-
 
149
						for (Bullet b : bulletList) {
-
 
150
							b.setDataObject(new PrimitiveDataObject(value));
-
 
151
						}
-
 
152
						CreationUtils.updateEntity(entity);
-
 
153
						continue;
-
 
154
					}
-
 
155
				}
-
 
156
			}
103
		}
157
		}
104
		*/
-
 
105
		
-
 
106
		/*
-
 
107
		System.out.println(OldCreationUtils.getSlideSequence(1000194));
-
 
108
		List<Slide> slides =  OldCreationUtils.getEntity(1000194).getSlides();
-
 
109
		for(Slide slide: slides){
-
 
110
			System.out.println(slide.getSlideDefinitionID());
-
 
111
		}
-
 
112
		*/
-
 
113
		
-
 
114
		//ContentMigrator contentmigrator = new ContentMigrator(sourceDbPath, destinationDbPath);
-
 
115
		//boolean result = contentmigrator.migrate();
-
 
116
		//System.out.println("Content migration status:  "+ result);
-
 
117
		
-
 
118
		
-
 
119
	}
158
	}
120
 
159
 
121
 
-
 
122
	private void migrateNetwork() throws Exception {
160
	private void migrateNetwork() throws Exception {
123
		Map<Long, Entity> map = CreationUtils.getEntities();
161
		Map<Long, Entity> map = CreationUtils.getEntities();
124
	    for (Long entityId : map.keySet()) {
162
		for (Long entityId : map.keySet()) {
125
            Entity entity = map.get(entityId);
163
			Entity entity = map.get(entityId);
126
            if (entity == null || entity.getSlides() == null) {
164
			if (entity == null || entity.getSlides() == null) {
127
                continue;
-
 
128
            }
-
 
129
            
-
 
130
            for (Slide slide : entity.getSlides()) {
-
 
131
                if (slide.getSlideDefinitionID() == 130005) {
-
 
132
                	List<Feature> features = slide.getFeatures();
-
 
133
                	for(Feature f: features){
-
 
134
                		if(f.getFeatureDefinitionID()==120012){
-
 
135
                			List<Bullet> bs = f.getBullets();
-
 
136
                			for(Bullet b : bs){
-
 
137
                			String value = ((PrimitiveDataObject)b.getDataObject()).getValue();
-
 
138
                			if(value.trim().equals("")){
-
 
139
                				continue;
165
				continue;
140
                			}
-
 
141
                			//System.out.println(value);
-
 
142
                			long enumValueID= getEnumValueForNetwork(value, entityId);
-
 
143
                			/*if(enumValueID == 110371L){
-
 
144
                				Logger.log("Set entity:" + entityId + " as proprietary software", entity);
-
 
145
                			}*/
-
 
146
                			if(enumValueID!=0){
-
 
147
                				b.setDataObject(new EnumDataObject(enumValueID));
-
 
148
                			}
-
 
149
                		}
-
 
150
                		}
-
 
151
                	}
-
 
152
                }
-
 
153
                
-
 
154
            }
166
			}
155
 
167
 
-
 
168
			for (Slide slide : entity.getSlides()) {
-
 
169
				if (slide.getSlideDefinitionID() == 130005) {
-
 
170
					List<Feature> features = slide.getFeatures();
-
 
171
					for (Feature f : features) {
-
 
172
						if (f.getFeatureDefinitionID() == 120012) {
-
 
173
							List<Bullet> bs = f.getBullets();
-
 
174
							for (Bullet b : bs) {
-
 
175
								String value = ((PrimitiveDataObject) b
-
 
176
										.getDataObject()).getValue();
-
 
177
								if (value.trim().equals("")) {
-
 
178
									continue;
-
 
179
								}
-
 
180
								// System.out.println(value);
-
 
181
								long enumValueID = getEnumValueForNetwork(
-
 
182
										value, entityId);
-
 
183
								/*
-
 
184
								 * if(enumValueID == 110371L){
-
 
185
								 * Logger.log("Set entity:" + entityId +
156
           CreationUtils.updateEntity(entity);
186
								 * " as proprietary software", entity); }
-
 
187
								 */
-
 
188
								if (enumValueID != 0) {
-
 
189
									b.setDataObject(new EnumDataObject(
-
 
190
											enumValueID));
-
 
191
								}
-
 
192
							}
-
 
193
						}
157
	    }
194
					}
-
 
195
				}
-
 
196
 
158
	}
197
			}
159
 
198
 
-
 
199
			CreationUtils.updateEntity(entity);
-
 
200
		}
-
 
201
	}
160
 
202
 
161
	private long getEnumValueForNetwork(String value, Long entityLong) {
203
	private long getEnumValueForNetwork(String value, Long entityLong) {
162
		value = value.toLowerCase().replaceAll(" ", "");
204
		value = value.toLowerCase().replaceAll(" ", "");
163
		Map<String, Long> map = new HashMap<String, Long>();
205
		Map<String, Long> map = new HashMap<String, Long>();
164
		map.put("quadband(gsm850/900/1800/1900)",	110382L);
206
		map.put("quadband(gsm850/900/1800/1900)", 110382L);
165
		map.put("quadband(gsm850/900/1800/1900)-sim1", 110383l);
207
		map.put("quadband(gsm850/900/1800/1900)-sim1", 110383l);
166
		map.put("quadband(gsm850/900/1800/1900)-sim2", 110384l);
208
		map.put("quadband(gsm850/900/1800/1900)-sim2", 110384l);
167
		map.put("triband(gsm900/1800/1900)", 110385l);
209
		map.put("triband(gsm900/1800/1900)", 110385l);
168
		map.put("triband(gsm900/1800/1900)-sim1", 110386l);
210
		map.put("triband(gsm900/1800/1900)-sim1", 110386l);
169
		map.put("triband(gsm900/1800/1900)-sim2", 110387l);
211
		map.put("triband(gsm900/1800/1900)-sim2", 110387l);
170
		map.put("dualband(gsm900/1800)", 110388l);
212
		map.put("dualband(gsm900/1800)", 110388l);
171
		map.put("dualband(gsm900/1800)-sim1", 110389l);
213
		map.put("dualband(gsm900/1800)-sim1", 110389l);
172
		map.put("dualband(gsm900/1800)-sim2", 110390l);
214
		map.put("dualband(gsm900/1800)-sim2", 110390l);
173
		map.put("cdma800", 110391l); //CDMA 800
215
		map.put("cdma800", 110391l); // CDMA 800
174
		map.put("cdma800-sim2", 110392l); //CDMA 800-SIM 2
216
		map.put("cdma800-sim2", 110392l); // CDMA 800-SIM 2
175
		map.put("cdma800-sim3", 110393l); //CDMA 800-SIM 3
217
		map.put("cdma800-sim3", 110393l); // CDMA 800-SIM 3
176
		
218
 
-
 
219
		if (!StringUtils.contains(value, "sim")
177
		if(!StringUtils.contains(value, "sim") && StringUtils.contains(value, "850/900/1800/1900")){
220
				&& StringUtils.contains(value, "850/900/1800/1900")) {
178
			return map.get("quadband(gsm850/900/1800/1900)");
221
			return map.get("quadband(gsm850/900/1800/1900)");
179
		}
222
		}
-
 
223
		if (StringUtils.contains(value, "sim1")
180
		if(StringUtils.contains(value, "sim1") && StringUtils.contains(value, "850/900/1800/1900")){
224
				&& StringUtils.contains(value, "850/900/1800/1900")) {
181
			return map.get("quadband(gsm850/900/1800/1900)-sim1");
225
			return map.get("quadband(gsm850/900/1800/1900)-sim1");
182
		}
226
		}
-
 
227
		if (StringUtils.contains(value, "sim2")
183
		if(StringUtils.contains(value, "sim2") && StringUtils.contains(value, "850/900/1800/1900")){
228
				&& StringUtils.contains(value, "850/900/1800/1900")) {
184
			return map.get("quadband(gsm850/900/1800/1900)-sim2");
229
			return map.get("quadband(gsm850/900/1800/1900)-sim2");
185
		}
230
		}
-
 
231
		if (!StringUtils.contains(value, "sim")
186
		if(!StringUtils.contains(value, "sim") && StringUtils.contains(value, "900/1800/1900")){
232
				&& StringUtils.contains(value, "900/1800/1900")) {
187
			return map.get("triband(gsm900/1800/1900)");
233
			return map.get("triband(gsm900/1800/1900)");
188
		}
234
		}
-
 
235
		if (StringUtils.contains(value, "sim1")
189
		if(StringUtils.contains(value, "sim1") && StringUtils.contains(value, "900/1800/1900")){
236
				&& StringUtils.contains(value, "900/1800/1900")) {
190
			return map.get("triband(gsm900/1800/1900)-sim1");
237
			return map.get("triband(gsm900/1800/1900)-sim1");
191
		}
238
		}
-
 
239
		if (StringUtils.contains(value, "sim2")
192
		if(StringUtils.contains(value, "sim2") && StringUtils.contains(value, "900/1800/1900")){
240
				&& StringUtils.contains(value, "900/1800/1900")) {
193
			return map.get("triband(gsm900/1800/1900)-sim2");
241
			return map.get("triband(gsm900/1800/1900)-sim2");
194
		}
242
		}
-
 
243
		if (!StringUtils.contains(value, "sim")
195
		if(!StringUtils.contains(value, "sim") && StringUtils.contains(value, "900/1800")){
244
				&& StringUtils.contains(value, "900/1800")) {
196
			return map.get("dualband(gsm900/1800)");
245
			return map.get("dualband(gsm900/1800)");
197
		}
246
		}
-
 
247
		if (StringUtils.contains(value, "sim1")
198
		if(StringUtils.contains(value, "sim1") && StringUtils.contains(value, "900/1800")){
248
				&& StringUtils.contains(value, "900/1800")) {
199
			return map.get("dualband(gsm900/1800)-sim1");
249
			return map.get("dualband(gsm900/1800)-sim1");
200
		}
250
		}
-
 
251
		if (StringUtils.contains(value, "sim2")
201
		if(StringUtils.contains(value, "sim2") && StringUtils.contains(value, "900/1800")){
252
				&& StringUtils.contains(value, "900/1800")) {
202
			return map.get("dualband(gsm900/1800)-sim2");
253
			return map.get("dualband(gsm900/1800)-sim2");
203
		}
254
		}
204
		if(StringUtils.contains(value, "cdma")){
255
		if (StringUtils.contains(value, "cdma")) {
205
			if(StringUtils.contains(value, "sim2")){
256
			if (StringUtils.contains(value, "sim2")) {
206
				return map.get("cdma800-sim2");
257
				return map.get("cdma800-sim2");
207
			}
258
			}
208
			if(StringUtils.contains(value, "sim3")){
259
			if (StringUtils.contains(value, "sim3")) {
209
				return map.get("cdma800-sim3");
260
				return map.get("cdma800-sim3");
210
			}
261
			}
211
			return map.get("cdma800");
262
			return map.get("cdma800");
212
		}
-
 
213
		else {
263
		} else {
214
			System.out.println("Unknown networks: " + value + " : " + entityLong);
264
			System.out.println("Unknown networks: " + value + " : "
-
 
265
					+ entityLong);
215
			return 0;
266
			return 0;
216
		}
267
		}
217
	}
268
	}
218
 
269
 
219
 
-
 
220
	public ContentMigrator(String sourceDbPath, String destinationDbPath) {
270
	public ContentMigrator(String sourceDbPath, String destinationDbPath) {
221
		this.sourceDbPath      = sourceDbPath;
271
		this.sourceDbPath = sourceDbPath;
222
		this.destinationDbPath = destinationDbPath;
272
		this.destinationDbPath = destinationDbPath;
223
	}
273
	}
224
 
274
 
225
	public void migrateWarrantyType() throws Exception {
275
	public void migrateWarrantyType() throws Exception {
226
	    Map<Long, Entity> map = CreationUtils.getEntities();
276
		Map<Long, Entity> map = CreationUtils.getEntities();
227
	    for (Long entityId : map.keySet()) {
277
		for (Long entityId : map.keySet()) {
228
            Entity entity = map.get(entityId);
278
			Entity entity = map.get(entityId);
229
            if (entity == null || entity.getSlides() == null) {
279
			if (entity == null || entity.getSlides() == null) {
230
                continue;
280
				continue;
231
            }
281
			}
232
            for (Slide slide : entity.getSlides()) {
282
			for (Slide slide : entity.getSlides()) {
233
                if (slide.getSlideDefinitionID() == 130054) {
283
				if (slide.getSlideDefinitionID() == 130054) {
234
                    Slide warrantySlide = new Slide(130105);
284
					Slide warrantySlide = new Slide(130105);
235
                    warrantySlide.setFeatures(new ArrayList<Feature>());
285
					warrantySlide.setFeatures(new ArrayList<Feature>());
236
 
286
 
237
                    Feature feature = new Feature(120219);
287
					Feature feature = new Feature(120219);
238
                    feature.setBullets(Collections.singletonList(new Bullet(new EnumDataObject(110299))));
288
					feature.setBullets(Collections.singletonList(new Bullet(
-
 
289
							new EnumDataObject(110299))));
239
                    warrantySlide.getFeatures().add(feature);
290
					warrantySlide.getFeatures().add(feature);
240
 
291
 
241
                    Feature existingWarrantyFeature = null;
292
					Feature existingWarrantyFeature = null;
242
                    for (Feature summaryFeature : slide.getFeatures()) {
293
					for (Feature summaryFeature : slide.getFeatures()) {
243
                        if (summaryFeature.getFeatureDefinitionID() == 120125) {
294
						if (summaryFeature.getFeatureDefinitionID() == 120125) {
244
                            existingWarrantyFeature = summaryFeature;
295
							existingWarrantyFeature = summaryFeature;
245
                            warrantySlide.getFeatures().add(summaryFeature);
296
							warrantySlide.getFeatures().add(summaryFeature);
246
                            break;
297
							break;
247
                        }
-
 
248
                    }
298
						}
249
                    
299
					}
-
 
300
 
250
                    slide.getFeatures().remove(existingWarrantyFeature);
301
					slide.getFeatures().remove(existingWarrantyFeature);
251
                    slide.addChild(warrantySlide);
302
					slide.addChild(warrantySlide);
252
                    break;
303
					break;
253
                }
304
				}
254
                
-
 
-
 
305
 
255
            }
306
			}
256
 
307
 
257
            CreationUtils.updateEntity(entity);
308
			CreationUtils.updateEntity(entity);
258
	    }
309
		}
259
	}
310
	}
260
 
311
 
261
	public void migrateMedia() throws Exception {
312
	public void migrateMedia() throws Exception {
262
	    Map<Long, Entity> map = CreationUtils.getEntities();
313
		Map<Long, Entity> map = CreationUtils.getEntities();
263
	    for (Long entityId : map.keySet()) {
314
		for (Long entityId : map.keySet()) {
264
	        Entity entity = map.get(entityId);
315
			Entity entity = map.get(entityId);
265
	        if (entity == null || entity.getSlides() == null) {
316
			if (entity == null || entity.getSlides() == null) {
266
	            continue;
317
				continue;
267
	        }
318
			}
268
	        for (Slide slide : entity.getSlides()) {
319
			for (Slide slide : entity.getSlides()) {
269
	            FreeformContent ffc = slide.getFreeformContent();
320
				FreeformContent ffc = slide.getFreeformContent();
270
 
321
 
271
//	            if (ffc == null || ffc.getMediasNew() == null) {
322
				// if (ffc == null || ffc.getMediasNew() == null) {
272
//                    continue;
323
				// continue;
273
//                }
324
				// }
274
//
325
				//
275
//                Map<String, Media> newMap = new LinkedHashMap<String, Media>();
326
				// Map<String, Media> newMap = new LinkedHashMap<String,
-
 
327
				// Media>();
276
//                Media media = null;
328
				// Media media = null;
277
//                for (String label : ffc.getMediasNew().keySet()) {
329
				// for (String label : ffc.getMediasNew().keySet()) {
278
//                    MediaNew m = ffc.getMediasNew().get(label);
330
				// MediaNew m = ffc.getMediasNew().get(label);
279
//                    media = new Media(m.getLabel(), Media.Type.valueOf(m
331
				// media = new Media(m.getLabel(), Media.Type.valueOf(m
280
//                            .getType().name()), m.getLocation());
332
				// .getType().name()), m.getLocation());
281
//                    media.setTitle(m.getTitle());
333
				// media.setTitle(m.getTitle());
282
//                    media.setFileName(m.getFileName());
334
				// media.setFileName(m.getFileName());
283
//                    newMap.put(label, media);
335
				// newMap.put(label, media);
284
//                }
336
				// }
285
//                ffc.setMedias(newMap);
337
				// ffc.setMedias(newMap);
286
//                ffc.setMediasNew(null);
338
				// ffc.setMediasNew(null);
287
 
-
 
288
 
339
 
289
//	             if (ffc == null || ffc.getMedias() == null) {
340
				// if (ffc == null || ffc.getMedias() == null) {
290
//	                 continue;
341
				// continue;
291
//	             }
342
				// }
292
//                Map<String, MediaNew> newMap = new LinkedHashMap<String, MediaNew>();
343
				// Map<String, MediaNew> newMap = new LinkedHashMap<String,
-
 
344
				// MediaNew>();
293
//                MediaNew mediaNew = null;
345
				// MediaNew mediaNew = null;
294
//                for (String label : ffc.getMedias().keySet()) {
346
				// for (String label : ffc.getMedias().keySet()) {
295
//                    Media m = ffc.getMedias().get(label);
347
				// Media m = ffc.getMedias().get(label);
296
//                    if (m.getType().equalsIgnoreCase("image")) {
348
				// if (m.getType().equalsIgnoreCase("image")) {
297
//                        mediaNew = new MediaNew(m.getLabel(),
349
				// mediaNew = new MediaNew(m.getLabel(),
298
//                                MediaNew.Type.IMAGE, m.getLocation());
350
				// MediaNew.Type.IMAGE, m.getLocation());
299
//                        mediaNew.setFileName(m.getFileName());
351
				// mediaNew.setFileName(m.getFileName());
300
//                    } else if (m.getType().equalsIgnoreCase("youtube")) {
352
				// } else if (m.getType().equalsIgnoreCase("youtube")) {
301
//                        if (m.getVideoType().equalsIgnoreCase("withskin")) {
353
				// if (m.getVideoType().equalsIgnoreCase("withskin")) {
302
//                            mediaNew = new MediaNew(m.getLabel(),
354
				// mediaNew = new MediaNew(m.getLabel(),
303
//                                    MediaNew.Type.VIDEO_WITH_SKIN,
355
				// MediaNew.Type.VIDEO_WITH_SKIN,
304
//                                    m.getLocation());
356
				// m.getLocation());
305
//                        } else {
357
				// } else {
306
//                            mediaNew = new MediaNew(m.getLabel(),
358
				// mediaNew = new MediaNew(m.getLabel(),
307
//                                    MediaNew.Type.VIDEO_WITHOUT_SKIN,
359
				// MediaNew.Type.VIDEO_WITHOUT_SKIN,
308
//                                    m.getLocation());
360
				// m.getLocation());
309
//                        }
361
				// }
310
//                    }
362
				// }
311
//
363
				//
312
//                    if (mediaNew != null) {
364
				// if (mediaNew != null) {
313
//                        mediaNew.setTitle(m.getTitle());
365
				// mediaNew.setTitle(m.getTitle());
314
//                        newMap.put(label, mediaNew);
366
				// newMap.put(label, mediaNew);
315
//                    }
367
				// }
316
//                }
368
				// }
317
//                ffc.setMediasNew(newMap);
369
				// ffc.setMediasNew(newMap);
318
//                ffc.setMedias(null);
370
				// ffc.setMedias(null);
319
	        }
371
			}
320
	        CreationUtils.updateEntity(entity);
372
			CreationUtils.updateEntity(entity);
321
	    }
373
		}
322
	}
374
	}
323
 
375
 
324
	public boolean populateHelpdocEntityIds() throws Exception{
376
	public boolean populateHelpdocEntityIds() throws Exception {
325
		for(Entity entity: CreationUtils.getEntities().values()){
377
		for (Entity entity : CreationUtils.getEntities().values()) {
326
			CreationUtils.updateEntity(entity);
378
			CreationUtils.updateEntity(entity);
327
		}
379
		}
328
		return true;
380
		return true;
329
	}
381
	}
330
 
382
 
331
	public boolean migrateBrandModel(String dryRun) throws Exception{
383
	public boolean migrateBrandModel(String dryRun) throws Exception {
332
		CatalogClient catalogServiceClient = new CatalogClient();
384
		CatalogClient catalogServiceClient = new CatalogClient();
333
		Client client = catalogServiceClient.getClient();
385
		Client client = catalogServiceClient.getClient();
334
		List<Item> items = client.getAllItemsByStatus(status.ACTIVE);
386
		List<Item> items = client.getAllItemsByStatus(status.ACTIVE);
335
		items.addAll(client.getAllItemsByStatus(status.PAUSED));
387
		items.addAll(client.getAllItemsByStatus(status.PAUSED));
336
		items.addAll(client.getAllItemsByStatus(status.CONTENT_COMPLETE));
388
		items.addAll(client.getAllItemsByStatus(status.CONTENT_COMPLETE));
337
		Map<Long, Entity> entities = CreationUtils.getEntities();
389
		Map<Long, Entity> entities = CreationUtils.getEntities();
338
		long count = 0;
390
		long count = 0;
339
		StringBuffer sb = new StringBuffer();
391
		StringBuffer sb = new StringBuffer();
340
		for(Item item:items){
392
		for (Item item : items) {
341
			long entityId = item.getCatalogItemId();
393
			long entityId = item.getCatalogItemId();
342
			Entity entity = entities.get(entityId);
394
			Entity entity = entities.get(entityId);
343
			if(entity==null){
395
			if (entity == null) {
344
				continue;
396
				continue;
345
			}
397
			}
346
			String itemBrand = item.getBrand().trim();
398
			String itemBrand = item.getBrand().trim();
347
			String itemModelName = item.getModelName();
399
			String itemModelName = item.getModelName();
348
			if(itemModelName!=null){
400
			if (itemModelName != null) {
349
				itemModelName = itemModelName.trim();
401
				itemModelName = itemModelName.trim();
350
			}
402
			}
351
			String itemModelNumber = item.getModelNumber().trim();
403
			String itemModelNumber = item.getModelNumber().trim();
352
			String entityBrand = entity.getBrand().trim();
404
			String entityBrand = entity.getBrand().trim();
353
			String entityModelName = entity.getModelName().trim();
405
			String entityModelName = entity.getModelName().trim();
354
			if(entityModelName!=null){
406
			if (entityModelName != null) {
355
				entityModelName = entityModelName.trim();
407
				entityModelName = entityModelName.trim();
356
			}
408
			}
357
			String entityModelNumber = entity.getModelNumber().trim();
409
			String entityModelNumber = entity.getModelNumber().trim();
358
			
410
 
-
 
411
			if (itemBrand.equals(entityBrand)
359
			if(itemBrand.equals(entityBrand) && itemModelNumber.equals(entityModelNumber)){
412
					&& itemModelNumber.equals(entityModelNumber)) {
360
				if(itemModelName!=null && entityModelName !=null &&  itemModelName.equals(entityModelName)){
413
				if (itemModelName != null && entityModelName != null
-
 
414
						&& itemModelName.equals(entityModelName)) {
361
					continue;	
415
					continue;
362
				}else if(itemModelName==null && entityModelName ==null){
416
				} else if (itemModelName == null && entityModelName == null) {
363
					continue;
417
					continue;
364
				}
418
				}
365
				
419
 
366
			}
420
			}
367
			count++;
421
			count++;
368
			sb.append(count + ") Item:   " + itemBrand + "\t" + itemModelName + "\t" + itemModelNumber+ "\t"+ item.getId() + "\n");
422
			sb.append(count + ") Item:   " + itemBrand + "\t" + itemModelName
369
			sb.append(count + ") Entity: " + entityBrand + "\t" + entityModelName + "\t" + entityModelNumber+ "\t" + entity.getID() + "\n");
423
					+ "\t" + itemModelNumber + "\t" + item.getId() + "\n");
-
 
424
			sb.append(count + ") Entity: " + entityBrand + "\t"
-
 
425
					+ entityModelName + "\t" + entityModelNumber + "\t"
-
 
426
					+ entity.getID() + "\n");
370
			
427
 
371
			if(dryRun.equals("false")){
428
			if (dryRun.equals("false")) {
372
				item.setBrand(entityBrand);
429
				item.setBrand(entityBrand);
373
				item.setModelName(entityModelName);
430
				item.setModelName(entityModelName);
374
				item.setModelNumber(entityModelNumber);
431
				item.setModelNumber(entityModelNumber);
375
				client.updateItem(item);				
432
				client.updateItem(item);
376
			}
433
			}
377
		}
434
		}
378
		System.out.println(sb.toString());
435
		System.out.println(sb.toString());
379
		return true;
436
		return true;
380
	}
437
	}
381
 
438
 
382
	/**
439
	/**
383
	 * this function will read source definition and source entities, and will convert
440
	 * this function will read source definition and source entities, and will
384
	 * source entities to destination entities according to destination definitions.  
441
	 * convert source entities to destination entities according to destination
-
 
442
	 * definitions.
385
	 * 
443
	 * 
386
	 * @return boolean
444
	 * @return boolean
387
	 * @throws Exception 
445
	 * @throws Exception
388
	 */
446
	 */
389
 
447
 
390
	public void printSlides() throws Exception{
448
	public void printSlides() throws Exception {
391
		DefinitionsContainer defc = Catalog.getInstance().getDefinitionsContainer();
449
		DefinitionsContainer defc = Catalog.getInstance()
-
 
450
				.getDefinitionsContainer();
392
		for(Category category: defc.getCategories().values()){
451
		for (Category category : defc.getCategories().values()) {
393
			if(category.getChildrenCategory()!=null)continue;
452
			if (category.getChildrenCategory() != null)
-
 
453
				continue;
394
			System.out.println(category.getID() + "\t" +category.getLabel());
454
			System.out.println(category.getID() + "\t" + category.getLabel());
-
 
455
			for (CategorySlideDefinition defs : defc
395
			for(CategorySlideDefinition defs: defc.getCategorySlideDefinitions(category.getID())){
456
					.getCategorySlideDefinitions(category.getID())) {
-
 
457
				System.out.println(defs.getSlideDefintionID()
-
 
458
						+ "\t"
-
 
459
						+ defs.getEditorialImportance()
-
 
460
						+ "\t"
-
 
461
						+ defc.getSlideDefinition(defs.getSlideDefintionID())
-
 
462
								.getLabel()
-
 
463
						+ "\t"
396
				System.out.println(defs.getSlideDefintionID() + "\t" + defs.getEditorialImportance() + "\t" +  defc.getSlideDefinition(defs.getSlideDefintionID()).getLabel()+"\t"+defc.getSlideDefinition(defs.getSlideDefintionID()).getChildrenSlideDefinitionIDs());
464
						+ defc.getSlideDefinition(defs.getSlideDefintionID())
-
 
465
								.getChildrenSlideDefinitionIDs());
397
			}
466
			}
398
		}
467
		}
399
	}
468
	}
400
	
469
 
401
	public void removeBrowserBullets() throws Exception{
470
	public void removeBrowserBullets() throws Exception {
402
		Map<Long, List<ExpandedBullet>> learnedBullets =  CreationUtils.getLearnedBullets();
471
		Map<Long, List<ExpandedBullet>> learnedBullets = CreationUtils
-
 
472
				.getLearnedBullets();
403
		learnedBullets.get(new Long(120076));
473
		learnedBullets.get(new Long(120076));
404
		learnedBullets.remove(new Long(120076));
474
		learnedBullets.remove(new Long(120076));
405
		CreationUtils.storeLearnedBullets(learnedBullets);
475
		CreationUtils.storeLearnedBullets(learnedBullets);
406
		
476
 
407
	}
477
	}
408
	
478
 
409
	public boolean changeEntityState() throws Exception{
479
	public boolean changeEntityState() throws Exception {
410
		Map<Long, EntityState> entitiesState = CreationUtils.getEntitiesState();
480
		Map<Long, EntityState> entitiesState = CreationUtils.getEntitiesState();
411
		for(Long entityId: entitiesState.keySet()){
481
		for (Long entityId : entitiesState.keySet()) {
412
			EntityState state = entitiesState.get(entityId);
482
			EntityState state = entitiesState.get(entityId);
-
 
483
			if (state.getCategoryID() == 10002
-
 
484
					|| state.getCategoryID() == 10003
-
 
485
					|| state.getCategoryID() == 10004
413
			if(state.getCategoryID() == 10002 || state.getCategoryID() == 10003 || state.getCategoryID() == 10004 || state.getCategoryID() == 10005){
486
					|| state.getCategoryID() == 10005) {
414
				state.setCompletedBy("");
487
				state.setCompletedBy("");
415
				state.setMerkedReadyBy("");
488
				state.setMerkedReadyBy("");
416
				//state.setStatus(EntityStatus.ASSIGNED);
489
				// state.setStatus(EntityStatus.ASSIGNED);
417
				//CreationUtils.updateEntityState(state);
490
				// CreationUtils.updateEntityState(state);
418
				System.out.println(entityId + ":" + state.getStatus());
491
				System.out.println(entityId + ":" + state.getStatus());
419
			}
492
			}
420
			CreationUtils.updateEntityState(state);
493
			CreationUtils.updateEntityState(state);
421
		}
494
		}
422
		return true;
495
		return true;
423
	}
496
	}
424
	
-
 
425
 
-
 
426
	   public boolean migrateDataBack() throws Exception{
-
 
427
	        Map<Long, Entity> entities = CreationUtils.getEntities();
-
 
428
	        for(Entity entity: entities.values()){
-
 
429
	        	if(entity==null){
-
 
430
	        		continue;
-
 
431
	        	}
-
 
432
	            List<Slide> slides = entity.getSlides();
-
 
433
	            if(slides!=null){
-
 
434
	                for(Slide slide: slides){
-
 
435
	                    if(slide.getSlideDefinitionID() == 130054){
-
 
436
	                        List<Feature> features = slide.getFeatures();
-
 
437
	                        int length = features.size();
-
 
438
	                        features.remove(length-1);
-
 
439
	                        features.remove(length-2);
-
 
440
	                        features.remove(length-3);
-
 
441
	                        /*
-
 
442
	                        boolean a = false,b=false,c=false;
-
 
443
	                        for(Feature feature: features){
-
 
444
	                        	switch ((int)feature.getFeatureDefinitionID()) {
-
 
445
								case 120132:
-
 
446
									if(a){
-
 
447
										
-
 
448
									}else{
-
 
449
										a=true;
-
 
450
									}
-
 
451
									break;
-
 
452
								case 120133:
-
 
453
									break;
-
 
454
								case 120134:
-
 
455
									break;
-
 
456
								default:
-
 
457
									break;
-
 
458
								}
-
 
459
	                        }
-
 
460
	                        */	                        
-
 
461
	                        CreationUtils.updateEntity(entity);
-
 
462
	                    }
-
 
463
	                }
-
 
464
	            }
-
 
465
	        }
-
 
466
	    return true;
-
 
467
	    }
-
 
468
	   
-
 
469
 
-
 
470
	   public boolean migrateData() throws Exception{
-
 
471
	        Map<Long, Entity> entities = CreationUtils.getEntities();
-
 
472
	        for(Entity entity: entities.values()){
-
 
473
	            ExpandedEntity expEntity = new ExpandedEntity(entity);
-
 
474
	            List<Slide> slides = entity.getSlides();
-
 
475
	            if(slides!=null){
-
 
476
	                for(Slide slide: slides){
-
 
477
	                    if(slide.getSlideDefinitionID() == 130054){
-
 
478
	                        List<Feature> features = slide.getFeatures();
-
 
479
	                        String title = expEntity.getBrand() + " " + expEntity.getModelName()+ " " 
-
 
480
	                        + expEntity.getModelNumber();
-
 
481
   	                    if(expEntity.getCategory().getParentCategory().getID() == 10001) {
-
 
482
   	                        title +=  " | " + expEntity.getBrand() + " Mobile Phones";
-
 
483
   	                    }
-
 
484
   	                    if(expEntity.getCategory().getParentCategory().getID() == 10011) {
-
 
485
   	                        title += " " + expEntity.getCategory().getLabel()
-
 
486
   	                            + " | " + expEntity.getBrand() + " Mobile Phone Accessories";
-
 
487
   	                    }
-
 
488
   	                    title += " | Saholic.com";
-
 
489
   	                    
-
 
490
	                        //Add page title
-
 
491
	                        Feature feature1 = new Feature(120132);
-
 
492
	                        PrimitiveDataObject pdo1 = new PrimitiveDataObject(title);
-
 
493
	                        List<Bullet> bullets1 = new ArrayList<Bullet>();
-
 
494
	                        Bullet bullet1 = new Bullet(pdo1);
-
 
495
	                        bullets1.add(bullet1);
-
 
496
	                        feature1.setBullets(bullets1);
-
 
497
	                        features.add(feature1);
-
 
498
	                        
-
 
499
	                        
-
 
500
	                        String description = "Best Price " + expEntity.getBrand() + " " + expEntity.getModelName() 
-
 
501
	                        + " " + expEntity.getModelNumber() + " ";
-
 
502
	                    
-
 
503
   	                    if(expEntity.getCategory().getParentCategory().getID() == 10011) {
-
 
504
   	                        description += expEntity.getCategory().getLabel() + " in India.";
-
 
505
   	                    }
-
 
506
   	                    else {
-
 
507
   	                        description += ".";
-
 
508
   	                    }
-
 
509
   	                    description += " Experience n' buy online. FREE Next Day delivery."
-
 
510
   	                        + " Original product - Full manufacturer warranty. Comprehensive reviews.";
-
 
511
   	                    
-
 
512
   	                    description = description.replaceAll("--", "-");
-
 
513
   	                    
-
 
514
	                        //Add meta description
-
 
515
	                        Feature feature2 = new Feature(120133);
-
 
516
                           PrimitiveDataObject pdo2 = new PrimitiveDataObject(description);
-
 
517
                           List<Bullet> bullets2 = new ArrayList<Bullet>();
-
 
518
                           Bullet bullet2 = new Bullet(pdo2);
-
 
519
                           bullets2.add(bullet2);
-
 
520
                           feature2.setBullets(bullets2);	 
-
 
521
                           
-
 
522
                           features.add(feature2);
-
 
523
                           
-
 
524
                           
-
 
525
                           String keywords = expEntity.getBrand() + " " + expEntity.getModelName() + " " + expEntity.getModelNumber() + ", ";
-
 
526
                           if(expEntity.getCategory().getParentCategory().getID() == 10001) {
-
 
527
                               keywords += expEntity.getBrand() + " mobile phones, ";
-
 
528
                           }
-
 
529
                           if(expEntity.getCategory().getParentCategory().getID() == 10011) {
-
 
530
                               keywords += "phone accessories, ";
-
 
531
                           }
-
 
532
                           keywords += expEntity.getBrand() + " " + expEntity.getModelName() + " " + expEntity.getModelNumber() + " Price, ";
-
 
533
                           keywords += expEntity.getBrand() + " " + expEntity.getModelName() + " " + expEntity.getModelNumber() + " India, ";
-
 
534
                           if(expEntity.getCategory().getParentCategory().getID() == 10001) {
-
 
535
                               keywords += expEntity.getBrand() + " " + expEntity.getModelName() + " " + expEntity.getModelNumber() + " Review, ";
-
 
536
                           }
-
 
537
                           //Add meta keyborad
-
 
538
	                        Feature feature3 = new Feature(120134);
-
 
539
	                        PrimitiveDataObject pdo3 = new PrimitiveDataObject(keywords);
-
 
540
	                        List<Bullet> bullets3 = new ArrayList<Bullet>();
-
 
541
	                        Bullet bullet3 = new Bullet(pdo3);
-
 
542
	                        bullets3.add(bullet3);
-
 
543
	                        feature3.setBullets(bullets3);
-
 
544
	                        
-
 
545
	                        features.add(feature3);
-
 
546
	                        
-
 
547
	                        CreationUtils.updateEntity(entity);
-
 
548
	                    }
-
 
549
	                }
-
 
550
	            }
-
 
551
	        }
-
 
552
	    return true;
-
 
553
	    }
-
 
554
	   
-
 
555
 
497
 
556
	   public boolean migrateModel2() throws Exception{
498
	public boolean migrateDataBack() throws Exception {
557
		Map<Long, Entity> entities = CreationUtils.getEntities();
499
		Map<Long, Entity> entities = CreationUtils.getEntities();
558
		for(Entity entity: entities.values()){
500
		for (Entity entity : entities.values()) {
-
 
501
			if (entity == null) {
-
 
502
				continue;
-
 
503
			}
559
			List<Slide> slides = entity.getSlides();
504
			List<Slide> slides = entity.getSlides();
560
			if(slides!=null){
505
			if (slides != null) {
561
				for(Slide slide: slides){
506
				for (Slide slide : slides) {
562
					if(slide.getSlideDefinitionID() == 130011){
507
					if (slide.getSlideDefinitionID() == 130054) {
563
						for(Feature feature: slide.getFeatures()){
508
						List<Feature> features = slide.getFeatures();
564
							if(feature.getFeatureDefinitionID() == 120054){
509
						int length = features.size();
565
		//						feature.setFeatureDefinitionID(120030);
510
						features.remove(length - 1);
566
								System.out.println("* " + entity.getID() + ":" + entity.getCategoryID());
511
						features.remove(length - 2);
567
							}
512
						features.remove(length - 3);
568
						}
513
						/*
569
					}
-
 
570
					
-
 
571
					if(slide.getSlideDefinitionID() == 130029){
514
						 * boolean a = false,b=false,c=false; for(Feature
572
						//System.out.println("** " + entity.getID() + ":" + entity.getCategoryID());
515
						 * feature: features){ switch
573
						if(entity.getCategoryID() == 10002){
516
						 * ((int)feature.getFeatureDefinitionID()) { case
574
							Feature feature = new Feature(120051);
517
						 * 120132: if(a){
-
 
518
						 * 
575
							slide.getFeatures().add(feature);
519
						 * }else{ a=true; } break; case 120133: break; case
576
							System.out.println("** " + entity.getID() + ":" + entity.getCategoryID());
520
						 * 120134: break; default: break; } }
577
						}
521
						 */
-
 
522
						CreationUtils.updateEntity(entity);
578
					}
523
					}
-
 
524
				}
-
 
525
			}
-
 
526
		}
-
 
527
		return true;
-
 
528
	}
-
 
529
 
-
 
530
	public boolean migrateData() throws Exception {
-
 
531
		Map<Long, Entity> entities = CreationUtils.getEntities();
-
 
532
		for (Entity entity : entities.values()) {
-
 
533
			ExpandedEntity expEntity = new ExpandedEntity(entity);
-
 
534
			List<Slide> slides = entity.getSlides();
-
 
535
			if (slides != null) {
-
 
536
				for (Slide slide : slides) {
-
 
537
					if (slide.getSlideDefinitionID() == 130054) {
-
 
538
						List<Feature> features = slide.getFeatures();
-
 
539
						String title = expEntity.getBrand() + " "
-
 
540
								+ expEntity.getModelName() + " "
-
 
541
								+ expEntity.getModelNumber();
-
 
542
						if (expEntity.getCategory().getParentCategory().getID() == 10001) {
-
 
543
							title += " | " + expEntity.getBrand()
-
 
544
									+ " Mobile Phones";
-
 
545
						}
-
 
546
						if (expEntity.getCategory().getParentCategory().getID() == 10011) {
-
 
547
							title += " " + expEntity.getCategory().getLabel()
-
 
548
									+ " | " + expEntity.getBrand()
-
 
549
									+ " Mobile Phone Accessories";
-
 
550
						}
-
 
551
						title += " | Saholic.com";
-
 
552
 
-
 
553
						// Add page title
-
 
554
						Feature feature1 = new Feature(120132);
-
 
555
						PrimitiveDataObject pdo1 = new PrimitiveDataObject(
-
 
556
								title);
-
 
557
						List<Bullet> bullets1 = new ArrayList<Bullet>();
-
 
558
						Bullet bullet1 = new Bullet(pdo1);
-
 
559
						bullets1.add(bullet1);
-
 
560
						feature1.setBullets(bullets1);
-
 
561
						features.add(feature1);
-
 
562
 
-
 
563
						String description = "Best Price "
-
 
564
								+ expEntity.getBrand() + " "
-
 
565
								+ expEntity.getModelName() + " "
-
 
566
								+ expEntity.getModelNumber() + " ";
-
 
567
 
-
 
568
						if (expEntity.getCategory().getParentCategory().getID() == 10011) {
-
 
569
							description += expEntity.getCategory().getLabel()
-
 
570
									+ " in India.";
-
 
571
						} else {
-
 
572
							description += ".";
-
 
573
						}
-
 
574
						description += " Experience n' buy online. FREE Next Day delivery."
-
 
575
								+ " Original product - Full manufacturer warranty. Comprehensive reviews.";
-
 
576
 
-
 
577
						description = description.replaceAll("--", "-");
-
 
578
 
-
 
579
						// Add meta description
-
 
580
						Feature feature2 = new Feature(120133);
-
 
581
						PrimitiveDataObject pdo2 = new PrimitiveDataObject(
-
 
582
								description);
-
 
583
						List<Bullet> bullets2 = new ArrayList<Bullet>();
-
 
584
						Bullet bullet2 = new Bullet(pdo2);
-
 
585
						bullets2.add(bullet2);
-
 
586
						feature2.setBullets(bullets2);
-
 
587
 
-
 
588
						features.add(feature2);
-
 
589
 
-
 
590
						String keywords = expEntity.getBrand() + " "
-
 
591
								+ expEntity.getModelName() + " "
-
 
592
								+ expEntity.getModelNumber() + ", ";
-
 
593
						if (expEntity.getCategory().getParentCategory().getID() == 10001) {
-
 
594
							keywords += expEntity.getBrand()
-
 
595
									+ " mobile phones, ";
-
 
596
						}
-
 
597
						if (expEntity.getCategory().getParentCategory().getID() == 10011) {
-
 
598
							keywords += "phone accessories, ";
-
 
599
						}
-
 
600
						keywords += expEntity.getBrand() + " "
-
 
601
								+ expEntity.getModelName() + " "
-
 
602
								+ expEntity.getModelNumber() + " Price, ";
-
 
603
						keywords += expEntity.getBrand() + " "
-
 
604
								+ expEntity.getModelName() + " "
-
 
605
								+ expEntity.getModelNumber() + " India, ";
-
 
606
						if (expEntity.getCategory().getParentCategory().getID() == 10001) {
-
 
607
							keywords += expEntity.getBrand() + " "
-
 
608
									+ expEntity.getModelName() + " "
-
 
609
									+ expEntity.getModelNumber() + " Review, ";
-
 
610
						}
-
 
611
						// Add meta keyborad
-
 
612
						Feature feature3 = new Feature(120134);
-
 
613
						PrimitiveDataObject pdo3 = new PrimitiveDataObject(
-
 
614
								keywords);
-
 
615
						List<Bullet> bullets3 = new ArrayList<Bullet>();
-
 
616
						Bullet bullet3 = new Bullet(pdo3);
-
 
617
						bullets3.add(bullet3);
-
 
618
						feature3.setBullets(bullets3);
-
 
619
 
-
 
620
						features.add(feature3);
579
 
621
 
-
 
622
						CreationUtils.updateEntity(entity);
-
 
623
					}
580
				}
624
				}
581
			}
625
			}
582
			CreationUtils.updateEntity(entity);
-
 
583
		}
626
		}
584
	return true;
627
		return true;
585
	}
628
	}
586
	/*
629
 
587
	public boolean migrateModel1() throws Exception{
630
	public boolean migrateModel2() throws Exception {
588
		//DefinitionsContainer oldDfc = new DefinitionsContainer(Utils.CONTENT_DB_PATH + "olddefinitions" + File.separator);
-
 
589
		//DefinitionsContainer newDfc = new DefinitionsContainer(Utils.CONTENT_DB_PATH + "olddefinitions" + File.separator);
-
 
590
		
-
 
591
		Map<Long, Entity> entities = CreationUtils.getEntities();
631
		Map<Long, Entity> entities = CreationUtils.getEntities();
592
		for(Entity entity: entities.values()){
632
		for (Entity entity : entities.values()) {
593
			List<Long> slideSequence = entity.getSlideSequence();
-
 
594
			Map<Long,Long> removeMap = new HashMap<Long, Long>();
-
 
595
			List<Slide> slides = entity.getSlides();
633
			List<Slide> slides = entity.getSlides();
596
			if(slides!=null){
634
			if (slides != null) {
597
				for(Slide slide: slides){
635
				for (Slide slide : slides) {
598
					List<Feature> features;
-
 
599
					Slide childSlide;
-
 
600
					switch ((int)slide.getSlideDefinitionID()) {
-
 
601
					
-
 
602
					//Keyboard
-
 
603
					case 130004:
-
 
604
					case 130026:
-
 
605
					case 130027:
-
 
606
					case 130057:
-
 
607
						removeMap.put(slide.getSlideDefinitionID(), (long)130026);	
-
 
608
						slide.setSlideDefinitionID(130026);
-
 
609
						break;
-
 
610
					
-
 
611
					//Voice Calling
-
 
612
					case 130005:
-
 
613
						removeMap.put(slide.getSlideDefinitionID(), (long)130005);
-
 
614
						slide.setSlideDefinitionID(130005);
-
 
615
						features = new ArrayList<Feature>();
-
 
616
						features.addAll(slide.getFeatures());
-
 
617
						childSlide = slide.getChildrenSlides().get(0);
-
 
618
						features.addAll(childSlide.getFeatures());
-
 
619
						if(childSlide.getFreeformContent()!=null){
-
 
620
							System.out.println("Voice Calling : HAS FFC : " + childSlide.getFreeformContent().getFreeformText() + childSlide.getFreeformContent().getMedias());
-
 
621
						}
-
 
622
						slide.setChildrenSlides(null);
-
 
623
						slide.setFeatures(features);
-
 
624
						break;
-
 
625
					case 130035:
-
 
626
						removeMap.put(slide.getSlideDefinitionID(), (long)130005);
-
 
627
						slide.setSlideDefinitionID(130005);
636
					if (slide.getSlideDefinitionID() == 130011) {
628
						for(Feature feata: slide.getFeatures()){
637
						for (Feature feature : slide.getFeatures()) {
629
							if(feata.getFeatureDefinitionID()==120055){
-
 
630
								feata.setFeatureDefinitionID(120012);
-
 
631
							}
-
 
632
						}
-
 
633
						break;
-
 
634
					
-
 
635
					//Data Connectivity
-
 
636
					case 130007:
-
 
637
					case 130028:
-
 
638
						removeMap.put(slide.getSlideDefinitionID(), (long)130007);
-
 
639
						slide.setSlideDefinitionID(130007);
-
 
640
						break;
-
 
641
						
-
 
642
					//Music
-
 
643
					case 130029:
-
 
644
					case 130030:
-
 
645
					case 130008:
-
 
646
						removeMap.put(slide.getSlideDefinitionID(), (long)130029);
-
 
647
						slide.setSlideDefinitionID(130029);
-
 
648
						break;
-
 
649
						
-
 
650
					//Video
-
 
651
					case 130031:
-
 
652
					case 130009:
-
 
653
						removeMap.put(slide.getSlideDefinitionID(), (long)130031);
-
 
654
						slide.setSlideDefinitionID(130031);
-
 
655
						break;
-
 
656
						
-
 
657
					//Camera
-
 
658
					case 130010:
-
 
659
					case 130036:
-
 
660
					case 130037:
-
 
661
						removeMap.put(slide.getSlideDefinitionID(), (long)130010);
-
 
662
						slide.setSlideDefinitionID(130010);
-
 
663
						break;
-
 
664
					case 130060:
-
 
665
						removeMap.put(slide.getSlideDefinitionID(), (long)130010);
-
 
666
						slide.setSlideDefinitionID(130010);
-
 
667
						
-
 
668
						features =  slide.getFeatures();
-
 
669
						// Just to add camera feature in basic phones
-
 
670
						Feature feature = new Feature(120056);
-
 
671
						List<Bullet> bullets =  new ArrayList<Bullet>();
-
 
672
						PrimitiveDataObject pdo = new PrimitiveDataObject("1");
-
 
673
						Bullet bullet = new Bullet(pdo);
-
 
674
						bullets.add(bullet);
-
 
675
						feature.setBullets(bullets);
-
 
676
						features.add(feature);
-
 
677
						//Created new feature
-
 
678
						break;
-
 
679
						
-
 
680
					//Memory
-
 
681
					case 130011:
-
 
682
						removeMap.put(slide.getSlideDefinitionID(), (long)130011);
-
 
683
						slide.setSlideDefinitionID(130011);
-
 
684
						break;
-
 
685
					case 130032:
-
 
686
					case 130061:
-
 
687
						removeMap.put(slide.getSlideDefinitionID(), (long)130011);
-
 
688
						slide.setSlideDefinitionID(130011);
-
 
689
						features =  slide.getFeatures();
-
 
690
						for(Feature feat: features){
-
 
691
							if(feat.getFeatureDefinitionID() == 120054){
638
							if (feature.getFeatureDefinitionID() == 120054) {
692
								feat.setFeatureDefinitionID(120030);
639
								// feature.setFeatureDefinitionID(120030);
693
							}
-
 
694
						}
-
 
695
						break;
-
 
696
						
-
 
697
					//Battery
-
 
698
					case 130044:
-
 
699
						removeMap.put(slide.getSlideDefinitionID(), (long)130043);
-
 
700
						slide.setSlideDefinitionID(130043);
-
 
701
						if(slide.getChildrenSlides().get(0).getSlideDefinitionID() == 130047){
-
 
702
							slide.getChildrenSlides().get(0).setSlideDefinitionID(130046);
-
 
703
						}
-
 
704
						break;
-
 
705
						
-
 
706
					case 130042:
-
 
707
						removeMap.put(slide.getSlideDefinitionID(), (long)130043);
-
 
708
						slide.setSlideDefinitionID(130043);
-
 
709
						childSlide = slide.getChildrenSlides().get(0);
-
 
710
						if(childSlide.getSlideDefinitionID() == 130045){
-
 
711
							childSlide.setSlideDefinitionID(130046);
-
 
712
						}
-
 
713
						
-
 
714
						List<Feature> childFeatures1 = new ArrayList<Feature>();
-
 
715
						List<Feature> childFeatures2 = new ArrayList<Feature>();
-
 
716
						Slide childChildSlide1 = new Slide(130048);
-
 
717
						Slide childChildSlide2 = new Slide(130049);
-
 
718
						
-
 
719
						childChildSlide1.setFeatures(childFeatures1);
-
 
720
						childChildSlide2.setFeatures(childFeatures2);
-
 
721
						
-
 
722
						childSlide.addChild(childChildSlide1);
-
 
723
						childSlide.addChild(childChildSlide2);
-
 
724
 
-
 
725
						
-
 
726
						for(Feature f: childSlide.getFeatures()){
-
 
727
							if(f.getFeatureDefinitionID() == 120063){
-
 
728
								f.setFeatureDefinitionID(120068);
-
 
729
								childFeatures1.add(f);
-
 
730
							}
-
 
731
							if(f.getFeatureDefinitionID() == 120064){
-
 
732
								f.setFeatureDefinitionID(120069);
640
								System.out.println("* " + entity.getID() + ":"
733
								childFeatures2.add(f);
641
										+ entity.getCategoryID());
734
							}
642
							}
735
						}
643
						}
736
						
-
 
737
						childSlide.setFeatures(null);
-
 
738
						
-
 
739
						break;
-
 
740
						
-
 
741
					case 130062:
-
 
742
						removeMap.put(slide.getSlideDefinitionID(), (long)130043);
-
 
743
						slide.setSlideDefinitionID(130043);
-
 
744
						
-
 
745
						childSlide = new Slide(130046);
-
 
746
						features = new ArrayList<Feature>();
-
 
747
						
-
 
748
						slide.addChild(childSlide);
-
 
749
						
-
 
750
						List<Feature> childFeatures11 = new ArrayList<Feature>();
-
 
751
						List<Feature> childFeatures21 = new ArrayList<Feature>();
-
 
752
						Slide childChildSlide11 = new Slide(130048);
-
 
753
						Slide childChildSlide21 = new Slide(130049);
-
 
754
						
-
 
755
						childChildSlide11.setFeatures(childFeatures11);
-
 
756
						childChildSlide21.setFeatures(childFeatures21);
-
 
757
						
-
 
758
						childSlide.addChild(childChildSlide11);
-
 
759
						childSlide.addChild(childChildSlide21);
-
 
760
						for(Feature f: slide.getFeatures()){
-
 
761
							if(f.getFeatureDefinitionID() == 120072){
-
 
762
								features.add(f);
-
 
763
							}
-
 
764
							if(f.getFeatureDefinitionID() == 120073){
-
 
765
								features.add(f);
-
 
766
							}
-
 
767
							if(f.getFeatureDefinitionID() == 120063){
-
 
768
								f.setFeatureDefinitionID(120068);
-
 
769
								childFeatures11.add(f);
-
 
770
							}
-
 
771
							if(f.getFeatureDefinitionID() == 120064){
-
 
772
								f.setFeatureDefinitionID(120069);
-
 
773
								childFeatures21.add(f);
-
 
774
							}
-
 
775
						}
-
 
776
						slide.setFeatures(features);
-
 
777
						break;
-
 
778
						
-
 
779
						
-
 
780
					//Mail n Msg
-
 
781
					case 130041:
-
 
782
					case 130063:
-
 
783
						removeMap.put(slide.getSlideDefinitionID(), (long)130039);
-
 
784
						slide.setSlideDefinitionID(130039);
-
 
785
						break;
-
 
786
					case 130039:
-
 
787
						removeMap.put(slide.getSlideDefinitionID(), (long)130039);
-
 
788
						slide.setSlideDefinitionID(130039);
-
 
789
						
-
 
790
						childSlide = slide.getChildrenSlides().get(0);
-
 
791
						slide.setFeatures(childSlide.getFeatures());
-
 
792
						if(childSlide.getFreeformContent()!=null){
-
 
793
							System.out.println("Mail n Msg : HAS FFC : " + childSlide.getFreeformContent().getFreeformText() + childSlide.getFreeformContent().getMedias());
-
 
794
						}
-
 
795
						slide.setChildrenSlides(null);
-
 
796
						break;
-
 
797
						
-
 
798
					//Software
-
 
799
					case 130020:
-
 
800
					case 130034:
-
 
801
						removeMap.put(slide.getSlideDefinitionID(), (long)130020);
-
 
802
						slide.setSlideDefinitionID(130020);
-
 
803
						break;
-
 
804
						
-
 
805
					
-
 
806
					//Internet
-
 
807
					case 130050:
-
 
808
						removeMap.put(slide.getSlideDefinitionID(), (long)130050);
-
 
809
						slide.setSlideDefinitionID(130050);
-
 
810
						slide.setFeatures(slide.getChildrenSlides().get(0).getFeatures());
-
 
811
						
-
 
812
						if(slide.getChildrenSlides().get(0).getFreeformContent()!=null){
-
 
813
							String ffc = slide.getFreeformContent().getFreeformText();
-
 
814
							if(slide.getChildrenSlides().get(0).getFreeformContent().getFreeformText()!=null){
-
 
815
								if(slide.getChildrenSlides().get(0).getFreeformContent().getFreeformText().trim()!=""){
-
 
816
									ffc = ffc + "\n *********    " + slide.getChildrenSlides().get(0).getFreeformContent().getFreeformText();
-
 
817
									System.out.println("**************" + slide.getChildrenSlides().get(0).getFreeformContent().getFreeformText());
-
 
818
								}
-
 
819
							}
-
 
820
							
-
 
821
							List<String> ffcs = new ArrayList<String>();
-
 
822
							ffcs.add(ffc);
-
 
823
							slide.getFreeformContent().setFreeformTexts(ffcs);
-
 
824
						}
-
 
825
						
-
 
826
						slide.setChildrenSlides(null);
-
 
827
						//System.out.println("Slide: 130050");
-
 
828
						//printSlideContent(slide);
-
 
829
						break;
-
 
830
 
-
 
831
					case 130052:
-
 
832
						removeMap.put(slide.getSlideDefinitionID(), (long)130050);
-
 
833
						slide.setSlideDefinitionID(130050);
-
 
834
						
-
 
835
						for(Feature f2: slide.getFeatures()){
-
 
836
							if(f2.getFeatureDefinitionID() == 120077){
-
 
837
								f2.setFeatureDefinitionID(120074);
-
 
838
//								List<Bullet> newBullets = new ArrayList<Bullet>();
-
 
839
//								for(Bullet bul: f2.getBullets()){
-
 
840
//									CompositeDataObject cdo =  (CompositeDataObject) bul.getDataObject();
-
 
841
//									for(PrimitiveDataObject pdo1: cdo.getPrimitiveDataObjects()){
-
 
842
//										pdo1.getValue();
-
 
843
//										BulletDataObject bdo2 = new EnumDataObject(enumValueID);
-
 
844
//										Bullet newbul = new Bullet(bdo2);
-
 
845
//										newBullets.add(newbul);
-
 
846
//									}
-
 
847
//									
-
 
848
//								}
-
 
849
//								f2.setBullets(newBullets);
-
 
850
							}
-
 
851
							if(f2.getFeatureDefinitionID() == 120078){
-
 
852
								f2.setFeatureDefinitionID(120075);
-
 
853
							}
-
 
854
						}
-
 
855
//						slide.setFeatures(slide.getChildrenSlides().get(0).getFeatures());
-
 
856
//						slide.setChildrenSlides(null);
-
 
857
						//System.out.println("Slide: 130052");
-
 
858
						
-
 
859
						//printSlideContent(slide);
-
 
860
						break;
-
 
861
 
-
 
862
					case 130051:
-
 
863
						removeMap.put(slide.getSlideDefinitionID(), (long)130050);
-
 
864
						slide.setSlideDefinitionID(130050);
-
 
865
//						System.out.println(slide);
-
 
866
						//System.out.println("Slide 130051:");
-
 
867
		//				printSlideContent(slide);
-
 
868
						break;
-
 
869
						
-
 
870
					default:
-
 
871
						break;
-
 
872
					}
644
					}
873
 
645
 
874
				}
-
 
875
				List<Long> newSequence = new ArrayList<Long>();
646
					if (slide.getSlideDefinitionID() == 130029) {
-
 
647
						// System.out.println("** " + entity.getID() + ":" +
876
				for(Long id: slideSequence){
648
						// entity.getCategoryID());
877
					if(removeMap.containsKey(id)){
649
						if (entity.getCategoryID() == 10002) {
878
						newSequence.add(removeMap.get(id));
650
							Feature feature = new Feature(120051);
879
					}else{
651
							slide.getFeatures().add(feature);
-
 
652
							System.out.println("** " + entity.getID() + ":"
880
						newSequence.add(id);
653
									+ entity.getCategoryID());
-
 
654
						}
881
					}
655
					}
-
 
656
 
882
				}
657
				}
883
				entity.setSlideSequence(newSequence);
-
 
884
				CreationUtils.updateEntity(entity);
-
 
885
			}
658
			}
-
 
659
			CreationUtils.updateEntity(entity);
886
		}
660
		}
887
			
-
 
888
		return true;
661
		return true;
889
	}
662
	}
-
 
663
 
890
*/
664
	/*
-
 
665
	 * public boolean migrateModel1() throws Exception{ //DefinitionsContainer
-
 
666
	 * oldDfc = new DefinitionsContainer(Utils.CONTENT_DB_PATH +
-
 
667
	 * "olddefinitions" + File.separator); //DefinitionsContainer newDfc = new
-
 
668
	 * DefinitionsContainer(Utils.CONTENT_DB_PATH + "olddefinitions" +
-
 
669
	 * File.separator);
-
 
670
	 * 
-
 
671
	 * Map<Long, Entity> entities = CreationUtils.getEntities(); for(Entity
-
 
672
	 * entity: entities.values()){ List<Long> slideSequence =
-
 
673
	 * entity.getSlideSequence(); Map<Long,Long> removeMap = new HashMap<Long,
-
 
674
	 * Long>(); List<Slide> slides = entity.getSlides(); if(slides!=null){
-
 
675
	 * for(Slide slide: slides){ List<Feature> features; Slide childSlide;
-
 
676
	 * switch ((int)slide.getSlideDefinitionID()) {
-
 
677
	 * 
-
 
678
	 * //Keyboard case 130004: case 130026: case 130027: case 130057:
-
 
679
	 * removeMap.put(slide.getSlideDefinitionID(), (long)130026);
-
 
680
	 * slide.setSlideDefinitionID(130026); break;
-
 
681
	 * 
-
 
682
	 * //Voice Calling case 130005: removeMap.put(slide.getSlideDefinitionID(),
-
 
683
	 * (long)130005); slide.setSlideDefinitionID(130005); features = new
-
 
684
	 * ArrayList<Feature>(); features.addAll(slide.getFeatures()); childSlide =
-
 
685
	 * slide.getChildrenSlides().get(0);
-
 
686
	 * features.addAll(childSlide.getFeatures());
-
 
687
	 * if(childSlide.getFreeformContent()!=null){
-
 
688
	 * System.out.println("Voice Calling : HAS FFC : " +
-
 
689
	 * childSlide.getFreeformContent().getFreeformText() +
-
 
690
	 * childSlide.getFreeformContent().getMedias()); }
-
 
691
	 * slide.setChildrenSlides(null); slide.setFeatures(features); break; case
-
 
692
	 * 130035: removeMap.put(slide.getSlideDefinitionID(), (long)130005);
-
 
693
	 * slide.setSlideDefinitionID(130005); for(Feature feata:
-
 
694
	 * slide.getFeatures()){ if(feata.getFeatureDefinitionID()==120055){
-
 
695
	 * feata.setFeatureDefinitionID(120012); } } break;
-
 
696
	 * 
-
 
697
	 * //Data Connectivity case 130007: case 130028:
-
 
698
	 * removeMap.put(slide.getSlideDefinitionID(), (long)130007);
-
 
699
	 * slide.setSlideDefinitionID(130007); break;
-
 
700
	 * 
-
 
701
	 * //Music case 130029: case 130030: case 130008:
-
 
702
	 * removeMap.put(slide.getSlideDefinitionID(), (long)130029);
-
 
703
	 * slide.setSlideDefinitionID(130029); break;
-
 
704
	 * 
-
 
705
	 * //Video case 130031: case 130009:
-
 
706
	 * removeMap.put(slide.getSlideDefinitionID(), (long)130031);
-
 
707
	 * slide.setSlideDefinitionID(130031); break;
-
 
708
	 * 
-
 
709
	 * //Camera case 130010: case 130036: case 130037:
-
 
710
	 * removeMap.put(slide.getSlideDefinitionID(), (long)130010);
-
 
711
	 * slide.setSlideDefinitionID(130010); break; case 130060:
-
 
712
	 * removeMap.put(slide.getSlideDefinitionID(), (long)130010);
-
 
713
	 * slide.setSlideDefinitionID(130010);
-
 
714
	 * 
-
 
715
	 * features = slide.getFeatures(); // Just to add camera feature in basic
-
 
716
	 * phones Feature feature = new Feature(120056); List<Bullet> bullets = new
-
 
717
	 * ArrayList<Bullet>(); PrimitiveDataObject pdo = new
-
 
718
	 * PrimitiveDataObject("1"); Bullet bullet = new Bullet(pdo);
-
 
719
	 * bullets.add(bullet); feature.setBullets(bullets); features.add(feature);
-
 
720
	 * //Created new feature break;
-
 
721
	 * 
-
 
722
	 * //Memory case 130011: removeMap.put(slide.getSlideDefinitionID(),
-
 
723
	 * (long)130011); slide.setSlideDefinitionID(130011); break; case 130032:
-
 
724
	 * case 130061: removeMap.put(slide.getSlideDefinitionID(), (long)130011);
-
 
725
	 * slide.setSlideDefinitionID(130011); features = slide.getFeatures();
-
 
726
	 * for(Feature feat: features){ if(feat.getFeatureDefinitionID() == 120054){
-
 
727
	 * feat.setFeatureDefinitionID(120030); } } break;
-
 
728
	 * 
-
 
729
	 * //Battery case 130044: removeMap.put(slide.getSlideDefinitionID(),
-
 
730
	 * (long)130043); slide.setSlideDefinitionID(130043);
-
 
731
	 * if(slide.getChildrenSlides().get(0).getSlideDefinitionID() == 130047){
-
 
732
	 * slide.getChildrenSlides().get(0).setSlideDefinitionID(130046); } break;
-
 
733
	 * 
-
 
734
	 * case 130042: removeMap.put(slide.getSlideDefinitionID(), (long)130043);
-
 
735
	 * slide.setSlideDefinitionID(130043); childSlide =
-
 
736
	 * slide.getChildrenSlides().get(0); if(childSlide.getSlideDefinitionID() ==
-
 
737
	 * 130045){ childSlide.setSlideDefinitionID(130046); }
-
 
738
	 * 
-
 
739
	 * List<Feature> childFeatures1 = new ArrayList<Feature>(); List<Feature>
-
 
740
	 * childFeatures2 = new ArrayList<Feature>(); Slide childChildSlide1 = new
-
 
741
	 * Slide(130048); Slide childChildSlide2 = new Slide(130049);
-
 
742
	 * 
-
 
743
	 * childChildSlide1.setFeatures(childFeatures1);
-
 
744
	 * childChildSlide2.setFeatures(childFeatures2);
-
 
745
	 * 
-
 
746
	 * childSlide.addChild(childChildSlide1);
-
 
747
	 * childSlide.addChild(childChildSlide2);
-
 
748
	 * 
-
 
749
	 * 
-
 
750
	 * for(Feature f: childSlide.getFeatures()){ if(f.getFeatureDefinitionID()
-
 
751
	 * == 120063){ f.setFeatureDefinitionID(120068); childFeatures1.add(f); }
-
 
752
	 * if(f.getFeatureDefinitionID() == 120064){
-
 
753
	 * f.setFeatureDefinitionID(120069); childFeatures2.add(f); } }
-
 
754
	 * 
-
 
755
	 * childSlide.setFeatures(null);
-
 
756
	 * 
-
 
757
	 * break;
-
 
758
	 * 
-
 
759
	 * case 130062: removeMap.put(slide.getSlideDefinitionID(), (long)130043);
-
 
760
	 * slide.setSlideDefinitionID(130043);
-
 
761
	 * 
-
 
762
	 * childSlide = new Slide(130046); features = new ArrayList<Feature>();
-
 
763
	 * 
-
 
764
	 * slide.addChild(childSlide);
-
 
765
	 * 
-
 
766
	 * List<Feature> childFeatures11 = new ArrayList<Feature>(); List<Feature>
-
 
767
	 * childFeatures21 = new ArrayList<Feature>(); Slide childChildSlide11 = new
-
 
768
	 * Slide(130048); Slide childChildSlide21 = new Slide(130049);
-
 
769
	 * 
-
 
770
	 * childChildSlide11.setFeatures(childFeatures11);
-
 
771
	 * childChildSlide21.setFeatures(childFeatures21);
-
 
772
	 * 
-
 
773
	 * childSlide.addChild(childChildSlide11);
-
 
774
	 * childSlide.addChild(childChildSlide21); for(Feature f:
-
 
775
	 * slide.getFeatures()){ if(f.getFeatureDefinitionID() == 120072){
-
 
776
	 * features.add(f); } if(f.getFeatureDefinitionID() == 120073){
-
 
777
	 * features.add(f); } if(f.getFeatureDefinitionID() == 120063){
-
 
778
	 * f.setFeatureDefinitionID(120068); childFeatures11.add(f); }
-
 
779
	 * if(f.getFeatureDefinitionID() == 120064){
-
 
780
	 * f.setFeatureDefinitionID(120069); childFeatures21.add(f); } }
-
 
781
	 * slide.setFeatures(features); break;
-
 
782
	 * 
-
 
783
	 * 
-
 
784
	 * //Mail n Msg case 130041: case 130063:
-
 
785
	 * removeMap.put(slide.getSlideDefinitionID(), (long)130039);
-
 
786
	 * slide.setSlideDefinitionID(130039); break; case 130039:
-
 
787
	 * removeMap.put(slide.getSlideDefinitionID(), (long)130039);
-
 
788
	 * slide.setSlideDefinitionID(130039);
-
 
789
	 * 
-
 
790
	 * childSlide = slide.getChildrenSlides().get(0);
-
 
791
	 * slide.setFeatures(childSlide.getFeatures());
-
 
792
	 * if(childSlide.getFreeformContent()!=null){
-
 
793
	 * System.out.println("Mail n Msg : HAS FFC : " +
-
 
794
	 * childSlide.getFreeformContent().getFreeformText() +
-
 
795
	 * childSlide.getFreeformContent().getMedias()); }
-
 
796
	 * slide.setChildrenSlides(null); break;
-
 
797
	 * 
-
 
798
	 * //Software case 130020: case 130034:
-
 
799
	 * removeMap.put(slide.getSlideDefinitionID(), (long)130020);
-
 
800
	 * slide.setSlideDefinitionID(130020); break;
-
 
801
	 * 
-
 
802
	 * 
-
 
803
	 * //Internet case 130050: removeMap.put(slide.getSlideDefinitionID(),
-
 
804
	 * (long)130050); slide.setSlideDefinitionID(130050);
-
 
805
	 * slide.setFeatures(slide.getChildrenSlides().get(0).getFeatures());
891
	
806
	 * 
-
 
807
	 * if(slide.getChildrenSlides().get(0).getFreeformContent()!=null){ String
-
 
808
	 * ffc = slide.getFreeformContent().getFreeformText();
-
 
809
	 * if(slide.getChildrenSlides
-
 
810
	 * ().get(0).getFreeformContent().getFreeformText()!=null){
-
 
811
	 * if(slide.getChildrenSlides
-
 
812
	 * ().get(0).getFreeformContent().getFreeformText().trim()!=""){ ffc = ffc +
-
 
813
	 * "\n *********    " +
-
 
814
	 * slide.getChildrenSlides().get(0).getFreeformContent().getFreeformText();
-
 
815
	 * System.out.println("**************" +
-
 
816
	 * slide.getChildrenSlides().get(0).getFreeformContent().getFreeformText());
-
 
817
	 * } }
-
 
818
	 * 
-
 
819
	 * List<String> ffcs = new ArrayList<String>(); ffcs.add(ffc);
-
 
820
	 * slide.getFreeformContent().setFreeformTexts(ffcs); }
-
 
821
	 * 
-
 
822
	 * slide.setChildrenSlides(null); //System.out.println("Slide: 130050");
-
 
823
	 * //printSlideContent(slide); break;
-
 
824
	 * 
-
 
825
	 * case 130052: removeMap.put(slide.getSlideDefinitionID(), (long)130050);
-
 
826
	 * slide.setSlideDefinitionID(130050);
-
 
827
	 * 
-
 
828
	 * for(Feature f2: slide.getFeatures()){ if(f2.getFeatureDefinitionID() ==
-
 
829
	 * 120077){ f2.setFeatureDefinitionID(120074); // List<Bullet> newBullets =
-
 
830
	 * new ArrayList<Bullet>(); // for(Bullet bul: f2.getBullets()){ //
-
 
831
	 * CompositeDataObject cdo = (CompositeDataObject) bul.getDataObject(); //
-
 
832
	 * for(PrimitiveDataObject pdo1: cdo.getPrimitiveDataObjects()){ //
-
 
833
	 * pdo1.getValue(); // BulletDataObject bdo2 = new
-
 
834
	 * EnumDataObject(enumValueID); // Bullet newbul = new Bullet(bdo2); //
-
 
835
	 * newBullets.add(newbul); // } // // } // f2.setBullets(newBullets); }
-
 
836
	 * if(f2.getFeatureDefinitionID() == 120078){
-
 
837
	 * f2.setFeatureDefinitionID(120075); } } //
-
 
838
	 * slide.setFeatures(slide.getChildrenSlides().get(0).getFeatures()); //
-
 
839
	 * slide.setChildrenSlides(null); //System.out.println("Slide: 130052");
-
 
840
	 * 
-
 
841
	 * //printSlideContent(slide); break;
-
 
842
	 * 
-
 
843
	 * case 130051: removeMap.put(slide.getSlideDefinitionID(), (long)130050);
-
 
844
	 * slide.setSlideDefinitionID(130050); // System.out.println(slide);
-
 
845
	 * //System.out.println("Slide 130051:"); // printSlideContent(slide);
-
 
846
	 * break;
-
 
847
	 * 
-
 
848
	 * default: break; }
-
 
849
	 * 
-
 
850
	 * } List<Long> newSequence = new ArrayList<Long>(); for(Long id:
-
 
851
	 * slideSequence){ if(removeMap.containsKey(id)){
-
 
852
	 * newSequence.add(removeMap.get(id)); }else{ newSequence.add(id); } }
-
 
853
	 * entity.setSlideSequence(newSequence); CreationUtils.updateEntity(entity);
-
 
854
	 * } }
-
 
855
	 * 
-
 
856
	 * return true; }
-
 
857
	 */
892
	
858
 
893
	public void printSlideContent(Slide slide){
859
	public void printSlideContent(Slide slide) {
894
		
860
 
-
 
861
		System.out.println("Slide: "
895
		System.out.println("Slide: " + slide.getFreeformContent().getFreeformText());
862
				+ slide.getFreeformContent().getFreeformText());
896
		if(slide.getFeatures()!=null){
863
		if (slide.getFeatures() != null) {
897
			for(Feature feature: slide.getFeatures()){
864
			for (Feature feature : slide.getFeatures()) {
898
				if(feature.getBullets()!=null){
865
				if (feature.getBullets() != null) {
899
					for(Bullet bullet:feature.getBullets()){
866
					for (Bullet bullet : feature.getBullets()) {
900
						//System.out.println(bullet.getDataObject().toString());
867
						// System.out.println(bullet.getDataObject().toString());
901
						//System.out.println(bullet.getFreeformContent());
868
						// System.out.println(bullet.getFreeformContent());
902
					}
869
					}
903
				}
870
				}
904
				if(feature.getFreeformContent()!=null){
871
				if (feature.getFreeformContent() != null) {
-
 
872
					System.out.println("Feature: "
905
					System.out.println("Feature: "+ feature.getFreeformContent().getFreeformText());
873
							+ feature.getFreeformContent().getFreeformText());
906
				}
874
				}
907
			}
875
			}
908
		}
876
		}
909
		if(slide.getChildrenSlides()!=null){
877
		if (slide.getChildrenSlides() != null) {
910
			for(Slide sl: slide.getChildrenSlides()){
878
			for (Slide sl : slide.getChildrenSlides()) {
911
				System.out.println("Child1: ");
879
				System.out.println("Child1: ");
912
				printSlideContent(sl);
880
				printSlideContent(sl);
913
				System.out.println("Child2: ");
881
				System.out.println("Child2: ");
914
			}
882
			}
915
		}
883
		}
916
		
884
 
917
	}
885
	}
-
 
886
 
918
	/*
887
	/*
919
	public boolean migrateModel() throws Exception{
888
	 * public boolean migrateModel() throws Exception{ //DefinitionsContainer
920
		//DefinitionsContainer oldDfc = new DefinitionsContainer(Utils.CONTENT_DB_PATH + "olddefinitions" + File.separator);
889
	 * oldDfc = new DefinitionsContainer(Utils.CONTENT_DB_PATH +
921
		//DefinitionsContainer newDfc = new DefinitionsContainer(Utils.CONTENT_DB_PATH + "olddefinitions" + File.separator);
890
	 * "olddefinitions" + File.separator); //DefinitionsContainer newDfc = new
922
		
891
	 * DefinitionsContainer(Utils.CONTENT_DB_PATH + "olddefinitions" +
923
		Map<Long, Entity> entities = CreationUtils.getEntities();
892
	 * File.separator);
924
		for(Entity entity: entities.values()){
893
	 * 
925
			List<Slide> slides = entity.getSlides();
894
	 * Map<Long, Entity> entities = CreationUtils.getEntities(); for(Entity
926
			if(slides!=null){
895
	 * entity: entities.values()){ List<Slide> slides = entity.getSlides();
927
				List<Slide> newSlides = new ArrayList<Slide>();
896
	 * if(slides!=null){ List<Slide> newSlides = new ArrayList<Slide>();
928
				for(Slide slide: slides){
897
	 * for(Slide slide: slides){ Slide newSlide; List<Feature> features; Slide
929
					Slide newSlide;
898
	 * childSlide; switch ((int)slide.getSlideDefinitionID()) {
930
					List<Feature> features;
899
	 * 
931
					Slide childSlide;
900
	 * //Keyboard case 130004: case 130026: case 130027: case 130057: newSlide =
932
					switch ((int)slide.getSlideDefinitionID()) {
901
	 * new Slide(130026); newSlide.setChildrenSlides(slide.getChildrenSlides());
933
					
902
	 * newSlide.setFeatures(slide.getFeatures());
934
					//Keyboard
903
	 * newSlide.setFreeformContent(slide.getFreeformContent());
935
					case 130004:
904
	 * newSlides.add(newSlide); break;
936
					case 130026:
905
	 * 
937
					case 130027:
906
	 * //Voice Calling case 130005: newSlide = new Slide(130005);
938
					case 130057:
907
	 * newSlide.setChildrenSlides(null); features = new ArrayList<Feature>();
939
						newSlide = new Slide(130026);
908
	 * features.addAll(slide.getFeatures()); childSlide =
940
						newSlide.setChildrenSlides(slide.getChildrenSlides());
909
	 * slide.getChildrenSlides().get(0);
941
						newSlide.setFeatures(slide.getFeatures());
910
	 * features.addAll(childSlide.getFeatures());
942
						newSlide.setFreeformContent(slide.getFreeformContent());
911
	 * if(childSlide.getFreeformContent()!=null){
943
						newSlides.add(newSlide);
912
	 * System.out.println("Voice Calling : HAS FFC : " +
944
						break;
913
	 * childSlide.getFreeformContent().getFreeformText() +
945
					
914
	 * childSlide.getFreeformContent().getMedias()); }
946
					//Voice Calling
915
	 * newSlide.setFeatures(features);
947
					case 130005:
916
	 * newSlide.setFreeformContent(slide.getFreeformContent());
948
						newSlide = new Slide(130005);
917
	 * newSlides.add(newSlide); break; case 130035: newSlide = new
949
						newSlide.setChildrenSlides(null);
918
	 * Slide(130035); newSlide.setChildrenSlides(slide.getChildrenSlides());
950
						features = new ArrayList<Feature>();
919
	 * for(Feature feata: slide.getFeatures()){
951
						features.addAll(slide.getFeatures());
920
	 * if(feata.getFeatureDefinitionID()==120055){
952
						childSlide = slide.getChildrenSlides().get(0);
921
	 * feata.setFeatureDefinitionID(120012); } }
953
						features.addAll(childSlide.getFeatures());
922
	 * newSlide.setFeatures(slide.getFeatures());
954
						if(childSlide.getFreeformContent()!=null){
923
	 * newSlide.setFreeformContent(slide.getFreeformContent());
955
							System.out.println("Voice Calling : HAS FFC : " + childSlide.getFreeformContent().getFreeformText() + childSlide.getFreeformContent().getMedias());
924
	 * newSlides.add(newSlide); break;
956
						}
925
	 * 
957
						newSlide.setFeatures(features);
926
	 * //Data Connectivity case 130007: case 130028: newSlide = new
958
						newSlide.setFreeformContent(slide.getFreeformContent());
927
	 * Slide(130007); newSlide.setChildrenSlides(slide.getChildrenSlides());
959
						newSlides.add(newSlide);						
928
	 * newSlide.setFeatures(slide.getFeatures());
960
						break;
929
	 * newSlide.setFreeformContent(slide.getFreeformContent());
961
					case 130035:
930
	 * newSlides.add(newSlide); break;
962
						newSlide = new Slide(130035);
931
	 * 
963
						newSlide.setChildrenSlides(slide.getChildrenSlides());
932
	 * //Music case 130029: case 130030: case 130008: newSlide = new
964
						for(Feature feata: slide.getFeatures()){
933
	 * Slide(130029); newSlide.setChildrenSlides(slide.getChildrenSlides());
965
							if(feata.getFeatureDefinitionID()==120055){
934
	 * newSlide.setFeatures(slide.getFeatures());
966
								feata.setFeatureDefinitionID(120012);
935
	 * newSlide.setFreeformContent(slide.getFreeformContent());
967
							}
936
	 * newSlides.add(newSlide); break;
968
						}
937
	 * 
969
						newSlide.setFeatures(slide.getFeatures());
938
	 * //Video case 130031: case 130009: newSlide = new Slide(130031);
970
						newSlide.setFreeformContent(slide.getFreeformContent());
939
	 * newSlide.setChildrenSlides(slide.getChildrenSlides());
971
						newSlides.add(newSlide);						
940
	 * newSlide.setFeatures(slide.getFeatures());
972
						break;
941
	 * newSlide.setFreeformContent(slide.getFreeformContent());
973
					
942
	 * newSlides.add(newSlide); break;
974
					//Data Connectivity
943
	 * 
975
					case 130007:
944
	 * //Camera case 130010: case 130036: case 130037: newSlide = new
976
					case 130028:
945
	 * Slide(130010); newSlide.setChildrenSlides(slide.getChildrenSlides());
977
						newSlide = new Slide(130007);
946
	 * newSlide.setFeatures(slide.getFeatures());
978
						newSlide.setChildrenSlides(slide.getChildrenSlides());
947
	 * newSlide.setFreeformContent(slide.getFreeformContent());
979
						newSlide.setFeatures(slide.getFeatures());
948
	 * newSlides.add(newSlide); break; case 130060: newSlide = new
980
						newSlide.setFreeformContent(slide.getFreeformContent());
949
	 * Slide(130010); newSlide.setChildrenSlides(slide.getChildrenSlides());
981
						newSlides.add(newSlide);
950
	 * features = slide.getFeatures(); // Just to add camera feature in basic
982
						break;
951
	 * phones Feature feature = new Feature(120056); List<Bullet> bullets = new
983
						
952
	 * ArrayList<Bullet>(); PrimitiveDataObject pdo = new
984
					//Music
953
	 * PrimitiveDataObject("1"); Bullet bullet = new Bullet(pdo);
985
					case 130029:
954
	 * bullets.add(bullet); feature.setBullets(bullets); features.add(feature);
986
					case 130030:
955
	 * //Created new feature newSlide.setFeatures(features);
987
					case 130008:
956
	 * newSlide.setFreeformContent(slide.getFreeformContent());
988
						newSlide = new Slide(130029);
957
	 * newSlides.add(newSlide); break;
989
						newSlide.setChildrenSlides(slide.getChildrenSlides());
958
	 * 
990
						newSlide.setFeatures(slide.getFeatures());
959
	 * //Memory case 130011: newSlide = new Slide(130011);
991
						newSlide.setFreeformContent(slide.getFreeformContent());
960
	 * newSlide.setChildrenSlides(slide.getChildrenSlides());
992
						newSlides.add(newSlide);
961
	 * newSlide.setFeatures(slide.getFeatures());
993
						break;
962
	 * newSlide.setFreeformContent(slide.getFreeformContent());
994
						
963
	 * newSlides.add(newSlide); break; case 130032: case 130061: newSlide = new
995
					//Video
964
	 * Slide(130011); newSlide.setChildrenSlides(slide.getChildrenSlides());
996
					case 130031:
965
	 * features = slide.getFeatures(); for(Feature feat: features){
997
					case 130009:
966
	 * if(feat.getFeatureDefinitionID() == 130054){
998
						newSlide = new Slide(130031);
967
	 * feat.setFeatureDefinitionID(120030); } }
999
						newSlide.setChildrenSlides(slide.getChildrenSlides());
968
	 * newSlide.setFeatures(slide.getFeatures());
1000
						newSlide.setFeatures(slide.getFeatures());
969
	 * newSlide.setFreeformContent(slide.getFreeformContent());
1001
						newSlide.setFreeformContent(slide.getFreeformContent());
970
	 * newSlides.add(newSlide); break;
1002
						newSlides.add(newSlide);
971
	 * 
1003
						break;
972
	 * //Battery case 130044: newSlide = new Slide(130043);
1004
						
973
	 * if(slide.getChildrenSlides().get(0).getSlideDefinitionID() == 130047){
1005
					//Camera
974
	 * slide.getChildrenSlides().get(0).setSlideDefinitionID(130046); }
1006
					case 130010:
975
	 * newSlide.setChildrenSlides(slide.getChildrenSlides());
1007
					case 130036:
976
	 * newSlide.setFeatures(slide.getFeatures());
1008
					case 130037:
977
	 * newSlide.setFreeformContent(slide.getFreeformContent());
1009
						newSlide = new Slide(130010);
978
	 * newSlides.add(newSlide); break;
1010
						newSlide.setChildrenSlides(slide.getChildrenSlides());
979
	 * 
1011
						newSlide.setFeatures(slide.getFeatures());
980
	 * case 130042: newSlide = new Slide(130043); childSlide =
1012
						newSlide.setFreeformContent(slide.getFreeformContent());
981
	 * slide.getChildrenSlides().get(0); if(childSlide.getSlideDefinitionID() ==
1013
						newSlides.add(newSlide);
982
	 * 130045){ childSlide.setSlideDefinitionID(130046); }
1014
						break;
983
	 * newSlide.setChildrenSlides(slide.getChildrenSlides());
1015
					case 130060:
984
	 * 
1016
						newSlide = new Slide(130010);
985
	 * List<Feature> childFeatures1 = new ArrayList<Feature>(); List<Feature>
1017
						newSlide.setChildrenSlides(slide.getChildrenSlides());
986
	 * childFeatures2 = new ArrayList<Feature>(); Slide childChildSlide1 = new
1018
						features =  slide.getFeatures();
987
	 * Slide(130048); Slide childChildSlide2 = new Slide(130049);
1019
						// Just to add camera feature in basic phones
988
	 * 
1020
						Feature feature = new Feature(120056);
989
	 * childChildSlide1.setFeatures(childFeatures1);
1021
						List<Bullet> bullets =  new ArrayList<Bullet>();
990
	 * childChildSlide2.setFeatures(childFeatures2);
1022
						PrimitiveDataObject pdo = new PrimitiveDataObject("1");
991
	 * 
1023
						Bullet bullet = new Bullet(pdo);
992
	 * childSlide.addChild(childChildSlide1);
1024
						bullets.add(bullet);
993
	 * childSlide.addChild(childChildSlide2);
1025
						feature.setBullets(bullets);
994
	 * 
1026
						features.add(feature);
995
	 * 
1027
						//Created new feature
996
	 * for(Feature f: childSlide.getFeatures()){ if(f.getFeatureDefinitionID()
1028
						newSlide.setFeatures(features);
997
	 * == 120063){ f.setFeatureDefinitionID(120068); childFeatures1.add(f); }
1029
						newSlide.setFreeformContent(slide.getFreeformContent());
998
	 * if(f.getFeatureDefinitionID() == 120064){
1030
						newSlides.add(newSlide);
999
	 * f.setFeatureDefinitionID(120069); childFeatures2.add(f); } }
1031
						break;
1000
	 * 
1032
						
1001
	 * childSlide.setFeatures(null);
1033
					//Memory
1002
	 * 
1034
					case 130011:
1003
	 * newSlide.setFeatures(slide.getFeatures());
1035
						newSlide = new Slide(130011);
1004
	 * newSlide.setFreeformContent(slide.getFreeformContent());
1036
						newSlide.setChildrenSlides(slide.getChildrenSlides());
1005
	 * newSlides.add(newSlide); break;
1037
						newSlide.setFeatures(slide.getFeatures());
1006
	 * 
1038
						newSlide.setFreeformContent(slide.getFreeformContent());
1007
	 * case 130062: newSlide = new Slide(130043);
1039
						newSlides.add(newSlide);
1008
	 * newSlide.setChildrenSlides(slide.getChildrenSlides()); childSlide = new
1040
						break;
1009
	 * Slide(130046); features = new ArrayList<Feature>();
1041
					case 130032:
1010
	 * newSlide.setFeatures(features); newSlide.addChild(childSlide);
1042
					case 130061:
1011
	 * 
1043
						newSlide = new Slide(130011);
1012
	 * List<Feature> childFeatures11 = new ArrayList<Feature>(); List<Feature>
1044
						newSlide.setChildrenSlides(slide.getChildrenSlides());
1013
	 * childFeatures21 = new ArrayList<Feature>(); Slide childChildSlide11 = new
1045
						features =  slide.getFeatures();
1014
	 * Slide(130048); Slide childChildSlide21 = new Slide(130049);
1046
						for(Feature feat: features){
1015
	 * 
1047
							if(feat.getFeatureDefinitionID() == 130054){
1016
	 * childChildSlide11.setFeatures(childFeatures11);
1048
								feat.setFeatureDefinitionID(120030);
1017
	 * childChildSlide21.setFeatures(childFeatures21);
1049
							}
1018
	 * 
1050
						}
1019
	 * childSlide.addChild(childChildSlide11);
1051
						newSlide.setFeatures(slide.getFeatures());
1020
	 * childSlide.addChild(childChildSlide21); for(Feature f:
1052
						newSlide.setFreeformContent(slide.getFreeformContent());
1021
	 * slide.getFeatures()){ if(f.getFeatureDefinitionID() == 120072){
1053
						newSlides.add(newSlide);
1022
	 * features.add(f); } if(f.getFeatureDefinitionID() == 120073){
1054
						break;
1023
	 * features.add(f); } if(f.getFeatureDefinitionID() == 120063){
1055
						
1024
	 * f.setFeatureDefinitionID(120068); childFeatures11.add(f); }
1056
					//Battery
1025
	 * if(f.getFeatureDefinitionID() == 120064){
1057
					case 130044:
1026
	 * f.setFeatureDefinitionID(120069); childFeatures21.add(f); } }
1058
						newSlide = new Slide(130043);
1027
	 * 
1059
						if(slide.getChildrenSlides().get(0).getSlideDefinitionID() == 130047){
1028
	 * newSlide.setFeatures(slide.getFeatures());
1060
							slide.getChildrenSlides().get(0).setSlideDefinitionID(130046);
1029
	 * newSlide.setFreeformContent(slide.getFreeformContent());
1061
						}
1030
	 * newSlides.add(newSlide); break;
1062
						newSlide.setChildrenSlides(slide.getChildrenSlides());
1031
	 * 
1063
						newSlide.setFeatures(slide.getFeatures());
1032
	 * 
1064
						newSlide.setFreeformContent(slide.getFreeformContent());
1033
	 * //Mail n Msg case 130041: case 130063: newSlide = new Slide(130039);
1065
						newSlides.add(newSlide);
1034
	 * newSlide.setChildrenSlides(slide.getChildrenSlides());
1066
						break;
1035
	 * newSlide.setFeatures(slide.getFeatures());
1067
						
1036
	 * newSlide.setFreeformContent(slide.getFreeformContent());
1068
					case 130042:
1037
	 * newSlides.add(newSlide); break; case 130039: newSlide = new
1069
						newSlide = new Slide(130043);
1038
	 * Slide(130039); //newSlide.setChildrenSlides(slide.getChildrenSlides());
1070
						childSlide = slide.getChildrenSlides().get(0);
1039
	 * childSlide = slide.getChildrenSlides().get(0);
1071
						if(childSlide.getSlideDefinitionID() == 130045){
1040
	 * newSlide.setFeatures(childSlide.getFeatures());
1072
							childSlide.setSlideDefinitionID(130046);
1041
	 * if(childSlide.getFreeformContent()!=null){
1073
						}
1042
	 * System.out.println("Mail n Msg : HAS FFC : " +
1074
						newSlide.setChildrenSlides(slide.getChildrenSlides());
1043
	 * childSlide.getFreeformContent().getFreeformText() +
1075
						
1044
	 * childSlide.getFreeformContent().getMedias()); }
1076
						List<Feature> childFeatures1 = new ArrayList<Feature>();
1045
	 * newSlide.setFreeformContent(slide.getFreeformContent());
1077
						List<Feature> childFeatures2 = new ArrayList<Feature>();
1046
	 * newSlides.add(newSlide); break;
1078
						Slide childChildSlide1 = new Slide(130048);
1047
	 * 
1079
						Slide childChildSlide2 = new Slide(130049);
1048
	 * //Software case 130020: case 130034: newSlide = new Slide(130034);
1080
						
1049
	 * newSlide.setChildrenSlides(slide.getChildrenSlides()); features =
1081
						childChildSlide1.setFeatures(childFeatures1);
1050
	 * slide.getFeatures(); newSlide.setFeatures(slide.getFeatures());
1082
						childChildSlide2.setFeatures(childFeatures2);
1051
	 * newSlide.setFreeformContent(slide.getFreeformContent());
1083
						
1052
	 * newSlides.add(newSlide); break;
1084
						childSlide.addChild(childChildSlide1);
1053
	 * 
1085
						childSlide.addChild(childChildSlide2);
1054
	 * 
1086
 
1055
	 * default: newSlides.add(slide); break; } } entity.setSlides(newSlides);
1087
						
1056
	 * CreationUtils.updateEntity(entity); } }
1088
						for(Feature f: childSlide.getFeatures()){
1057
	 * 
1089
							if(f.getFeatureDefinitionID() == 120063){
1058
	 * return true; }
1090
								f.setFeatureDefinitionID(120068);
1059
	 */
1091
								childFeatures1.add(f);
1060
	public boolean migrateRemoveBorrowedCategoryIdFromSlide() throws Exception {
1092
							}
-
 
1093
							if(f.getFeatureDefinitionID() == 120064){
-
 
1094
								f.setFeatureDefinitionID(120069);
-
 
1095
								childFeatures2.add(f);
-
 
1096
							}
-
 
1097
						}
-
 
1098
						
-
 
1099
						childSlide.setFeatures(null);
-
 
1100
						
-
 
1101
						newSlide.setFeatures(slide.getFeatures());
-
 
1102
						newSlide.setFreeformContent(slide.getFreeformContent());
-
 
1103
						newSlides.add(newSlide);
-
 
1104
						break;
-
 
1105
						
-
 
1106
					case 130062:
-
 
1107
						newSlide = new Slide(130043);
-
 
1108
						newSlide.setChildrenSlides(slide.getChildrenSlides());
-
 
1109
						childSlide = new Slide(130046);
-
 
1110
						features = new ArrayList<Feature>();
-
 
1111
						newSlide.setFeatures(features);
-
 
1112
						newSlide.addChild(childSlide);
-
 
1113
						
-
 
1114
						List<Feature> childFeatures11 = new ArrayList<Feature>();
-
 
1115
						List<Feature> childFeatures21 = new ArrayList<Feature>();
-
 
1116
						Slide childChildSlide11 = new Slide(130048);
-
 
1117
						Slide childChildSlide21 = new Slide(130049);
-
 
1118
						
-
 
1119
						childChildSlide11.setFeatures(childFeatures11);
-
 
1120
						childChildSlide21.setFeatures(childFeatures21);
-
 
1121
						
-
 
1122
						childSlide.addChild(childChildSlide11);
-
 
1123
						childSlide.addChild(childChildSlide21);
-
 
1124
						for(Feature f: slide.getFeatures()){
-
 
1125
							if(f.getFeatureDefinitionID() == 120072){
-
 
1126
								features.add(f);
-
 
1127
							}
-
 
1128
							if(f.getFeatureDefinitionID() == 120073){
-
 
1129
								features.add(f);
-
 
1130
							}
-
 
1131
							if(f.getFeatureDefinitionID() == 120063){
-
 
1132
								f.setFeatureDefinitionID(120068);
-
 
1133
								childFeatures11.add(f);
-
 
1134
							}
-
 
1135
							if(f.getFeatureDefinitionID() == 120064){
-
 
1136
								f.setFeatureDefinitionID(120069);
-
 
1137
								childFeatures21.add(f);
-
 
1138
							}
-
 
1139
						}
-
 
1140
						
-
 
1141
						newSlide.setFeatures(slide.getFeatures());
-
 
1142
						newSlide.setFreeformContent(slide.getFreeformContent());
-
 
1143
						newSlides.add(newSlide);
-
 
1144
						break;
-
 
1145
						
-
 
1146
						
-
 
1147
					//Mail n Msg
-
 
1148
					case 130041:
-
 
1149
					case 130063:
-
 
1150
						newSlide = new Slide(130039);
-
 
1151
						newSlide.setChildrenSlides(slide.getChildrenSlides());
-
 
1152
						newSlide.setFeatures(slide.getFeatures());
-
 
1153
						newSlide.setFreeformContent(slide.getFreeformContent());
-
 
1154
						newSlides.add(newSlide);
-
 
1155
						break;
-
 
1156
					case 130039:
-
 
1157
						newSlide = new Slide(130039);
-
 
1158
						//newSlide.setChildrenSlides(slide.getChildrenSlides());
-
 
1159
						childSlide = slide.getChildrenSlides().get(0);
-
 
1160
						newSlide.setFeatures(childSlide.getFeatures());
-
 
1161
						if(childSlide.getFreeformContent()!=null){
-
 
1162
							System.out.println("Mail n Msg : HAS FFC : " + childSlide.getFreeformContent().getFreeformText() + childSlide.getFreeformContent().getMedias());
-
 
1163
						}
-
 
1164
						newSlide.setFreeformContent(slide.getFreeformContent());
-
 
1165
						newSlides.add(newSlide);
-
 
1166
						break;
-
 
1167
						
-
 
1168
					//Software
-
 
1169
					case 130020:
-
 
1170
					case 130034:
-
 
1171
						newSlide = new Slide(130034);
-
 
1172
						newSlide.setChildrenSlides(slide.getChildrenSlides());
-
 
1173
						features =  slide.getFeatures();
-
 
1174
						newSlide.setFeatures(slide.getFeatures());
-
 
1175
						newSlide.setFreeformContent(slide.getFreeformContent());
-
 
1176
						newSlides.add(newSlide);
-
 
1177
						break;
-
 
1178
 
-
 
1179
						
-
 
1180
					default:
-
 
1181
						newSlides.add(slide);
-
 
1182
						break;
-
 
1183
					}
-
 
1184
				}
-
 
1185
				entity.setSlides(newSlides);
-
 
1186
				CreationUtils.updateEntity(entity);
-
 
1187
			}
-
 
1188
		}
-
 
1189
			
-
 
1190
		return true;
-
 
1191
	}
-
 
1192
	
-
 
1193
	*/
-
 
1194
	public boolean migrateRemoveBorrowedCategoryIdFromSlide() throws Exception{
-
 
1195
		Map<Long, Entity> entities = CreationUtils.getEntities();
1061
		Map<Long, Entity> entities = CreationUtils.getEntities();
1196
		for(Entity entity: entities.values()){
1062
		for (Entity entity : entities.values()) {
1197
			if(entity.getID() == 0){
1063
			if (entity.getID() == 0) {
1198
				CreationUtils.deleteEntity(entity.getID());
1064
				CreationUtils.deleteEntity(entity.getID());
1199
			}
1065
			}
1200
			List<Slide> slides = entity.getSlides();
1066
			List<Slide> slides = entity.getSlides();
1201
			if(slides!=null){
1067
			if (slides != null) {
1202
				List<Slide> newSlides = new ArrayList<Slide>();
1068
				List<Slide> newSlides = new ArrayList<Slide>();
1203
				for(Slide slide: slides){
1069
				for (Slide slide : slides) {
1204
					Slide newSlide = new Slide(slide.getSlideDefinitionID());
1070
					Slide newSlide = new Slide(slide.getSlideDefinitionID());
1205
					newSlide.setChildrenSlides(slide.getChildrenSlides());
1071
					newSlide.setChildrenSlides(slide.getChildrenSlides());
1206
					newSlide.setFeatures(slide.getFeatures());
1072
					newSlide.setFeatures(slide.getFeatures());
1207
					newSlide.setFreeformContent(slide.getFreeformContent());
1073
					newSlide.setFreeformContent(slide.getFreeformContent());
1208
					newSlides.add(newSlide);
1074
					newSlides.add(newSlide);
Line 1211... Line 1077...
1211
				CreationUtils.updateEntity(entity);
1077
				CreationUtils.updateEntity(entity);
1212
			}
1078
			}
1213
		}
1079
		}
1214
		return true;
1080
		return true;
1215
	}
1081
	}
1216
	public boolean migrate() throws Exception{
-
 
1217
	/*	 
-
 
1218
		DefinitionsContainer sourceDefs = new DefinitionsContainer(sourceDbPath);
-
 
1219
		DefinitionsContainer destinationDefs = new DefinitionsContainer(destinationDbPath);
-
 
1220
		EntityContainer sourceEnts = new EntityContainer(sourceDbPath);
-
 
1221
		EntityContainer destinationEnts = new EntityContainer(destinationDbPath);
-
 
1222
		
-
 
1223
		Map<Long, Entity> entities = sourceEnts.getEntities();
-
 
1224
		
-
 
1225
		File f = new File("/home/rajveer/Desktop/info.txt");
-
 
1226
		FileWriter fstream = new FileWriter(f);
-
 
1227
        BufferedWriter out = new BufferedWriter(fstream);
-
 
1228
        StringBuilder sb = new StringBuilder();
-
 
1229
        
-
 
1230
        
-
 
1231
		for(Entity entity: entities.values()){
-
 
1232
			List<Slide> slides = entity.getSlides();
-
 
1233
			
-
 
1234
			//List<String> vidLabels = CreationUtils.getMediaLabels(entity.getID(),"youtube");
-
 
1235
			//List<String> imgLabels = CreationUtils.getMediaLabels(entity.getID(),"image");
-
 
1236
			
-
 
1237
			//Map<String, Media> rawMedia = CreationUtils.getRawMedia(entity.getID());
-
 
1238
			
-
 
1239
			
-
 
1240
//			List<String> vidLabels = OldCreationUtils.getMediaLabels(entity.getID(),"youtube");
-
 
1241
//			List<String> imgLabels = OldCreationUtils.getMediaLabels(entity.getID(),"image");
-
 
1242
		
-
 
1243
			Entity newEntity = new Entity(entity.getID(), entity.getCategoryID());
-
 
1244
			newEntity.setBrand(entity.getBrand());
-
 
1245
			newEntity.setModelName(entity.getModelName());
-
 
1246
			newEntity.setModelNumber(entity.getModelNumber());
-
 
1247
			
-
 
1248
			
-
 
1249
			Map<String, in.shop2020.creation.util.Media> rawMedia = OldCreationUtils.getRawMedia(entity.getID());
-
 
1250
			
-
 
1251
			Map<String, Media> newrawMedia = new HashMap<String, Media>();
-
 
1252
			
-
 
1253
			
-
 
1254
			int totalRawVideos = 0;
-
 
1255
			int totalRawImages = 0;
-
 
1256
			
-
 
1257
			if(rawMedia!=null){
-
 
1258
				for(String label: rawMedia.keySet()){
-
 
1259
					in.shop2020.creation.util.Media media = rawMedia.get(label);
-
 
1260
					
-
 
1261
					label = media.getLabel();
-
 
1262
					String type = media.getType();
-
 
1263
					String location = media.getLocation();
-
 
1264
					
-
 
1265
					Media newMedia = new Media(label, type, location);
-
 
1266
					
-
 
1267
					newMedia.setTitle("Title");
-
 
1268
					if(type.equals("image")){
-
 
1269
						totalRawImages++;
-
 
1270
						newMedia.setFileName(media.getFileName());
-
 
1271
						newMedia.setVideoType("");
-
 
1272
					}else{
-
 
1273
						totalRawVideos++;
-
 
1274
						newMedia.setVideoType("withoutskin");
-
 
1275
						newMedia.setFileName("");
-
 
1276
					}
-
 
1277
 
1082
 
1278
					newrawMedia.put(label, newMedia);
-
 
1279
					System.out.println("old " + media.toString());
-
 
1280
	//				System.out.println("new " + newMedia.toString());
-
 
1281
	//				OldCreationUtils.removeMedia(entity.getID(), label);
-
 
1282
	//				CreationUtils.addMedia(entity.getID(), newMedia);
-
 
1283
				}
-
 
1284
			}
-
 
1285
			
-
 
1286
			int totalVideos = 0;
-
 
1287
			int totalImages = 0;
-
 
1288
			if(rawMedia==null){
-
 
1289
			for(Slide slide: slides ){
-
 
1290
			*/
-
 
1291
				/*
-
 
1292
				FreeformContent ffc = slide.getFreeformContent();
-
 
1293
				List<String> vidList = new ArrayList<String>();
-
 
1294
				List<String> imgList = new ArrayList<String>();
-
 
1295
				
-
 
1296
				if(ffc!=null){
-
 
1297
					List<String> vidFfcLabels = ffc.getYoutubeRefs();
-
 
1298
					if(vidFfcLabels!=null){
-
 
1299
						for(String vidFfcLabel: vidFfcLabels){
-
 
1300
							StringTokenizer strTkn = new StringTokenizer(vidFfcLabel,"~!~");
-
 
1301
							String vidLabel = null;
-
 
1302
							if(strTkn.hasMoreTokens()){
-
 
1303
								vidLabel = strTkn.nextToken();
-
 
1304
								vidList.add(vidFfcLabel);
-
 
1305
								
-
 
1306
//								ffc.removeMedia("youtube", vidFfcLabel);
-
 
1307
//								ffc.addMedia("youtube", vidLabel);
-
 
1308
							}
-
 
1309
							if(vidLabel == null){
-
 
1310
								System.out.println("Something is really breaking .. bu ha ha !!!");
-
 
1311
							}
-
 
1312
							totalVideos++;
-
 
1313
						}
-
 
1314
					}
-
 
1315
					List<String> imgFfcLabels = ffc.getImageRefs();
-
 
1316
					if(imgFfcLabels!=null){
-
 
1317
						for(String imgFfcLabel: imgFfcLabels){
1083
	public boolean migrate() throws Exception {
1318
							StringTokenizer strTkn = new StringTokenizer(imgFfcLabel,"~!~");
-
 
1319
							String imgLabel = null;
-
 
1320
							if(strTkn.hasMoreTokens()){
-
 
1321
								imgLabel = strTkn.nextToken();
-
 
1322
								imgList.add(imgFfcLabel);
-
 
1323
								
-
 
1324
//								ffc.removeMedia("image", imgFfcLabel);
-
 
1325
//								ffc.addMedia("image", imgLabel);							
-
 
1326
							}
-
 
1327
							if(imgLabel == null){
-
 
1328
								System.out.println("Something is really breaking .. bu ha ha !!!");
-
 
1329
							}
-
 
1330
							totalImages++;
-
 
1331
						}
-
 
1332
					}
-
 
1333
					
-
 
1334
					for(String vidlab : vidList){
-
 
1335
						ffc.removeMedia("youtube", vidlab);
-
 
1336
						ffc.addMedia("youtube", (new StringTokenizer(vidlab, "~!~")).nextToken());
-
 
1337
					}
-
 
1338
					for(String imglab : imgList){
-
 
1339
						ffc.removeMedia("image",imglab);
-
 
1340
						ffc.addMedia("image", (new StringTokenizer(imglab, "~!~")).nextToken());
-
 
1341
					}
-
 
1342
					slide.setFreeformContent(ffc);
-
 
1343
					System.out.println("Slide id is " + slide.getSlideDefinitionID() + "   vid labels:  " + vidFfcLabels + "   img labels" + imgFfcLabels);
-
 
1344
				}
-
 
1345
			*/
-
 
1346
		/*
1084
		/*
-
 
1085
		 * DefinitionsContainer sourceDefs = new
-
 
1086
		 * DefinitionsContainer(sourceDbPath); DefinitionsContainer
-
 
1087
		 * destinationDefs = new DefinitionsContainer(destinationDbPath);
-
 
1088
		 * EntityContainer sourceEnts = new EntityContainer(sourceDbPath);
-
 
1089
		 * EntityContainer destinationEnts = new
-
 
1090
		 * EntityContainer(destinationDbPath);
-
 
1091
		 * 
-
 
1092
		 * Map<Long, Entity> entities = sourceEnts.getEntities();
-
 
1093
		 * 
-
 
1094
		 * File f = new File("/home/rajveer/Desktop/info.txt"); FileWriter
-
 
1095
		 * fstream = new FileWriter(f); BufferedWriter out = new
-
 
1096
		 * BufferedWriter(fstream); StringBuilder sb = new StringBuilder();
-
 
1097
		 * 
-
 
1098
		 * 
-
 
1099
		 * for(Entity entity: entities.values()){ List<Slide> slides =
1347
				newEntity.addSlide(slide);
1100
		 * entity.getSlides();
-
 
1101
		 * 
-
 
1102
		 * //List<String> vidLabels =
-
 
1103
		 * CreationUtils.getMediaLabels(entity.getID(),"youtube");
-
 
1104
		 * //List<String> imgLabels =
-
 
1105
		 * CreationUtils.getMediaLabels(entity.getID(),"image");
-
 
1106
		 * 
-
 
1107
		 * //Map<String, Media> rawMedia =
-
 
1108
		 * CreationUtils.getRawMedia(entity.getID());
-
 
1109
		 * 
-
 
1110
		 * 
-
 
1111
		 * // List<String> vidLabels =
-
 
1112
		 * OldCreationUtils.getMediaLabels(entity.getID(),"youtube"); //
-
 
1113
		 * List<String> imgLabels =
-
 
1114
		 * OldCreationUtils.getMediaLabels(entity.getID(),"image");
-
 
1115
		 * 
-
 
1116
		 * Entity newEntity = new Entity(entity.getID(),
-
 
1117
		 * entity.getCategoryID()); newEntity.setBrand(entity.getBrand());
-
 
1118
		 * newEntity.setModelName(entity.getModelName());
-
 
1119
		 * newEntity.setModelNumber(entity.getModelNumber());
-
 
1120
		 * 
-
 
1121
		 * 
-
 
1122
		 * Map<String, in.shop2020.creation.util.Media> rawMedia =
-
 
1123
		 * OldCreationUtils.getRawMedia(entity.getID());
-
 
1124
		 * 
-
 
1125
		 * Map<String, Media> newrawMedia = new HashMap<String, Media>();
-
 
1126
		 * 
-
 
1127
		 * 
-
 
1128
		 * int totalRawVideos = 0; int totalRawImages = 0;
-
 
1129
		 * 
-
 
1130
		 * if(rawMedia!=null){ for(String label: rawMedia.keySet()){
-
 
1131
		 * in.shop2020.creation.util.Media media = rawMedia.get(label);
-
 
1132
		 * 
-
 
1133
		 * label = media.getLabel(); String type = media.getType(); String
-
 
1134
		 * location = media.getLocation();
-
 
1135
		 * 
-
 
1136
		 * Media newMedia = new Media(label, type, location);
-
 
1137
		 * 
-
 
1138
		 * newMedia.setTitle("Title"); if(type.equals("image")){
-
 
1139
		 * totalRawImages++; newMedia.setFileName(media.getFileName());
-
 
1140
		 * newMedia.setVideoType(""); }else{ totalRawVideos++;
-
 
1141
		 * newMedia.setVideoType("withoutskin"); newMedia.setFileName(""); }
-
 
1142
		 * 
-
 
1143
		 * newrawMedia.put(label, newMedia); System.out.println("old " +
-
 
1144
		 * media.toString()); // System.out.println("new " +
-
 
1145
		 * newMedia.toString()); // OldCreationUtils.removeMedia(entity.getID(),
-
 
1146
		 * label); // CreationUtils.addMedia(entity.getID(), newMedia); } }
-
 
1147
		 * 
-
 
1148
		 * int totalVideos = 0; int totalImages = 0; if(rawMedia==null){
-
 
1149
		 * for(Slide slide: slides ){
-
 
1150
		 */
1348
			}
1151
		/*
-
 
1152
		 * FreeformContent ffc = slide.getFreeformContent(); List<String>
-
 
1153
		 * vidList = new ArrayList<String>(); List<String> imgList = new
-
 
1154
		 * ArrayList<String>();
-
 
1155
		 * 
-
 
1156
		 * if(ffc!=null){ List<String> vidFfcLabels = ffc.getYoutubeRefs();
-
 
1157
		 * if(vidFfcLabels!=null){ for(String vidFfcLabel: vidFfcLabels){
-
 
1158
		 * StringTokenizer strTkn = new StringTokenizer(vidFfcLabel,"~!~");
-
 
1159
		 * String vidLabel = null; if(strTkn.hasMoreTokens()){ vidLabel =
-
 
1160
		 * strTkn.nextToken(); vidList.add(vidFfcLabel);
-
 
1161
		 * 
-
 
1162
		 * // ffc.removeMedia("youtube", vidFfcLabel); //
-
 
1163
		 * ffc.addMedia("youtube", vidLabel); } if(vidLabel == null){
-
 
1164
		 * System.out.println("Something is really breaking .. bu ha ha !!!"); }
-
 
1165
		 * totalVideos++; } } List<String> imgFfcLabels = ffc.getImageRefs();
-
 
1166
		 * if(imgFfcLabels!=null){ for(String imgFfcLabel: imgFfcLabels){
-
 
1167
		 * StringTokenizer strTkn = new StringTokenizer(imgFfcLabel,"~!~");
-
 
1168
		 * String imgLabel = null; if(strTkn.hasMoreTokens()){ imgLabel =
-
 
1169
		 * strTkn.nextToken(); imgList.add(imgFfcLabel);
-
 
1170
		 * 
-
 
1171
		 * // ffc.removeMedia("image", imgFfcLabel); // ffc.addMedia("image",
-
 
1172
		 * imgLabel); } if(imgLabel == null){
-
 
1173
		 * System.out.println("Something is really breaking .. bu ha ha !!!"); }
-
 
1174
		 * totalImages++; } }
-
 
1175
		 * 
-
 
1176
		 * for(String vidlab : vidList){ ffc.removeMedia("youtube", vidlab);
-
 
1177
		 * ffc.addMedia("youtube", (new StringTokenizer(vidlab,
-
 
1178
		 * "~!~")).nextToken()); } for(String imglab : imgList){
-
 
1179
		 * ffc.removeMedia("image",imglab); ffc.addMedia("image", (new
-
 
1180
		 * StringTokenizer(imglab, "~!~")).nextToken()); }
-
 
1181
		 * slide.setFreeformContent(ffc); System.out.println("Slide id is " +
-
 
1182
		 * slide.getSlideDefinitionID() + "   vid labels:  " + vidFfcLabels +
-
 
1183
		 * "   img labels" + imgFfcLabels); }
-
 
1184
		 */
1349
			
1185
		/*
-
 
1186
		 * newEntity.addSlide(slide); }
-
 
1187
		 * 
-
 
1188
		 * // System.out.println("entity:"+ entity.getID() + ":trv:" +
1350
//			System.out.println("entity:"+ entity.getID() + ":trv:" + totalRawVideos + ":tri:" + totalRawImages +":tv:" + totalVideos +":ti:" + totalImages);
1189
		 * totalRawVideos + ":tri:" + totalRawImages +":tv:" + totalVideos
-
 
1190
		 * +":ti:" + totalImages); // sb.append("entity:"+ entity.getID() +
1351
//			sb.append("entity:"+ entity.getID() + ":trv:" + totalRawVideos + ":tri:" + totalRawImages +":tv:" + totalVideos +":ti:" + totalImages+ ":tr:" +(totalRawVideos+totalRawImages) + ":t:" +(totalVideos+totalImages) + ":vd:" +(totalRawVideos-totalVideos) + ":id:" +(totalRawImages-totalImages) + "\n");
1191
		 * ":trv:" + totalRawVideos + ":tri:" + totalRawImages +":tv:" +
1352
			sb.append(entity.getID() + "\n");		
1192
		 * totalVideos +":ti:" + totalImages+ ":tr:"
-
 
1193
		 * +(totalRawVideos+totalRawImages) + ":t:" +(totalVideos+totalImages) +
-
 
1194
		 * ":vd:" +(totalRawVideos-totalVideos) + ":id:"
-
 
1195
		 * +(totalRawImages-totalImages) + "\n"); sb.append(entity.getID() +
-
 
1196
		 * "\n");
1353
			
1197
		 * 
1354
			
1198
		 * 
1355
			destinationEnts.updateEntity(newEntity);
1199
		 * destinationEnts.updateEntity(newEntity);
1356
			CreationUtils.storeEntity(newEntity);
1200
		 * CreationUtils.storeEntity(newEntity);
1357
			
1201
		 * 
1358
			Map<Long, List<Entity>> entitiesByCategory = 
1202
		 * Map<Long, List<Entity>> entitiesByCategory =
1359
				sourceEnts.getEntitiesbyCategory();
1203
		 * sourceEnts.getEntitiesbyCategory();
1360
			
1204
		 * 
1361
			Map<Long, Entity> xentities = destinationEnts.getEntities();
1205
		 * Map<Long, Entity> xentities = destinationEnts.getEntities();
1362
			
1206
		 * 
1363
			CreationUtils.rewriteRepository(xentities, entitiesByCategory);
1207
		 * CreationUtils.rewriteRepository(xentities, entitiesByCategory); }
1364
			}
-
 
1365
			else{
-
 
1366
				sb.append("				" + entity.getID() + "\n");
1208
		 * else{ sb.append("				" + entity.getID() + "\n"); } }
1367
			}
1209
		 * 
1368
		}
1210
		 * 
1369
		
-
 
1370
		
-
 
1371
		out.write(sb.toString());
1211
		 * out.write(sb.toString()); out.close();
1372
		out.close();
-
 
1373
		*/
1212
		 */
1374
		return true;
1213
		return true;
1375
	}
1214
	}
1376
	
1215
 
1377
	private boolean makeEntitiesObject() throws Exception{
1216
	private boolean makeEntitiesObject() throws Exception {
1378
		//DefinitionsContainer sourceDefs = new DefinitionsContainer(sourceDbPath);
1217
		// DefinitionsContainer sourceDefs = new
-
 
1218
		// DefinitionsContainer(sourceDbPath);
1379
		//DefinitionsContainer destinationDefs = new DefinitionsContainer(destinationDbPath);
1219
		// DefinitionsContainer destinationDefs = new
-
 
1220
		// DefinitionsContainer(destinationDbPath);
1380
		//EntityContainer sourceEnts = new EntityContainer(sourceDbPath);
1221
		// EntityContainer sourceEnts = new EntityContainer(sourceDbPath);
1381
		//EntityContainer destinationEnts = new EntityContainer(destinationDbPath);
1222
		// EntityContainer destinationEnts = new
-
 
1223
		// EntityContainer(destinationDbPath);
1382
		
1224
 
1383
	/*
1225
		/*
-
 
1226
		 * Map<Long, List<Entity>> catEntities =
1384
		Map<Long, List<Entity>> catEntities = sourceEnts.getEntitiesbyCategory();
1227
		 * sourceEnts.getEntitiesbyCategory();
1385
		
1228
		 * 
1386
		Map<Long, Entity> entities = sourceEnts.getEntities();
1229
		 * Map<Long, Entity> entities = sourceEnts.getEntities(); for(Long
1387
		for(Long catId: catEntities.keySet()){
1230
		 * catId: catEntities.keySet()){ List<Entity> ents =
1388
			List<Entity> ents = catEntities.get(catId);
1231
		 * catEntities.get(catId); for(Entity entity: ents){
1389
			for(Entity entity: ents){
1232
		 * entities.put(entity.getID(), entity);
1390
				entities.put(entity.getID(), entity);
1233
		 * System.out.println(entity.getID() + ":" + entity.getCategoryID() +
1391
				System.out.println(entity.getID() + ":"  + entity.getCategoryID() + ":"+  entity.getBrand() + " "+ entity.getModelName() + " " + entity.getModelNumber());
1234
		 * ":"+ entity.getBrand() + " "+ entity.getModelName() + " " +
1392
			}
1235
		 * entity.getModelNumber()); } }
1393
		}
-
 
1394
		
-
 
1395
		*/
1236
		 */
1396
		
1237
 
1397
		Map<Long, List<Entity>> catEntities = new TreeMap<Long, List<Entity>>();
1238
		Map<Long, List<Entity>> catEntities = new TreeMap<Long, List<Entity>>();
1398
		Map<Long, Entity> entities = new TreeMap<Long, Entity>();
1239
		Map<Long, Entity> entities = new TreeMap<Long, Entity>();
1399
		
-
 
1400
	    FileInputStream fstream = new FileInputStream("/home/rajveer/Desktop/1");
-
 
1401
	    DataInputStream in = new DataInputStream(fstream);
-
 
1402
	    BufferedReader br = new BufferedReader(new InputStreamReader(in));
-
 
1403
	    String strLine;
-
 
1404
 
-
 
1405
	    while ((strLine = br.readLine()) != null)   {
-
 
1406
	    	long entityID = Long.parseLong(strLine);
-
 
1407
	    	String entityDBFile = sourceDbPath + "entities" + File.separator + entityID +"/entity.ser";
-
 
1408
	    	System.out.println (entityDBFile);
-
 
1409
	    	Entity entity =  (Entity)DBUtils.read(entityDBFile);
-
 
1410
	    	entities.put(entityID, entity);
-
 
1411
	    	
-
 
1412
	    	List<Entity> catent = catEntities.get(entity.getCategoryID());
-
 
1413
	    	if(catent == null){
-
 
1414
	    		catent = new ArrayList<Entity>();
-
 
1415
	    	}
-
 
1416
	    	catent.add(entity);
-
 
1417
	    	catEntities.put(entity.getCategoryID(), catent);
-
 
1418
	    }
-
 
1419
	    in.close();
-
 
1420
 
1240
 
-
 
1241
		FileInputStream fstream = new FileInputStream("/home/rajveer/Desktop/1");
-
 
1242
		DataInputStream in = new DataInputStream(fstream);
-
 
1243
		BufferedReader br = new BufferedReader(new InputStreamReader(in));
-
 
1244
		String strLine;
-
 
1245
 
-
 
1246
		while ((strLine = br.readLine()) != null) {
-
 
1247
			long entityID = Long.parseLong(strLine);
1421
		String entitiesDBFile = sourceDbPath + "entities" + File.separator + "entities.ser";
1248
			String entityDBFile = sourceDbPath + "entities" + File.separator
-
 
1249
					+ entityID + "/entity.ser";
-
 
1250
			System.out.println(entityDBFile);
-
 
1251
			Entity entity = (Entity) DBUtils.read(entityDBFile);
-
 
1252
			entities.put(entityID, entity);
-
 
1253
 
-
 
1254
			List<Entity> catent = catEntities.get(entity.getCategoryID());
-
 
1255
			if (catent == null) {
-
 
1256
				catent = new ArrayList<Entity>();
-
 
1257
			}
-
 
1258
			catent.add(entity);
-
 
1259
			catEntities.put(entity.getCategoryID(), catent);
-
 
1260
		}
-
 
1261
		in.close();
-
 
1262
 
1422
		String entitiesbycategoryDBFile = sourceDbPath + "entities" + File.separator + "entitiesbycategory.ser";
1263
		String entitiesDBFile = sourceDbPath + "entities" + File.separator
-
 
1264
				+ "entities.ser";
-
 
1265
		String entitiesbycategoryDBFile = sourceDbPath + "entities"
-
 
1266
				+ File.separator + "entitiesbycategory.ser";
1423
 
1267
 
1424
		DBUtils.delete(entitiesDBFile);
1268
		DBUtils.delete(entitiesDBFile);
1425
		DBUtils.store(entities, entitiesDBFile);
1269
		DBUtils.store(entities, entitiesDBFile);
1426
 
1270
 
1427
	    // Remove existing
1271
		// Remove existing
1428
		DBUtils.delete(entitiesbycategoryDBFile);
1272
		DBUtils.delete(entitiesbycategoryDBFile);
1429
		DBUtils.store(catEntities, entitiesbycategoryDBFile);
1273
		DBUtils.store(catEntities, entitiesbycategoryDBFile);
1430
 
1274
 
1431
        return false;
1275
		return false;
1432
	}
1276
	}
1433
 
1277
 
1434
	private boolean printDataModel() throws Exception{
1278
	private boolean printDataModel() throws Exception {
1435
		DefinitionsContainer dfc = Catalog.getInstance().getDefinitionsContainer();
1279
		DefinitionsContainer dfc = Catalog.getInstance()
-
 
1280
				.getDefinitionsContainer();
1436
		StringBuilder sb = new StringBuilder();
1281
		StringBuilder sb = new StringBuilder();
1437
 
1282
 
1438
		Map<Long, SlideDefinition> allSlideDefs = dfc.getSlideDefinitions();
1283
		Map<Long, SlideDefinition> allSlideDefs = dfc.getSlideDefinitions();
1439
		for(Long slideDefId: allSlideDefs.keySet()){
1284
		for (Long slideDefId : allSlideDefs.keySet()) {
1440
			SlideDefinition slideDef = allSlideDefs.get(slideDefId);
1285
			SlideDefinition slideDef = allSlideDefs.get(slideDefId);
1441
			sb.append(slideDefId + " - " + slideDef.getLabel() + "\n");
1286
			sb.append(slideDefId + " - " + slideDef.getLabel() + "\n");
1442
			if(!slideDef.getChildrenSlideDefinitionIDs().isEmpty()){
1287
			if (!slideDef.getChildrenSlideDefinitionIDs().isEmpty()) {
-
 
1288
				sb.append("Child Slides are: \t"
1443
				sb.append("Child Slides are: \t" + slideDef.getChildrenSlideDefinitionIDs()+"\n");
1289
						+ slideDef.getChildrenSlideDefinitionIDs() + "\n");
1444
			}
1290
			}
1445
			List<SlideFeatureDefinition> featureDefs = slideDef.getSlideFeatureDefinitions();
1291
			List<SlideFeatureDefinition> featureDefs = slideDef
-
 
1292
					.getSlideFeatureDefinitions();
1446
			for(SlideFeatureDefinition featureDef: featureDefs){
1293
			for (SlideFeatureDefinition featureDef : featureDefs) {
-
 
1294
				sb.append("\t"
-
 
1295
						+ featureDef.getFeatureDefintionID()
-
 
1296
						+ "\t"
-
 
1297
						+ dfc.getFeatureDefinition(
-
 
1298
								featureDef.getFeatureDefintionID()).getLabel()
1447
				sb.append("\t" + featureDef.getFeatureDefintionID() + "\t" + dfc.getFeatureDefinition(featureDef.getFeatureDefintionID()).getLabel() + "\t" + featureDef.getEditorialImportance() + "\n");
1299
						+ "\t" + featureDef.getEditorialImportance() + "\n");
1448
			}
1300
			}
1449
		}
1301
		}
1450
		System.out.println(sb.toString());
1302
		System.out.println(sb.toString());
1451
		Map<Long, Category> categories = dfc.getCategories();
1303
		Map<Long, Category> categories = dfc.getCategories();
1452
		if(categories !=null){
1304
		if (categories != null) {
1453
			return true;
1305
			return true;
1454
		}
1306
		}
1455
		for(Category category: categories.values()){
1307
		for (Category category : categories.values()) {
1456
			if(category.getChildrenCategory() != null){
1308
			if (category.getChildrenCategory() != null) {
1457
				continue;
1309
				continue;
1458
			}
1310
			}
1459
			sb.append(category.getLabel() + "\n");
1311
			sb.append(category.getLabel() + "\n");
-
 
1312
			List<CategorySlideDefinition> slideDefs = dfc
1460
			List<CategorySlideDefinition> slideDefs =  dfc.getCategorySlideDefinitions(category.getID());
1313
					.getCategorySlideDefinitions(category.getID());
1461
			List<Long> slideSequence = dfc.getCategorySlideSequence(category.getID());
1314
			List<Long> slideSequence = dfc.getCategorySlideSequence(category
-
 
1315
					.getID());
1462
			for(CategorySlideDefinition slideDef: slideDefs){
1316
			for (CategorySlideDefinition slideDef : slideDefs) {
-
 
1317
				sb.append("\t"
1463
				sb.append("\t"+ dfc.getSlideDefinition(slideDef.getSlideDefintionID()).getLabel() +  "\t" + slideDef.getEditorialImportance() + "\n");
1318
						+ dfc.getSlideDefinition(slideDef.getSlideDefintionID())
-
 
1319
								.getLabel() + "\t"
-
 
1320
						+ slideDef.getEditorialImportance() + "\n");
-
 
1321
				// List<FeatureDefinition> featureDefs =
1464
				//List<FeatureDefinition> featureDefs = dfc.getFeatureDefinitions(slideDef.getSlideDefintionID());
1322
				// dfc.getFeatureDefinitions(slideDef.getSlideDefintionID());
1465
				
1323
 
-
 
1324
				List<SlideFeatureDefinition> slideFeatureDefs = dfc
1466
				List<SlideFeatureDefinition> slideFeatureDefs = dfc.getSlideDefinition(slideDef.getSlideDefintionID()).getSlideFeatureDefinitions();
1325
						.getSlideDefinition(slideDef.getSlideDefintionID())
-
 
1326
						.getSlideFeatureDefinitions();
1467
				
1327
 
1468
				for(SlideFeatureDefinition slideFeatureDef: slideFeatureDefs){
1328
				for (SlideFeatureDefinition slideFeatureDef : slideFeatureDefs) {
-
 
1329
					FeatureDefinition featureDef = dfc
1469
					FeatureDefinition featureDef = dfc.getFeatureDefinition(slideFeatureDef.getFeatureDefintionID());
1330
							.getFeatureDefinition(slideFeatureDef
-
 
1331
									.getFeatureDefintionID());
1470
					BulletDefinition bulletDef = featureDef.getBulletDefinition();
1332
					BulletDefinition bulletDef = featureDef
-
 
1333
							.getBulletDefinition();
-
 
1334
					sb.append("\t\t\t" + featureDef.getLabel() + "\t"
1471
					sb.append("\t\t\t"  + featureDef.getLabel() + "\t" + slideFeatureDef.getEditorialImportance() + "\t" +  featureDef.allowsBlank() + "\t" + bulletDef.isLearned() + "\t" + bulletDef.isMultivalue() );
1335
							+ slideFeatureDef.getEditorialImportance() + "\t"
-
 
1336
							+ featureDef.allowsBlank() + "\t"
-
 
1337
							+ bulletDef.isLearned() + "\t"
-
 
1338
							+ bulletDef.isMultivalue());
1472
					List<Long> units = bulletDef.getUnitIDs();
1339
					List<Long> units = bulletDef.getUnitIDs();
1473
					if(bulletDef.getDatatypeDefinitionID()!=null){
1340
					if (bulletDef.getDatatypeDefinitionID() != null) {
-
 
1341
						sb.append("\t"
-
 
1342
								+ dfc.getDatatypeDefinition(
1474
						sb.append( "\t" + dfc.getDatatypeDefinition(bulletDef.getDatatypeDefinitionID()).getName());
1343
										bulletDef.getDatatypeDefinitionID())
1475
						
1344
										.getName());
-
 
1345
 
1476
					}
1346
					}
1477
					if(units!=null){
1347
					if (units != null) {
1478
						for(Long unit: units){
1348
						for (Long unit : units) {
1479
							sb.append( "\t" + dfc.getUnit(unit).getFullForm() + "\t" + dfc.getUnit(unit).getShortForm());
1349
							sb.append("\t" + dfc.getUnit(unit).getFullForm()
-
 
1350
									+ "\t" + dfc.getUnit(unit).getShortForm());
1480
						}
1351
						}
1481
					}
1352
					}
1482
					sb.append("\n");
1353
					sb.append("\n");
1483
				}
1354
				}
1484
				
1355
 
1485
				/*
1356
				/*
1486
				for(FeatureDefinition featureDef: featureDefs){
1357
				 * for(FeatureDefinition featureDef: featureDefs){
1487
					BulletDefinition bulletDef = featureDef.getBulletDefinition();
1358
				 * BulletDefinition bulletDef =
-
 
1359
				 * featureDef.getBulletDefinition(); System.out.println("			" +
1488
					System.out.println("			" + featureDef.getLabel() + " 	" +  featureDef.allowsBlank() + "	" + bulletDef.isLearned() + "	" + bulletDef.isMultivalue());
1360
				 * featureDef.getLabel() + " 	" + featureDef.allowsBlank() + "	"
1489
					List<Long> units = bulletDef.getUnitIDs();
1361
				 * + bulletDef.isLearned() + "	" + bulletDef.isMultivalue());
1490
					if(units!=null){
1362
				 * List<Long> units = bulletDef.getUnitIDs(); if(units!=null){
1491
						for(Long unit: units){
1363
				 * for(Long unit: units){ System.out.println("								"+
1492
							System.out.println("								"+ dfc.getUnit(unit).getFullForm() + "	"+ dfc.getUnit(unit).getShortForm());
1364
				 * dfc.getUnit(unit).getFullForm() + "	"+
1493
						}
1365
				 * dfc.getUnit(unit).getShortForm()); } }
1494
					}
-
 
1495
					if(bulletDef.getDatatypeDefinitionID()!=null){
1366
				 * if(bulletDef.getDatatypeDefinitionID()!=null){
-
 
1367
				 * System.out.println("										" +
1496
						System.out.println("										"  + dfc.getDatatypeDefinition(bulletDef.getDatatypeDefinitionID()).getName());
1368
				 * dfc.getDatatypeDefinition(bulletDef
1497
						
1369
				 * .getDatatypeDefinitionID()).getName());
1498
					}
1370
				 * 
1499
				}
1371
				 * } }
1500
				*/
1372
				 */
1501
			}
1373
			}
1502
		}
1374
		}
1503
		System.out.println(sb.toString());
1375
		System.out.println(sb.toString());
1504
		return true;
1376
		return true;
1505
	}
1377
	}
1506
	
1378
 
1507
	public boolean migrateOS() throws Exception{
1379
	public boolean migrateOS() throws Exception {
1508
		Map<Long, Entity> map = CreationUtils.getEntities();
1380
		Map<Long, Entity> map = CreationUtils.getEntities();
1509
	    for (Long entityId : map.keySet()) {
1381
		for (Long entityId : map.keySet()) {
1510
            Entity entity = map.get(entityId);
1382
			Entity entity = map.get(entityId);
1511
            if (entity == null || entity.getSlides() == null) {
1383
			if (entity == null || entity.getSlides() == null) {
1512
                continue;
1384
				continue;
1513
            }
1385
			}
1514
            
1386
 
1515
            for (Slide slide : entity.getSlides()) {
1387
			for (Slide slide : entity.getSlides()) {
1516
                if (slide.getSlideDefinitionID() == 130020) {
1388
				if (slide.getSlideDefinitionID() == 130020) {
1517
                	List<Feature> features = slide.getFeatures();
1389
					List<Feature> features = slide.getFeatures();
1518
                	for(Feature f: features){
1390
					for (Feature f : features) {
1519
                		if(f.getFeatureDefinitionID()==120043){
1391
						if (f.getFeatureDefinitionID() == 120043) {
1520
                			Bullet b = f.getBullets().get(0);
1392
							Bullet b = f.getBullets().get(0);
1521
                			String value = ((PrimitiveDataObject)b.getDataObject()).getValue();
1393
							String value = ((PrimitiveDataObject) b
-
 
1394
									.getDataObject()).getValue();
1522
                			long enumValueID= getEnumValueForOS(value);
1395
							long enumValueID = getEnumValueForOS(value);
1523
                			if(enumValueID == 110371L){
1396
							if (enumValueID == 110371L) {
-
 
1397
								Logger.log("Set entity:" + entityId
1524
                				Logger.log("Set entity:" + entityId + " as proprietary software", entity);
1398
										+ " as proprietary software", entity);
1525
                			}
1399
							}
1526
							b.setDataObject(new EnumDataObject(enumValueID));
1400
							b.setDataObject(new EnumDataObject(enumValueID));
1527
                		}
1401
						}
1528
                	}
1402
					}
1529
                }
-
 
1530
                
-
 
1531
            }
1403
				}
1532
 
1404
 
1533
            CreationUtils.updateEntity(entity);
-
 
1534
	    }
-
 
1535
	    return true;
-
 
1536
	}
1405
			}
1537
 
1406
 
-
 
1407
			CreationUtils.updateEntity(entity);
-
 
1408
		}
-
 
1409
		return true;
-
 
1410
	}
1538
 
1411
 
1539
	private long getEnumValueForOS(String value) {
1412
	private long getEnumValueForOS(String value) {
1540
		value = value.toLowerCase();
1413
		value = value.toLowerCase();
1541
		Map<String, Long> map = getOSEnumMap();
1414
		Map<String, Long> map = getOSEnumMap();
1542
		String os="Proprietary software";
1415
		String os = "Proprietary software";
1543
		if(value.contains("android")){
1416
		if (value.contains("android")) {
1544
            if (value.contains("1.5")){
1417
			if (value.contains("1.5")) {
1545
            	os = "Android v1.5 (Cupcake)";
1418
				os = "Android v1.5 (Cupcake)";
1546
            }
1419
			}
1547
            if (value.contains("1.6")){
1420
			if (value.contains("1.6")) {
1548
            	os = "Android v1.6 (Donut)";
1421
				os = "Android v1.6 (Donut)";
1549
            }
1422
			}
1550
            if (value.contains("2.1")){
1423
			if (value.contains("2.1")) {
1551
            	os = "Android v2.1 (Eclair)";
1424
				os = "Android v2.1 (Eclair)";
1552
            }
1425
			}
1553
            if (value.contains("2.2")){
1426
			if (value.contains("2.2")) {
1554
            	os = "Android v2.2 (Froyo)";
1427
				os = "Android v2.2 (Froyo)";
1555
            }
1428
			}
1556
            if (value.contains("2.3")){
1429
			if (value.contains("2.3")) {
1557
            	os = "Android v2.3 (Gingerbread)";
1430
				os = "Android v2.3 (Gingerbread)";
1558
            }
1431
			}
1559
            if (value.contains("3.0")){
1432
			if (value.contains("3.0")) {
1560
            	os = "Android v3.0 (Honeycomb)";
1433
				os = "Android v3.0 (Honeycomb)";
1561
            }
1434
			}
1562
            if (value.contains("3.1")){
1435
			if (value.contains("3.1")) {
1563
            	os = "Android v3.1 (Honeycomb)";
1436
				os = "Android v3.1 (Honeycomb)";
1564
            }
1437
			}
1565
            if (value.contains("3.2")){
1438
			if (value.contains("3.2")) {
1566
            	os = "Android v3.2 (Honeycomb)";
1439
				os = "Android v3.2 (Honeycomb)";
1567
            }
1440
			}
1568
		}
1441
		}
1569
		if(value.contains("blackberry")){
1442
		if (value.contains("blackberry")) {
1570
			if (value.contains("os")){
1443
			if (value.contains("os")) {
1571
				os = "BlackBerry OS";
1444
				os = "BlackBerry OS";
1572
			}
1445
			}
1573
			if (value.contains("5.0")){
1446
			if (value.contains("5.0")) {
1574
				os = "BlackBerry OS 5.0";
1447
				os = "BlackBerry OS 5.0";
1575
			}
1448
			}
1576
			if (value.contains("6.0")){
1449
			if (value.contains("6.0")) {
1577
				os = "BlackBerry OS 6.0";
1450
				os = "BlackBerry OS 6.0";
1578
			}
1451
			}
1579
			if (value.contains("7.0")){
1452
			if (value.contains("7.0")) {
1580
				os = "BlackBerry OS 7.0";
1453
				os = "BlackBerry OS 7.0";
1581
			}
1454
			}
1582
			if (value.contains("tablet os")){
1455
			if (value.contains("tablet os")) {
1583
				os = "BlackBerry Tablet OS";
1456
				os = "BlackBerry Tablet OS";
1584
			}
1457
			}
1585
		}
1458
		}
1586
		if(value.contains("brew mobile platform")){
1459
		if (value.contains("brew mobile platform")) {
1587
			os = "Brew Mobile Platform";
1460
			os = "Brew Mobile Platform";
1588
		}
1461
		}
1589
		if(value.contains("maemo 5")){
1462
		if (value.contains("maemo 5")) {
1590
			os = "Maemo 5";
1463
			os = "Maemo 5";
1591
		}
1464
		}
1592
		if(value.contains("windows phone 7")){
1465
		if (value.contains("windows phone 7")) {
1593
			os = "Windows Phone 7";
1466
			os = "Windows Phone 7";
1594
		}
1467
		}
1595
		if(value.contains("windows phone 7.5 mango")){
1468
		if (value.contains("windows phone 7.5 mango")) {
1596
			os = "Windows Phone 7.5 Mango";
1469
			os = "Windows Phone 7.5 Mango";
1597
		}
1470
		}
1598
		if(value.contains("proprietary")){
1471
		if (value.contains("proprietary")) {
1599
			if(value.contains("lg"))
1472
			if (value.contains("lg"))
1600
				os = "Proprietary LG software";
1473
				os = "Proprietary LG software";
1601
			else if(value.contains("micromax")){
1474
			else if (value.contains("micromax")) {
1602
				os = "Proprietary Micromax software";
1475
				os = "Proprietary Micromax software";
1603
			}
-
 
1604
			else if(value.contains("samsung")){
1476
			} else if (value.contains("samsung")) {
1605
				os = "Proprietary Samsung software";
1477
				os = "Proprietary Samsung software";
1606
			}
-
 
1607
			else if(value.contains("sony ericsson")){
1478
			} else if (value.contains("sony ericsson")) {
1608
				os = "Proprietary Sony Ericsson software";
1479
				os = "Proprietary Sony Ericsson software";
1609
			}
-
 
1610
			else if(value.contains("spice")){
1480
			} else if (value.contains("spice")) {
1611
				os = "Proprietary Spice software";
1481
				os = "Proprietary Spice software";
1612
			}
-
 
1613
			else if(value.contains("lava")){
1482
			} else if (value.contains("lava")) {
1614
				os = "Proprietary Lava software";
1483
				os = "Proprietary Lava software";
1615
			}
-
 
1616
			else if(value.contains("alcatel")){
1484
			} else if (value.contains("alcatel")) {
1617
				os = "Proprietary Alcatel software";
1485
				os = "Proprietary Alcatel software";
1618
			}
-
 
1619
			else if(value.contains("motorola")){
1486
			} else if (value.contains("motorola")) {
1620
				os = "Proprietary Motorola software";
1487
				os = "Proprietary Motorola software";
1621
			}
-
 
1622
			else if(value.contains("karbonn")){
1488
			} else if (value.contains("karbonn")) {
1623
				os = "Proprietary Karbonn software";
1489
				os = "Proprietary Karbonn software";
1624
			}else {
1490
			} else {
1625
				os = "Proprietary software";
1491
				os = "Proprietary software";
1626
			}
1492
			}
1627
		}
1493
		}
1628
		if(value.contains("mmp")){
1494
		if (value.contains("mmp")) {
1629
			os = "Proprietary Samsung software";
1495
			os = "Proprietary Samsung software";
1630
		}
1496
		}
1631
		if(value.contains("samsung")){
1497
		if (value.contains("samsung")) {
1632
				if(value.contains("bada")){
1498
			if (value.contains("bada")) {
1633
					os = "Samsung bada";
1499
				os = "Samsung bada";
1634
				}
1500
			}
1635
				if(value.contains("bada 1.2")){
1501
			if (value.contains("bada 1.2")) {
1636
					os = "Samsung bada 1.2";
1502
				os = "Samsung bada 1.2";
1637
				}
1503
			}
1638
		}
1504
		}
1639
		if(value.contains("sony ericsson java platform 8")){
1505
		if (value.contains("sony ericsson java platform 8")) {
1640
			os = "Proprietary Sony Ericsson software";
1506
			os = "Proprietary Sony Ericsson software";
1641
		}
1507
		}
1642
		if(value.contains("s60")){
1508
		if (value.contains("s60")) {
1643
			os = "Symbian 60";
1509
			os = "Symbian 60";
1644
		}
1510
		}
1645
		if(value.contains("symbian")){
1511
		if (value.contains("symbian")) {
1646
			if(value.contains("40")){
1512
			if (value.contains("40")) {
1647
				os = "Symbian 40";
1513
				os = "Symbian 40";
1648
			}
1514
			}
1649
			if(value.contains("60")){
1515
			if (value.contains("60")) {
1650
				os = "Symbian 60";
1516
				os = "Symbian 60";
1651
			}
1517
			}
1652
			if(value.contains("^3")){
1518
			if (value.contains("^3")) {
1653
				os = "Symbian^3";
1519
				os = "Symbian^3";
1654
			}
1520
			}
1655
			if(value.contains("anna")){
1521
			if (value.contains("anna")) {
1656
				os = "Symbian Anna";
1522
				os = "Symbian Anna";
1657
			}
1523
			}
1658
			if(value.contains("belle")){
1524
			if (value.contains("belle")) {
1659
				os = "Symbian Belle";
1525
				os = "Symbian Belle";
1660
			}
1526
			}
1661
		}
1527
		}
1662
		if(value.contains("ios 4")){
1528
		if (value.contains("ios 4")) {
1663
			os = "iOS 4";
1529
			os = "iOS 4";
1664
		}
1530
		}
1665
		if(value.contains("ios 5")){
1531
		if (value.contains("ios 5")) {
1666
			os = "iOS 5";
1532
			os = "iOS 5";
1667
		}
1533
		}
1668
		return map.get(os);
1534
		return map.get(os);
1669
	}
1535
	}
1670
	
1536
 
1671
	private Map<String, Long> getOSEnumMap(){
1537
	private Map<String, Long> getOSEnumMap() {
1672
		Map<String, Long> map = new HashMap<String, Long>();
1538
		Map<String, Long> map = new HashMap<String, Long>();
1673
		map.put("Android v1.5 (Cupcake)", 110335L);
1539
		map.put("Android v1.5 (Cupcake)", 110335L);
1674
		map.put("Android v1.6 (Donut)", 110336L);
1540
		map.put("Android v1.6 (Donut)", 110336L);
1675
		map.put("Android v2.1 (Eclair)", 110337L);
1541
		map.put("Android v2.1 (Eclair)", 110337L);
1676
		map.put("Android v2.2 (Froyo)", 110338L);
1542
		map.put("Android v2.2 (Froyo)", 110338L);
1677
		map.put("Android v2.3 (Gingerbread)", 110339L);
1543
		map.put("Android v2.3 (Gingerbread)", 110339L);
1678
		map.put("Android v3.0 (Honeycomb)", 110340L);
1544
		map.put("Android v3.0 (Honeycomb)", 110340L);
1679
		map.put("Android v3.1 (Honeycomb)", 110341L);
1545
		map.put("Android v3.1 (Honeycomb)", 110341L);
1680
		map.put("Android v3.2 (Honeycomb)", 110342L);	
1546
		map.put("Android v3.2 (Honeycomb)", 110342L);
1681
		map.put("BlackBerry OS", 110343L);
1547
		map.put("BlackBerry OS", 110343L);
1682
		map.put("BlackBerry OS 5.0", 110344L);
1548
		map.put("BlackBerry OS 5.0", 110344L);
1683
		map.put("BlackBerry OS 6.0", 110345L);
1549
		map.put("BlackBerry OS 6.0", 110345L);
1684
		map.put("BlackBerry OS 7.0", 110346L);
1550
		map.put("BlackBerry OS 7.0", 110346L);
1685
		map.put("BlackBerry Tablet OS", 110347L);
1551
		map.put("BlackBerry Tablet OS", 110347L);
Line 1694... Line 1560...
1694
		map.put("Proprietary Spice software", 110356L);
1560
		map.put("Proprietary Spice software", 110356L);
1695
		map.put("Proprietary Lava software", 110367L);
1561
		map.put("Proprietary Lava software", 110367L);
1696
		map.put("Proprietary Karbonn software", 110368L);
1562
		map.put("Proprietary Karbonn software", 110368L);
1697
		map.put("Proprietary Motorola software", 110369L);
1563
		map.put("Proprietary Motorola software", 110369L);
1698
		map.put("Proprietary Alcatel software", 110370L);
1564
		map.put("Proprietary Alcatel software", 110370L);
1699
		map.put("Proprietary software", 110371L);	
1565
		map.put("Proprietary software", 110371L);
1700
		map.put("Samsung bada", 110357L);
1566
		map.put("Samsung bada", 110357L);
1701
		map.put("Samsung bada 1.2", 110358L);
1567
		map.put("Samsung bada 1.2", 110358L);
1702
		map.put("Symbian 40", 110360L);
1568
		map.put("Symbian 40", 110360L);
1703
		map.put("Symbian 60", 110361L);
1569
		map.put("Symbian 60", 110361L);
1704
		map.put("Symbian^3", 110362L);
1570
		map.put("Symbian^3", 110362L);
1705
		map.put("Symbian Anna", 110363L);
1571
		map.put("Symbian Anna", 110363L);
1706
		map.put("Symbian Belle", 110364L);
1572
		map.put("Symbian Belle", 110364L);
1707
		map.put("iOS 4", 110365L);
1573
		map.put("iOS 4", 110365L);
1708
		map.put("iOS 5", 110366L);
1574
		map.put("iOS 5", 110366L);
1709
		
1575
 
1710
		return map;
1576
		return map;
1711
		
1577
 
1712
	}
1578
	}
1713
	
-
 
1714
	
1579
 
1715
}
1580
}