package CIAPI.Java.pricewidget.model.stock.impl; import java.util.ArrayList; import java.util.List; import CIAPI.Java.core.ServiceMethods; import CIAPI.Java.core.dto.AccountInformationResponseDTO; import CIAPI.Java.core.dto.ApiMarketDTO; import CIAPI.Java.core.dto.ListCfdMarketsResponseDTO; import CIAPI.Java.core.impl.ServiceMethodsImpl; import CIAPI.Java.pricewidget.model.auth.LogOnStatus; import CIAPI.Java.pricewidget.model.stock.IStock; import CIAPI.Java.pricewidget.model.stock.IStockSearch; import JsonClient.Java.ApiException; public class StockSearch implements IStockSearch { private ServiceMethods methods = new ServiceMethodsImpl(); private int clientAccountId; public StockSearch() { try { AccountInformationResponseDTO accountinfo = methods.GetClientAndTradingAccount(LogOnStatus.api()); clientAccountId = accountinfo.getClientAccountId(); } catch (ApiException e) { e.printStackTrace(); } } @Override public List<IStock> searchForName(String name, int maxResults) { try { List<IStock> ret = new ArrayList<IStock>(); ListCfdMarketsResponseDTO market = methods.ListCfdMarkets(name, null, clientAccountId, maxResults, LogOnStatus.api()); ApiMarketDTO[] mkts = market.getMarkets(); for (ApiMarketDTO dto : mkts) { ret.add(new RealStock(dto.getMarketId())); } } catch (ApiException e) { e.printStackTrace(); } return null; } @Override public IStock getFromRICCode(String ric) { // TODO Auto-generated method stub return null; } @Override public IStock getById(int id) { try { return new RealStock(id); } catch (ApiException e) { e.printStackTrace(); throw new RuntimeException("Shit, get by id failed."); } } }