Example usage for com.google.gson JsonPrimitive JsonPrimitive

List of usage examples for com.google.gson JsonPrimitive JsonPrimitive

Introduction

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

Prototype

public JsonPrimitive(Character c) 

Source Link

Document

Create a primitive containing a character.

Usage

From source file:com.adobe.acs.commons.wcm.impl.TagWidgetConfigurationServlet.java

License:Apache License

private void writeConfigResource(Resource resource, String propertyName, SlingHttpServletRequest request,
        SlingHttpServletResponse response) throws IOException, ServletException {
    JsonObject widget = createEmptyWidget(propertyName);

    RequestParameterMap map = request.getRequestParameterMap();
    for (Map.Entry<String, RequestParameter[]> entry : map.entrySet()) {
        String key = entry.getKey();
        RequestParameter[] params = entry.getValue();
        if (params != null) {
            if (params.length > 1) {
                JsonArray arr = new JsonArray();
                for (int i = 0; i < params.length; i++) {
                    arr.add(new JsonPrimitive(params[i].getString()));
                }// w  w w.  j  av  a 2 s  .  c  o m
                widget.add(key, arr);
            } else if (params.length == 1) {
                widget.addProperty(key, params[0].getString());
            }
        }
    }

    widget = underlay(widget, resource);

    JsonObject parent = new JsonObject();
    parent.addProperty("xtype", "dialogfieldset");
    parent.addProperty("border", false);
    parent.addProperty("padding", 0);
    parent.addProperty("style", "padding: 0px");
    parent.add("items", widget);
    Gson gson = new Gson();
    gson.toJson(parent, response.getWriter());
}

From source file:com.android.volley.DateFormatter.java

License:Open Source License

public JsonElement serialize(Date date, Type type, JsonSerializationContext context) {
    final DateFormat primary = formats[0];
    String formatted;//from ww  w. j  a v  a2s. c om
    synchronized (primary) {
        formatted = primary.format(date);
    }
    return new JsonPrimitive(formatted);
}

From source file:com.app.json.authenticate.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./* ww w  . j  a  v a2 s .com*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 * @throws java.sql.SQLException
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, SQLException {
    response.setContentType("application/JSON");
    Connection conn = null;
    try (PrintWriter out = response.getWriter()) {
        /* TODO output your page here. You may use following sample code. */
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        conn = ConnectionManager.getConnection();
        //creats a new json object for printing the desired json output
        JsonObject jsonOutput = new JsonObject();
        //retrieves the user
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String errorMsg = "invalid username/password";
        JsonArray errorArray = new JsonArray();
        errorArray.add(new JsonPrimitive(errorMsg));

        User currentUser = UserDAO.retrieveUser(username, conn);
        Admin admin = AdminDAO.retrieveAdmin(username);
        if (admin != null) {
            if (!admin.getPassword().equals(password) || password == null) {
                jsonOutput.addProperty("status", "error");
                jsonOutput.add("messages", errorArray);
                try {
                    out.println(gson.toJson(jsonOutput));
                } finally {
                    out.close();
                    ConnectionManager.close(conn);
                }
            } else {
                jsonOutput.addProperty("status", "success");
                String sharedSecret = "is203g4t6luvjava";
                String token = JWTUtility.sign(sharedSecret, username);
                jsonOutput.addProperty("token", token);
                try {
                    out.println(gson.toJson(jsonOutput));
                } finally {
                    out.close();
                    ConnectionManager.close(conn);
                }
            }
            return;
        }

        if (username.equals("")) {
            // error output
            jsonOutput.addProperty("status", "error");
            errorArray.add(new JsonPrimitive("blank username"));
            jsonOutput.add("messages", errorArray);
        }
        if (password.equals("")) {
            // error output
            jsonOutput.addProperty("status", "error");
            errorArray.add(new JsonPrimitive("blank password"));
            jsonOutput.add("messages", errorArray);
        }
        if (currentUser == null) {
            // error output
            jsonOutput.addProperty("status", "error");
            jsonOutput.add("messages", errorArray);
        } else {
            if (currentUser.getPassword().equals(password)) {
                // success output
                jsonOutput.addProperty("status", "success");
                String sharedSecret = "is203g4t6luvjava";
                String token = JWTUtility.sign(sharedSecret, username);
                jsonOutput.addProperty("token", token);
            } else {
                // error output
                jsonOutput.addProperty("status", "error");
                jsonOutput.add("messages", errorArray);
            }
        }
        //writes the output as a response (but not html)
        try {
            out.println(gson.toJson(jsonOutput));
        } finally {
            out.close();
            ConnectionManager.close(conn);
        }
    }
}

From source file:com.app.json.overuse_report.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from w w  w.j  av  a2  s .  c o m*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 * @throws java.sql.SQLException
 * @throws java.text.ParseException
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, SQLException, ParseException {
    response.setContentType("application/JSON");
    Connection conn = null;
    try (PrintWriter out = response.getWriter()) {
        conn = ConnectionManager.getConnection();
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        JsonObject jsonOutput = new JsonObject();
        JsonArray errorJsonList = new JsonArray();
        String startdate = request.getParameter("startdate");
        String enddate = request.getParameter("enddate");
        String token = request.getParameter("token");
        String macAdd = request.getParameter("macaddress");
        Date startDateFmt = new Date();
        Date endDateFmt = new Date();
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        df.setLenient(false);

        if (macAdd == null) {
            errorJsonList.add(new JsonPrimitive("missing macaddress"));
        } else if (macAdd.equals("")) {
            errorJsonList.add(new JsonPrimitive("blank macaddress"));
        } else {
            if (UserDAO.retrieveUserByMacAddress(macAdd, conn) == null) {
                errorJsonList.add(new JsonPrimitive("invalid macaddress"));
            }
        }

        if (startdate == null) {
            errorJsonList.add(new JsonPrimitive("missing startdate"));
        } else if (startdate.equals("")) {
            errorJsonList.add(new JsonPrimitive("blank startdate"));
        } else {
            try {
                startDateFmt = df.parse(startdate);
            } catch (ParseException ex) {
                errorJsonList.add(new JsonPrimitive("invalid startdate"));
            }
        }

        if (enddate == null) {
            errorJsonList.add(new JsonPrimitive("missing enddate"));
        } else if (enddate.equals("")) {
            errorJsonList.add(new JsonPrimitive("blank enddate"));
        } else {
            try {
                endDateFmt = df.parse(enddate);
            } catch (ParseException ex) {
                errorJsonList.add(new JsonPrimitive("invalid enddate"));
            }
        }
        if (startDateFmt != null && endDateFmt != null && startDateFmt.after(endDateFmt)) {
            errorJsonList.add(new JsonPrimitive("invalid startdate"));
        }
        String sharedSecret = "is203g4t6luvjava";
        String username = "";
        if (token == null) {
            errorJsonList.add(new JsonPrimitive("missing token"));
        } else if (token.equals("")) {
            errorJsonList.add(new JsonPrimitive("blank token"));
        } else {
            try {
                username = JWTUtility.verify(token, sharedSecret);
            } catch (JWTException ex) {
                errorJsonList.add(new JsonPrimitive("invalid token"));
            }
        }

        if (errorJsonList.size() > 0) {
            jsonOutput.addProperty("status", "error");
            jsonOutput.add("messages", errorJsonList);
        } else {
            ArrayList<String> macaddress = new ArrayList<>();
            macaddress.add(macAdd);
            ArrayList<AppUsage> usages = AppUsageDAO.retrieve(macaddress, startdate, enddate, conn);
            char duration;
            char gameDuration;
            char frequency;
            long days = 0;
            float totalDuration = 0;
            days = SmartphoneOveruseUtility.getDays(startdate, enddate);
            totalDuration = (float) SmartphoneOveruseUtility.getDuration(usages, enddate);

            float durationValue = totalDuration / days;
            int durationValueSecs = Math.round(durationValue);
            if (durationValue >= 5 * 3600) {
                duration = 'S';
            } else if (durationValue >= 3 * 3600) {
                duration = 'M';
            } else {
                duration = 'L';
            }

            ArrayList<Integer> gameID = AppDAO.retrieveID("games", conn);
            ArrayList<AppUsage> gameUsage = AppUsageDAO.retrieve(macaddress.get(0), startdate, enddate, gameID,
                    conn);
            float totalGameDuration = 0;
            int gameDurationValueSec = 0;
            try {
                totalGameDuration = (float) SmartphoneOveruseUtility.getDuration(gameUsage, enddate);

            } catch (ParseException e) {

            }
            float gameDurationValue = totalGameDuration / days;
            gameDurationValueSec = Math.round(gameDurationValue);
            if (gameDurationValue >= 2 * 3600) {
                gameDuration = 'S';
            } else if (gameDurationValue >= 1 * 3600) {
                gameDuration = 'M';
            } else {
                gameDuration = 'L';
            }

            float frequencyValue = 0;
            float frequencyFormatValue = 0;

            frequencyValue = SmartphoneOveruseUtility.getFrequency(usages, enddate, days);
            frequencyFormatValue = Math.round(frequencyValue * 10) / 10;

            if (frequencyValue >= 5) {
                frequency = 'S';
            } else if (frequencyValue >= 3) {
                frequency = 'M';
            } else {
                frequency = 'L';
            }
            JsonObject result = new JsonObject();

            HashMap<Character, String> metrics = new HashMap<Character, String>();
            metrics.put('S', "Severe");
            metrics.put('L', "Light");
            metrics.put('M', "Moderate");
            if (!(duration != 'S' && gameDuration != 'S' && frequency != 'S')) {
                JsonObject usage = new JsonObject();
                JsonObject gaming = new JsonObject();
                JsonObject accessF = new JsonObject();
                JsonArray metricsArr = new JsonArray();
                result.addProperty("overuse-index", "Overusing");
                String usageCat = metrics.get(duration);
                usage.addProperty("usage-category", usageCat);
                usage.addProperty("usage-duration", durationValueSecs);
                metricsArr.add(usage);
                String gamingCat = metrics.get(gameDuration);
                gaming.addProperty("gaming-category", gamingCat);
                gaming.addProperty("gaming-duration", gameDurationValueSec);
                metricsArr.add(gaming);
                String accessFrequencyCat = metrics.get(frequency);
                accessF.addProperty("accessfrequency-category", accessFrequencyCat);
                accessF.addProperty("accessfrequency", frequencyFormatValue);
                metricsArr.add(accessF);
                result.add("metrics", metricsArr);
            } else if (duration == 'L' && gameDuration == 'L' && frequency == 'L') {
                JsonObject usage = new JsonObject();
                JsonObject gaming = new JsonObject();
                JsonObject accessF = new JsonObject();
                JsonArray metricsArr = new JsonArray();
                result.addProperty("overuse-index", "Normal");
                String usageCat = metrics.get(duration);
                usage.addProperty("usage-category", usageCat);
                usage.addProperty("usage-duration", durationValueSecs);
                metricsArr.add(usage);
                String gamingCat = metrics.get(gameDuration);
                gaming.addProperty("gaming-category", gamingCat);
                gaming.addProperty("gaming-duration", gameDurationValueSec);
                metricsArr.add(gaming);
                String accessFrequencyCat = metrics.get(frequency);
                accessF.addProperty("accessfrequency-category", accessFrequencyCat);
                accessF.addProperty("accessfrequency", frequencyFormatValue);
                metricsArr.add(accessF);
                result.add("metrics", metricsArr);
            } else {
                JsonObject usage = new JsonObject();
                JsonObject gaming = new JsonObject();
                JsonObject accessF = new JsonObject();
                JsonArray metricsArr = new JsonArray();
                result.addProperty("overuse-index", "ToBeCautious");
                String usageCat = metrics.get(duration);
                usage.addProperty("usage-category", usageCat);
                usage.addProperty("usage-duration", durationValueSecs);
                metricsArr.add(usage);
                String gamingCat = metrics.get(gameDuration);
                gaming.addProperty("gaming-category", gamingCat);
                gaming.addProperty("gaming-duration", gameDurationValueSec);
                metricsArr.add(gaming);
                String accessFrequencyCat = metrics.get(frequency);
                accessF.addProperty("accessfrequency-category", accessFrequencyCat);
                accessF.addProperty("accessfrequency", frequencyFormatValue);
                metricsArr.add(accessF);
                result.add("metrics", metricsArr);
            }
            jsonOutput.addProperty("status", "success");
            jsonOutput.add("results", result);
        }
        try {
            out.println(gson.toJson(jsonOutput));
        } finally {
            out.close();
            ConnectionManager.close(conn);
        }
    }
}

From source file:com.app.json.top_k_most_used_apps.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*w w  w .ja v a 2s. c o m*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 * @throws java.sql.SQLException
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, SQLException {
    response.setContentType("application/JSON");
    Connection conn = null;
    try (PrintWriter out = response.getWriter()) {
        conn = ConnectionManager.getConnection();
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        JsonObject jsonOutput = new JsonObject();
        JsonArray errorJsonList = new JsonArray();
        //retrieves the user
        String[] schools = { "sis", "economics", "socsc", "law", "accountancy", "business" };
        List<String> schoolList = (List<String>) Arrays.asList(schools);
        String startdate = request.getParameter("startdate");
        String enddate = request.getParameter("enddate");
        String token = request.getParameter("token");
        String k = request.getParameter("k");
        String school = request.getParameter("school");
        Date startDateFmt = null;
        Date endDateFmt = null;
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        df.setLenient(false);
        JsonObject temp = new JsonObject();
        if (startdate == null || startdate.equals("")) {
            errorJsonList.add(new JsonPrimitive("invalid startdate"));
        } else {
            try {
                startDateFmt = df.parse(startdate);
            } catch (ParseException ex) {
                errorJsonList.add(new JsonPrimitive("invalid startdate"));
            }
        }
        if (enddate == null || enddate.equals("")) {
            errorJsonList.add(new JsonPrimitive("invalid enddate"));
        } else {
            try {
                endDateFmt = df.parse(enddate);
            } catch (ParseException ex) {
                errorJsonList.add(new JsonPrimitive("invalid enddate"));
            }
        }
        if (startDateFmt != null && endDateFmt != null && startDateFmt.after(endDateFmt)) {
            errorJsonList.add(new JsonPrimitive("invalid startdate"));
        }
        int kInt = 0;
        if (k == null || k.equals("")) {
            kInt = 3;
        } else {
            try {
                kInt = Integer.parseInt(k);
                if (kInt < 1 || kInt > 10) {
                    errorJsonList.add(new JsonPrimitive("invalid k"));
                }
            } catch (NumberFormatException e) {
                errorJsonList.add(new JsonPrimitive("invalid k"));
            }
        }
        String sharedSecret = "is203g4t6luvjava";
        String username = "";
        try {
            username = JWTUtility.verify(token, sharedSecret);
        } catch (JWTException ex) {
            errorJsonList.add(new JsonPrimitive("invalid token"));
        }
        if (!schoolList.contains(school)) {
            errorJsonList.add(new JsonPrimitive("invalid school"));
        }
        if (errorJsonList.size() > 0) {
            jsonOutput.addProperty("status", "error");
            jsonOutput.add("messages", errorJsonList);
        } else {
            JsonArray results = new JsonArray();
            ArrayList<String> macList = UserDAO.retrieveMacAddress(school, conn);
            ArrayList<AppUsage> usages = AppUsageDAO.retrieve(macList, startdate, enddate, conn);
            SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            HashMap<String, TreeMap<Long, Integer>> usageMap = new HashMap<>();
            for (AppUsage usage : usages) {
                String mac = usage.getMacAddress();
                String timestamp = usage.getTimestamp();
                Date date = new Date();
                try {
                    date = fmt.parse(timestamp);
                } catch (ParseException ex) {
                    Logger.getLogger(top_k_most_used_apps.class.getName()).log(Level.SEVERE, null, ex);
                }
                int appid = usage.getId();
                if (usageMap.get(mac) == null) {
                    TreeMap<Long, Integer> tm = new TreeMap<>();
                    tm.put(date.getTime(), appid);
                    usageMap.put(mac, tm);
                } else {
                    TreeMap<Long, Integer> tm = usageMap.get(mac);
                    tm.put(date.getTime(), appid);
                    usageMap.put(mac, tm);
                }
            }
            HashMap<Integer, Long> appDuMap = new HashMap<>();
            Set<String> macSet = usageMap.keySet();
            Iterator ite = macSet.iterator();
            while (ite.hasNext()) {
                String mac = (String) ite.next();
                TreeMap<Long, Integer> tm = usageMap.get(mac);
                Set<Long> timeSet = tm.keySet();
                Iterator timeIte = timeSet.iterator();
                long time1 = (long) timeIte.next();
                long time2;
                int id1 = tm.get(time1);
                int id2;
                long duration = 0;
                if (!timeIte.hasNext()) {//the last record

                    Date end = new Date();
                    try {
                        end = fmt.parse(enddate + " 23:59:59");
                    } catch (ParseException ex) {
                        Logger.getLogger(top_k_most_used_apps.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    long lastDif = (end.getTime() - time1) / 1000;
                    if (lastDif > 120) {
                        lastDif = 10;
                    }
                    duration += lastDif;
                    if (appDuMap.get(id1) == null) {
                        appDuMap.put(id1, duration);
                    } else {
                        long d = appDuMap.get(id1) + duration;
                        appDuMap.put(id1, d);
                    }
                } else {
                    while (timeIte.hasNext()) {//go through the treemap<date, appid> of one mac address
                        time2 = (long) timeIte.next();
                        id2 = tm.get(time2);
                        long dif = (time2 - time1) / 1000; // seconds
                        if (dif > 120) {
                            dif = 10;
                        }
                        duration += dif;
                        if (id1 != id2) {
                            if (appDuMap.get(id1) == null) {
                                appDuMap.put(id1, duration);
                            } else {
                                long d = appDuMap.get(id1) + duration;
                                appDuMap.put(id1, d);
                            }
                            duration = 0;
                        }
                        if (!timeIte.hasNext()) {//the last record

                            Date end = new Date();
                            try {
                                end = fmt.parse(enddate + " 23:59:59");
                            } catch (ParseException ex) {
                                Logger.getLogger(top_k_most_used_apps.class.getName()).log(Level.SEVERE, null,
                                        ex);
                            }

                            long lastDif = (end.getTime() - time2) / 1000;
                            if (lastDif > 120) {
                                lastDif = 10;
                            }
                            duration += lastDif;
                            if (appDuMap.get(id2) == null) {
                                appDuMap.put(id2, duration);
                            } else {
                                long d = appDuMap.get(id2) + duration;
                                appDuMap.put(id2, d);
                            }
                        }
                        id1 = id2;
                        time1 = time2;
                    }
                }
            }
            TreeMap<Long, ArrayList<String>> duAppMap = new TreeMap<>();
            Set<Integer> aSet = appDuMap.keySet();
            Iterator iter = aSet.iterator();
            while (iter.hasNext()) {
                int id = (int) iter.next();
                String name = AppDAO.retrieveName(id, conn);
                long dur = appDuMap.get(id);
                if (duAppMap.get(dur) == null) {
                    ArrayList<String> iList = new ArrayList<>();
                    iList.add(name);
                    duAppMap.put(dur, iList);
                } else {
                    ArrayList<String> iList = duAppMap.get(dur);
                    iList.add(name);
                    duAppMap.put(dur, iList);
                }
            }
            NavigableMap<Long, ArrayList<String>> map1 = null;
            TreeMap<Long, ArrayList<String>> treemap1 = duAppMap;
            if (treemap1 != null) {
                map1 = treemap1.descendingMap();
            }
            if (map1 != null && !map1.isEmpty()) {
                Set<Long> durSet = map1.keySet();
                Iterator it = durSet.iterator();
                int kCount = kInt;
                int rank = 1;
                while (it.hasNext() && rank <= kCount) {
                    Long usage = (Long) it.next();
                    ArrayList<String> apps = map1.get(usage);
                    Collections.sort(apps);
                    int count = 0;
                    for (int i = 0; i < apps.size(); i++) {
                        JsonObject obj = new JsonObject();
                        obj.addProperty("rank", rank);
                        obj.addProperty("app-name", apps.get(i));
                        obj.addProperty("duration", usage);
                        results.add(obj);
                        count++;
                    }
                    rank += count;
                }
            }

            jsonOutput.addProperty("status", "success");
            jsonOutput.add("results", results);
        }
        try {
            out.println(gson.toJson(jsonOutput));
        } finally {
            out.close();
            ConnectionManager.close(conn);
        }
    }
}

From source file:com.app.json.top_k_most_used_schools.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//from w w w .  ja  v a2  s.  co  m
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 * @throws java.sql.SQLException
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, SQLException {
    response.setContentType("application/JSON");
    Connection conn = null;
    try (PrintWriter out = response.getWriter()) {
        conn = ConnectionManager.getConnection();
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        JsonObject jsonOutput = new JsonObject();
        JsonArray errorJsonList = new JsonArray();
        ArrayList<String> categories = AppDAO.retrieveAllAppCategory(conn);

        String startdate = request.getParameter("startdate");
        String enddate = request.getParameter("enddate");
        String token = request.getParameter("token");
        String k = request.getParameter("k");
        String appcategory = request.getParameter("appcategory");

        Date startDateFmt = null;
        Date endDateFmt = null;

        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        df.setLenient(false);
        if (startdate == null || startdate.equals("")) {
            errorJsonList.add(new JsonPrimitive("invalid startdate"));
        } else {
            try {
                startDateFmt = df.parse(startdate);
            } catch (ParseException ex) {
                errorJsonList.add(new JsonPrimitive("invalid startdate"));
            }
        }
        if (enddate == null || enddate.equals("")) {
            errorJsonList.add(new JsonPrimitive("invalid enddate"));
        } else {
            try {
                endDateFmt = df.parse(enddate);
            } catch (ParseException ex) {
                errorJsonList.add(new JsonPrimitive("invalid enddate"));
            }
        }
        if (startDateFmt != null && endDateFmt != null && startDateFmt.after(endDateFmt)) {
            errorJsonList.add(new JsonPrimitive("invalid startdate"));
        }
        int kValue = 0;
        if (k == null || k.equals("")) {
            kValue = 3;
        } else {
            try {
                kValue = Integer.parseInt(k);
                if (kValue < 1 || kValue > 10) {
                    errorJsonList.add(new JsonPrimitive("invalid k"));
                }
            } catch (NumberFormatException e) {
                errorJsonList.add(new JsonPrimitive("invalid k"));
            }
        }
        if (!categories.contains(appcategory)) {
            errorJsonList.add(new JsonPrimitive("invalid app category"));
        }
        String sharedSecret = "is203g4t6luvjava";
        String username = "";
        try {
            username = JWTUtility.verify(token, sharedSecret);
        } catch (JWTException ex) {
            errorJsonList.add(new JsonPrimitive("invalid token"));
        }
        if (errorJsonList.size() > 0) {
            jsonOutput.addProperty("status", "error");
            jsonOutput.add("messages", errorJsonList);
        } else {
            JsonArray results = new JsonArray();

            if (!k.equals("")) {
                ArrayList<Integer> idList = AppDAO.retrieveID(appcategory, conn);
                ArrayList<AppUsage> usages = AppUsageDAO.retrieve(startdate, enddate, conn);
                SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                HashMap<String, TreeMap<Long, Integer>> usageMap = new HashMap<>();
                //HashMap<macaddress, TreeMap<date, appid>>
                for (AppUsage usage : usages) {
                    String mac = usage.getMacAddress();
                    String timestamp = usage.getTimestamp();
                    Date date = new Date();
                    try {
                        date = fmt.parse(timestamp);
                    } catch (ParseException ex) {
                        Logger.getLogger(top_k_most_used_schools.class.getName()).log(Level.SEVERE, null, ex);
                    }
                    int appid = usage.getId();
                    if (usageMap.get(mac) == null) {//this mac address hasn't been put into the hashmap
                        TreeMap<Long, Integer> tm = new TreeMap<>();
                        tm.put(date.getTime(), appid);
                        usageMap.put(mac, tm);
                    } else {//this mac address already exists in the hashmap
                        TreeMap<Long, Integer> tm = usageMap.get(mac);
                        tm.put(date.getTime(), appid);
                        usageMap.put(mac, tm);
                    }
                }
                HashMap<String, Long> macDuMap = new HashMap<>();
                //<MacAddress, Duration>
                Set<String> macSet = usageMap.keySet();
                Iterator ite = macSet.iterator();
                while (ite.hasNext()) {//for a mac address:
                    HashMap<Integer, Long> appDuMap = new HashMap<>();
                    //<appid, duration>
                    String mac = (String) ite.next();
                    TreeMap<Long, Integer> tm = usageMap.get(mac);
                    //<date, appid>
                    Set<Long> timeSet = tm.keySet();
                    Iterator timeIte = timeSet.iterator();
                    long time1 = (long) timeIte.next();
                    long time2;
                    int id1 = tm.get(time1);
                    int id2;
                    long duration = 0;
                    if (!timeIte.hasNext()) {
                        Date end = new Date();
                        try {
                            end = fmt.parse(enddate + " 23:59:59");
                        } catch (ParseException ex) {
                            Logger.getLogger(top_k_most_used_schools.class.getName()).log(Level.SEVERE, null,
                                    ex);
                        }
                        long lastDif = (end.getTime() - time1) / 1000;
                        if (lastDif > 120) {
                            lastDif = 10;
                        }
                        duration += lastDif;
                        if (idList.contains(id1)) {
                            if (appDuMap.get(id1) == null) {
                                appDuMap.put(id1, duration);
                            } else {
                                long d = appDuMap.get(id1) + duration;
                                appDuMap.put(id1, d);
                            }
                        }
                    } else {
                        while (timeIte.hasNext()) {//go through the treemap<date, appid> of one mac address
                            time2 = (long) timeIte.next();
                            id2 = tm.get(time2);
                            long dif = (time2 - time1) / 1000; // seconds
                            if (dif > 120) {
                                dif = 10;
                            }
                            duration += dif;
                            if (id1 != id2) {
                                if (idList.contains(id1)) {
                                    if (appDuMap.get(id1) == null) {
                                        appDuMap.put(id1, duration);
                                    } else {
                                        long d = appDuMap.get(id1) + duration;
                                        appDuMap.put(id1, d);
                                    }
                                    duration = 0;
                                }
                            }
                            if (!timeIte.hasNext()) {//the last record
                                Date end = new Date();
                                try {
                                    end = fmt.parse(enddate + " 23:59:59");
                                } catch (ParseException ex) {
                                    Logger.getLogger(top_k_most_used_schools.class.getName()).log(Level.SEVERE,
                                            null, ex);
                                }
                                long lastDif = (end.getTime() - time2) / 1000;
                                if (lastDif > 120) {
                                    lastDif = 10;
                                }
                                duration += lastDif;
                                if (idList.contains(id2)) {
                                    if (appDuMap.get(id2) == null) {
                                        appDuMap.put(id2, duration);
                                    } else {
                                        long d = appDuMap.get(id2) + duration;
                                        appDuMap.put(id2, d);
                                    }
                                }
                            }
                            id1 = id2;
                            time1 = time2;
                        }
                    }
                    Collection<Long> duCollect = appDuMap.values();
                    Iterator duIte = duCollect.iterator();
                    long totalDu = 0;
                    while (duIte.hasNext()) {
                        long dur = (long) duIte.next();
                        totalDu += dur;
                    }
                    macDuMap.put(mac, totalDu);

                }
                //convert the mac-duration map into school-duration hashmap
                Set<String> mSet = macDuMap.keySet();
                Iterator iter = mSet.iterator();
                HashMap<String, Long> schoolDuMap = new HashMap<>();//<school, duration>
                while (iter.hasNext()) {
                    String macAdr = (String) iter.next();
                    long dur = macDuMap.get(macAdr);
                    String school = UserDAO.retrieveSchool(macAdr, conn);
                    if (schoolDuMap.get(school) == null) {
                        schoolDuMap.put(school, dur);
                    } else {
                        long d = schoolDuMap.get(school);
                        schoolDuMap.put(school, dur + d);
                    }
                }
                //convert school-duration map into duration-school treemap
                TreeMap<Long, ArrayList<String>> duSchoolMap = new TreeMap<>();
                Set<String> schSet = schoolDuMap.keySet();
                Iterator schIte = schSet.iterator();
                while (schIte.hasNext()) {
                    String school = (String) schIte.next();
                    long dur = schoolDuMap.get(school);
                    ArrayList<String> schools = new ArrayList<>();
                    if (duSchoolMap.get(dur) == null) {
                        schools.add(school);
                        duSchoolMap.put(dur, schools);
                    } else {
                        schools = duSchoolMap.get(dur);
                        schools.add(school);
                        duSchoolMap.put(dur, schools);
                    }
                }
                TreeMap<Long, ArrayList<String>> treemap3 = duSchoolMap;
                NavigableMap<Long, ArrayList<String>> map3 = null;
                if (treemap3 != null) {
                    map3 = treemap3.descendingMap();
                }
                if (map3 != null && !map3.isEmpty()) {
                    Set<Long> durSet = map3.keySet();
                    Iterator iterator = durSet.iterator();
                    int kCount = kValue;
                    int rank = 1;
                    while (iterator.hasNext() && rank <= kCount) {
                        Long usage = (Long) iterator.next();
                        ArrayList<String> schoolList = map3.get(usage);
                        int count = 0;
                        Collections.sort(schoolList);
                        for (int i = 0; i < schoolList.size(); i++) {
                            JsonObject obj = new JsonObject();
                            obj.addProperty("rank", rank);
                            String school = schoolList.get(i);
                            obj.addProperty("school", school);
                            obj.addProperty("duration", usage);
                            results.add(obj);
                            count++;
                        }
                        rank += count;
                    }
                    jsonOutput.addProperty("status", "success");
                    jsonOutput.add("results", results);
                }
            }
        }
        try {
            out.println(gson.toJson(jsonOutput));
        } finally {
            out.close();
            ConnectionManager.close(conn);
        }
    }
}

From source file:com.app.json.top_k_most_used_students.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.// w w  w. j a v a2 s. c  o m
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 * @throws java.sql.SQLException
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, SQLException {
    response.setContentType("application/JSON");
    Connection conn = null;
    try (PrintWriter out = response.getWriter()) {
        conn = ConnectionManager.getConnection();
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        JsonObject jsonOutput = new JsonObject();
        JsonArray errorJsonList = new JsonArray();
        String startdate = request.getParameter("startdate");
        String enddate = request.getParameter("enddate");
        String token = request.getParameter("token");
        String k = request.getParameter("k");
        if (k == null || k.length() == 0) {
            k = "3";
        }
        int kValue = Integer.parseInt(k);
        String appcategory = request.getParameter("appcategory");
        Date startDateFmt = null;
        Date endDateFmt = null;
        if (appcategory == null || appcategory.length() == 0) {
            errorJsonList.add(new JsonPrimitive("invalid app category"));
        } else {
            ArrayList<String> appCategories = AppDAO.retrieveAllAppCategory(conn);
            boolean appCategoryExist = false;
            for (String a : appCategories) {
                if (a.equals(appcategory)) {
                    appCategoryExist = true;
                }
            }
            if (!appCategoryExist) {
                errorJsonList.add(new JsonPrimitive("invalid app category"));
            }
        }
        if (kValue > 10 || kValue < 1) {
            errorJsonList.add(new JsonPrimitive("invalid k"));
        }
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        df.setLenient(false);
        if (startdate == null || startdate.equals("")) {
            errorJsonList.add(new JsonPrimitive("invalid startdate"));
        } else {
            try {
                startDateFmt = df.parse(startdate);
            } catch (ParseException ex) {
                errorJsonList.add(new JsonPrimitive("invalid startdate"));
            }
        }
        if (enddate == null || enddate.equals("")) {
            errorJsonList.add(new JsonPrimitive("invalid enddate"));
        } else {
            try {
                endDateFmt = df.parse(enddate);
            } catch (ParseException ex) {
                errorJsonList.add(new JsonPrimitive("invalid enddate"));
            }
        }
        if (startDateFmt.after(endDateFmt)) {
            errorJsonList.add(new JsonPrimitive("invalid startdate"));
        }
        String sharedSecret = "is203g4t6luvjava";
        String username = "";
        if (token == null) {
            token = "";
        }
        try {
            username = JWTUtility.verify(token, sharedSecret);
        } catch (JWTException ex) {
            errorJsonList.add(new JsonPrimitive("invalid token"));
        }
        if (errorJsonList.size() > 0) {
            jsonOutput.addProperty("status", "error");
            jsonOutput.add("messages", errorJsonList);
        } else {
            try {
                ArrayList<Integer> idList = AppDAO.retrieveID(appcategory, conn);
                ArrayList<AppUsage> usages = AppUsageDAO.retrieve(startdate, enddate, idList, conn);
                SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                HashMap<String, TreeMap<Long, Integer>> usageMap = new HashMap<>();

                for (AppUsage usage : usages) {
                    String mac = usage.getMacAddress();
                    String timestamp = usage.getTimestamp();
                    Date date = fmt.parse(timestamp);
                    int appid = usage.getId();
                    if (usageMap.get(mac) == null) {//this mac address hasn't been put into the hashmap
                        TreeMap<Long, Integer> tm = new TreeMap<>();
                        tm.put(date.getTime(), appid);
                        usageMap.put(mac, tm);
                    } else {//this mac address already exists in the hashmap
                        TreeMap<Long, Integer> tm = usageMap.get(mac);
                        tm.put(date.getTime(), appid);
                        usageMap.put(mac, tm);
                    }
                }
                HashMap<String, Long> macDuMap = new HashMap<>();
                //<MacAddress, Duration>
                Set<String> macSet = usageMap.keySet();
                Iterator ite = macSet.iterator();
                while (ite.hasNext()) {//for a mac address:
                    HashMap<Integer, Long> appDuMap = new HashMap<>();
                    //<appid, duration>
                    String mac = (String) ite.next();
                    TreeMap<Long, Integer> tm = usageMap.get(mac);
                    //<date, appid>
                    Set<Long> timeSet = tm.keySet();
                    Iterator timeIte = timeSet.iterator();
                    long time1 = (long) timeIte.next();
                    long time2;
                    int id1 = tm.get(time1);
                    int id2;
                    long duration = 0;
                    if (!timeIte.hasNext()) {//the last record
                        Date end = fmt.parse(enddate + " 23:59:59");
                        long lastDif = (end.getTime() - time1) / 1000;
                        if (lastDif > 120) {
                            lastDif = 10;
                        }
                        duration += lastDif;
                        if (appDuMap.get(id1) == null) {
                            appDuMap.put(id1, duration);
                        } else {
                            long d = appDuMap.get(id1) + duration;
                            appDuMap.put(id1, d);
                        }
                    } else {
                        while (timeIte.hasNext()) {//go through the treemap<date, appid> of one mac address
                            time2 = (long) timeIte.next();
                            id2 = tm.get(time2);
                            long dif = (time2 - time1) / 1000; // seconds
                            if (dif > 120) {
                                dif = 10;
                            }
                            duration += dif;
                            if (id1 != id2) {
                                if (appDuMap.get(id1) == null) {
                                    appDuMap.put(id1, duration);
                                } else {
                                    long d = appDuMap.get(id1) + duration;
                                    appDuMap.put(id1, d);
                                }
                                duration = 0;
                            }
                            if (!timeIte.hasNext()) {//the last record
                                Date end = fmt.parse(enddate + " 23:59:59");
                                long lastDif = (end.getTime() - time2) / 1000;
                                if (lastDif > 120) {
                                    lastDif = 10;
                                }
                                duration += lastDif;
                                if (appDuMap.get(id2) == null) {
                                    appDuMap.put(id2, duration);
                                } else {
                                    long d = appDuMap.get(id2) + duration;
                                    appDuMap.put(id2, d);
                                }
                            }
                            id1 = id2;
                            time1 = time2;
                        }
                    }
                    Collection<Long> duCollect = appDuMap.values();
                    Iterator duIte = duCollect.iterator();
                    long totalDu = 0;
                    while (duIte.hasNext()) {
                        long dur = (long) duIte.next();
                        totalDu += dur;
                    }
                    macDuMap.put(mac, totalDu);

                }

                TreeMap<Long, ArrayList<HashMap<String, String>>> duNameMap = new TreeMap<>();
                Set<String> mSet = macDuMap.keySet();
                Iterator iter = mSet.iterator();
                JsonArray results = new JsonArray();
                while (iter.hasNext()) {
                    String macAdr = (String) iter.next();
                    String name = UserDAO.retrieveName(macAdr, conn);
                    long dur = macDuMap.get(macAdr);
                    if (duNameMap.get(dur) == null) {
                        ArrayList<HashMap<String, String>> nList = new ArrayList<>();
                        HashMap<String, String> nameMacMap = new HashMap<>();
                        nameMacMap.put(name, macAdr);
                        nList.add(nameMacMap);
                        duNameMap.put(dur, nList);
                    } else {
                        ArrayList<HashMap<String, String>> nList = duNameMap.get(dur);
                        HashMap<String, String> nameMacMap = new HashMap<>();
                        nameMacMap.put(name, macAdr);
                        nList.add(nameMacMap);
                        duNameMap.put(dur, nList);
                    }
                }
                NavigableMap<Long, ArrayList<HashMap<String, String>>> map2 = duNameMap.descendingMap();
                Set<Long> durSet = map2.keySet();
                Iterator iter1 = durSet.iterator();
                int rank1 = 1;
                while (iter1.hasNext() && rank1 <= kValue) {
                    Long usage = (Long) iter1.next();
                    ArrayList<HashMap<String, String>> nameMacList = map2.get(usage);
                    int count = 0;
                    for (int i = 0; i < nameMacList.size(); i++) {
                        JsonObject rank = new JsonObject();
                        rank.addProperty("rank", rank1);
                        HashMap<String, String> nameMac = nameMacList.get(i);
                        Set<String> nameSet = nameMac.keySet();
                        Iterator nameIte = nameSet.iterator();
                        while (nameIte.hasNext()) {
                            String n = (String) nameIte.next();
                            String m = nameMac.get(n);
                            rank.addProperty("name", n);
                            rank.addProperty("mac-address", m);
                            rank.addProperty("duration", usage);
                            count++;
                        }
                        results.add(rank);
                    }
                    rank1 += count;
                }
                jsonOutput.addProperty("status", "success");
                jsonOutput.add("results", results);
            } catch (ParseException ex) {
                Logger.getLogger(TopKAppReport.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        try {
            out.println(gson.toJson(jsonOutput));
        } finally {
            out.close();
            ConnectionManager.close(conn);
        }
    }
}

From source file:com.app.json.usage_heatmap.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*w w w  .  j a va2 s.  co m*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 * @throws java.sql.SQLException
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, SQLException {
    response.setContentType("application/JSON");
    Connection conn = null;
    try (PrintWriter out = response.getWriter()) {
        conn = ConnectionManager.getConnection();
        Gson gson = new GsonBuilder().setPrettyPrinting().create();

        //creats a new json object for printing the desired json output
        JsonObject jsonOutput = new JsonObject();
        JsonArray errorJsonList = new JsonArray();
        //retrieves the user
        String date = request.getParameter("date");
        String floor = request.getParameter("floor");
        String token = request.getParameter("token");
        String time = request.getParameter("time");
        Date dateF = null;
        Date timeF = null;
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        df.setLenient(false);
        SimpleDateFormat timeDf = new SimpleDateFormat("HH:mm:ss");
        timeDf.setLenient(false);
        JsonObject temp = new JsonObject();
        int floorNum = 0;
        if (floor == null) {
            errorJsonList.add(new JsonPrimitive("missing floor"));
        } else if (floor.equals("")) {
            errorJsonList.add(new JsonPrimitive("blank floor"));
        } else {
            try {
                floorNum = Integer.parseInt(floor);
                if (floorNum > 5 || floorNum < 0) {
                    errorJsonList.add(new JsonPrimitive("invalid floor"));
                }
            } catch (NumberFormatException e) {
                errorJsonList.add(new JsonPrimitive("invalid floor"));
            }
        }
        if (date == null) {
            errorJsonList.add(new JsonPrimitive("missing date"));
        } else if (date.equals("")) {
            errorJsonList.add(new JsonPrimitive("blank date"));
        } else {
            try {
                dateF = df.parse(date);
            } catch (ParseException ex) {
                errorJsonList.add(new JsonPrimitive("invalid date"));
            }
        }
        if (time == null) {
            errorJsonList.add(new JsonPrimitive("missing time"));
        } else if (time.equals("")) {
            errorJsonList.add(new JsonPrimitive("blank time"));
        } else {
            try {
                timeF = timeDf.parse(time);
            } catch (ParseException ex) {
                errorJsonList.add(new JsonPrimitive("invalid time"));
            }
        }

        String sharedSecret = "is203g4t6luvjava";
        String username = "";
        if (token == null) {
            errorJsonList.add(new JsonPrimitive("missing token"));
        } else if (token.equals("")) {
            errorJsonList.add(new JsonPrimitive("blank token"));
        } else {
            try {
                username = JWTUtility.verify(token, sharedSecret);
            } catch (JWTException ex) {
                errorJsonList.add(new JsonPrimitive("invalid token"));
            }
        }
        if (errorJsonList.size() > 0) {
            jsonOutput.addProperty("status", "error");
            jsonOutput.add("messages", errorJsonList);
        } else {
            conn = ConnectionManager.getConnection();
            HashMap<Integer, String> floorMap = new HashMap<Integer, String>();
            floorMap.put(0, "B1");
            floorMap.put(1, "L1");
            floorMap.put(2, "L2");
            floorMap.put(3, "L3");
            floorMap.put(4, "L4");
            floorMap.put(5, "L5");
            String level = floorMap.get(floorNum);
            String fullDateFormat = date + " " + time;
            SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Date endDate = null;
            try {
                Date endDateTemp = fmt.parse(fullDateFormat);
                endDate = new Date(endDateTemp.getTime() - 1000);
            } catch (ParseException ex) {
                Logger.getLogger(usage_heatmap.class.getName()).log(Level.SEVERE, null, ex);
            }
            Date startDate = new Date();
            startDate.setTime(endDate.getTime() - 60 * 15 * 1000);

            HashMap<String, ArrayList<Integer>> sematicMap = LocationDAO.retrieveSemanticplaces(level, conn);
            ArrayList<LocationRecord> locationRecordList = LocationRecordDAO
                    .retrieveAllLocationsOnDates(startDate, endDate, conn);
            ArrayList<AppUsage> appUsageList = AppUsageDAO.retrieveAllAppUsageOnDates(startDate, endDate, conn);
            List<String> macAdressList = new ArrayList<String>();
            for (AppUsage a : appUsageList) {
                macAdressList.add(a.getMacAddress());
            }
            Iterator itre = locationRecordList.iterator();
            while (itre.hasNext()) {
                LocationRecord locationRecord = (LocationRecord) itre.next();
                String mac_address = locationRecord.getMacAddress();
                if (!macAdressList.contains(mac_address)) {
                    itre.remove();
                }
            }
            HashMap<String, Integer> locationRecordMap = new HashMap<String, Integer>();
            //remove repeated mac-address
            for (LocationRecord a : locationRecordList) {
                locationRecordMap.put(a.getMacAddress(), a.getLocationId());
            }
            Collection<Integer> locationIds = locationRecordMap.values();
            System.out.println(locationIds.size());
            Set locations = sematicMap.keySet();
            Iterator itr = locations.iterator();
            HashMap<String, Integer> sematicCountMap = new HashMap<String, Integer>();
            while (itr.hasNext()) {
                int count = 0;
                String sematic = (String) itr.next();
                ArrayList<Integer> locationList = sematicMap.get(sematic);
                for (Integer id : locationIds) {
                    if (locationList.contains(id)) {
                        count++;
                    }
                }
                sematicCountMap.put(sematic, count);
            }
            //=========Display==============================//
            JsonArray results = new JsonArray();
            Set sematicCountSet = sematicCountMap.keySet();
            Iterator iter = sematicCountSet.iterator();
            while (iter.hasNext()) {
                JsonObject heatMap = new JsonObject();
                String sematicPlace = (String) iter.next();
                heatMap.add("semantic-place", new JsonPrimitive(sematicPlace));
                int count = sematicCountMap.get(sematicPlace);
                heatMap.add("num-people-using-phone", new JsonPrimitive(count));
                if (count == 0) {
                    heatMap.add("crowd-density", new JsonPrimitive(0));
                } else if (count <= 3) {
                    heatMap.add("crowd-density", new JsonPrimitive(1));
                } else if (count <= 7) {
                    heatMap.add("crowd-density", new JsonPrimitive(2));
                } else if (count <= 13) {
                    heatMap.add("crowd-density", new JsonPrimitive(3));
                } else if (count <= 20) {
                    heatMap.add("crowd-density", new JsonPrimitive(4));
                } else {
                    heatMap.add("crowd-density", new JsonPrimitive(5));
                }
                results.add(heatMap);
            }
            List<JsonObject> jsonValues = new ArrayList<JsonObject>();
            JsonArray sortedJsonArray = new JsonArray();
            for (JsonElement jo : results) {
                jsonValues.add((JsonObject) jo);
            }
            Collections.sort(jsonValues, new Comparator<JsonObject>() {
                //You can change "Name" with "ID" if you want to sort by ID
                private static final String KEY_NAME = "semantic-place";

                @Override
                public int compare(JsonObject a, JsonObject b) {
                    String valA = a.get(KEY_NAME).toString();
                    String valB = b.get(KEY_NAME).toString();

                    return valA.compareTo(valB);
                }
            });
            for (int i = 0; i < results.size(); i++) {
                sortedJsonArray.add(jsonValues.get(i));
            }
            jsonOutput.addProperty("status", "success");
            jsonOutput.add("heatmap", sortedJsonArray);
        }
        //writes the output as a response (but not html)

        out.println(gson.toJson(jsonOutput));
        System.out.println(gson.toJson(jsonOutput));
    } finally {
        ConnectionManager.close(conn);
    }
}

From source file:com.appslandia.common.json.DateAdapter.java

License:Open Source License

@Override
public JsonElement serialize(java.util.Date src, Type typeOfSrc, JsonSerializationContext context) {
    synchronized (this.fmtMutex) {
        return new JsonPrimitive(this.formatter.format(src));
    }/*from ww  w .  j  a va 2 s.com*/
}

From source file:com.appslandia.common.json.LocalDateAdapter.java

License:Open Source License

@Override
public JsonElement serialize(LocalDate src, Type typeOfSrc, JsonSerializationContext context) {
    return new JsonPrimitive(Jdk8DateUtils.DATE_FORMATTER.format(src));
}