/** * An iterator over the string field names. * * @return the iterator */ public Iterator<MetaDataResult> iterator() { return getMetaDataResultList().iterator(); }
@Override public int hashCode() { // This is a work-around because JSONObject doesn't override hashCode(). // it will be quite expensive, but should suffice. return getRawJSON().toString().hashCode(); } }
/** * {@inheritDoc} */ public SearchResult ofSearchResult(final JSONObject rawData) { return SearchResult.of(rawData); }
@Test public void testSearchResult() { SearchResult searchResult1 = SearchResult.of(getTestObj1()); SearchResult searchResult2 = SearchResult.of(getTestObj2()); SearchResult searchResult3 = SearchResult.of(getTestObj1()); Assert.assertEquals(searchResult1, searchResult1); Assert.assertEquals(searchResult1, searchResult3); Assert.assertEquals(searchResult3, searchResult1); Assert.assertNotEquals(searchResult1, searchResult2); Assert.assertNotEquals(searchResult2, searchResult1); // not strictly within the hashCode requirements, but we'd like this to be the case. Assert.assertNotEquals(searchResult1.hashCode(), searchResult2.hashCode()); Assert.assertEquals(searchResult1.hashCode(), searchResult1.hashCode()); Assert.assertEquals(searchResult1.hashCode(), searchResult3.hashCode()); }
/** * The main body of the code. */ private void run() { ClassicQuandlSession session = ClassicQuandlSession.create(); SearchResult searchResult = session.search(SearchRequest.Builder.ofQuery("Apple").withMaxPerPage(2).build()); System.out.println("Current page:" + searchResult.getCurrentPage()); System.out.println("Documents per page:" + searchResult.getDocumentsPerPage()); System.out.println("Total matching documents:" + searchResult.getTotalDocuments()); for (MetaDataResult document : searchResult.getMetaDataResultList()) { System.out.println("Quandl code " + document.getQuandlCode() + " matched"); System.out.println("Available columns are: " + document.getHeaderDefinition()); } }
final int totalDocs = result.getTotalDocuments(); final int docsPerPage = result.getDocumentsPerPage(); final int totalPages = totalDocs / docsPerPage; Set<String> quandlCodes = new LinkedHashSet<String>(); searchResult = session.search(req); resultProcessor.processResult(searchResult); if (searchResult.getMetaDataResultList().size() > 0) { MetaDataResult metaDataResult = searchResult.getMetaDataResultList().get(0); if (metaDataResult.getQuandlCode() != null) { quandlCodes.add(metaDataResult.getQuandlCode());
/** * The main body of the code. */ private void run() { ClassicQuandlSession quandl = ClassicQuandlSession.create(); SearchResult searchResult = quandl.search(SearchRequest.Builder.ofQuery("Apple").withMaxPerPage(2).build()); System.out.println(searchResult.toPrettyPrintedString()); for (MetaDataResult metaData : searchResult.getMetaDataResultList()) { System.out.println(PrettyPrinter.toPrettyPrintedString(metaData.getRawJSON())); } TabularResult tabularResult = null; tabularResult = quandl.getDataSet(DataSetRequest.Builder.of("WIKI/AAPL").withFrequency(Frequency.QUARTERLY) .withColumn(CLOSE_COLUMN).withTransform(Transform.NORMALIZE).build()); System.out.println(PrettyPrinter.toPrettyPrintedString(tabularResult)); MetaDataResult metaData = quandl.getMetaData(MetaDataRequest.of("WIKI/AAPL")); System.out.println(PrettyPrinter.toPrettyPrintedString(metaData.getRawJSON())); }
/** * The main body of the code. */ private void run() { ClassicQuandlSession session = ClassicQuandlSession.create(); SearchResult searchResult = session.search(SearchRequest.Builder.ofQuery("Apple").withMaxPerPage(2).build()); System.out.println(searchResult.toPrettyPrintedString()); }
/** * Factory method for creating and instance of a MetaDataResult. * * @param jsonObject the JSON object returned by Quandl, not null * @return a MetaDataResult instance, not null */ public static SearchResult of(final JSONObject jsonObject) { ArgumentChecker.notNull(jsonObject, "jsonObject"); return new SearchResult(jsonObject); }
/** * The main body of the code. */ private void run() { QuandlSession session = QuandlSession.create(); SearchResult searchResult = session.search(new SearchRequest.Builder().withQuery("Apple").withMaxPerPage(2).build()); System.out.println("Current page:" + searchResult.getCurrentPage()); System.out.println("Documents per page:" + searchResult.getDocumentsPerPage()); System.out.println("Total matching documents:" + searchResult.getTotalDocuments()); for (MetaDataResult document : searchResult.getMetaDataResultList()) { System.out.println("Quandl code " + document.getQuandlCode() + " matched"); System.out.println("Available columns are: " + document.getHeaderDefinition()); } }
final int totalDocs = result.getTotalDocuments(); final int docsPerPage = result.getDocumentsPerPage(); final int totalPages = totalDocs / docsPerPage; Set<String> quandlCodes = new LinkedHashSet<String>(); searchResult = session.search(req); resultProcessor.processResult(searchResult); if (searchResult.getMetaDataResultList().size() > 0) { MetaDataResult metaDataResult = searchResult.getMetaDataResultList().get(0); if (metaDataResult.getQuandlCode() != null) { quandlCodes.add(metaDataResult.getQuandlCode());
@Test public void testSearchResult() { SearchResult searchResult1 = SearchResult.of(getTestObj1()); SearchResult searchResult2 = SearchResult.of(getTestObj2()); SearchResult searchResult3 = SearchResult.of(getTestObj1()); Assert.assertEquals(searchResult1, searchResult1); Assert.assertEquals(searchResult1, searchResult3); Assert.assertEquals(searchResult3, searchResult1); Assert.assertNotEquals(searchResult1, searchResult2); Assert.assertNotEquals(searchResult2, searchResult1); // not strictly within the hashCode requirements, but we'd like this to be the case. Assert.assertNotEquals(searchResult1.hashCode(), searchResult2.hashCode()); Assert.assertEquals(searchResult1.hashCode(), searchResult1.hashCode()); Assert.assertEquals(searchResult1.hashCode(), searchResult3.hashCode()); }
/** * The main body of the code. */ private void run() { QuandlSession quandl = QuandlSession.create(); SearchResult searchResult = quandl.search(SearchRequest.Builder.ofQuery("Apple").withMaxPerPage(2).build()); System.out.println(searchResult.toPrettyPrintedString()); for (MetaDataResult metaData : searchResult.getMetaDataResultList()) { System.out.println(PrettyPrinter.toPrettyPrintedString(metaData.getRawJSON())); } TabularResult tabularResult = null; tabularResult = quandl.getDataSet(DataSetRequest.Builder.of("WIKI/AAPL").withFrequency(Frequency.QUARTERLY) .withColumn(CLOSE_COLUMN).withTransform(Transform.NORMALIZE).build()); System.out.println(PrettyPrinter.toPrettyPrintedString(tabularResult)); TabularResult tabularResultMulti = quandl.getDataSets( MultiDataSetRequest.Builder.of( QuandlCodeRequest.allColumns("WIKI/AAPL"), QuandlCodeRequest.allColumns("DOE/RWTC") ).withStartDate(RECENTISH_DATE) .build()); System.out.println(PrettyPrinter.toPrettyPrintedString(tabularResultMulti)); MetaDataResult metaData = quandl.getMetaData(MetaDataRequest.of("WIKI/AAPL")); System.out.println(PrettyPrinter.toPrettyPrintedString(metaData.getRawJSON())); MetaDataResult metaData2 = quandl.getMetaData(MultiMetaDataRequest.of("WIKI/AAPL", "DOE/RWTC", "WIKI/MSFT")); System.out.println(PrettyPrinter.toPrettyPrintedString(metaData2.getRawJSON())); }
/** * The main body of the code. */ private void run() { QuandlSession session = QuandlSession.create(); SearchResult searchResult = session.search(new SearchRequest.Builder().withQuery("Apple").withMaxPerPage(2).build()); System.out.println(searchResult.toPrettyPrintedString()); }
@Test(expectedExceptions = QuandlRuntimeException.class) public final void testSearchResult() { SearchResult.of(null); } // CHECKSTYLE:ON
@Override public boolean equals(final Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (!(obj instanceof SearchResult)) { return false; } final SearchResult other = (SearchResult) obj; // This is a work-around because JSONObject doesn't override equals(). // it will be quite expensive, but should suffice. return getRawJSON().toString().equals(other.getRawJSON().toString()); }
@Test(expectedExceptions = QuandlRuntimeException.class) public final void testSearchResult() { SearchResult.of(null); } // CHECKSTYLE:ON
/** * Pretty print a SearchResult as an indented piece of JSON code. Throws a QuandlRuntimeException if it can't render the nested JSONObject * to a String. * * @param searchResult the searchResult, not null * @return a String representation of the object, probably multi-line. */ public static String toPrettyPrintedString(final SearchResult searchResult) { return toPrettyPrintedString(searchResult.getRawJSON()); }
@Override public SearchResult search(final SearchRequest request) { Client client = ClientBuilder.newClient(); WebTarget target = client.target(API_BASE_URL_V3); target = withAuthToken(target); target = request.appendPathAndQueryParameters(target); int retries = 0; QuandlRuntimeException lastException; do { try { return SearchResult.of(_restDataProvider.getJSONResponse(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); } }
/** * Load file using internal counter to generate file name and compare contents to the result provided. * @param searchResult the result to check file contents against */ public final void processResult(final SearchResult searchResult) { processResult(searchResult.getRawJSON()); }