if (closest.getDuplicatePayloadFile() != null && closest.getDuplicatePayloadOffset() != null) { payloadLocation = new CaptureSearchResult(); payloadLocation.setFile(closest.getDuplicatePayloadFile()); payloadLocation.setOffset(closest.getDuplicatePayloadOffset()); payloadLocation.setCompressedLength(closest.getDuplicatePayloadCompressedLength());
if (closest.getDuplicatePayloadFile() != null && closest.getDuplicatePayloadOffset() != null) { payloadLocation = new CaptureSearchResult(); payloadLocation.setFile(closest.getDuplicatePayloadFile()); payloadLocation.setOffset(closest.getDuplicatePayloadOffset()); payloadLocation.setCompressedLength(closest.getDuplicatePayloadCompressedLength());
CaptureSearchResult closest = results.getClosest(); assertTrue(closest.isDuplicateDigest()); assertTrue(closest.getDuplicatePayloadFile() != null); assertTrue(closest.getDuplicatePayloadOffset() != null);
if (resourceStore.isSkipped(closest.getDuplicatePayloadFile())) { closest.getDuplicatePayloadFile()); if ((closest.getDuplicatePayloadFile() == null) && wbRequest.isTimestampSearchKey()) { closest.setFile(closest.getDuplicatePayloadFile()); closest.setOffset(closest.getDuplicatePayloadOffset()); if (isRevisit && (closest.getDuplicatePayloadFile() != null)) { httpResponse.addHeader(warcFileHeader, closest.getDuplicatePayloadFile()); } else { httpResponse.addHeader(warcFileHeader, closest.getFile());
if (resourceStore.isSkipped(closest.getDuplicatePayloadFile())) { closest.getDuplicatePayloadFile()); if ((closest.getDuplicatePayloadFile() == null) && wbRequest.isTimestampSearchKey()) { closest.setFile(closest.getDuplicatePayloadFile()); closest.setOffset(closest.getDuplicatePayloadOffset()); if (isRevisit && (closest.getDuplicatePayloadFile() != null)) { httpResponse.addHeader(warcFileHeader, closest.getDuplicatePayloadFile()); } else { httpResponse.addHeader(warcFileHeader, closest.getFile());
/** * {@link EmbeddedCDXServerIndex} resolves revisits for replay requests. * (This is actually a test of {@link CDXToCaptureSearchResultsWriter}.) * @throws Exception */ public void testRevisitResolution() throws Exception { WaybackRequest wbr = WaybackRequest.createReplayRequest( "http://example.com/", "20101125000000", null, null); setCdxLines( "com,example)/ 20101124000000 http://example.com/ text/html 200" + " XXXX - - 2000 0 /a/a.warc.gz", "com,example)/ 20101125000000 http://example.com/ warc/revisit 200" + " XXXX - - 2000 0 /a/b.warc.gz", "com,example)/ 20101126000000 http://example.com/ text/html 200" + " XXXX - - 2000 0 /a/c.warc.gz" ); SearchResults sr = cut.query(wbr); assertEquals(3, sr.getReturnedCount()); CaptureSearchResults results = (CaptureSearchResults)sr; List<CaptureSearchResult> list = results.getResults(); CaptureSearchResult capture2 = list.get(1); assertEquals("20101125000000", capture2.getCaptureTimestamp()); assertEquals("20101124000000", capture2.getDuplicateDigestStoredTimestamp()); assertEquals("/a/a.warc.gz", capture2.getDuplicatePayloadFile()); assertEquals(0, (long)capture2.getDuplicatePayloadOffset()); assertEquals(2000, capture2.getDuplicatePayloadCompressedLength()); assertSame(list.get(0), capture2.getDuplicatePayload()); }
assertEquals("/a/a.warc.gz", capture1.getDuplicatePayloadFile()); assertEquals(0, (long)capture1.getDuplicatePayloadOffset()); assertEquals(2000, capture1.getDuplicatePayloadCompressedLength());
assertEquals("20101125000000", capture2.getCaptureTimestamp()); assertEquals("20101124000000", capture2.getDuplicateDigestStoredTimestamp()); assertEquals("/a/a.warc.gz", capture2.getDuplicatePayloadFile()); assertEquals(0, (long)capture2.getDuplicatePayloadOffset()); assertEquals(2000, capture2.getDuplicatePayloadCompressedLength());