Subversion Repositories SmartDukaan

Rev

Rev 3094 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package in.shop2020.web;

import in.shop2020.model.Item;
import in.shop2020.server.ItemRepository;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class UploadCatalogItemsServlet extends HttpServlet {

    private static final long serialVersionUID = -3936645972813167428L;
    private static final Logger log = LoggerFactory.getLogger(UploadCatalogItemsServlet.class);
    private ItemRepository itemRepository = new ItemRepository();
    
    public void doPost(HttpServletRequest req, HttpServletResponse resp) {
        String data = req.getParameter("data");
        Gson gson = new Gson();
        List<Map<String, String>> jsonItems = new ArrayList<Map<String, String>>();
        Type listOfMapType = new TypeToken<List<Map<String, String>>>() {}.getType();
        jsonItems = gson.fromJson(data, listOfMapType);
        List<Item> items = new ArrayList<Item>();
        for (Map<String, String> jsonItem : jsonItems) {
            Item item = new Item();
            item.setId(Long.parseLong(jsonItem.get(Item.ID_KEY)));
            item.setBrand(jsonItem.get(Item.BRAND_KEY));
            item.setCatalogId(Long.parseLong(jsonItem.get(Item.CATALOG_ID_KEY)));
            item.setColor(jsonItem.get(Item.COLOR_KEY));
            item.setName(jsonItem.get(Item.NAME_KEY));
            items.add(item);
        }
        itemRepository.createAll(items);
    }
    
    public void doGet(HttpServletRequest req, HttpServletResponse resp) {
        doPost(req, resp);
    }
}