Example usage for com.google.gson GsonBuilder registerTypeAdapter

List of usage examples for com.google.gson GsonBuilder registerTypeAdapter

Introduction

In this page you can find the example usage for com.google.gson GsonBuilder registerTypeAdapter.

Prototype

@SuppressWarnings({ "unchecked", "rawtypes" })
public GsonBuilder registerTypeAdapter(Type type, Object typeAdapter) 

Source Link

Document

Configures Gson for custom serialization or deserialization.

Usage

From source file:com.certus.actions.getAllProductsJsonAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    Session s = com.certus.connection.HibernateUtil.getSessionFactory().openSession();

    Criteria cr = s.createCriteria(ProductHasSize.class, "phs");
    cr.createAlias("phs.product", "product").createAlias("phs.size", "size")
            .createAlias("product.brand", "brand").add(Restrictions.eq("product.availability", true))
            .add(Restrictions.eq("brand.availability", true))
            .setProjection(Projections.groupProperty("product"));

    List<Product> pros = cr.list();
    List<ProductHasSize> newPros = new ArrayList<>();
    for (Product pro : pros) {
        ProductHasSize ph = productDetails(pro, s);
        newPros.add(ph);//from w w  w  .j a va 2  s  .c  o  m
    }
    GsonBuilder builder = new GsonBuilder();
    Gson gson = builder.registerTypeAdapter(ProductHasSize.class, new ProductFilterTypeAdapter()).create();
    String element = gson.toJson(newPros);
    s.close();
    response.getWriter().write(element);

}

From source file:com.certus.actions.getChartExpencesAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    String requestString = request.getParameter("expenses");
    //String requestString = "year";
    DateTime today = new DateTime();
    GsonBuilder gsonBuilder = new GsonBuilder();
    Gson gson = gsonBuilder.registerTypeAdapter(ChartExpenses.class, new ChartExpenseAdapter()).create();

    switch (requestString) {
    case "week":

        DateTime startOfWeek = today.weekOfWeekyear().roundFloorCopy();
        DateTime endOfWeek = today.weekOfWeekyear().roundCeilingCopy();

        Map<String, Double> mapWeekSale = new ReportsController().getSalesByWeek(startOfWeek.toDate(),
                endOfWeek.toDate());/*from ww w  . j a  va 2s  .  c  o  m*/
        Map<String, Double> sortedMapWeekSale = new TreeMap<>(ReportsController.DAYS_OF_WEEK_COMPARATOR);
        sortedMapWeekSale.putAll(mapWeekSale);

        Map<String, Double> mapWeekExpense = new ReportsController().getExpenesByWeek(startOfWeek.toDate(),
                endOfWeek.toDate());
        Map<String, Double> sortedMapWeekExpense = new TreeMap<>(ReportsController.DAYS_OF_WEEK_COMPARATOR);
        sortedMapWeekExpense.putAll(mapWeekExpense);

        if (mapWeekExpense.size() != mapWeekSale.size()) {
            try {
                throw new Exception("Invalid size exception");
            } catch (Exception ex) {
                Logger.getLogger(getChartExpencesAction.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        Iterator itSale = mapWeekSale.entrySet().iterator();
        Iterator itExp = mapWeekExpense.entrySet().iterator();
        List<ChartExpenses> expList = new ArrayList<>();
        while (itSale.hasNext() || itExp.hasNext()) {
            Map.Entry<String, Double> sale = null;
            Map.Entry<String, Double> exp = null;
            if (itSale.hasNext()) {
                sale = (Map.Entry<String, Double>) itSale.next();

            }
            if (itExp.hasNext()) {
                exp = (Map.Entry<String, Double>) itExp.next();
            }

            if (sale != null && exp != null) {
                if (sale.getKey().equals(exp.getKey())) {
                    expList.add(new ChartExpenses(sale.getKey(), sale.getValue(), exp.getValue()));
                }
            }

        }

        expList.sort(new DaysComparator());
        String elementWeek = gson.toJson(expList);
        response.setContentType("application/json");
        response.getWriter().write(elementWeek);
        break;

    case "month":

        DateTime startOfMonth = today.monthOfYear().roundFloorCopy();
        DateTime endOfMonth = today.monthOfYear().roundCeilingCopy();

        Map<String, Double> mapMonthSale = new ReportsController().getSalesByMonth(startOfMonth.toDate(),
                endOfMonth.toDate());
        Map<String, Double> sortedMapMonthSale = new TreeMap<>(ReportsController.DAYS_OF_MONTH_COMPARATOR);
        sortedMapMonthSale.putAll(mapMonthSale);

        Map<String, Double> mapMonthExp = new ReportsController().getExpenesByMonth(startOfMonth.toDate(),
                endOfMonth.toDate());
        Map<String, Double> sortedMapMonthExp = new TreeMap<>(ReportsController.DAYS_OF_MONTH_COMPARATOR);
        sortedMapMonthExp.putAll(mapMonthExp);

        if (mapMonthSale.size() != mapMonthExp.size()) {
            try {
                throw new Exception("Invalid size exception");
            } catch (Exception ex) {
                Logger.getLogger(getChartExpencesAction.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        Iterator itSaleMonth = mapMonthSale.entrySet().iterator();
        Iterator itExpMonth = mapMonthExp.entrySet().iterator();
        List<ChartExpenses> expMonthList = new ArrayList<>();
        while (itSaleMonth.hasNext() || itExpMonth.hasNext()) {
            Map.Entry<String, Double> sale = null;
            Map.Entry<String, Double> exp = null;
            if (itSaleMonth.hasNext()) {
                sale = (Map.Entry<String, Double>) itSaleMonth.next();

            }
            if (itExpMonth.hasNext()) {
                exp = (Map.Entry<String, Double>) itExpMonth.next();
            }

            if (sale != null && exp != null) {
                if (sale.getKey().equals(exp.getKey())) {
                    expMonthList.add(new ChartExpenses(sale.getKey(), sale.getValue(), exp.getValue()));
                }
            }

        }
        expMonthList.sort(new MonthDaysComparator());
        String elementMonth = gson.toJson(expMonthList);
        response.setContentType("application/json");
        response.getWriter().write(elementMonth);
        break;

    case "year":
        DateTime startOfYear = today.year().roundFloorCopy();
        DateTime endOfYear = today.year().roundCeilingCopy();

        Map<String, Double> mapYearSale = new ReportsController().getSalesByYear(startOfYear.toDate(),
                endOfYear.toDate());
        Map<String, Double> sortedMapYear = new TreeMap<>(ReportsController.MONTH_OF_YEAR_COMPARATOR);
        sortedMapYear.putAll(mapYearSale);

        Map<String, Double> mapYearExp = new ReportsController().getExpenesByYear(startOfYear.toDate(),
                endOfYear.toDate());
        Map<String, Double> sortedMapYearExp = new TreeMap<>(ReportsController.MONTH_OF_YEAR_COMPARATOR);
        sortedMapYearExp.putAll(mapYearExp);

        if (mapYearExp.size() != mapYearSale.size()) {
            try {
                throw new Exception("Invalid size exception");
            } catch (Exception ex) {
                Logger.getLogger(getChartExpencesAction.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        Iterator itSaleYear = mapYearSale.entrySet().iterator();
        Iterator itExpYear = mapYearExp.entrySet().iterator();
        List<ChartExpenses> expYearList = new ArrayList<>();
        while (itSaleYear.hasNext() || itExpYear.hasNext()) {
            Map.Entry<String, Double> sale = null;
            Map.Entry<String, Double> exp = null;
            if (itSaleYear.hasNext()) {
                sale = (Map.Entry<String, Double>) itSaleYear.next();

            }
            if (itExpYear.hasNext()) {
                exp = (Map.Entry<String, Double>) itExpYear.next();
            }

            if (sale != null && exp != null) {
                if (sale.getKey().equals(exp.getKey())) {
                    expYearList.add(new ChartExpenses(sale.getKey(), sale.getValue(), exp.getValue()));
                }
            }

        }
        expYearList.sort(new YearMonthsComparator());
        String elementYear = gson.toJson(expYearList);
        response.setContentType("application/json");
        response.getWriter().write(elementYear);
        break;
    default:
        break;
    }
}

From source file:com.certus.actions.getChartOrdersAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String requestString = request.getParameter("orders");
    DateTime today = new DateTime();
    GsonBuilder gsonBuilder = new GsonBuilder();
    Gson gson = gsonBuilder.registerTypeAdapter(ChartsCriteria.class, new ChartsCriteriaAdapter()).create();

    switch (requestString) {
    case "week":

        DateTime startOfWeek = today.weekOfWeekyear().roundFloorCopy();
        DateTime endOfWeek = today.weekOfWeekyear().roundCeilingCopy();

        Map<String, Double> mapWeek = new ReportsController().getOrdersByWeek(startOfWeek.toDate(),
                endOfWeek.toDate());//from   www  .j  av a  2s.  co  m
        Map<String, Double> sortedMapWeek = new TreeMap<>(ReportsController.DAYS_OF_WEEK_COMPARATOR);
        sortedMapWeek.putAll(mapWeek);

        List<ChartsCriteria> orderListWeek = new ArrayList<>();
        for (Map.Entry<String, Double> m : sortedMapWeek.entrySet()) {
            orderListWeek.add(new ChartsCriteria(m.getKey(), m.getValue()));
        }
        String elementWeek = gson.toJson(orderListWeek);
        response.setContentType("application/json");
        response.getWriter().write(elementWeek);
        break;

    case "month":

        DateTime startOfMonth = today.monthOfYear().roundFloorCopy();
        DateTime endOfMonth = today.monthOfYear().roundCeilingCopy();

        Map<String, Double> mapMonth = new ReportsController().getOrdersByMonth(startOfMonth.toDate(),
                endOfMonth.toDate());
        Map<String, Double> sortedMapMonth = new TreeMap<>(ReportsController.DAYS_OF_MONTH_COMPARATOR);
        sortedMapMonth.putAll(mapMonth);

        List<ChartsCriteria> orderListMonth = new ArrayList<>();
        for (Map.Entry<String, Double> m : sortedMapMonth.entrySet()) {
            orderListMonth.add(new ChartsCriteria(m.getKey(), m.getValue()));
        }
        String elementMonth = gson.toJson(orderListMonth);
        response.setContentType("application/json");
        response.getWriter().write(elementMonth);
        break;

    case "year":
        DateTime startOfYear = today.year().roundFloorCopy();
        DateTime endOfYear = today.year().roundCeilingCopy();

        Map<String, Double> mapYear = new ReportsController().getOrdersByYear(startOfYear.toDate(),
                endOfYear.toDate());
        Map<String, Double> sortedMapYear = new TreeMap<>(ReportsController.MONTH_OF_YEAR_COMPARATOR);
        sortedMapYear.putAll(mapYear);
        List<ChartsCriteria> orderListYear = new ArrayList<>();
        for (Map.Entry<String, Double> m : sortedMapYear.entrySet()) {
            orderListYear.add(new ChartsCriteria(m.getKey(), m.getValue()));
        }
        String elementYear = gson.toJson(orderListYear);
        response.setContentType("application/json");
        response.getWriter().write(elementYear);
        break;
    default:
        break;
    }
}

From source file:com.certus.actions.getChartSalesAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String requestString = request.getParameter("sales");
    DateTime today = new DateTime();
    GsonBuilder gsonBuilder = new GsonBuilder();
    Gson gson = gsonBuilder.registerTypeAdapter(ChartsCriteria.class, new ChartsCriteriaAdapter()).create();

    switch (requestString) {
    case "week":

        DateTime startOfWeek = today.weekOfWeekyear().roundFloorCopy();
        DateTime endOfWeek = today.weekOfWeekyear().roundCeilingCopy();

        Map<String, Double> mapWeek = new ReportsController().getSalesByWeek(startOfWeek.toDate(),
                endOfWeek.toDate());/*from   w  w w . ja v  a2 s  .c o m*/
        Map<String, Double> sortedMapWeek = new TreeMap<>(ReportsController.DAYS_OF_WEEK_COMPARATOR);
        sortedMapWeek.putAll(mapWeek);

        List<ChartsCriteria> saleListWeek = new ArrayList<>();
        for (Map.Entry<String, Double> m : sortedMapWeek.entrySet()) {
            saleListWeek.add(new ChartsCriteria(m.getKey(), m.getValue()));
        }
        String elementWeek = gson.toJson(saleListWeek);
        response.setContentType("application/json");
        response.getWriter().write(elementWeek);
        break;

    case "month":

        DateTime startOfMonth = today.monthOfYear().roundFloorCopy();
        DateTime endOfMonth = today.monthOfYear().roundCeilingCopy();

        Map<String, Double> mapMonth = new ReportsController().getSalesByMonth(startOfMonth.toDate(),
                endOfMonth.toDate());
        Map<String, Double> sortedMapMonth = new TreeMap<>(ReportsController.DAYS_OF_MONTH_COMPARATOR);
        sortedMapMonth.putAll(mapMonth);

        List<ChartsCriteria> saleListMonth = new ArrayList<>();
        for (Map.Entry<String, Double> m : sortedMapMonth.entrySet()) {
            saleListMonth.add(new ChartsCriteria(m.getKey(), m.getValue()));
        }
        String elementMonth = gson.toJson(saleListMonth);
        response.setContentType("application/json");
        response.getWriter().write(elementMonth);
        break;

    case "year":
        DateTime startOfYear = today.year().roundFloorCopy();
        DateTime endOfYear = today.year().roundCeilingCopy();

        Map<String, Double> mapYear = new ReportsController().getSalesByYear(startOfYear.toDate(),
                endOfYear.toDate());
        Map<String, Double> sortedMapYear = new TreeMap<>(ReportsController.MONTH_OF_YEAR_COMPARATOR);
        sortedMapYear.putAll(mapYear);
        List<ChartsCriteria> saleListYear = new ArrayList<>();
        for (Map.Entry<String, Double> m : sortedMapYear.entrySet()) {
            saleListYear.add(new ChartsCriteria(m.getKey(), m.getValue()));
        }
        String elementYear = gson.toJson(saleListYear);
        response.setContentType("application/json");
        response.getWriter().write(elementYear);
        break;
    default:
        break;
    }
}

From source file:com.certus.actions.getProDetailsForBrndAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Session s = com.certus.connection.HibernateUtil.getSessionFactory().openSession();
    if (request.getParameter("pid") != null) {
        List<ProductHasSize> phs = s.createCriteria(ProductHasSize.class, "phs")
                .createAlias("phs.product", "product")
                .add(Restrictions.eq("product.id", Integer.parseInt(request.getParameter("pid")))).list();

        ProductWithSizes pws = new ProductWithSizes();
        Set<String> sizes = new HashSet<>();
        List<Integer> qnties = new ArrayList<>();
        Product p = null;/* w  ww . jav  a2  s.c om*/
        for (ProductHasSize ph : phs) {
            sizes.add(ph.getSize().getSizeName());
            qnties.add(ph.getQnty());
            p = ph.getProduct();
        }
        pws.setProduct(p);
        pws.setSize(sizes);
        pws.setQnty(qnties);

        GsonBuilder gsonBuilder = new GsonBuilder();
        Gson gson = gsonBuilder.registerTypeAdapter(Product.class, new ProductTypeAdapter()).create();
        String element = gson.toJson(pws);
        s.close();
        response.setContentType("application/json");
        response.getWriter().write("[" + element + "]");

    }
}

From source file:com.certus.actions.loadMyUserInfoAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Session s = com.certus.connection.HibernateUtil.getSessionFactory().openSession();
    User u = (User) s.createCriteria(User.class, "user")
            .add(Restrictions.eq("user.id", Integer.parseInt(request.getParameter("uid")))).uniqueResult();
    GsonBuilder gsonBuilder = new GsonBuilder();
    Gson gson = gsonBuilder.registerTypeAdapter(User.class, new UserTypeAdapter()).create();
    String element = gson.toJson(u);
    s.close();/*  w w  w . j  a  va  2s  . c om*/
    response.setContentType("application/json");
    response.getWriter().write(element);
}

From source file:com.certus.actions.loadProductsExistAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Session s = com.certus.connection.HibernateUtil.getSessionFactory().openSession();
    List<Product> proList = s.createCriteria(Product.class).list();
    GsonBuilder gsonBuilder = new GsonBuilder();
    Gson gson = gsonBuilder.registerTypeAdapter(Product.class, new ProductTypeAdapter()).create();
    String element = gson.toJson(proList);
    s.close();/*  w  w w.  j ava 2  s  .c  o  m*/
    response.getWriter().write(element);

}

From source file:com.certus.actions.onSelectAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Session s = com.certus.connection.HibernateUtil.getSessionFactory().openSession();
    List<ProductHasSize> phsList = s.createCriteria(ProductHasSize.class, "phs")
            .createAlias("phs.product", "product")
            .add(Restrictions.eq("product.id", Integer.parseInt(request.getParameter("pid")))).list();
    GsonBuilder gsonBuilder = new GsonBuilder();
    Gson gson = gsonBuilder.registerTypeAdapter(ProductHasSize.class, new ProductHasSizeTypeAdapter()).create();
    String element = gson.toJson(phsList);
    s.close();/*from   w  w w  .  j  a  v a 2 s.  com*/
    response.getWriter().write(element);

}

From source file:com.certus.mobile.actions.mobileFilterAllProductsAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    ItemPage ip = new ItemPage();
    ip.filterProducts(request.getParameter("sub_name"), Integer.parseInt(request.getParameter("cat")), 0, 10);
    List<ProductHasSize> phs = ip.getProList();
    GsonBuilder gb = new GsonBuilder();
    Gson gson = gb.registerTypeAdapter(ProductHasSize.class,
            new com.certus.mobile.controllers.FilterProductsAdapter()).create();
    String element = gson.toJson(phs);
    response.getWriter().write(element);

}

From source file:com.certus.mobile.actions.mobilePopularDealsAction.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    PopularDeals pd = new PopularDeals();
    List<ProWithRate> pwr = pd.getPopularDeals();
    GsonBuilder gb = new GsonBuilder();
    Gson gson = gb.registerTypeAdapter(ProWithRate.class, new PopularDealsTypeAdapter()).create();
    String element = gson.toJson(pwr);
    pd.closeConnection();//from w  w w .j a v a 2s . c o  m
    response.getWriter().write(element);

}