Example usage for com.google.gson JsonArray get

List of usage examples for com.google.gson JsonArray get

Introduction

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

Prototype

public JsonElement get(int i) 

Source Link

Document

Returns the ith element of the array.

Usage

From source file:citysdk.tourism.client.parser.POIDeserializer.java

License:Open Source License

private void deserializeTag(POI tag, JsonArray array) {
    POI poi;/*from  w ww. j a  v a2  s  .  co  m*/
    for (int i = 0; i < array.size(); i++) {
        poi = new Tag();
        getSinglePOI(poi, array.get(i).getAsJsonObject());
        ((Tag) tag).addTag((Tag) poi);
    }
}

From source file:citysdk.tourism.client.parser.POIDeserializer.java

License:Open Source License

private void deserializeTags(ListTag list, JsonObject jObject) {
    JsonObject json = null;/*from w ww  .  jav  a  2s  .  c  om*/
    JsonArray array;
    POI tag;

    array = jObject.get(TAGS).getAsJsonArray();
    for (int i = 0; i < array.size(); i++) {
        tag = new Tag();
        json = array.get(i).getAsJsonObject();
        deserializeTag(tag, json.get(TAG).getAsJsonArray());
        list.add((Tag) tag);
    }
}

From source file:client.commands.AutoPoints.java

License:Apache License

private void addPoints(JsonArray arr, int add, String chan) {
    for (int i = 0; i < arr.size(); i++) {
        String user = arr.get(i).getAsString();
        pts.AddPoints(user, add, chan);/*from  ww w. j  av a2 s  . c om*/
    }
}

From source file:co.cask.cdap.api.dataset.lib.partitioned.ComparableCodec.java

License:Apache License

@Nullable
protected Comparable deserializeComparable(@Nullable JsonElement comparableJson,
        JsonDeserializationContext jsonDeserializationContext) {
    if (comparableJson == null) {
        return null;
    }/*  ww w .  j a  v  a2  s.  c  o m*/
    JsonArray jsonArray = comparableJson.getAsJsonArray();
    // the classname is serialized as the first element, the value is serialized as the second
    Class<? extends Comparable> comparableClass = forName(jsonArray.get(0).getAsString());
    return jsonDeserializationContext.deserialize(jsonArray.get(1), comparableClass);
}

From source file:co.cask.cdap.common.zookeeper.coordination.ResourceAssignmentTypeAdapter.java

License:Apache License

@Override
public ResourceAssignment deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
        throws JsonParseException {
    if (!json.isJsonObject()) {
        throw new JsonParseException("Expect a json object, got " + json);
    }//from w w  w.  java 2  s.  c om

    JsonObject jsonObj = json.getAsJsonObject();
    String name = jsonObj.get("name").getAsString();

    Multimap<Discoverable, PartitionReplica> assignments = TreeMultimap
            .create(DiscoverableComparator.COMPARATOR, PartitionReplica.COMPARATOR);
    JsonArray assignmentsJson = context.deserialize(jsonObj.get("assignments"), JsonArray.class);
    for (JsonElement element : assignmentsJson) {
        if (!element.isJsonArray()) {
            throw new JsonParseException("Expect a json array, got " + element);
        }

        JsonArray entryJson = element.getAsJsonArray();
        if (entryJson.size() != 2) {
            throw new JsonParseException("Expect json array of size = 2, got " + entryJson.size());
        }
        Discoverable key = context.deserialize(entryJson.get(0), Discoverable.class);
        PartitionReplica value = context.deserialize(entryJson.get(1), PartitionReplica.class);
        assignments.put(key, value);
    }

    return new ResourceAssignment(name, assignments);
}

From source file:co.com.powersoft.lab.databaselab.controller.LineaGeneralServlet.java

/**
 * Metodo que permite insertar/* w ww .  j  av a  2 s . c  om*/
 *
 * @autor Leonardo Solano
 * @param request contiene los datos pasados por AJAX
 * @param response contiene 1 si fue exitoso, 2 si ya existe o 0 si no fue
 * exitoso
 * @exception IOException
 */
public void agregarLineaGeneral(HttpServletRequest request, HttpServletResponse response) throws IOException {

    //Nombre de la operacin
    String OPERACION = OperationConstants.AGREGAR_LINEA_GENERAL;

    int resp = 0;

    try {

        //Objetos JSON
        String jsonElementos = request.getParameter("jsonElementos") == null ? "{}"
                : request.getParameter("jsonElementos");

        //Validamos que no sea vacio
        if (jsonElementos != null && !jsonElementos.equals("{}")) {

            Gson gson = new Gson();
            JsonObject result = gson.fromJson(jsonElementos, JsonElement.class).getAsJsonObject();
            //Nombre del prefijo del formulario
            String prefijo = "linea_";

            String idPlanta = request.getParameter("idPlanta") == null ? "0"
                    : HashEncripter.getInstance().desencrypterKey(request.getParameter("idPlanta"));

            //Validamos que exista un idPlanta
            if (!idPlanta.equals("0")) {
                JsonArray arrayCodigo = (JsonArray) result.get(prefijo + "codigo");
                JsonArray arrayNombre = (JsonArray) result.get(prefijo + "nombre");

                //Organizamos el objeto a agregar
                LineaGeneral lineaGeneral = new LineaGeneral();
                for (int i = 0; i < arrayCodigo.size(); i++) {
                    lineaGeneral.setCodigo(
                            arrayCodigo.get(i).getAsString().isEmpty() ? "" : arrayCodigo.get(i).getAsString());
                    lineaGeneral.setNombre(
                            arrayNombre.get(i).getAsString().isEmpty() ? "" : arrayNombre.get(i).getAsString());

                    PlantaGeneral plantaGeneral = new PlantaGeneral();
                    plantaGeneral.setId(Integer.parseInt(idPlanta));
                    lineaGeneral.setPlantaGeneral(plantaGeneral);
                }

                //Agregamos el objeto a la BD
                resp = ServiceFactory.getInstance().getServiceBeanLab().agregarLineaGeneral(usuario,
                        lineaGeneral);
            }
        }

        //Retornamos la respuesta al JSP
        respuestaServer(response, resp);

    } catch (NumberFormatException | JsonSyntaxException | NamingException e) {
        //Retornamos la respuesta al JSP
        respuestaServer(response, resp);
        logger.error(ErrorUtil.getInstance().getErrorData(e, OPERACION, INFO_ADICIONAL), e);
    } catch (Exception e) {
        logger.error(ErrorUtil.getInstance().getErrorData(e, OPERACION, INFO_ADICIONAL), e);
    }
}

From source file:co.com.powersoft.lab.databaselab.controller.LineaGeneralServlet.java

/**
 * Metodo que permite modificar// ww  w . j  a  va 2 s.  c  om
 *
 * @autor Leonardo Solano
 * @param request contiene los datos pasados por AJAX
 * @param response contiene 1 si fue exitoso o 0 si no lo fue
 * @exception IOException
 */
public void modificarLineaGeneral(HttpServletRequest request, HttpServletResponse response) throws IOException {

    //Nombre de la operacin
    String OPERACION = OperationConstants.MODIFICAR_LINEA_GENERAL;

    int resp = 0;

    try {
        //Objetos JSON
        String jsonElementos = request.getParameter("jsonElementos") == null ? "{}"
                : request.getParameter("jsonElementos");

        //Validamos que no sea vacio
        if (jsonElementos != null && !jsonElementos.equals("{}")) {

            Gson gson = new Gson();
            JsonObject result = gson.fromJson(jsonElementos, JsonElement.class).getAsJsonObject();
            //Nombre del prefijo del formulario
            String prefijo = "linea_";

            JsonArray arrayIdLinea = (JsonArray) result.get(prefijo + "idLinea");
            JsonArray arrayCodigo = (JsonArray) result.get(prefijo + "codigo");
            JsonArray arrayNombre = (JsonArray) result.get(prefijo + "nombre");
            JsonArray arrayIdPlantaGeneral = (JsonArray) result.get(prefijo + "idPlantaNew");

            //Organizamos el objeto a agregar
            LineaGeneral lineaGeneral = new LineaGeneral();
            for (int i = 0; i < arrayIdLinea.size(); i++) {
                lineaGeneral.setId(Integer.parseInt(
                        HashEncripter.getInstance().desencrypterKey(arrayIdLinea.get(i).getAsString())));
                lineaGeneral.setCodigo(
                        arrayCodigo.get(i).getAsString().isEmpty() ? "" : arrayCodigo.get(i).getAsString());
                lineaGeneral.setNombre(
                        arrayNombre.get(i).getAsString().isEmpty() ? "" : arrayNombre.get(i).getAsString());

                PlantaGeneral plantaGeneral = new PlantaGeneral();
                plantaGeneral.setId(Integer.parseInt(HashEncripter.getInstance()
                        .desencrypterKey(arrayIdPlantaGeneral.get(i).getAsString())));
                lineaGeneral.setPlantaGeneral(plantaGeneral);
            }

            //Obtenemos el usuario por session
            //Modificamos el objeto a la BD                
            resp = ServiceFactory.getInstance().getServiceBeanLab().modificarLinea(usuario, lineaGeneral);
        }

        //Retornamos la respuesta al JSP
        respuestaServer(response, resp);

    } catch (NumberFormatException | JsonSyntaxException | NamingException e) {
        //Retornamos la respuesta al JSP
        respuestaServer(response, resp);
        logger.error(ErrorUtil.getInstance().getErrorData(e, OPERACION, INFO_ADICIONAL), e);
    } catch (Exception e) {
        //Retornamos la respuesta al JSP
        respuestaServer(response, resp);
        logger.error(ErrorUtil.getInstance().getErrorData(e, OPERACION, INFO_ADICIONAL), e);
    }
}

From source file:co.com.powersoft.lab.databaselab.controller.MaquinaGeneralServlet.java

/**
 * Metodo que permite insertar//from   w w w  .  ja va2 s .c o  m
 *
 * @autor Leonardo Solano
 * @param request contiene los datos pasados por AJAX
 * @param response contiene 1 si fue exitoso, 2 si ya existe o 0 si no fue
 * exitoso
 * @exception IOException
 */
public void agregarMaquinaGeneral(HttpServletRequest request, HttpServletResponse response) throws IOException {

    //Nombre de la operacin
    String OPERACION = OperationConstants.AGREGAR_MAQUINA_GENERAL;

    int resp = 0;

    try {

        //Objetos JSON
        String jsonElementos = request.getParameter("jsonElementos") == null ? "{}"
                : request.getParameter("jsonElementos");

        //Validamos que no sea vacio
        if (jsonElementos != null && !jsonElementos.equals("{}")) {

            Gson gson = new Gson();
            JsonObject result = gson.fromJson(jsonElementos, JsonElement.class).getAsJsonObject();
            //Nombre del prefijo del formulario
            String prefijo = "maquina_";

            String idPlanta = request.getParameter("idPlanta") == null ? "0"
                    : HashEncripter.getInstance().desencrypterKey(request.getParameter("idPlanta"));

            //Validamos que exista un idPlanta
            if (!idPlanta.equals("0")) {
                JsonArray arrayCodigo = (JsonArray) result.get(prefijo + "codigo");
                JsonArray arrayNombre = (JsonArray) result.get(prefijo + "nombre");
                JsonArray arrayReferencia = (JsonArray) result.get(prefijo + "referencia");
                JsonArray arrayIdsLineaGeneral = (JsonArray) result.get("idNewLineaGeneral");

                //Organizamos el objeto a agregar
                MaquinaGeneral maquinaGeneral = new MaquinaGeneral();
                for (int i = 0; i < arrayCodigo.size(); i++) {
                    maquinaGeneral.setCodigo(
                            arrayCodigo.get(i).getAsString().isEmpty() ? "" : arrayCodigo.get(i).getAsString());
                    maquinaGeneral.setNombre(
                            arrayNombre.get(i).getAsString().isEmpty() ? "" : arrayNombre.get(i).getAsString());
                    maquinaGeneral.setReferencia(arrayReferencia.get(i).getAsString().isEmpty() ? ""
                            : arrayReferencia.get(i).getAsString());

                    //Planta General
                    PlantaGeneral plantaGeneral = new PlantaGeneral();
                    plantaGeneral.setId(Integer.parseInt(idPlanta));
                    maquinaGeneral.setPlantaGeneral(plantaGeneral);

                    //LineaGeneral asociadas
                    List<LineaGeneral> listaLineaGeneral = new ArrayList<>();

                    if (arrayIdsLineaGeneral != null) {
                        for (JsonElement idLineaGeneral : arrayIdsLineaGeneral) {
                            //Validamos si el codigo es valido
                            if (!idLineaGeneral.getAsString().isEmpty()) {
                                String id = HashEncripter.getInstance()
                                        .desencrypterKey(idLineaGeneral.getAsString());
                                LineaGeneral lineaGeneral = new LineaGeneral(Integer.parseInt(id));
                                listaLineaGeneral.add(lineaGeneral);
                            }
                        }
                    }
                    maquinaGeneral.setListaLineasGeneral(listaLineaGeneral);
                }

                //Agregamos el objeto a la BD
                resp = ServiceFactory.getInstance().getServiceBeanLab().agregarMaquinaGeneral(usuario,
                        maquinaGeneral);
            }
        }

        //Retornamos la respuesta al JSP
        respuestaServer(response, resp);

    } catch (NumberFormatException | JsonSyntaxException | NamingException e) {
        //Retornamos la respuesta al JSP
        respuestaServer(response, resp);
        logger.error(ErrorUtil.getInstance().getErrorData(e, OPERACION, INFO_ADICIONAL), e);
    } catch (Exception e) {
        logger.error(ErrorUtil.getInstance().getErrorData(e, OPERACION, INFO_ADICIONAL), e);
    }
}

From source file:co.com.powersoft.lab.databaselab.controller.MaquinaGeneralServlet.java

/**
 * Metodo que permite modificar/*  w ww.j a  v a 2  s .  co  m*/
 *
 * @autor Leonardo Solano
 * @param request contiene los datos pasados por AJAX
 * @param response contiene 1 si fue exitoso o 0 si no lo fue
 * @exception IOException
 */
public void modificarMaquinaGeneral(HttpServletRequest request, HttpServletResponse response)
        throws IOException {

    //Nombre de la operacin
    String OPERACION = OperationConstants.MODIFICAR_MAQUINA_GENERAL;

    int resp = 0;

    try {
        //Objetos JSON
        String jsonElementos = request.getParameter("jsonElementos") == null ? "{}"
                : request.getParameter("jsonElementos");

        //Validamos que no sea vacio
        if (jsonElementos != null && !jsonElementos.equals("{}")) {

            Gson gson = new Gson();
            JsonObject result = gson.fromJson(jsonElementos, JsonElement.class).getAsJsonObject();
            //Nombre del prefijo del formulario
            String prefijo = "maquina_";

            JsonArray arrayIdMaquina = (JsonArray) result.get(prefijo + "idMaquina");
            JsonArray arrayCodigo = (JsonArray) result.get(prefijo + "codigo");
            JsonArray arrayNombre = (JsonArray) result.get(prefijo + "nombre");
            JsonArray arrayReferencia = (JsonArray) result.get(prefijo + "referencia");
            JsonArray arrayIdPlantaGeneral = (JsonArray) result.get(prefijo + "idPlantaNew");
            JsonArray arrayIdsLineaGeneral = (JsonArray) result.get("idNewLineaGeneral");

            //Organizamos el objeto a agregar
            MaquinaGeneral maquinaGeneral = new MaquinaGeneral();
            for (int i = 0; i < arrayIdMaquina.size(); i++) {
                maquinaGeneral.setId(Integer.parseInt(
                        HashEncripter.getInstance().desencrypterKey(arrayIdMaquina.get(i).getAsString())));
                maquinaGeneral.setCodigo(
                        arrayCodigo.get(i).getAsString().isEmpty() ? "" : arrayCodigo.get(i).getAsString());
                maquinaGeneral.setNombre(
                        arrayNombre.get(i).getAsString().isEmpty() ? "" : arrayNombre.get(i).getAsString());
                maquinaGeneral.setReferencia(arrayReferencia.get(i).getAsString().isEmpty() ? ""
                        : arrayReferencia.get(i).getAsString());

                //Planta General
                PlantaGeneral plantaGeneral = new PlantaGeneral();
                plantaGeneral.setId(Integer.parseInt(HashEncripter.getInstance()
                        .desencrypterKey(arrayIdPlantaGeneral.get(i).getAsString())));
                maquinaGeneral.setPlantaGeneral(plantaGeneral);

                //LineaGeneral asociadas
                List<LineaGeneral> listaLineaGeneral = new ArrayList<>();

                if (arrayIdsLineaGeneral != null) {
                    for (JsonElement idLineaGeneral : arrayIdsLineaGeneral) {
                        //Validamos si el codigo es valido
                        if (!idLineaGeneral.getAsString().isEmpty()) {
                            String id = HashEncripter.getInstance()
                                    .desencrypterKey(idLineaGeneral.getAsString());
                            LineaGeneral lineaGeneral = new LineaGeneral(Integer.parseInt(id));
                            listaLineaGeneral.add(lineaGeneral);
                        }
                    }
                }
                maquinaGeneral.setListaLineasGeneral(listaLineaGeneral);
            }

            //Modificamos el objeto a la BD
            resp = ServiceFactory.getInstance().getServiceBeanLab().modificarMaquinaGeneral(usuario,
                    maquinaGeneral);
        }

        //Retornamos la respuesta al JSP
        respuestaServer(response, resp);

    } catch (NumberFormatException | JsonSyntaxException | NamingException e) {
        //Retornamos la respuesta al JSP
        respuestaServer(response, resp);
        logger.error(ErrorUtil.getInstance().getErrorData(e, OPERACION, INFO_ADICIONAL), e);
    } catch (Exception e) {
        //Retornamos la respuesta al JSP
        respuestaServer(response, resp);
        logger.error(ErrorUtil.getInstance().getErrorData(e, OPERACION, INFO_ADICIONAL), e);
    }
}

From source file:co.com.powersoft.lab.databaselab.controller.MaquinaGeneralServlet.java

/**
 * Metodo que permite CARGAR objetos LineaGeneral existente PAGINADAS
 *
 * @autor Leonardo Solano/*w w w  .  j a  v  a2s .  c o  m*/
 * @param request contiene los datos pasados por AJAX
 * @param response contiene 1 si fue exitoso o 0 si no lo fue
 * @param op es la opcion escogida por el usuario
 */
public void cargarSeleccionarLineaGeneralIdsOmitidos(HttpServletRequest request, HttpServletResponse response,
        int op) {

    //Nombre de la operacin
    String OPERACION = OperationConstants.CARGAR_SELECCIONAR_LINEAS_GENERAL_X_PLANTA_IDS_OMITIDOS;

    try {

        //Obtenemos el Personal x Cargo de la planta
        int idEmpresaGeneral = usuario.getEmpresaGeneral().getId();

        //Obtenemos el id de la planta
        String idPlanta = request.getParameter("idPlanta") == null ? "0"
                : HashEncripter.getInstance().desencrypterKey(request.getParameter("idPlanta"));

        //Palabra a buscar
        String buscar = request.getParameter("buscar") == null ? "" : request.getParameter("buscar");

        //Obtenemos los ids ya seleccionados en Objetos JSON
        String jsonIds = request.getParameter("jsonIds") == null ? "{}" : request.getParameter("jsonIds");
        String ids = "";

        //Validamos que no sea vacio
        if (jsonIds != null && !jsonIds.equals("{}")) {

            Gson gson = new Gson();
            JsonObject result = gson.fromJson(jsonIds, JsonElement.class).getAsJsonObject();

            JsonArray arrayIds = (JsonArray) result.get("id");

            for (int i = 0; i < arrayIds.size(); i++) {
                if (i < arrayIds.size() - 1) {
                    ids += (arrayIds.get(i).getAsString().isEmpty() ? "0"
                            : HashEncripter.getInstance().desencrypterKey(arrayIds.get(i).getAsString())) + ",";
                } else {
                    ids += arrayIds.get(i).getAsString().isEmpty() ? "0"
                            : HashEncripter.getInstance().desencrypterKey(arrayIds.get(i).getAsString());
                }
            }
        }

        //Obtenemos la cantidad de registros totales en la tabla
        int cantRegistros;
        if (!ids.isEmpty()) {
            cantRegistros = ServiceFactory.getInstance().getServiceBeanLab().obtenerCantidadLineasIdsOmitidos(
                    idEmpresaGeneral, Integer.parseInt(idPlanta), buscar, ids);
        } else {
            cantRegistros = ServiceFactory.getInstance().getServiceBeanLab()
                    .obtenerCantidadLineas(idEmpresaGeneral, Integer.parseInt(idPlanta), buscar);
        }

        //Cantidad de Paginas a mostrar
        int cantPaginas = (int) Math.ceil((double) cantRegistros / MAX_REGISTROS_PAGINA);
        cantPaginas = cantPaginas == 0 ? 1 : cantPaginas;

        //Obtenemos la pagina actual
        int pagActual = Integer
                .parseInt(request.getParameter("pag") == null ? "1" : request.getParameter("pag"));

        //Obtenemos el valor inicial a mostrar registros
        int offset = Math.abs((pagActual - 1) * MAX_REGISTROS_PAGINA);

        //PAGINAMOS    
        int mitad;
        int comenzar;
        int finalizar;

        if (MAX_NUMERO_PAGINAS_MOSTRAR < cantPaginas) {
            //Validamos si es PAR o IMPAR
            if (MAX_NUMERO_PAGINAS_MOSTRAR % 2 == 0) {
                //Obtnemos la mitad
                mitad = MAX_NUMERO_PAGINAS_MOSTRAR / 2;
                comenzar = pagActual - (MAX_NUMERO_PAGINAS_MOSTRAR - mitad);
                finalizar = pagActual + (MAX_NUMERO_PAGINAS_MOSTRAR - mitad);
            } else {
                //Obtnemos la mitad
                mitad = MAX_NUMERO_PAGINAS_MOSTRAR / 2 + 1;
                comenzar = pagActual - (MAX_NUMERO_PAGINAS_MOSTRAR - mitad);
                finalizar = pagActual + (MAX_NUMERO_PAGINAS_MOSTRAR - mitad);
            }

            //Validamos que la primera pagina no sea menor que la pagina 1
            if (comenzar < 1) {
                finalizar = finalizar + (1 - comenzar);
                comenzar = 1;
            }

            //Validamos que la ultima pagina no pase la el total de paginas
            if (finalizar > cantPaginas) {
                comenzar = comenzar - (finalizar - cantPaginas);
                finalizar = cantPaginas;
            }

        } else {
            comenzar = 1;
            finalizar = cantPaginas;
        }

        List<LineaGeneral> listaLineaGeneral;
        if (!ids.equals("")) {
            listaLineaGeneral = ServiceFactory.getInstance().getServiceBeanLab()
                    .obtenerLineasPorPlantaIdsOmitidos(idEmpresaGeneral, Integer.parseInt(idPlanta), buscar,
                            ids, offset, MAX_REGISTROS_PAGINA);
        } else {
            listaLineaGeneral = ServiceFactory.getInstance().getServiceBeanLab().obtenerLineasPorPlanta(
                    idEmpresaGeneral, Integer.parseInt(idPlanta), buscar, offset, MAX_REGISTROS_PAGINA);
        }

        request.setAttribute("listaLineaGeneral", listaLineaGeneral);
        request.setAttribute("offset", offset);
        request.setAttribute("pagina", pagActual);
        request.setAttribute("cantPaginas", cantPaginas);
        request.setAttribute("cantRegistros", cantRegistros);
        request.setAttribute("comenzar", comenzar);
        request.setAttribute("finalizar", finalizar);

        request.setAttribute("maxPaginas", MAX_NUMERO_PAGINAS_MOSTRAR);
        request.setAttribute("op", op);

        //Nos vamos a la vista
        getServletContext().getRequestDispatcher(RUTA_MODULO + RESPUESTA).forward(request, response);

    } catch (ServletException | NumberFormatException | NamingException | IOException e) {
        logger.error(ErrorUtil.getInstance().getErrorData(e, OPERACION, INFO_ADICIONAL), e);
    } catch (Exception e) {
        logger.error(ErrorUtil.getInstance().getErrorData(e, OPERACION, INFO_ADICIONAL), e);
    }
}