· 7 years ago · Oct 12, 2018, 05:50 PM
1package com.siu.android.tennisparis.json;
2
3import android.util.Log;
4import com.google.gson.*;
5import com.siu.android.tennisparis.dao.model.Tennis;
6
7import java.lang.reflect.Type;
8
9/**
10 * @author Lukasz Piliszczuk <lukasz.pili AT gmail.com>
11 */
12public class TennisDeserializer implements JsonDeserializer<Tennis> {
13
14 private static final String WEBSERVICE_ID = "webservice_id";
15 private static final String LATITUDE = "latitude";
16 private static final String LONGITUDE = "longitude";
17 private static final String NAME = "name";
18 private static final String ADDRESS = "address";
19 private static final String POSTAL_CODE = "zip_code";
20 private static final String CITY = "ville";
21 private static final String ACTIVE = "is_active";
22
23 @Override
24 public Tennis deserialize(JsonElement json, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {
25 JsonObject jsonObject = json.getAsJsonObject();
26
27 Tennis tennis = new Tennis();
28 tennis.setWebserviceId(CommonDeserializer.getLong(jsonObject.get(WEBSERVICE_ID)));
29 tennis.setLatitude(CommonDeserializer.getDouble(jsonObject.get(LATITUDE)));
30 tennis.setLongitude(CommonDeserializer.getDouble(jsonObject.get(LONGITUDE)));
31 tennis.setName(CommonDeserializer.getString(jsonObject.get(NAME)));
32 tennis.setAddress(CommonDeserializer.getString(jsonObject.get(ADDRESS)));
33 tennis.setPostalCode(CommonDeserializer.getString(jsonObject.get(POSTAL_CODE)));
34 tennis.setCity(CommonDeserializer.getString(jsonObject.get(CITY)));
35 tennis.setActive(CommonDeserializer.getBoolean(jsonObject.get(ACTIVE)));
36
37 return tennis;
38 }
39}