Example usage for com.google.gson Gson fromJson

List of usage examples for com.google.gson Gson fromJson

Introduction

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

Prototype

@SuppressWarnings("unchecked")
public <T> T fromJson(JsonElement json, Type typeOfT) throws JsonSyntaxException 

Source Link

Document

This method deserializes the Json read from the specified parse tree into an object of the specified type.

Usage

From source file:botsquared.Util.java

public static boolean isOnline(String channel) {
    String html = "https://api.twitch.tv/kraken/streams/" + channel.replaceFirst("#", "");

    try {/*from   w w w.j av a  2 s .c  o  m*/
        String json = Jsoup.connect(html).ignoreContentType(true).execute().body();
        Gson gson = new Gson();
        StreamAPI stream = gson.fromJson(json, StreamAPI.class);
        return stream.getStream() != null;
    } catch (IOException ex) {
        Logger.getLogger(Botsquared.class.getName()).log(Level.SEVERE, null, ex);
    }

    return false;
}

From source file:botsquared.Util.java

public static StreamAPI getUptime(String channel) {
    String html = "https://api.twitch.tv/kraken/streams/" + channel.replaceFirst("#", "");

    try {//from   w  w  w  .  ja v  a 2  s . co  m
        String json = Jsoup.connect(html).ignoreContentType(true).execute().body();
        Gson gson = new Gson();
        StreamAPI stream = gson.fromJson(json, StreamAPI.class);
        return stream;
    } catch (IOException ex) {
        Logger.getLogger(Botsquared.class.getName()).log(Level.SEVERE, null, ex);
    }

    return null;
}

From source file:boxalino.client.SDK.BxData.java

public Map<String, Object> checkResponseBody(String responseBody, String url) throws BoxalinoException {
    if (responseBody == null) {
        throw new BoxalinoException("API response of call to " + url + " is empty string, this is an error!");

    }/*  w ww .ja v  a  2  s .c  o  m*/

    Gson gson = new Gson();
    Map<String, Object> value = gson.fromJson(responseBody, new TypeToken<HashMap<String, Object>>() {
    }.getType());

    if (value.containsKey("token")) {
        if (value.containsKey("changes")) {
            if (value.get("changes").toString().length() > 2) {
                throw new BoxalinoException(responseBody);
            }
        }
    }
    return value;
}

From source file:br.cefetmg.radar.services.CreateRoute.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//w  w  w  . j ava 2s .  c om
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Gson gson = new Gson();

    response.setContentType("text/json;charset=UTF-8");
    request.setCharacterEncoding("UTF-8");

    StringBuilder sb = new StringBuilder();
    BufferedReader br = request.getReader();
    String str;
    while ((str = br.readLine()) != null) {
        sb.append(str);
    }

    PrintWriter out = response.getWriter();
    try {

        LocationDAO locationDAO = new LocationDAO();

        Location[] route = gson.fromJson(sb.toString(), Location[].class);

        int route_id = locationDAO.maxRouteId(route[0].getUser().getId());

        for (int i = 0; i < route.length; i++) {
            if (i != 0) {
                locationDAO.openEntityManager();
            }
            route[i].setRoute_id(route_id + 1);
            locationDAO.createStreet(route[i]);
        }

        out.println(gson.toJson(new Result(Result.OK)));

    } catch (Exception ex) {
        StringBuilder error = new StringBuilder();

        for (StackTraceElement element : ex.getStackTrace()) {
            error.append(element.toString());
            error.append("\n");
        }
        out.println(gson.toJson(new Result(Result.ERRO, error.toString())));
        response.setStatus(500);
    }

    out.close();
}

From source file:br.cefetmg.radar.services.CreateUser.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    Gson gson = new Gson();

    response.setContentType("text/json;charset=UTF-8");
    request.setCharacterEncoding("UTF-8");

    StringBuilder sb = new StringBuilder();
    BufferedReader br = request.getReader();
    String str;// w ww .j  a  v  a 2s. co m
    while ((str = br.readLine()) != null) {
        sb.append(str);
    }

    PrintWriter out = response.getWriter();
    try {

        UserDAO userDAO = new UserDAO();

        User newUser = gson.fromJson(sb.toString(), User.class);

        Date currentDate = new Date();

        if (newUser.getUsername() == null) {
            if (userDAO.getByEmail(newUser.getEmail()) == null) {
                newUser.setActive(true);
                newUser.setTries(0);

                if (newUser.getHeight() == 0) {
                    newUser.setHeight(-1);
                }

                userDAO.createUser(newUser);

                out.println(gson.toJson(new Result(Result.OK)));
            } else {
                out.println(gson.toJson(new Result(Result.EMAIL_EXISTS)));
                response.setStatus(490);
            }
        } else {
            long yearsdiff = Math.round(
                    (currentDate.getTime() - newUser.getBirth().getTime()) / (1000l * 60 * 60 * 24 * 365));
            if (userDAO.getByUsername(newUser.getUsername()) == null) {
                if (userDAO.getByEmail(newUser.getEmail()) == null) {
                    if (yearsdiff > 13) {
                        newUser.setPassword(MD5.crypt(newUser.getPassword()));
                        newUser.setActive(true);
                        newUser.setTries(0);

                        if (newUser.getHeight() == 0) {
                            newUser.setHeight(-1);
                        }

                        userDAO.createUser(newUser);

                        out.println(gson.toJson(new Result(Result.OK)));
                    } else {
                        out.println(gson.toJson(new Result(Result.TOO_YOUNG)));
                        response.setStatus(489);
                    }
                } else {
                    out.println(gson.toJson(new Result(Result.EMAIL_EXISTS)));
                    response.setStatus(490);
                }
            } else {
                out.println(gson.toJson(new Result(Result.USERNAME_EXISTS)));
                response.setStatus(491);
            }
        }
    } catch (Exception ex) {
        StringBuilder error = new StringBuilder();

        for (StackTraceElement element : ex.getStackTrace()) {
            error.append(element.toString());
            error.append("\n");
        }
        out.println(gson.toJson(new Result(Result.ERRO, error.toString())));
        response.setStatus(500);
    }

    out.close();
}

From source file:br.cefetmg.radar.services.Login.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    Gson gson = new Gson();

    response.setContentType("text/json;charset=UTF-8");
    request.setCharacterEncoding("UTF-8");

    StringBuilder sb = new StringBuilder();
    BufferedReader br = request.getReader();
    String str;//from w ww  .  j av  a 2s  . c o m
    while ((str = br.readLine()) != null) {
        sb.append(str);
    }

    try (PrintWriter out = response.getWriter()) {
        try {

            UserDAO userDAO = new UserDAO();
            User user = gson.fromJson(sb.toString(), User.class);
            User user_got_by_email = userDAO.getByEmail(user.getEmail());

            if (user_got_by_email != null) {
                if (user_got_by_email.getTries() < 5) {
                    if (user_got_by_email.getActive()) {
                        user.setPassword(MD5.crypt(user.getPassword()));
                        if (user.getPassword().equals(user_got_by_email.getPassword())) {
                            out.println(gson.toJson(new Result(Result.OK)));
                        } else {
                            user_got_by_email.setTries(user_got_by_email.getTries() + 1);
                            userDAO.updateUser(user_got_by_email);
                            out.println(gson.toJson(new Result(Result.EMAIL_OR_PASSWORD_WRONG)));
                            response.setStatus(489);
                        }
                    } else {
                        out.println(gson.toJson(new Result(Result.DEACTIVATED_USER)));
                        response.setStatus(490);
                    }
                } else {
                    out.println(gson.toJson(new Result(Result.NUMBER_OF_TRIES_EXCEEDED)));
                    response.setStatus(491);
                }
            } else {
                out.println(gson.toJson(new Result(Result.EMAIL_OR_PASSWORD_WRONG)));
                response.setStatus(492);
            }
        } catch (Exception ex) {
            StringBuilder error = new StringBuilder();

            for (StackTraceElement element : ex.getStackTrace()) {
                error.append(element.toString());
                error.append("\n");
            }
            out.println(gson.toJson(new Result(Result.ERRO, error.toString())));
            response.setStatus(500);
        }
    }
}

From source file:br.cefetmg.radar.services.UpdateUser.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//w w w  .j  av a  2 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
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    response.setContentType("text/html;charset=UTF-8");

    Gson gson = new Gson();

    UserDAO userDAO = new UserDAO();

    StringBuilder sb = new StringBuilder();
    BufferedReader br = request.getReader();
    String str;
    while ((str = br.readLine()) != null) {
        sb.append(str);
    }

    UserToUpdate userToUpdate = gson.fromJson(sb.toString(), UserToUpdate.class);

    User newUser = new User();
    newUser.setBirth(userToUpdate.getBirth());
    newUser.setColor(userToUpdate.getColor());
    newUser.setEmail(userToUpdate.getEmail());
    newUser.setGender(userToUpdate.getGender());
    newUser.setHeight(userToUpdate.getHeight());
    newUser.setId(userToUpdate.getId());
    newUser.setUsername(userToUpdate.getUsername());
    newUser.setPassword(userToUpdate.getNewpassword());

    try (PrintWriter out = response.getWriter()) {
        try {

            Date currentDate = new Date();

            long diff = Math.round(
                    (currentDate.getTime() - newUser.getBirth().getTime()) / (1000l * 60 * 60 * 24 * 365));

            User userGotByUsername = userDAO.getByUsername(newUser.getUsername());
            User userGotByEmail = userDAO.getByEmail(newUser.getEmail());
            User userGotById = userDAO.getById(newUser.getId());

            if (userGotById != null) {
                if (userGotById.getPassword().equals(MD5.crypt(userToUpdate.getOldpassword()))) {
                    if (userGotByUsername == null || userGotById.getUsername().equals(newUser.getUsername())) {
                        if (userGotByEmail == null || userGotById.getEmail().equals(newUser.getEmail())) {
                            if (diff > 13) {
                                newUser.setActive(true);
                                newUser.setTries(userGotById.getTries());
                                userDAO.openEntityManager();
                                userDAO.updateUser(newUser); //atualiza no banco de dados
                                out.println(gson.toJson(new Result(Result.OK)));
                            } else {
                                out.println(gson.toJson(new Result(Result.TOO_YOUNG)));
                                response.setStatus(489);
                            }
                        } else {
                            out.println(gson.toJson(new Result(Result.EMAIL_EXISTS)));
                            response.setStatus(490);
                        }
                    } else {
                        out.println(gson.toJson(new Result(Result.USERNAME_EXISTS)));
                        response.setStatus(491);
                    }
                } else {
                    out.println(gson.toJson(new Result(Result.WRONG_PASSWORD)));
                    response.setStatus(493);
                }
            } else {
                out.println(gson.toJson(new Result(Result.USER_DOESNT_EXISTS)));
                response.setStatus(494);
            }

        } catch (Exception ex) {
            StringBuilder error = new StringBuilder();

            for (StackTraceElement element : ex.getStackTrace()) {
                error.append(element.toString());
                error.append("\n");
            }
            out.println(gson.toJson(new Result(Result.ERRO, error.toString())));
            response.setStatus(500);
        }
    }
}

From source file:br.com.anteros.social.facebook.utils.JsonUtils.java

License:Apache License

public static <T> T fromJson(String json, Class<T> cls) {
    Gson gson = buildGson();

    JsonParser parser = new JsonParser();
    JsonElement element = parser.parse(json);

    if (cls != null && cls.isArray() && element instanceof JsonArray == false) {
        JsonArray jsonArray = new JsonArray();
        jsonArray.add(element);/*from  w w  w  . java  2 s  .c o m*/

        Type listType = new TypeToken<T>() {
        }.getType();
        return gson.fromJson(jsonArray, listType);
    }

    return gson.fromJson(json, cls);
}

From source file:br.com.anteros.social.facebook.utils.JsonUtils.java

License:Apache License

public static <T> T fromJson(String json, Type type) {
    Gson gson = buildGson();

    JsonParser parser = new JsonParser();
    JsonElement element = parser.parse(json);

    return gson.fromJson(element, type);
}

From source file:br.com.anteros.social.facebook.utils.JsonUtils.java

License:Apache License

public static <T> T fromJsonExcludeFields(String json, Class<T> cls) {
    Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();

    JsonParser parser = new JsonParser();
    JsonElement element = parser.parse(json);

    if (cls.isArray() && element instanceof JsonArray == false) {
        JsonArray jsonArray = new JsonArray();
        jsonArray.add(element);//from  w  w  w  .j  ava2  s.  co  m

        Type listType = new TypeToken<T>() {
        }.getType();
        return gson.fromJson(jsonArray, listType);
    }

    return gson.fromJson(json, cls);
}