/** * Build the request object. * * @return the immutable build object */ public DataSetRequest build() { return new DataSetRequest(this); } }
sb.append(request.getQuandlCode()); if (request.getColumnIndex() != null) { sb.append(" column index "); sb.append(request.getColumnIndex()); if (request.getStartDate() != null) { sb.append(" from "); sb.append(request.getStartDate()); if (request.getEndDate() != null) { sb.append(" until "); sb.append(request.getEndDate()); if (request.getFrequency() != null) { sb.append(" sampled "); sb.append(request.getFrequency()); if (request.getSortOrder() != null) { sb.append(" sorted into "); sb.append(request.getSortOrder()); sb.append(" order"); if (request.getTransform() != null) { sb.append(" transformed by "); sb.append(request.getTransform()); if (request.getMaxRows() != null) { sb.append(" with at most "); sb.append(request.getMaxRows());
@Override public TabularResult getDataSet(final DataSetRequest request) { ArgumentChecker.notNull(request, "request"); Client client = getClient(); WebTarget target = client.target(API_BASE_URL_V3); target = withAuthToken(target); target = request.appendPathAndQueryParameters(target); int retries = 0; QuandlRuntimeException lastException; do { try { return _restDataProvider.getTabularResponse(target, request); } catch (QuandlTooManyRequestsException qtmre) { lastException = qtmre; s_logger.debug("Quandl returned Too Many Requests, retrying if appropriate"); if (qtmre.isDataExhausted()) { throw new QuandlRequestFailedException("Data request limit exceeded", qtmre); } } catch (QuandlServiceUnavailableException qsue) { lastException = qsue; s_logger.debug("Quandl returned Service Not Available, retrying if appropriate"); } } while (_sessionOptions.getRetryPolicy().checkRetries(retries++)); throw new QuandlRequestFailedException("Giving up on request after " + retries + " retries.", lastException); }
@Override public TABLE_TYPE getDataSet(final DataSetRequest request) { ArgumentChecker.notNull(request, "request"); Client client = getClient(); WebTarget target = client.target(API_BASE_URL_V3); target = request.appendPathAndQueryParameters(target); target = withAuthToken(target); int retries = 0; QuandlRuntimeException lastException; do { try { return _restDataProvider.getTabularResponse(target, request); } catch (QuandlTooManyRequestsException qtmre) { lastException = qtmre; s_logger.debug("Quandl returned Too Many Requests, retrying if appropriate"); if (qtmre.isDataExhausted()) { throw new QuandlRequestFailedException("Data request limit exceeded", qtmre); } } catch (QuandlServiceUnavailableException qsue) { lastException = qsue; s_logger.debug("Quandl returned Service Not Available, retrying if appropriate"); } } while (_sessionOptions.getRetryPolicy().checkRetries(retries++)); throw new QuandlRequestFailedException("Giving up on request after " + retries + " retries.", lastException); }