Java tutorial
/* * Copyright (C) 2015 Miguel Gamboa at CCISEL * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package pt.isel.mpd.monitrgw.webapi; import com.google.gson.Gson; import org.apache.http.util.EntityUtils; import pt.isel.mpd.monitrgw.webapi.dto.*; import pt.isel.mpd.util.HttpGw; public class MonitrApi { private static final String MONITR_API_KEY = "1e3f8640-f754-11e3-97e9-179fff8a3cc5"; private static final String MONITR_URI = "http://api.monitr.com/api"; private static final Gson jsonReader = new Gson(); public static MonitrMarketDto GetLastNews() { return callMonitrAction(MonitrMarketDto.class, "/v1/market/news?apikey=%s", MONITR_API_KEY); } public static MonitrStockDetailsDto GetStockDetails(String stockSymbol) { return callMonitrAction(MonitrStockDetailsDto.class, "/v2/symbol?apikey=%s&symbol=%s", MONITR_API_KEY, stockSymbol); } public static MonitrStockAnalysisDtoData GetStockAnalysis(String stockSymbol) { MonitrStockAnalysisDto stockAnalysis = callMonitrAction(MonitrStockAnalysisDto.class, "/v2/symbol/mentions?apikey=%s&symbol=%s&startDay=0&endDay=1", MONITR_API_KEY, stockSymbol); return stockAnalysis.analysis.get(0); } private static <T> T callMonitrAction(Class<T> destKlass, String action, Object... args) { final String uri = String.format(action, args); return HttpGw.getData(MONITR_URI + uri, ent -> jsonReader.fromJson(EntityUtils.toString(ent), destKlass)); } }