List of usage examples for com.google.gson GsonBuilder GsonBuilder
public GsonBuilder()
From source file:adams.scripting.processor.JsonProcessor.java
License:Open Source License
/** * Turns the command properties and payload into a single string to send. * * @param header the header data/*from w w w .jav a 2 s . co m*/ * @param payload the payload * @return the assembled string */ @Override public String format(Properties header, byte[] payload) { JsonObject result; String data; JsonObject objHeader; Gson gson; if (payload.length == 0) data = ""; else data = Base64.encodeBase64String(payload); objHeader = new JsonObject(); for (String key : header.keySetAll()) objHeader.addProperty(key, header.getProperty(key)); result = new JsonObject(); result.add("header", objHeader); result.addProperty("payload", data); if (m_PrettyPrinting) { gson = new GsonBuilder().setPrettyPrinting().create(); return gson.toJson(result); } else { return result.toString(); } }
From source file:administracion.actions.OperacionesDatosRestauranteAction.java
@Override public String execute() throws Exception { //Obtenemos los datos del request String operacion = request.getParameter("operacion"); GestorOperacionesDatosRestaurante gdt = new GestorOperacionesDatosRestaurante(); int resultadoOperacion = 0; Gson gson = new GsonBuilder().create(); switch (operacion) { case "modificarDatosLocal": String datosLocalRequest = request.getParameter("datosLocal"); //Reconstruimos el objeto JSON usuario del request Restaurante restaurante = gson.fromJson(datosLocalRequest, Restaurante.class); //Realizamos la operacion resultadoOperacion = gdt.actualizarDatosRestaurante(restaurante); try {/*from w ww . ja v a2 s . c o m*/ montarVistaDatosRestaurante(resultadoOperacion, restaurante); } catch (IOException e) { System.out.println( "OperacionesDatosRestauranteAction. Error al montar la vista datos restaurante: " + e); } break; case "modificarNumeroMesas": int numeroMesas = Integer.parseInt(request.getParameter("numeroMesas")); int numeroMesasInicial = Integer.parseInt(request.getParameter("numeroMesasInicial")); //Realizamos la operacion resultadoOperacion = gdt.actualizarNumeroMesas(numeroMesasInicial, numeroMesas); try { montarVistaNumeroMesas(resultadoOperacion, numeroMesas, numeroMesasInicial); } catch (IOException e) { System.out.println( "OperacionesDatosRestauranteAction. Error al montar la vista numero de mesas: " + e); } break; case "modificarImpuestos": String listaImpuestosRequest = request.getParameter("listaImpuestos"); String listaImpuestosInicialesRequest = request.getParameter("listaImpuestosIniciales"); //Reconstruimos el objeto JSON usuario del request y obtenemos una lista Type listTypeImpuesto = new TypeToken<ArrayList<Impuesto>>() { }.getType(); List<Impuesto> listaImpuestos = gson.fromJson(listaImpuestosRequest, listTypeImpuesto); List<Impuesto> listaImpuestosIniciales = gson.fromJson(listaImpuestosInicialesRequest, listTypeImpuesto); //Realizamos la operacion //Por este motivo tenemos los valores iniciales porque si recibimos 4 impuestos en la lista pero solo se ha modificado 1, solo modificamos ese for (int i = 0; i < listaImpuestos.size(); i++) { if (listaImpuestos.get(i).getValor() != listaImpuestosIniciales.get(i).getValor()) { resultadoOperacion = gdt.insertarImpuesto(listaImpuestos.get(i)); if (resultadoOperacion != 1) { break; } } } try { montarVistaImpuestos(resultadoOperacion, listaImpuestos); } catch (IOException e) { System.out.println("OperacionesDatosRestauranteAction. Error al montar la vista impuestos: " + e); } break; } return null; //Devilvemos null para no tener na vista }
From source file:administracion.actions.OperacionesGeneroAction.java
@Override public String execute() throws Exception { //Obtenemos los datos del request String operacion = request.getParameter("operacion"); int resultadoOperacion; switch (operacion) { case "cambiarEstadoCategoria": int idCategoria = Integer.parseInt(request.getParameter("idCategoria")); boolean activoCategoria = Boolean.parseBoolean(request.getParameter("activo")); //Realizamos la operacion resultadoOperacion = gog.actualizarEstadoCategoria(idCategoria, activoCategoria); try {/*w w w. j a va2s . c om*/ montarVistaTablaCategoria(resultadoOperacion); } catch (IOException e) { System.out.println("OperacionesGeneroAction. Error al montar la vista: " + e); } break; case "altaCategoria": String nombreCategoria = request.getParameter("nombre"); boolean ckeck = Boolean.parseBoolean(request.getParameter("checkAlta")); //Realizamos la operacion resultadoOperacion = gog.insertarCategoria(nombreCategoria, ckeck); try { montarVistaTablaCategoria(resultadoOperacion); } catch (IOException e) { System.out.println("OperacionesGeneroAction. Error al montar la vista: " + e); } break; case "cambiarEstadoProducto": int idProducto = Integer.parseInt(request.getParameter("idProducto")); boolean activoProducto = Boolean.parseBoolean(request.getParameter("activo")); //Realizamos la operacion resultadoOperacion = gog.actualizarEstadoProducto(idProducto, activoProducto); try { montarVistaTablaProducto(resultadoOperacion); } catch (IOException e) { System.out.println("OperacionesGeneroAction. Error al montar la vista: " + e); } break; case "altaProducto": String productoRequest = request.getParameter("producto"); //Reconstruimos el objeto JSON usuario del request Gson gson = new GsonBuilder().create(); Producto producto = gson.fromJson(productoRequest, Producto.class); //Realizamos la operacion resultadoOperacion = gog.insertarProducto(producto); try { montarVistaTablaProducto(resultadoOperacion); } catch (IOException e) { System.out.println("OperacionesGeneroAction. Error al montar la vista: " + e); } break; case "cargarDatosProducto": int idProductoBuscar = Integer.parseInt(request.getParameter("idProducto")); //Realizamos la consulta para obtener los datos del producto Producto productoEncontrado = gog.obtenerProducto(idProductoBuscar); try { montarVistaFormularioProducto(productoEncontrado); } catch (IOException e) { System.out.println("OperacionesGeneroAction. Error al montar la vista: " + e); } break; case "modificarProducto": String productoModificarRequest = request.getParameter("producto"); //Reconstruimos el objeto JSON usuario del request Gson gson2 = new GsonBuilder().create(); Producto productoModificar = gson2.fromJson(productoModificarRequest, Producto.class); //Realizamos la operacion resultadoOperacion = gog.modificarProducto(productoModificar); try { montarVistaTablaProducto(resultadoOperacion); } catch (IOException e) { System.out.println("OperacionesGeneroAction. Error al montar la vista: " + e); } break; } return null; }
From source file:administracion.actions.OperacionesUsuarioAction.java
@Override public String execute() throws Exception { //Obtenemos los datos del request String operacion = request.getParameter("operacion"); String usuarioRequest = request.getParameter("usuario"); int resultadoOperacion = 0; switch (operacion) { case "altaUsuario": //Reconstruimos el objeto JSON usuario del request Gson gson = new GsonBuilder().create(); Usuario usuario = gson.fromJson(usuarioRequest, Usuario.class); //Realizamos la operacion resultadoOperacion = ga.insertarUsuario(usuario); try {// w w w.j a v a2s . c om montarVistaUsuarios(resultadoOperacion); } catch (IOException e) { System.out.println("OperacionesUsuarioAction. Error al montar la vista: " + e); } navegacion = null; break; case "bajaUsuario": //Realizamos la operacion resultadoOperacion = ga.eliminarUsuario(usuarioRequest); try { montarVistaUsuarios(resultadoOperacion); } catch (IOException e) { System.out.println("OperacionesUsuarioAction. Error al montar la vista: " + e); } navegacion = null; break; } return navegacion; }
From source file:aggregate.GitHub.GitHubAggregate.java
/** * Save the user data to disk/*from ww w . ja v a 2 s .c om*/ * @param user The user object * @param folder Where the file will be written */ public void saveToDisk(GithubUser user, File folder) { // enable pretty printing Gson gson = new GsonBuilder().setPrettyPrinting().create(); String text = gson.toJson(user); // create the filename String fileString = user.id + "-" + user.login; File file = new File(folder, fileString); // save the file to disk utils.files.SaveStringToFile(file, text); //System.out.println(file.getAbsolutePath()); // all done System.out.println("Saved: " + fileString); }
From source file:agrold.webservices.GsonMessageBodyHandler.java
private Gson getGson() { if (gson == null) { final GsonBuilder gsonBuilder = new GsonBuilder(); gson = gsonBuilder.disableHtmlEscaping().setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE) .setPrettyPrinting().serializeNulls().create(); }/* w ww . j av a 2 s . c o m*/ return gson; }
From source file:airline.service.AirlineService.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset-UTF-8"); try (PrintWriter out = response.getWriter()) { response.setContentType("text/xml"); RuntimeTypeAdapterFactory<Jsonable> rta = RuntimeTypeAdapterFactory.of(Jsonable.class, "_class") .registerSubtype(Ciudad.class, "Ciudad").registerSubtype(Vuelo.class, "Vuelo") .registerSubtype(Avion.class, "Avion").registerSubtype(Reservacion.class, "Reservacion") .registerSubtype(Tiquete.class, "Tiquete").registerSubtype(Asiento.class, "Asiento") .registerSubtype(Usuario.class, "Usuario").registerSubtype(Viaje.class, "Viaje"); Gson gson = new GsonBuilder().registerTypeAdapterFactory(rta).setDateFormat("yyyy-MM-dd").create(); String json;/*from w w w. j a va 2 s. c o m*/ String accion = request.getParameter("action"); System.out.println(accion); List<Ciudad> ciudades; List<Vuelo> vuelos; List<Avion> aviones; List<Viaje> viajes; List<Viaje> viajes2; List<Reservacion> reservaciones; List<Tiquete> tiquetes; List<Usuario> usuarios; List<Asiento> asientosIda; List<Asiento> asientosVuelta; Usuario usuario; Viaje v; Ciudad c1; Vuelo vu; Avion a; Reservacion r1; Asiento a1; switch (accion) { case "ciudadListAll": ciudades = model.selectAllCities(); json = gson.toJson(ciudades); out.write(json); break; case "vueloListPromo": vuelos = model.selectAllFlightsPromo(); json = gson.toJson(vuelos); out.write(json); break; case "viajeListSearch": String origen = request.getParameter("origen"); String destino = request.getParameter("destino"); String diaIda = request.getParameter("diaIda"); String fechaIda = request.getParameter("fechaIda"); viajes = model.searchTravels(origen, destino, diaIda, fechaIda); json = gson.toJson(viajes); out.write(json); break; case "viajeListSearchByDestiny": String origen_vuelo = request.getParameter("origen"); String destino_vuelo = request.getParameter("destino"); String diaVuelta = request.getParameter("diaVuelta"); String fechaVuelta = request.getParameter("fechaVuelta"); viajes = model.searchTravels(destino_vuelo, origen_vuelo, diaVuelta, fechaVuelta); json = gson.toJson(viajes); out.write(json); break; case "selectFacturaUltimos12": reservaciones = model.selectFacturaUltimos12(); json = gson.toJson(reservaciones); out.write(json); break; case "selectReCurrentYear": reservaciones = model.selectReCurrentYear(); json = gson.toJson(reservaciones); out.write(json); break; case "selectReservacionByUser": String Nusuario = request.getParameter("usuario"); reservaciones = model.selectReservacionByUser(Nusuario); json = gson.toJson(reservaciones); out.write(json); break; case "selectClientsByPlane": String plane1 = request.getParameter("avion"); tiquetes = model.selectClientsByPlane(plane1); json = gson.toJson(tiquetes); out.write(json); break; case "selectTiquetes": String reserv1 = request.getParameter("reservacionNumero"); tiquetes = model.selectTiquete(reserv1); json = gson.toJson(tiquetes); out.write(json); break; case "viajesListAll": viajes = model.selectAllTravels(); json = gson.toJson(viajes); out.write(json); break; case "avionesListAll": aviones = model.selectAllPlanes(); json = gson.toJson(aviones); out.write(json); break; case "vuelosListAll": vuelos = model.selectAllFlights(); json = gson.toJson(vuelos); out.write(json); break; case "usuariosListAll": usuarios = model.selectAllUsers(); json = gson.toJson(usuarios); out.write(json); break; case "asientosIda": String jsonViaje1 = request.getParameter("viajeIda"); Viaje viajeIda = gson.fromJson(jsonViaje1, Viaje.class); asientosIda = model.selectSitsByTrip(viajeIda); json = gson.toJson(asientosIda); out.write(json); break; case "asientosVuelta": String jsonViaje2 = request.getParameter("viajeVuelta"); Viaje viajeVuelta = gson.fromJson(jsonViaje2, Viaje.class); asientosVuelta = model.selectSitsByTrip(viajeVuelta); json = gson.toJson(asientosVuelta); out.write(json); break; case "avionAdd": String jsonAvion = request.getParameter("avion"); Avion avion = gson.fromJson(jsonAvion, Avion.class); int avionNumber = model.insertAvion(avion); json = gson.toJson(avionNumber); out.write(json); break; case "reservacionAdd1": String jsonReservacion = request.getParameter("reservacion"); Reservacion reservacion = gson.fromJson(jsonReservacion, Reservacion.class); int reservacionNumber = model.insertReservacionOneWay(reservacion); json = gson.toJson(reservacion); out.write(json); break; case "reservacionAdd2": String jsonReservacion2 = request.getParameter("reservacion2"); Reservacion reservacion2 = gson.fromJson(jsonReservacion2, Reservacion.class); int reservacionNumber2 = model.insertReservacionTwoWays(reservacion2); json = gson.toJson(reservacionNumber2); out.write(json); break; case "ciudadAdd": String jsonCiudad = request.getParameter("ciudad"); Ciudad ciudad = gson.fromJson(jsonCiudad, Ciudad.class); int ciudadNumber = model.insertCiudad(ciudad); json = gson.toJson(ciudadNumber); out.write(json); break; case "viajeAdd": String jsonViaje = request.getParameter("viaje"); Viaje viaje = gson.fromJson(jsonViaje, Viaje.class); int viajeNumber = model.ViajeAdd(viaje); json = gson.toJson(viajeNumber); out.write(json); break; case "tiqueteAdd": String tiquete = request.getParameter("tiquete"); Tiquete tiquete1 = gson.fromJson(tiquete, Tiquete.class); int tiqueteNumber = model.insertIntoTiquete(tiquete1); json = gson.toJson(tiqueteNumber); out.write(json); break; case "vueloAdd": String jsonVuelo = request.getParameter("vuelo"); Vuelo vuelo = gson.fromJson(jsonVuelo, Vuelo.class); int vueloNumber = model.VueloAdd(vuelo); json = gson.toJson(vueloNumber); out.write(json); break; case "usuarioAdd": String jsonUsuario = request.getParameter("usuario"); Usuario user = gson.fromJson(jsonUsuario, Usuario.class); model.insertUsuario(user); int UsuarioNumber = 1; json = gson.toJson(UsuarioNumber); out.write(json); break; case "usuarioExiste": String nombreUsuario = request.getParameter("nombreUsuario"); boolean exist = model.usuarioExiste(nombreUsuario); json = gson.toJson(exist); out.write(json); break; case "userLogin": Usuario user1; user1 = new Usuario(request.getParameter("usuario"), request.getParameter("contrasena"), "", "", "", new Date(), "", 0, 0, 0); user1 = model.userLogin(user1); if (user1.getTipo() != 0) { request.getSession().setAttribute("usuario", user1); switch (user1.getTipo()) { case 1: // user usuario = model.userLogin(user1); request.getSession().setAttribute("usuario", usuario); request.getRequestDispatcher("/index.jsp").forward(request, response); break; case 2: // manager request.getRequestDispatcher("/viajes.jsp").forward(request, response); break; } } else { request.setAttribute("error", "Usuario/Clave incorrecto"); request.getRequestDispatcher("/login.jsp").forward(request, response); } break; case "userLogout": request.getSession().removeAttribute("usuario"); request.getSession().invalidate(); request.getRequestDispatcher("/index.jsp").forward(request, response); break; case "getViaje": int numero = Integer.parseInt(request.getParameter("numeroV")); v = model.selectTravel(numero); json = gson.toJson(v); out.write(json); break; case "getCiudad": String codigoC = request.getParameter("codigoC"); c1 = model.selectCity(codigoC); json = gson.toJson(c1); out.write(json); break; case "getAvion": String placaA = request.getParameter("placaA"); a = model.selectPlane(placaA); json = gson.toJson(a); out.write(json); break; case "getVuelo": int numeroVu = Integer.parseInt(request.getParameter("numeroVu")); vu = model.selectFlight(numeroVu); json = gson.toJson(vu); out.write(json); break; case "ciudadDelete": String codigo = request.getParameter("codigo"); int n1 = model.deleteCiudad(codigo); json = gson.toJson(n1); out.write(json); break; case "viajeDelete": String numero_viaje = request.getParameter("numero_viaje"); int n2 = model.deleteViaje(numero_viaje); json = gson.toJson(n2); out.write(json); break; case "vueloDelete": String numero_vuelo = request.getParameter("numero_vuelo"); int n3 = model.deleteVuelo(numero_vuelo); json = gson.toJson(n3); out.write(json); break; case "avionDelete": String placa = request.getParameter("placa"); int n4 = model.deleteAvion(placa); json = gson.toJson(n4); out.write(json); break; case "ciudadUpdate": String jsonCiudad2 = request.getParameter("ciudad"); Ciudad ciudad2 = gson.fromJson(jsonCiudad2, Ciudad.class); int ciudadNumber2 = model.updateCiudad(ciudad2); json = gson.toJson(ciudadNumber2); out.write(json); break; case "avionUpdate": String jsonAvion2 = request.getParameter("avion"); Avion avion2 = gson.fromJson(jsonAvion2, Avion.class); int avionNumber2 = model.updateAvion(avion2); json = gson.toJson(avionNumber2); out.write(json); break; case "vueloUpdate": String jsonVuelo2 = request.getParameter("vuelo"); Vuelo vuelo2 = gson.fromJson(jsonVuelo2, Vuelo.class); int vueloNumber2 = model.VueloUpdate(vuelo2); json = gson.toJson(vueloNumber2); out.write(json); break; case "asientoUpdate": String asiento1 = request.getParameter("asiento"); Asiento asiento2 = gson.fromJson(asiento1, Asiento.class); int asiento3 = model.updateAsientoOcupado(asiento2); a1 = model.selectSitByNumber(asiento2.getNumero()); json = gson.toJson(a1); out.write(json); } } catch (Exception e) { System.out.println(e); } }
From source file:airline.service.GeneratePDF.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //Set content type to application / pdf //browser will open the document only if this is set response.setContentType("application/pdf"); //Get the output stream for writing PDF object OutputStream out = response.getOutputStream(); try {//from w w w .java 2 s . c o m RuntimeTypeAdapterFactory<Jsonable> rta = RuntimeTypeAdapterFactory.of(Jsonable.class, "_class") .registerSubtype(Reservacion.class, "Reservacion").registerSubtype(Tiquete.class, "Tiquete") .registerSubtype(Viaje.class, "Viaje"); Gson gson = new GsonBuilder().registerTypeAdapterFactory(rta).setDateFormat("dd/MM/yyyy").create(); String json; List<Viaje> viajes; String jsonReservacion = request.getParameter("reservacion"); Reservacion reservacion = gson.fromJson(jsonReservacion, Reservacion.class); String jsonViajes = request.getParameter("viajes"); viajes = gson.fromJson(jsonViajes, new TypeToken<ArrayList<Viaje>>() { }.getType()); Document document = new Document(); /* Basic PDF Creation inside servlet */ PdfWriter.getInstance(document, out); document.open(); document.add(new Paragraph(" FACTURA DE COMPRA")); document.add(Chunk.NEWLINE); document.add(new Paragraph("Viajes")); document.add(Chunk.NEWLINE); document.add(createViajesTable(viajes)); document.add(Chunk.NEWLINE); document.add(new Paragraph("Reservacion")); document.add(Chunk.NEWLINE); document.add(createReservacionTable(reservacion)); document.close(); } catch (DocumentException exc) { throw new IOException(exc.getMessage()); } finally { out.close(); } }
From source file:ai_problem_komiwojazera.AI_Problem_Komiwojazera.java
/** * @param args the command line arguments *//* w ww. j a v a 2 s.c om*/ public static void main(String[] args) { // TODO code application logic here // try { // int[][] data = new int[10][10]; // for (int i = 0; i < 10; i++) { // data[0][i] = 10 * i; // } // for (int i = 0; i < 10; i++) { // data[1][i] = 9 * i; // } // for (int i = 0; i < 10; i++) { // data[2][i] = 8 * i; // } // for (int i = 0; i < 10; i++) { // data[3][i] = 7 * i; // } // for (int i = 0; i < 10; i++) { // data[4][i] = 6 * i; // } // for (int i = 0; i < 10; i++) { // data[5][i] = 5 * i; // } // for (int i = 0; i < 10; i++) { // data[6][i] = 4 * i; // } // for (int i = 0; i < 10; i++) { // data[7][i] = 3 * i; // } // for (int i = 0; i < 10; i++) { // data[8][i] = 2 * i; // } // for (int i = 0; i < 10; i++) { // data[9][i] = i; // } // Trial trial = new Trial(); // List<Integer> bestResults = new ArrayList(); // List<Double> everageListBest = new ArrayList(); // for (int i = 0; i < 1000; i++) { // trial.findBeterList(data); // bestResults.add(trial.getBestIndividualsList().get(0).getDistanceAll()); // double temp = 0; // for (int j = 0; j < trial.getBestIndividualsList().size(); j++) { // temp += trial.getBestIndividualsList().get(j).getDistanceAll(); // } // temp = temp / trial.getBestIndividualsList().size(); // everageListBest.add(temp); // } // System.out.println("Najlepsze wyniki rednia z listy"); // for (int i = 0; i < 1000; i++) { // System.out.print(" " + bestResults.get(i) + " "); // if (i > 0 && bestResults.get(i) > bestResults.get(i - 1)) { // System.out.println("UWAGA!!!"); // } // System.out.println(everageListBest.get(i)); // if (i > 0 && everageListBest.get(i) > everageListBest.get(i - 1)) { // System.out.println("UWAGA!!!"); // } // // } String[] origins = new String[] { "Perth, Australia", "Sydney, Australia", "Melbourne, Australia", "Adelaide, Australia", "Brisbane, Australia", "Darwin, Australia", "Hobart, Australia", "Canberra, Australia" }; String[] destinations = new String[] { "Uluru, Australia", "Kakadu, Australia", "Blue Mountains, Australia", "Bungle Bungles, Australia", "The Pinnacles, Australia" }; DistanceMatrix matrix; try { // matrix = DistanceMatrixApi.newRequest(context).origins(origins).destinations(destinations).mode(TravelMode.DRIVING).language("en-AU").avoid(RouteRestriction.TOLLS).units(Unit.IMPERIAL).departureTime(new DateTime().plusMinutes(2)).await(); GeoApiContext context = new GeoApiContext.Builder().apiKey(API_KEY).build(); matrix = DistanceMatrixApi.newRequest(context).origins(origins).destinations(destinations) .mode(TravelMode.DRIVING).language("en-AU").avoid(RouteRestriction.TOLLS).units(Unit.METRIC) .departureTime(new DateTime().plusMinutes(2)).await(); Gson gson = new GsonBuilder().setPrettyPrinting().create(); System.out.println(gson.toJson(matrix.originAddresses[0] + " do " + matrix.destinationAddresses[0] + " " + matrix.rows[0].elements[0].distance)); // DistanceMatrixApiRequest req = DistanceMatrixApi.newRequest(context); // DistanceMatrix trix = req.origins("Vancouver BC", "Seattle") // .destinations("San Francisco", "Victoria BC") // .mode(TravelMode.DRIVING) // .avoid(RouteRestriction.HIGHWAYS) // .language("fr-FR") // .await(); // for (int i = 0; i < trix.rows.length; i++) { // System.out.println(trix.originAddresses[i] + " " + trix.destinationAddresses[i] + " " + trix.rows[i].elements[0]); // } } catch (ApiException | InterruptedException | IOException ex) { Logger.getLogger(AI_Problem_Komiwojazera.class.getName()).log(Level.SEVERE, null, ex); } // } catch (ParametersInvalidOrTooLittleException e) { // System.err.println(e); // } }
From source file:alberto.avengers.model.rest.RestDataSource.java
License:Mozilla Public License
@Inject public RestDataSource() { OkHttpClient client = new OkHttpClient(); HttpLoggingInterceptor loggingInterceptor = new HttpLoggingInterceptor(); loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BASIC); MarvelSigningIterceptor signingIterceptor = new MarvelSigningIterceptor(BuildConfig.MARVEL_PUBLIC_KEY, BuildConfig.MARVEL_PRIVATE_KEY); client.interceptors().add(signingIterceptor); client.interceptors().add(loggingInterceptor); Gson customGsonInstance = new GsonBuilder().registerTypeAdapter(new TypeToken<List<Character>>() { }.getType(), new MarvelResultsDeserializer<Character>()) .registerTypeAdapter(new TypeToken<List<CollectionItem>>() { }.getType(), new MarvelResultsDeserializer<CollectionItem>()) .create();/*from w ww .j a v a 2s .c o m*/ Retrofit marvelApiAdapter = new Retrofit.Builder().baseUrl(MarvelApi.END_POINT) .addConverterFactory(GsonConverterFactory.create(customGsonInstance)) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()).client(client).build(); mMarvelApi = marvelApiAdapter.create(MarvelApi.class); }