Example usage for com.google.gson.reflect TypeToken getType

List of usage examples for com.google.gson.reflect TypeToken getType

Introduction

In this page you can find the example usage for com.google.gson.reflect TypeToken getType.

Prototype

public final Type getType() 

Source Link

Document

Gets underlying Type instance.

Usage

From source file:gobblin.util.io.GsonInterfaceAdapter.java

License:Apache License

@Override
public <R> TypeAdapter<R> create(Gson gson, TypeToken<R> type) {
    if (ClassUtils.isPrimitiveOrWrapper(type.getRawType()) || type.getType() instanceof GenericArrayType
            || CharSequence.class.isAssignableFrom(type.getRawType())
            || (type.getType() instanceof ParameterizedType
                    && (Collection.class.isAssignableFrom(type.getRawType())
                            || Map.class.isAssignableFrom(type.getRawType())))) {
        // delegate primitives, arrays, collections, and maps
        return null;
    }//from w  w w. jav a2s.co  m
    if (!this.baseClass.isAssignableFrom(type.getRawType())) {
        // delegate anything not assignable from base class
        return null;
    }
    TypeAdapter<R> adapter = new InterfaceAdapter<>(gson, this, type);
    return adapter;
}

From source file:gov.whitehouse.services.FeedService.java

License:MIT License

public static ArrayList<FeedItem> loadFeedFromCache(final Context context, final String feedTitle) {
    File cacheFile = new File(context.getCacheDir(), "cached_" + feedTitle + "_feed.json");

    try {/*from   ww w .j a va  2  s.  c o  m*/
        if (cacheFile == null || !cacheFile.exists() || !cacheFile.isFile()) {
            return null;
        } else {
            final ArrayList<FeedItem> feedItems = new ArrayList<FeedItem>();
            final FileInputStream fileIn = new FileInputStream(cacheFile);
            final InputStreamReader isr = new InputStreamReader(fileIn);
            TypeToken<ArrayList<FeedItem>> token = new TypeToken<ArrayList<FeedItem>>() {
            };
            ArrayList<FeedItem> list = GsonUtils.fromJson(isr, token.getType());
            if (list != null) {
                feedItems.addAll(list);
            }
            return feedItems;
        }
    } catch (IOException e) {
        Log.d(TAG, "error reading feed");
        Log.d(TAG, Log.getStackTraceString(e));
    } catch (IllegalStateException e) {
        Log.d(TAG, "this should not happen");
        Log.d(TAG, Log.getStackTraceString(e));
    } catch (JsonSyntaxException e) {
        Log.d(TAG, "whoops, bad json");
        Log.d(TAG, Log.getStackTraceString(e));
    }

    return null;
}

From source file:info.bonjean.beluga.util.HTTPUtil.java

License:Open Source License

public static <E> E request(Method method, ParameterMap params, JsonRequest jsonData, boolean encrypt,
        TypeToken<Response<E>> typeToken) throws BelugaException {
    String urlStr = createRequestUrl(method, params);
    String data = gson.toJson(jsonData);

    log.debug("Request: " + urlStr);
    log.debug("Data: " + data);

    if (encrypt)//from  w  w w.  j a v a 2 s  .co  m
        data = CryptoUtil.pandoraEncrypt(data);

    String requestResponse = HTTPUtil.jsonRequest(urlStr, data);
    log.debug("Response: " + requestResponse);

    Response<E> response;
    try {
        response = gson.fromJson(requestResponse, typeToken.getType());
    } catch (JsonSyntaxException e) {
        throw new CommunicationException("invalidPandoraResponse", e);
    }

    if (response.getStat().equals("fail"))
        throw new PandoraException(method, response.getCode());

    return response.getResult();
}

From source file:io.lavagna.common.Read.java

License:Open Source License

@SuppressWarnings("unchecked")
public static <T> List<T> readMatchingObjects(String regex, Path tempFile, TypeToken<T> t) {
    try {//from ww  w.  ja  v a  2 s .co  m
        List<T> res = new ArrayList<>();
        try (InputStream is = Files.newInputStream(tempFile); ZipInputStream zis = new ZipInputStream(is)) {
            ZipEntry ze = zis.getNextEntry();
            while (ze != null) {
                if (ze.getName().matches("^" + regex + "$")) {
                    res.add((T) Json.GSON.fromJson(new InputStreamReader(zis, StandardCharsets.UTF_8),
                            t.getType()));
                }
                ze = zis.getNextEntry();
            }
            return res;
        }
    } catch (IOException ioe) {
        throw new IllegalStateException("error while reading data for " + regex, ioe);
    }
}

From source file:io.swagger.api.impl.LogApiServiceImpl.java

License:Open Source License

private ArrayList<String> parseToArray(String strToParse) {
    ArrayList<String> arrayToReturn = new ArrayList<String>();
    if (strToParse != null) {
        if (strToParse.length() > 0) {
            Gson gson = new Gson();
            TypeToken<ArrayList<String>> token = new TypeToken<ArrayList<String>>() {
            };/*from ww w. j ava  2  s. c o m*/
            arrayToReturn = gson.fromJson(strToParse, token.getType());
        }
    }
    return (arrayToReturn);
}

From source file:io.swagger.api.impl.LogApiServiceImpl.java

License:Open Source License

/**
 * @param dateFrom//  w w  w.ja v a 2s  .  c  om
 * @param dateTo
 * @param logLevel
 * @param requesterType
 * @param requesterId
 * @param logPriority
 * @param title
 * @param keyWords
 * @param logType
 * @param affectedUserId
 * @param ospId
 * @return
 */
private String composeSqlQuery(String dateFrom, String dateTo, String logLevel, String requesterType,
        String requesterId, String logPriority, String title, String keyWords, String logType,
        String affectedUserId, String ospId) {
    String strSelect = "select * from operando_logdb.LOGS";
    StringBuffer strBufferSelect = new StringBuffer(strSelect);
    String keyValue = "";
    boolean boolAnd = false;
    boolean boolOr = false;
    ArrayList<String> arrayListKeyWords = null;

    if (!(((dateFrom == "") || (dateFrom == null)) && ((dateTo == "") || (dateTo == null))
            && ((logLevel == "") || (logLevel == null)) && ((requesterType == "") || (requesterType == null))
            && ((requesterId == "") || (requesterId == null)) && ((logPriority == "") || (logPriority == null))
            && ((title == "") || (title == null)) && (keyWords == null)
            && ((logType == "") || (logType == null))
            && ((affectedUserId == "") || (affectedUserId == null)))) {
        strBufferSelect.append(" WHERE ");
        if (dateFrom != null) {
            if (!dateFrom.equals("")) {
                strBufferSelect.append("DATED >= '" + dateFrom + "'");
                boolAnd = true;
            }
        }
        if (dateTo != null) {
            if (!dateTo.equals("")) {
                if (boolAnd)
                    strBufferSelect.append(" AND ");
                strBufferSelect.append("DATED <= '" + dateTo + "'");
                boolAnd = true;
            }
        }
        if (logLevel != null) {
            if (!logLevel.equals("")) {
                if (boolAnd)
                    strBufferSelect.append(" AND ");
                strBufferSelect.append("LEVEL='" + logLevel + "'");
                boolAnd = true;
            }
        }
        if (requesterType != null) {
            if (!requesterType.equals("")) {
                if (boolAnd)
                    strBufferSelect.append(" AND ");
                strBufferSelect.append("REQUESTERTYPE='" + requesterType + "'");
                boolAnd = true;
            }
        }
        if (requesterId != null) {
            if (!requesterId.equals("")) {
                if (boolAnd)
                    strBufferSelect.append(" AND ");
                strBufferSelect.append("REQUESTERID='" + requesterId + "'");
                boolAnd = true;
            }
        }
        if (logPriority != null) {
            if (!logPriority.equals("")) {
                if (boolAnd)
                    strBufferSelect.append(" AND ");
                strBufferSelect.append("LOGPRIORITY='" + logPriority + "'");
                boolAnd = true;
            }
        }
        if (title != null) {
            if (!title.equals("")) {
                if (boolAnd)
                    strBufferSelect.append(" AND ");
                strBufferSelect.append("TITLE LIKE '%" + title + "%'");
                boolAnd = true;
            }
        }
        if (keyWords != null) {
            if (keyWords.length() > 0) {
                Gson gson = new Gson();
                TypeToken<ArrayList<String>> token = new TypeToken<ArrayList<String>>() {
                };
                arrayListKeyWords = gson.fromJson(keyWords, token.getType());
                ListIterator<String> listIterator = arrayListKeyWords.listIterator();
                if (boolAnd)
                    strBufferSelect.append(" AND ");
                while (listIterator.hasNext()) {
                    keyValue = listIterator.next();
                    if (boolOr)
                        strBufferSelect.append(" || ");
                    strBufferSelect.append("KEYWORDS LIKE '%" + keyValue + "%'");
                    boolOr = true;
                }
            }
        }
        if (logType != null) {
            if (!logType.equals("")) {
                if (boolAnd)
                    strBufferSelect.append(" AND ");
                strBufferSelect.append("LOGTYPE='" + logType + "'");
                boolAnd = true;
            }
        }
        if (affectedUserId != null) {
            if (!affectedUserId.equals("")) {
                if (boolAnd)
                    strBufferSelect.append(" AND ");
                strBufferSelect.append("AFFECTEDUSERID='" + affectedUserId + "'");
                boolAnd = true;
            }
        }
        if (ospId != null) {
            if (!ospId.equals("")) {
                if (boolAnd)
                    strBufferSelect.append(" AND ");
                strBufferSelect.append("OSP='" + ospId + "'");
                boolAnd = true;
            }
        }
        strSelect = strBufferSelect.toString();
    }

    return strSelect;
}

From source file:io.webfolder.cdp.session.SessionFactory.java

License:Open Source License

public List<SessionInfo> list() {
    String listSessions = format("http://%s:%d/json/list", host, port);
    URL url = null;//w  ww .  j a va  2  s . com
    Reader reader = null;
    try {
        url = new URL(listSessions);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setConnectTimeout(connectionTimeout);
        reader = new InputStreamReader(conn.getInputStream());
        TypeToken<?> type = TypeToken.getParameterized(List.class, SessionInfo.class);
        List<SessionInfo> list = gson.fromJson(reader, type.getType());
        return list;
    } catch (IOException e) {
        throw new CdpException(e);
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
                // ignore
            }
        }
    }
}

From source file:journal.AddUpdateJournalVoucher.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//  w  w  w.  j  a v a2s.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 {
    final String detailJson = request.getParameter("detail");
    TypeToken<List<JournalVoucherModel>> token = new TypeToken<List<JournalVoucherModel>>() {
    };
    List<JournalVoucherModel> detail = new Gson().fromJson(detailJson, token.getType());
    response.getWriter().print(saveVoucher((ArrayList<JournalVoucherModel>) detail));

}

From source file:mashup.fm.github.BaseService.java

License:Apache License

/**
 * Unmarshall./*from  ww w .  j  a  v a  2  s.  c om*/
 * 
 * @param <T>
 *            the generic type
 * @param typeToken
 *            the type token
 * @param response
 *            the response
 * @return the t
 */
private static <T> T unmarshall(TypeToken<T> typeToken, JsonElement response) {
    Gson gson = getGsonBuilder().create();
    return (T) gson.fromJson(response, typeToken.getType());
}

From source file:masterController.AccountMasterController.java

private void getData() {
    Call<JsonObject> call = groupAPI.GetGroupMaster();
    lb.addGlassPane(this);
    call.enqueue(new Callback<JsonObject>() {
        @Override//from ww w .  ja va2s.  c o  m
        public void onResponse(Call<JsonObject> call, Response<JsonObject> rspns) {
            lb.removeGlassPane(AccountMasterController.this);
            if (rspns.isSuccessful()) {
                JsonObject result = rspns.body();
                if (result.get("result").getAsInt() == 1) {
                    TypeToken<List<GroupMasterModel>> token = new TypeToken<List<GroupMasterModel>>() {
                    };
                    detail = new Gson().fromJson(result.get("data"), token.getType());
                    setData();
                    ac_cd = ac.getAC_CD();
                    jtxtName.setText(ac.getFNAME());
                    jcmbHeadGroup.setSelectedItem(ac.getGROUP_NAME());
                    jtxtAddress1.setText(ac.getADD1());
                    jtxtMobile.setText(ac.getMOBILE1());
                    jtxtCST.setText(ac.getCST());
                    jtxtTin.setText(ac.getTIN());
                    jtxtEmail.setText(ac.getEMAIL());
                    jtxtCardNo.setText(ac.getCARD_NO());
                    jtxtBal.setText(lb.Convert2DecFmt(ac.getOPB_AMT()));
                    jtxtGst.setText((ac.getGST_NO()));
                    jcmbEffect.setSelectedIndex(ac.getOPB_EFF());
                    jComboBox2.setSelectedItem(ac.getRef_cd());
                } else {
                    lb.showMessageDailog(rspns.body().get("Cause").getAsString());
                }
            } else {
                lb.showMessageDailog(rspns.message());
            }
        }

        @Override
        public void onFailure(Call<JsonObject> call, Throwable thrwbl) {
            lb.removeGlassPane(AccountMasterController.this);
        }
    });
}