diff --git a/wayback-core/src/main/java/org/archive/wayback/replay/DefaultReplayCaptureSelector.java b/wayback-core/src/main/java/org/archive/wayback/replay/DefaultReplayCaptureSelector.java index 9e8de301f5..7910f166f4 100644 --- a/wayback-core/src/main/java/org/archive/wayback/replay/DefaultReplayCaptureSelector.java +++ b/wayback-core/src/main/java/org/archive/wayback/replay/DefaultReplayCaptureSelector.java @@ -50,6 +50,9 @@ public class DefaultReplayCaptureSelector implements ReplayCaptureSelector { private CaptureSearchResult currentClosest; + public DefaultReplayCaptureSelector() { + } + /** * Initialize object with {@link ReplayDispatcher}, to which * closest-selection is delegated. @@ -174,4 +177,12 @@ protected CaptureSearchResult findNextClosest() { return next; } } + + public CaptureSearchResult getCurrentClosest() { + return currentClosest; + } + + public long getRequestMS() { + return requestMS; + } } \ No newline at end of file diff --git a/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java b/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java index 93a6f9659f..8032c695e5 100644 --- a/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java +++ b/wayback-core/src/main/java/org/archive/wayback/webapp/AccessPoint.java @@ -84,6 +84,7 @@ import org.archive.wayback.util.url.UrlOperations; import org.archive.wayback.util.webapp.AbstractRequestHandler; import org.archive.wayback.util.webapp.ShutdownListener; +import org.archive.wayback.util.webapp.SpringReader; import org.archive.wayback.webapp.LiveWebRedirector.LiveWebState; /** @@ -196,6 +197,8 @@ public static enum PerfStat { private int maxRedirectAttempts = 0; private boolean fixedEmbeds = false; + + private ReplayCaptureSelector captureSelector = null; public void init() { checkAccessPointAware(collection,exception,query,parser,replay, @@ -775,7 +778,7 @@ protected void handleReplay(WaybackRequest wbRequest, p.queried(); } - ReplayCaptureSelector captureSelector = new DefaultReplayCaptureSelector(getReplay()); + ReplayCaptureSelector captureSelector = (ReplayCaptureSelector)SpringReader.getCurrentContext().getBean("captureSelector", new Object [] { getReplay() }); captureSelector.setRequest(wbRequest); captureSelector.setCaptures(captureResults); @@ -1944,4 +1947,12 @@ public void setPerfStatsHeaderFormat( PerfStats.OutputFormat perfStatsHeaderFormat) { this.perfStatsHeaderFormat = perfStatsHeaderFormat; } + + public ReplayCaptureSelector getCaptureSelector() { + return captureSelector; + } + + public void setCaptureSelector(ReplayCaptureSelector captureSelector) { + this.captureSelector = captureSelector; + } }