Subversion Repositories SmartDukaan

Rev

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

Rev 3873 Rev 4706
Line 1... Line 1...
1
package in.shop2020.util;
1
package in.shop2020.util;
2
 
2
 
3
import in.shop2020.metamodel.core.Bullet;
3
import in.shop2020.metamodel.core.Bullet;
4
import in.shop2020.metamodel.core.BulletDataObject;
-
 
5
import in.shop2020.metamodel.core.Entity;
4
import in.shop2020.metamodel.core.Entity;
6
import in.shop2020.metamodel.core.EntityState;
5
import in.shop2020.metamodel.core.EntityState;
7
import in.shop2020.metamodel.core.EnumDataObject;
6
import in.shop2020.metamodel.core.EnumDataObject;
8
import in.shop2020.metamodel.core.Feature;
7
import in.shop2020.metamodel.core.Feature;
9
import in.shop2020.metamodel.core.FreeformContent;
8
import in.shop2020.metamodel.core.FreeformContent;
Line 22... Line 21...
22
import in.shop2020.metamodel.util.ExpandedEntity;
21
import in.shop2020.metamodel.util.ExpandedEntity;
23
import in.shop2020.model.v1.catalog.InventoryService.Client;
22
import in.shop2020.model.v1.catalog.InventoryService.Client;
24
import in.shop2020.model.v1.catalog.Item;
23
import in.shop2020.model.v1.catalog.Item;
25
import in.shop2020.model.v1.catalog.status;
24
import in.shop2020.model.v1.catalog.status;
26
import in.shop2020.thrift.clients.CatalogClient;
25
import in.shop2020.thrift.clients.CatalogClient;
-
 
26
import in.shop2020.utils.Logger;
27
 
27
 
28
import java.io.BufferedReader;
28
import java.io.BufferedReader;
29
import java.io.DataInputStream;
29
import java.io.DataInputStream;
30
import java.io.File;
30
import java.io.File;
31
import java.io.FileInputStream;
31
import java.io.FileInputStream;
32
import java.io.InputStreamReader;
32
import java.io.InputStreamReader;
33
import java.util.ArrayList;
33
import java.util.ArrayList;
34
import java.util.Collections;
34
import java.util.Collections;
-
 
35
import java.util.HashMap;
35
import java.util.List;
36
import java.util.List;
36
import java.util.Map;
37
import java.util.Map;
-
 
38
import java.util.Set;
37
import java.util.TreeMap;
39
import java.util.TreeMap;
38
 
40
 
39
/*
41
/*
40
 * @author rajveer 
42
 * @author rajveer 
41
 * 
43
 * 
Line 57... Line 59...
57
//			destinationDbPath = args[1];
59
//			destinationDbPath = args[1];
58
//			dryRun = args[2];
60
//			dryRun = args[2];
59
//		}
61
//		}
60
//		
62
//		
61
		ContentMigrator contentmigrator = new ContentMigrator(sourceDbPath, destinationDbPath);
63
		ContentMigrator contentmigrator = new ContentMigrator(sourceDbPath, destinationDbPath);
-
 
64
		contentmigrator.migrateOS();
62
		contentmigrator.migrateWarrantyType();
65
//		contentmigrator.migrateWarrantyType();
63
//    	CreationUtils.storeComparisonStats(null);
66
//    	CreationUtils.storeComparisonStats(null);
64
//		contentmigrator.migrateMedia();
67
//		contentmigrator.migrateMedia();
65
		
68
		
66
		
69
		
67
		//contentmigrator.populateHelpdocEntityIds();
70
		//contentmigrator.populateHelpdocEntityIds();
Line 1397... Line 1400...
1397
			}
1400
			}
1398
		}
1401
		}
1399
		System.out.println(sb.toString());
1402
		System.out.println(sb.toString());
1400
		return true;
1403
		return true;
1401
	}
1404
	}
-
 
1405
	
-
 
1406
	public boolean migrateOS() throws Exception{
-
 
1407
		Map<Long, Entity> map = CreationUtils.getEntities();
-
 
1408
	    for (Long entityId : map.keySet()) {
-
 
1409
            Entity entity = map.get(entityId);
-
 
1410
            if (entity == null || entity.getSlides() == null) {
-
 
1411
                continue;
-
 
1412
            }
-
 
1413
            
-
 
1414
            for (Slide slide : entity.getSlides()) {
-
 
1415
                if (slide.getSlideDefinitionID() == 130020) {
-
 
1416
                	List<Feature> features = slide.getFeatures();
-
 
1417
                	for(Feature f: features){
-
 
1418
                		if(f.getFeatureDefinitionID()==120043){
-
 
1419
                			Bullet b = f.getBullets().get(0);
-
 
1420
                			String value = ((PrimitiveDataObject)b.getDataObject()).getValue();
-
 
1421
                			long enumValueID= getEnumValueForOS(value);
-
 
1422
                			if(enumValueID == 110371L){
-
 
1423
                				Logger.log("Set entity:" + entityId + " as proprietary software", entity);
-
 
1424
                			}
-
 
1425
							b.setDataObject(new EnumDataObject(enumValueID));
-
 
1426
                		}
-
 
1427
                	}
-
 
1428
                }
-
 
1429
                
-
 
1430
            }
-
 
1431
 
-
 
1432
            CreationUtils.updateEntity(entity);
-
 
1433
	    }
-
 
1434
	    return true;
-
 
1435
	}
-
 
1436
 
-
 
1437
 
-
 
1438
	private long getEnumValueForOS(String value) {
-
 
1439
		value = value.toLowerCase();
-
 
1440
		Map<String, Long> map = getOSEnumMap();
-
 
1441
		String os="Proprietary software";
-
 
1442
		if(value.contains("android")){
-
 
1443
            if (value.contains("1.5")){
-
 
1444
            	os = "Android v1.5 (Cupcake)";
-
 
1445
            }
-
 
1446
            if (value.contains("1.6")){
-
 
1447
            	os = "Android v1.6 (Donut)";
-
 
1448
            }
-
 
1449
            if (value.contains("2.1")){
-
 
1450
            	os = "Android v2.1 (Eclair)";
-
 
1451
            }
-
 
1452
            if (value.contains("2.2")){
-
 
1453
            	os = "Android v2.2 (Froyo)";
-
 
1454
            }
-
 
1455
            if (value.contains("2.3")){
-
 
1456
            	os = "Android v2.3 (Gingerbread)";
-
 
1457
            }
-
 
1458
            if (value.contains("3.0")){
-
 
1459
            	os = "Android v3.0 (Honeycomb)";
-
 
1460
            }
-
 
1461
            if (value.contains("3.1")){
-
 
1462
            	os = "Android v3.1 (Honeycomb)";
-
 
1463
            }
-
 
1464
            if (value.contains("3.2")){
-
 
1465
            	os = "Android v3.2 (Honeycomb)";
-
 
1466
            }
-
 
1467
		}
-
 
1468
		if(value.contains("blackberry")){
-
 
1469
			if (value.contains("os")){
-
 
1470
				os = "BlackBerry OS";
-
 
1471
			}
-
 
1472
			if (value.contains("5.0")){
-
 
1473
				os = "BlackBerry OS 5.0";
-
 
1474
			}
-
 
1475
			if (value.contains("6.0")){
-
 
1476
				os = "BlackBerry OS 6.0";
-
 
1477
			}
-
 
1478
			if (value.contains("7.0")){
-
 
1479
				os = "BlackBerry OS 7.0";
-
 
1480
			}
-
 
1481
			if (value.contains("tablet os")){
-
 
1482
				os = "BlackBerry Tablet OS";
-
 
1483
			}
-
 
1484
		}
-
 
1485
		if(value.contains("brew mobile platform")){
-
 
1486
			os = "Brew Mobile Platform";
-
 
1487
		}
-
 
1488
		if(value.contains("maemo 5")){
-
 
1489
			os = "Maemo 5";
-
 
1490
		}
-
 
1491
		if(value.contains("windows phone 7")){
-
 
1492
			os = "Windows Phone 7";
-
 
1493
		}
-
 
1494
		if(value.contains("windows phone 7.5 mango")){
-
 
1495
			os = "Windows Phone 7.5 Mango";
-
 
1496
		}
-
 
1497
		if(value.contains("proprietary")){
-
 
1498
			if(value.contains("lg"))
-
 
1499
				os = "Proprietary LG software";
-
 
1500
			else if(value.contains("micromax")){
-
 
1501
				os = "Proprietary Micromax software";
-
 
1502
			}
-
 
1503
			else if(value.contains("samsung")){
-
 
1504
				os = "Proprietary Samsung software";
-
 
1505
			}
-
 
1506
			else if(value.contains("sony ericsson")){
-
 
1507
				os = "Proprietary Sony Ericsson software";
-
 
1508
			}
-
 
1509
			else if(value.contains("spice")){
-
 
1510
				os = "Proprietary Spice software";
-
 
1511
			}
-
 
1512
			else if(value.contains("lava")){
-
 
1513
				os = "Proprietary Lava software";
-
 
1514
			}
-
 
1515
			else if(value.contains("alcatel")){
-
 
1516
				os = "Proprietary Alcatel software";
-
 
1517
			}
-
 
1518
			else if(value.contains("motorola")){
-
 
1519
				os = "Proprietary Motorola software";
-
 
1520
			}
-
 
1521
			else if(value.contains("karbonn")){
-
 
1522
				os = "Proprietary Karbonn software";
-
 
1523
			}else {
-
 
1524
				os = "Proprietary software";
-
 
1525
			}
-
 
1526
		}
-
 
1527
		if(value.contains("mmp")){
-
 
1528
			os = "Proprietary Samsung software";
-
 
1529
		}
-
 
1530
		if(value.contains("samsung")){
-
 
1531
				if(value.contains("bada")){
-
 
1532
					os = "Samsung bada";
-
 
1533
				}
-
 
1534
				if(value.contains("bada 1.2")){
-
 
1535
					os = "Samsung bada 1.2";
-
 
1536
				}
-
 
1537
		}
-
 
1538
		if(value.contains("sony ericsson java platform 8")){
-
 
1539
			os = "Proprietary Sony Ericsson software";
-
 
1540
		}
-
 
1541
		if(value.contains("s60")){
-
 
1542
			os = "Symbian 60";
-
 
1543
		}
-
 
1544
		if(value.contains("symbian")){
-
 
1545
			if(value.contains("40")){
-
 
1546
				os = "Symbian 40";
-
 
1547
			}
-
 
1548
			if(value.contains("60")){
-
 
1549
				os = "Symbian 60";
-
 
1550
			}
-
 
1551
			if(value.contains("^3")){
-
 
1552
				os = "Symbian^3";
-
 
1553
			}
-
 
1554
			if(value.contains("anna")){
-
 
1555
				os = "Symbian Anna";
-
 
1556
			}
-
 
1557
			if(value.contains("belle")){
-
 
1558
				os = "Symbian Belle";
-
 
1559
			}
-
 
1560
		}
-
 
1561
		if(value.contains("ios 4")){
-
 
1562
			os = "iOS 4";
-
 
1563
		}
-
 
1564
		if(value.contains("ios 5")){
-
 
1565
			os = "iOS 5";
-
 
1566
		}
-
 
1567
		return map.get(os);
-
 
1568
	}
-
 
1569
	
-
 
1570
	private Map<String, Long> getOSEnumMap(){
-
 
1571
		Map<String, Long> map = new HashMap<String, Long>();
-
 
1572
		map.put("Android v1.5 (Cupcake)", 110335L);
-
 
1573
		map.put("Android v1.6 (Donut)", 110336L);
-
 
1574
		map.put("Android v2.1 (Eclair)", 110337L);
-
 
1575
		map.put("Android v2.2 (Froyo)", 110338L);
-
 
1576
		map.put("Android v2.3 (Gingerbread)", 110339L);
-
 
1577
		map.put("Android v3.0 (Honeycomb)", 110340L);
-
 
1578
		map.put("Android v3.1 (Honeycomb)", 110341L);
-
 
1579
		map.put("Android v3.2 (Honeycomb)", 110342L);	
-
 
1580
		map.put("BlackBerry OS", 110343L);
-
 
1581
		map.put("BlackBerry OS 5.0", 110344L);
-
 
1582
		map.put("BlackBerry OS 6.0", 110345L);
-
 
1583
		map.put("BlackBerry OS 7.0", 110346L);
-
 
1584
		map.put("BlackBerry Tablet OS", 110347L);
-
 
1585
		map.put("Brew Mobile Platform", 110348L);
-
 
1586
		map.put("Maemo 5", 110349L);
-
 
1587
		map.put("Windows Phone 7", 110350L);
-
 
1588
		map.put("Windows Phone 7.5 Mango", 110351L);
-
 
1589
		map.put("Proprietary LG software", 110352L);
-
 
1590
		map.put("Proprietary Micromax software", 110353L);
-
 
1591
		map.put("Proprietary Samsung software", 110354L);
-
 
1592
		map.put("Proprietary Sony Ericsson software", 110355L);
-
 
1593
		map.put("Proprietary Spice software", 110356L);
-
 
1594
		map.put("Proprietary Lava software", 110367L);
-
 
1595
		map.put("Proprietary Karbonn software", 110368L);
-
 
1596
		map.put("Proprietary Motorola software", 110369L);
-
 
1597
		map.put("Proprietary Alcatel software", 110370L);
-
 
1598
		map.put("Proprietary software", 110371L);	
-
 
1599
		map.put("Samsung bada", 110357L);
-
 
1600
		map.put("Samsung bada 1.2", 110358L);
-
 
1601
		map.put("Symbian 40", 110360L);
-
 
1602
		map.put("Symbian 60", 110361L);
-
 
1603
		map.put("Symbian^3", 110362L);
-
 
1604
		map.put("Symbian Anna", 110363L);
-
 
1605
		map.put("Symbian Belle", 110364L);
-
 
1606
		map.put("iOS 4", 110365L);
-
 
1607
		map.put("iOS 5", 110366L);
-
 
1608
		
-
 
1609
		return map;
-
 
1610
		
-
 
1611
	}
-
 
1612
	
-
 
1613
	
1402
}
1614
}