Rev 3127 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.ui.util;import in.shop2020.model.v1.catalog.CatalogService.Client;import in.shop2020.model.v1.catalog.Item;import in.shop2020.thrift.clients.CatalogClient;import java.io.OutputStreamWriter;import java.io.Serializable;import java.net.URL;import java.net.URLConnection;import java.net.URLEncoder;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.ResourceBundle;import com.google.gson.Gson;public class CatalogUploderToGAE implements Serializable {private static final long serialVersionUID = -326425176723602170L;private static final String NAME_KEY = "name";private static final String ID_KEY = "id";private static final String CATALOG_ID_KEY = "catalog_id";private static final String BRAND_KEY = "brand";private static final String COLOR_KEY = "color";private static ResourceBundle properties = ResourceBundle.getBundle(CatalogUploderToGAE.class.getName());private static String googleAppUrl = properties.getString("googleappurl");public void uploadItems(List<Item> items) {List<Map<String, String>> jsonItems = new ArrayList<Map<String, String>>();for (Item item : items) {String name = ((item.getBrand() != null) ? item.getBrand().trim()+ " " : "")+ ((item.getModelName() != null) ? item.getModelName().trim() + " " : "")+ ((item.getModelNumber() != null) ? item.getModelNumber().trim() : "");Map<String, String> jsonItem = new HashMap<String, String>();jsonItem.put(ID_KEY, Long.toString(item.getId()));jsonItem.put(CATALOG_ID_KEY, Long.toString(item.getCatalogItemId()));jsonItem.put(NAME_KEY, name);jsonItem.put(BRAND_KEY, item.getBrand());jsonItem.put(COLOR_KEY, item.getColor());jsonItems.add(jsonItem);}Gson gson = new Gson();postRequest(gson.toJson(jsonItems));}public static void main(String[] args) throws Exception {CatalogClient csc = new CatalogClient();Client client = csc.getClient();List<Item> allItems = client.getAllItems(false);allItems.addAll(client.getAllItems(true));CatalogUploderToGAE catalogUploaderToGAE = new CatalogUploderToGAE();catalogUploaderToGAE.uploadItems(allItems);}private void postRequest(String postData) {try {URL url = new URL("http://" + googleAppUrl + "/upload-catalog-items");URLConnection conn = url.openConnection();conn.setDoOutput(true);OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());String data = URLEncoder.encode("data", "UTF-8") + "=" + URLEncoder.encode(postData.toString(), "UTF-8");wr.write(data);wr.close();conn.getInputStream().close();} catch (Exception e) {e.printStackTrace();}}}