Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
3083 vikas 1
package in.shop2020.ui.util;
2
 
5945 mandeep.dh 3
import in.shop2020.model.v1.catalog.CatalogService.Client;
3083 vikas 4
import in.shop2020.model.v1.catalog.Item;
3127 rajveer 5
import in.shop2020.thrift.clients.CatalogClient;
3083 vikas 6
 
7
import java.io.OutputStreamWriter;
8
import java.io.Serializable;
9
import java.net.URL;
10
import java.net.URLConnection;
11
import java.net.URLEncoder;
12
import java.util.ArrayList;
13
import java.util.HashMap;
14
import java.util.List;
15
import java.util.Map;
16
import java.util.ResourceBundle;
17
 
18
import com.google.gson.Gson;
19
 
20
public class CatalogUploderToGAE implements Serializable {
21
    private static final long serialVersionUID = -326425176723602170L;
22
    private static final String NAME_KEY = "name";
3095 vikas 23
    private static final String ID_KEY = "id";
24
    private static final String CATALOG_ID_KEY = "catalog_id";
3083 vikas 25
    private static final String BRAND_KEY = "brand";
26
    private static final String COLOR_KEY = "color";
27
 
28
    private static ResourceBundle properties = ResourceBundle.getBundle(CatalogUploderToGAE.class.getName());
29
    private static String googleAppUrl = properties.getString("googleappurl");
30
 
31
    public void uploadItems(List<Item> items) {
32
        List<Map<String, String>> jsonItems = new ArrayList<Map<String, String>>();
33
        for (Item item : items) {
34
            String name = ((item.getBrand() != null) ? item.getBrand().trim()
35
                    + " " : "")
36
                    + ((item.getModelName() != null) ? item.getModelName()
37
                            .trim() + " " : "")
38
                    + ((item.getModelNumber() != null) ? item.getModelNumber()
39
                            .trim() : "");
40
            Map<String, String> jsonItem = new HashMap<String, String>();
41
            jsonItem.put(ID_KEY, Long.toString(item.getId()));
42
            jsonItem.put(CATALOG_ID_KEY, Long.toString(item.getCatalogItemId()));
43
            jsonItem.put(NAME_KEY, name);
44
            jsonItem.put(BRAND_KEY, item.getBrand());
45
            jsonItem.put(COLOR_KEY, item.getColor());
46
            jsonItems.add(jsonItem);
47
        }
48
        Gson gson = new Gson();
49
        postRequest(gson.toJson(jsonItems));
50
    }
51
 
52
    public static void main(String[] args) throws Exception {
3127 rajveer 53
        CatalogClient csc = new CatalogClient();
3083 vikas 54
        Client client = csc.getClient();
55
        List<Item> allItems = client.getAllItems(false);
56
        allItems.addAll(client.getAllItems(true));
57
        CatalogUploderToGAE catalogUploaderToGAE = new CatalogUploderToGAE();
58
        catalogUploaderToGAE.uploadItems(allItems);
59
    }
60
 
61
    private void postRequest(String postData) {
62
        try {
63
            URL url = new URL("http://" + googleAppUrl + "/upload-catalog-items");
64
            URLConnection conn = url.openConnection();
65
            conn.setDoOutput(true);
66
            OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
67
            String data = URLEncoder.encode("data", "UTF-8") + "=" + URLEncoder.encode(postData.toString(), "UTF-8");
68
            wr.write(data);
69
            wr.close();
70
 
71
            conn.getInputStream().close();
72
        } catch (Exception e) {
73
            e.printStackTrace();
74
        }
75
    }
76
}