Subversion Repositories SmartDukaan

Rev

Rev 9404 | Rev 9413 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
9404 vikram.rag 1
package in.shop2020;
2
 
3
import in.shop2020.model.v1.catalog.Item;
4
import in.shop2020.model.v1.catalog.SnapdealItem;
5
import in.shop2020.model.v1.inventory.InventoryService.Client;
6
import in.shop2020.model.v1.inventory.InventoryType;
7
import in.shop2020.model.v1.inventory.ItemInventory;
8
import in.shop2020.model.v1.inventory.SnapdealInventoryItem;
9
import in.shop2020.model.v1.inventory.Warehouse;
10
import in.shop2020.model.v1.inventory.WarehouseType;
11
import in.shop2020.serving.model.OrderItems;
12
import in.shop2020.thrift.clients.CatalogClient;
13
import in.shop2020.thrift.clients.InventoryClient;
14
import in.shop2020.thrift.clients.TransactionClient;
15
import inventory.Inventory;
16
import inventory.InventoryItems;
17
import inventory.SnapdealItemForInventory;
18
 
19
import java.io.BufferedReader;
20
import java.io.File;
21
import java.io.FileInputStream;
22
import java.io.FileNotFoundException;
23
import java.io.FileOutputStream;
24
import java.io.IOException;
25
import java.io.InputStreamReader;
26
import java.io.UnsupportedEncodingException;
27
import java.math.BigInteger;
28
import java.util.ArrayList;
29
import java.util.HashMap;
30
import java.util.List;
31
import java.util.Map;
32
 
33
import org.apache.http.HttpEntity;
34
import org.apache.http.HttpResponse;
35
import org.apache.http.NameValuePair;
36
import org.apache.http.client.ClientProtocolException;
37
import org.apache.http.client.HttpClient;
38
import org.apache.http.client.entity.UrlEncodedFormEntity;
39
import org.apache.http.client.methods.HttpGet;
40
import org.apache.http.client.methods.HttpPost;
41
import org.apache.http.entity.FileEntity;
42
import org.apache.http.entity.mime.MultipartEntity;
43
import org.apache.http.entity.mime.content.ContentBody;
44
import org.apache.http.entity.mime.content.FileBody;
45
import org.apache.http.impl.client.DefaultHttpClient;
46
import org.apache.http.message.BasicNameValuePair;
47
import org.apache.poi.hssf.usermodel.HSSFCell;
48
import org.apache.poi.hssf.usermodel.HSSFRow;
49
import org.apache.poi.hssf.usermodel.HSSFSheet;
50
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
51
import org.apache.poi.ss.usermodel.Row;
52
import org.apache.poi.ss.usermodel.Sheet;
53
import org.apache.poi.ss.usermodel.Workbook;
54
import org.apache.thrift.TException;
55
import org.apache.thrift.transport.TTransportException;
56
import com.google.gson.Gson;
57
 
58
public class CreateSnapDealInventoryFeed {
59
	private static long time = System.currentTimeMillis();
9405 vikram.rag 60
	private static final String SNAPDEAL_INVENTORY_SHEET = "/home/snapdeal/snapdeal-inventory-"+time+".xls";
9404 vikram.rag 61
	private static Map<Long, SnapdealItemForInventory> allItemsInventoryMap = new HashMap<Long, SnapdealItemForInventory>();
62
	private static ArrayList<Inventory> inventoryItemList;
63
	static Map<Long,Long> itemIdpendingOrdersMap = new HashMap<Long,Long>();
64
	private static void calculateinventory(){
65
 
66
		CatalogClient catalogServiceClient = null;
67
		Map<Long,ItemInventory> availability= new HashMap<Long,ItemInventory>();
68
		try {
69
			catalogServiceClient = new CatalogClient();
70
		} catch (TTransportException e) {
71
			// TODO Auto-generated catch block
72
			e.printStackTrace();
73
		}
74
		in.shop2020.model.v1.catalog.CatalogService.Client catalogClient = catalogServiceClient.getClient();
75
		try {
76
			List<Item> aliveItems = catalogClient.getAllAliveItems();
77
			Map<Long,Item> aliveItemsMap = new HashMap<Long,Item>(); 
78
			for(in.shop2020.model.v1.catalog.Item thriftItem:aliveItems){
79
				aliveItemsMap.put(thriftItem.getId(), thriftItem);
80
 
81
			}
82
			InventoryClient inventoryServiceClient = null;
83
			try {
84
				inventoryServiceClient = new InventoryClient();
85
			} catch (TTransportException e) {
86
				e.printStackTrace();
87
			}
88
			in.shop2020.model.v1.inventory.InventoryService.Client inventoryClient = inventoryServiceClient.getClient();
89
			List<in.shop2020.model.v1.inventory.IgnoredInventoryUpdateItems> ignoreItems = inventoryClient.getIgnoredWarehouseidsAndItemids();
90
			availability = inventoryClient.getInventorySnapshot(0);
91
			List<Warehouse> warehouses = inventoryClient.getWarehouses(WarehouseType.OURS_THIRDPARTY,null,0,0,0);
92
			List<Warehouse> ours_warehouses = inventoryClient.getWarehouses(WarehouseType.OURS, InventoryType.GOOD, 0, 0, 0);
93
			List<Long> thirdpartywarehouseids = new ArrayList<Long>();
94
			List<Long> oursGoodWarehouse = new ArrayList<Long>();
95
			for(Warehouse warehouse:warehouses){
96
				thirdpartywarehouseids.add(warehouse.getId());
97
			}
98
			for (Warehouse warehouse:ours_warehouses){
99
				oursGoodWarehouse.add(warehouse.getId());
100
			}
101
			long available=0;
102
			long reserve=0;
103
			long total_held=0;
104
			long heldForSource=0;
105
			double nlc=0;
106
			double maxnlc=0;
107
			Item thriftItem;
108
			for(Inventory inventoryItem:inventoryItemList){
109
				if(aliveItemsMap.get(Long.parseLong(inventoryItem.getSellerSku())) != null){
110
					thriftItem = aliveItemsMap.get(Long.parseLong(inventoryItem.getSellerSku()));	
111
				}
112
				else{
113
					continue;
114
				}
115
				available=0;
116
				reserve=0;
117
				total_held=0;
118
				heldForSource=0;
119
				nlc=0;
120
				List<Warehouse> vendor_warehouses=null;
121
				SnapdealItemForInventory item;
122
				if(availability.get(thriftItem.getId())!=null){ 
123
					ItemInventory iteminventory = availability.get(thriftItem.getId());
124
					Map<Long,Long> itemavailability = new HashMap<Long,Long>();
125
					itemavailability = iteminventory.getAvailability();
126
					if (thriftItem.isIsWarehousePreferenceSticky() && thriftItem.getPreferredVendor()!=0){
127
						//System.out.println("Item id "+thriftItem.getId()+".Found prefered vendor and warehouse is marked sticky (Calculating availability)"+thriftItem.getPreferredVendor());						
128
						vendor_warehouses = inventoryClient.getWarehouses(WarehouseType.THIRD_PARTY,InventoryType.GOOD , thriftItem.getPreferredVendor(), 0, 0);
129
						vendor_warehouses.addAll(ours_warehouses);
130
						for (Warehouse warehouse:vendor_warehouses){
131
							in.shop2020.model.v1.inventory.IgnoredInventoryUpdateItems ignoredItem = new in.shop2020.model.v1.inventory.IgnoredInventoryUpdateItems();
132
							ignoredItem.setItemId(thriftItem.getId());
133
							ignoredItem.setWarehouseId(warehouse.getId());
134
							if (itemavailability.get(warehouse.getId())!=null && !thirdpartywarehouseids.contains(warehouse.getId()) && !ignoreItems.contains(ignoredItem)){
135
								try{
136
									nlc = inventoryClient.getNlcForWarehouse(warehouse.getId(),thriftItem.getId());
137
								}
138
								catch(TTransportException e){
139
									inventoryClient = inventoryServiceClient.getClient(); 
140
									nlc = inventoryClient.getNlcForWarehouse(warehouse.getId(),thriftItem.getId());
141
								}
142
								maxnlc = catalogClient.getSnapdealItem(thriftItem.getId()).getMaxNlc();
143
								if(nlc !=0 && (maxnlc >= nlc)){
144
									total_held = inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), warehouse.getId(), 0);
145
									heldForSource = heldForSource + total_held - inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), warehouse.getId(), 7);
146
									available = available + itemavailability.get(warehouse.getId()) - total_held;
147
								}
148
								else{
149
 
150
								}
151
							}
152
						}
153
					}
154
					else{
155
						for (Map.Entry<Long,Long> entry :  itemavailability.entrySet()) {
156
							in.shop2020.model.v1.inventory.IgnoredInventoryUpdateItems ignoredItem = new in.shop2020.model.v1.inventory.IgnoredInventoryUpdateItems();
157
							ignoredItem.setItemId(thriftItem.getId());
158
							ignoredItem.setWarehouseId(entry.getKey());
159
							if(!thirdpartywarehouseids.contains(entry.getKey()) && !ignoreItems.contains(ignoredItem)){
160
								nlc = inventoryClient.getNlcForWarehouse(entry.getKey(),thriftItem.getId());
161
								try{
162
									maxnlc = catalogClient.getSnapdealItem(thriftItem.getId()).getMaxNlc();
163
								}
164
								catch(TTransportException e){
165
									catalogClient = catalogServiceClient.getClient();  
166
									maxnlc = catalogClient.getSnapdealItem(thriftItem.getId()).getMaxNlc();
167
								}
168
								if(nlc !=0 && (maxnlc >= nlc)){
169
									total_held = inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), entry.getKey(), 0);
170
									heldForSource = heldForSource + total_held - inventoryClient.getHoldInventoryDetailForItemForWarehouseIdExceptSource(thriftItem.getId(), entry.getKey(), 7);
171
									available =  available + entry.getValue() - total_held;
172
								}
173
							}
174
						}
175
					}
176
					Map<Long,Long> itemreserve = new HashMap<Long,Long>();
177
					itemreserve = iteminventory.getReserved();
178
					if (thriftItem.isIsWarehousePreferenceSticky() && thriftItem.getPreferredVendor()!=0){
179
						//System.out.println("Item id "+thriftItem.getId()+".Found prefered vendor and warehouse is marked sticky (Calculating Reserve)"+thriftItem.getPreferredVendor());
180
						for (Warehouse warehouse:vendor_warehouses){
181
							in.shop2020.model.v1.inventory.IgnoredInventoryUpdateItems ignoredItem = new in.shop2020.model.v1.inventory.IgnoredInventoryUpdateItems();
182
							ignoredItem.setItemId(thriftItem.getId());
183
							ignoredItem.setWarehouseId(warehouse.getId());
184
							if (itemreserve.get(warehouse.getId())!=null && !thirdpartywarehouseids.contains(warehouse.getId()) && !ignoreItems.contains(warehouse.getId())){
185
								nlc = inventoryClient.getNlcForWarehouse(warehouse.getId(),thriftItem.getId());
186
								maxnlc = catalogClient.getSnapdealItem(thriftItem.getId()).getMaxNlc();
187
								if(nlc !=0 && (maxnlc >= nlc)){
188
									reserve = reserve + itemreserve.get(warehouse.getId());
189
								}
190
							}
191
						}
192
					}else{
193
						for (Map.Entry<Long,Long> entry : itemreserve.entrySet()) {
194
							in.shop2020.model.v1.inventory.IgnoredInventoryUpdateItems ignoredItem = new in.shop2020.model.v1.inventory.IgnoredInventoryUpdateItems();
195
							ignoredItem.setItemId(thriftItem.getId());
196
							ignoredItem.setWarehouseId(entry.getKey());
197
							if(!thirdpartywarehouseids.contains(entry.getKey()) && !ignoreItems.contains(ignoredItem)){
198
								nlc = inventoryClient.getNlcForWarehouse(entry.getKey(),thriftItem.getId());
199
								maxnlc = catalogClient.getSnapdealItem(thriftItem.getId()).getMaxNlc();
200
								if(nlc !=0 && (maxnlc >= nlc)){
201
									reserve =  reserve + entry.getValue();
202
								}
203
							}
204
							else{
205
								//System.out.println("skipping inventory for warehouse id " + entry.getKey());
206
							}
207
						}
208
					}
209
					item= new SnapdealItemForInventory(thriftItem.getId(),available,reserve,heldForSource,thriftItem.getHoldInventory(),thriftItem.getDefaultInventory(),thriftItem.isRisky(),thriftItem.getItemStatus());
210
				}
211
				else{
212
					item = new SnapdealItemForInventory(thriftItem.getId(),0,0,0,thriftItem.getHoldInventory(),thriftItem.getDefaultInventory(),thriftItem.isRisky(),thriftItem.getItemStatus());
213
				}
214
 
215
				//System.out.println(" Item details are " + thriftItem.getId() +" " + available + " " + reserve + " " + thriftItem.getHoldInventory() + " "+ thriftItem.getDefaultInventory() + " " + thriftItem.isRisky());
216
				//System.out.println("+++++++++++++++++++++++");
217
				allItemsInventoryMap.put(thriftItem.getId(),item);
218
 
219
			}
220
 
221
		} catch (TException e) {
222
			// TODO Auto-generated catch block
223
			e.printStackTrace();
224
		}
225
 
226
	}
227
	private static void fetchinventoryfromsnapdeal() throws UnsupportedEncodingException{
228
		HttpClient client = new DefaultHttpClient();
229
		HttpPost post = new HttpPost("http://seller.snapdeal.com/login_security_check?spring-security-redirect=http://seller.snapdeal.com/inventory&");
230
		HttpGet get; 
231
		BufferedReader rd= null;
232
		List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
233
		nameValuePairs.add(new BasicNameValuePair("j_username",
234
		"khushal.bhatia@saholic.com"));
235
		nameValuePairs.add(new BasicNameValuePair("j_password",
236
		"sonline"));
237
		post.setEntity(new UrlEncodedFormEntity(nameValuePairs,"utf-8"));
238
		HttpResponse response = null;
239
		try {
240
			response = client.execute(post);
241
		} catch (ClientProtocolException e) {
242
			// TODO Auto-generated catch block
243
			e.printStackTrace();
244
		} catch (IOException e) {
245
			// TODO Auto-generated catch block
246
			e.printStackTrace();
247
		}
248
		try {
249
			rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
250
		} catch (IllegalStateException e1) {
251
			// TODO Auto-generated catch block
252
			e1.printStackTrace();
253
		} catch (IOException e1) {
254
			// TODO Auto-generated catch block
255
			e1.printStackTrace();
256
		}
257
		String line = "";
258
		try {
259
			while ((line = rd.readLine()) != null) {
260
				System.out.println(line);
261
			}
262
		} catch (IOException e) {
263
			// TODO Auto-generated catch block
264
			e.printStackTrace();
265
		}
266
		int i = 1;
267
		int items=0;
268
		long time = System.currentTimeMillis();
269
		Gson gson = new Gson();
270
		Client inventoryClient = null;
271
		try {
272
			inventoryClient = new InventoryClient().getClient();
273
		} catch (TTransportException e) {
274
			// TODO Auto-generated catch block
275
			e.printStackTrace();
276
		}
277
		in.shop2020.model.v1.order.TransactionService.Client transactionClient = null;
278
		try {
279
			transactionClient = new TransactionClient().getClient();
280
		} catch (TTransportException e) {
281
			// TODO Auto-generated catch block
282
			e.printStackTrace();
283
		}
284
		SnapdealInventoryItem inventory_item = null;
285
		long created_orders = 0;
286
		long pending_orders;
287
		inventoryItemList = new ArrayList<Inventory>();
288
		while(true){
289
			time = System.currentTimeMillis();
290
			get = new HttpGet("http://seller.snapdeal.com/inventory/search?gridType=normal&_search=false&nd="+time+"&rows="+30+"&page="+i+"&sidx=&sord=asc");
291
			try {
292
				response = client.execute(get);
293
			} catch (ClientProtocolException e) {
294
				// TODO Auto-generated catch block
295
				e.printStackTrace();
296
			} catch (IOException e) {
297
				// TODO Auto-generated catch block
298
				e.printStackTrace();
299
			}
300
			try {
301
				rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
302
			} catch (IllegalStateException e) {
303
				// TODO Auto-generated catch block
304
				e.printStackTrace();
305
			} catch (IOException e) {
306
				// TODO Auto-generated catch block
307
				e.printStackTrace();
308
			}
309
			InventoryItems inventoryitems = (InventoryItems) gson.fromJson(rd, InventoryItems.class);
310
			if(inventoryitems.getRows().size()!=0){
311
				for(Inventory inventory : inventoryitems.getRows()){
312
					/*System.out.println("SUPC " + inventory.getSupc());
313
						System.out.println("SKU " + inventory.getSellerSku());
314
						System.out.println("Product Name " + inventory.getProductName());
315
						System.out.println("Quantity " + inventory.getAvailableInventory());
316
						System.out.println("Pending " + inventory.getPendingAvailableInventory());
317
						System.out.println("Status " + inventory.isPendingUpdate());
318
					 */
319
					pending_orders=0;
320
					try{
321
						inventory_item = inventoryClient.getSnapdealInventoryForItem(Long.parseLong(inventory.getSellerSku()));
322
					}
323
					catch(NumberFormatException nfe)  
324
					{  
325
						continue;  
326
					} catch (TException e) {
327
						// TODO Auto-generated catch block
328
						e.printStackTrace();
329
					}  
330
					if(inventory_item.getItem_id()!=0){
331
						if(inventory.getAvailableInventory()!=inventory_item.getAvailability()){
332
							try {
333
								created_orders = transactionClient.getOrdersCreatedAfterTimestampForSource(inventory_item.getLastUpdatedOnSnapdeal(), 7, Long.parseLong(inventory.getSellerSku()));
334
							} catch (NumberFormatException e) {
335
								// TODO Auto-generated catch block
336
								e.printStackTrace();
337
							} catch (TException e) {
338
								// TODO Auto-generated catch block
339
								e.printStackTrace();
340
							}
341
						}
342
						if(created_orders == (inventory_item.getAvailability() - inventory.getAvailableInventory())){
343
						}
344
						else{
345
							pending_orders = (inventory_item.getAvailability() - inventory.getAvailableInventory() - created_orders);
346
						}
347
					}
348
					itemIdpendingOrdersMap.put(Long.parseLong(inventory.getSellerSku()),pending_orders);
349
					inventoryItemList.add(inventory);
350
					items++;
351
				}
352
			}
353
			else{
354
				System.out.println("Fetched  " + items);
355
				break;
356
			}
357
			i++;
358
		}
359
 
360
	}
361
 
362
	@SuppressWarnings("deprecation")
363
	public static void main(String[] args) throws NumberFormatException, TException, ClientProtocolException, IOException {
364
		fetchinventoryfromsnapdeal();
365
		calculateinventory();
366
		in.shop2020.model.v1.catalog.CatalogService.Client catalogServiceClient = null;
367
		SnapdealItem snapdealitem = null;
368
		try {
369
			catalogServiceClient = new CatalogClient().getClient();
370
		} catch (TTransportException e) {
371
			// TODO Auto-generated catch block
372
			e.printStackTrace();
373
		}
374
		Client inventoryClient = new InventoryClient().getClient();
375
		FileInputStream fis = new FileInputStream("/home/vikram/Desktop/SellerInventory.xls");
376
	    Workbook hwb = new HSSFWorkbook(fis);
377
	    Sheet sheet = hwb.getSheetAt(0);
378
	    Row row;
379
		int iterator=1;
380
		long availability,reserve,defaultinventory,holdinventory,actualavailability,heldorders;
381
		SnapdealItemForInventory  inventoryItem;
382
		for(Inventory inventory:inventoryItemList){
383
			System.out.println(inventory.getSupc()+" "+inventory.getSellerSku()+ " " +inventory.getProductName()+" "+inventory.getAvailableInventory()+" "+inventory.isLive()+" "+itemIdpendingOrdersMap.get(Long.parseLong(inventory.getSellerSku())));
384
			try{
385
				snapdealitem = catalogServiceClient.getSnapdealItem(Long.parseLong(inventory.getSellerSku()));
386
			}
387
			catch(TTransportException e){
388
				catalogServiceClient = new CatalogClient().getClient();
389
				snapdealitem = catalogServiceClient.getSnapdealItem(Long.parseLong(inventory.getSellerSku()));
390
			}
391
			if(snapdealitem.getItem_id()!=0 && snapdealitem.isIsListedOnSnapdeal() && !snapdealitem.isSuppressInventoryFeed()){
392
				inventoryItem = allItemsInventoryMap.get(Long.parseLong(inventory.getSellerSku()));
393
				if(inventoryItem==null){
394
					continue;
395
				}
396
				availability = inventoryItem.getAvailability(); 
397
				reserve = inventoryItem.getReserve();
398
				defaultinventory = inventoryItem.getDefaultInventory();
399
				holdinventory = inventoryItem.getHoldInventory();
400
				actualavailability = availability - reserve;
401
				heldorders = itemIdpendingOrdersMap.get(Long.parseLong(inventory.getSellerSku()));
402
				row =   sheet.getRow((short) iterator);
403
				row.getCell((short) 0).setCellValue(inventory.getSupc());
404
				row.getCell((short) 1).setCellValue(inventory.getSellerSku());
405
				row.getCell((short) 2).setCellValue(inventory.getProductName());
406
				row.getCell((short) 3).setCellValue(inventory.getAvailableInventory());
407
				long inventoryForRiskyItem = actualavailability - holdinventory;
408
				if(inventoryItem.getRisky()){
409
					if(inventoryForRiskyItem > 0){
410
						if((Math.round(2/3*inventoryForRiskyItem) - heldorders + inventoryItem.getHeldForSource()) > 0){
411
							row.getCell((short) 4).setCellValue(Math.round(2/3*inventoryForRiskyItem) - heldorders + inventoryItem.getHeldForSource());
412
						}
413
						else{
414
							row.getCell((short) 4).setCellValue(0);
415
						}
416
					}
417
					else{
418
						row.getCell((short) 4).setCellValue(0);
419
					}
420
				}
421
				else{
422
					if(actualavailability > defaultinventory){
423
						if((Math.round(2/3*actualavailability) +  inventoryItem.getHeldForSource()) > heldorders){
424
							row.getCell((short) 4).setCellValue(Math.round(2/3*actualavailability) +  inventoryItem.getHeldForSource() - heldorders);
425
						}
426
						else{
427
							row.getCell((short) 4).setCellValue(0);
428
						}
429
					}
430
					else{
431
						if(defaultinventory > heldorders){
432
							row.getCell((short) 4).setCellValue(defaultinventory - heldorders);
433
						}
434
						else{
435
							row.getCell((short) 4).setCellValue(0);
436
						}
437
					}
438
				}
439
				if(inventory.isLive()){
440
					row.getCell((short) 5).setCellValue("Yes");
441
				}
442
				else{
443
					row.getCell((short) 5).setCellValue("No");
444
				}
445
				iterator++;
446
			}
447
			else{
448
				continue;
449
			}
450
		}
451
		FileOutputStream fileOut = null;
452
		fis.close();
453
		try {
454
			fileOut = new FileOutputStream(SNAPDEAL_INVENTORY_SHEET);
455
		} catch (FileNotFoundException e) {
456
			// TODO Auto-generated catch block
457
			e.printStackTrace();
458
		}
459
		try {
460
			hwb.write(fileOut);
461
		} catch (IOException e) {
462
			// TODO Auto-generated catch block
463
			e.printStackTrace();
464
		}
9405 vikram.rag 465
/*		HttpClient client = new DefaultHttpClient();
9404 vikram.rag 466
		HttpPost post = new HttpPost("http://seller.snapdeal.com/login_security_check?spring-security-redirect=http://seller.snapdeal.com/inventory&");
467
		BufferedReader rd= null;
9405 vikram.rag 468
		List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
9404 vikram.rag 469
		nameValuePairs.add(new BasicNameValuePair("j_username",
470
		"khushal.bhatia@saholic.com"));
471
		nameValuePairs.add(new BasicNameValuePair("j_password",
472
		"sonline"));
9405 vikram.rag 473
		post.setEntity(new UrlEncodedFormEntity(nameValuePairs,"utf-8"));
9404 vikram.rag 474
		HttpResponse response = null;
475
		String line;
9405 vikram.rag 476
		try {
9404 vikram.rag 477
			response = client.execute(post);
478
			rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
479
			while ((line = rd.readLine()) != null) {
480
				System.out.println(line);
481
			}
482
 
483
		} catch (ClientProtocolException e) {
484
			// TODO Auto-generated catch block
485
			e.printStackTrace();
486
		} catch (IOException e) {
487
			// TODO Auto-generated catch block
488
			e.printStackTrace();
489
		}
9405 vikram.rag 490
		post = new HttpPost("http://seller.snapdeal.com/inventory/upload");
9404 vikram.rag 491
		File file = new File("/home/vikram/snapdeal-inventory-1389608325312.xls");
492
		MultipartEntity mpEntity = new MultipartEntity();
493
	    ContentBody cbFile = new FileBody(file,"application/vnd.ms-excel");
494
	    mpEntity.addPart("file", cbFile);
495
	    post.setEntity(mpEntity);
496
		response = client.execute(post);
497
		try {
498
			rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
499
		} catch (IllegalStateException e1) {
500
			// TODO Auto-generated catch block
501
			e1.printStackTrace();
502
		} catch (IOException e1) {
503
			// TODO Auto-generated catch block
504
			e1.printStackTrace();
505
		}
506
		line = "";
507
		try {
508
			while ((line = rd.readLine()) != null) {
509
				System.out.println(line);
510
			}
511
		} catch (IOException e) {
512
			// TODO Auto-generated catch block
513
			e.printStackTrace();
514
		}
9405 vikram.rag 515
*/
9404 vikram.rag 516
	}
517
 
518
}