com.bicitools.ws.ConsumeServicios.java Source code

Java tutorial

Introduction

Here is the source code for com.bicitools.ws.ConsumeServicios.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.bicitools.ws;

import com.bicitools.common.ConstruyeRespuesta;
import com.bicitools.common.MessagesBicitools;
import com.bicitools.mjson.InfoRepoGenJson;
import com.bicitools.mjson.RespuestaJson;
import com.bicitools.mjson.RespuestaNuevoJson;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
import com.sun.jersey.api.json.JSONConfiguration;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author jhony
 */
public class ConsumeServicios {

    public static RespuestaJson consumeTiempoDist(Object st) {
        RespuestaNuevoJson out = new RespuestaNuevoJson();
        RespuestaJson output = new RespuestaJson();
        try {

            ClientConfig clientConfig = new DefaultClientConfig();
            clientConfig.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE);
            Client client = Client.create(clientConfig);
            WebResource webResource = client.resource(
                    "http://localhost:8080/bicitoolsRU/webresources/myresource/ObtenerDistanciaTiempoRuta");

            ClientResponse response = webResource.accept("application/json").type("application/json")
                    .post(ClientResponse.class, st);

            if (response.getStatus() != 200) {
                output = ConstruyeRespuesta.construyeRespuestaFalla("Fallo 200");

            }
            String json = response.getEntity(String.class);
            Gson gson = new Gson();

            JsonParser jParser = new JsonParser();
            JsonObject jObject = (JsonObject) jParser.parse(json);

            JsonElement elem = jObject.get("codigo");
            JsonElement elem2 = jObject.get("valor");
            JsonElement elem3 = jObject.get("data");
            JsonElement elem4 = jObject.get("descripcion");
            JsonObject jObjectInterno = (JsonObject) jParser.parse(elem3.toString());

            JsonElement elem5 = jObjectInterno.get("tiempo");
            JsonElement elem6 = jObjectInterno.get("distancia");

            TiempoDistanciaInfo t = new TiempoDistanciaInfo(elem5.toString(), elem6.toString());
            ArrayList datos = new ArrayList();

            //RespuestaNuevoJson info = gson.fromJson(json, RespuestaNuevoJson.class);
            //System.out.println("");
            output.setCodigo(Integer.parseInt(elem.toString()));
            output.setValor(elem2.toString());
            output.setDescripcion(elem4.toString());
            datos.add(t);
            output.setDatos(datos);
            output.setDescripcion(out.getDescripcion());

        } catch (Exception e) {
            output = ConstruyeRespuesta.construyeRespuestaFalla(e.getMessage());
            e.printStackTrace();
        }
        return output;
    }

}