List of usage examples for com.google.gson.reflect TypeToken getType
public final Type getType()
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); } }); }