From: <bra...@us...> - 2010-10-11 19:55:33
|
Revision: 3275 http://archive-access.svn.sourceforge.net/archive-access/?rev=3275&view=rev Author: bradtofel Date: 2010-10-11 19:55:26 +0000 (Mon, 11 Oct 2010) Log Message: ----------- REFACTOR: moved doRediction() logic into method which can be overridden, enable specific Replays to customize redirect URLs. Added ArchivalURL implementation which forwards datespec flags with the redirected URLs Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DateRedirectingClosestResultSelector.java Added Paths: ----------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlDateRedirectingClosestResultSelector.java Added: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlDateRedirectingClosestResultSelector.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlDateRedirectingClosestResultSelector.java (rev 0) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlDateRedirectingClosestResultSelector.java 2010-10-11 19:55:26 UTC (rev 3275) @@ -0,0 +1,42 @@ +/* + * This file is part of the Wayback archival access software + * (http://archive-access.sourceforge.net/projects/wayback/). + * + * Licensed to the Internet Archive (IA) by one or more individual + * contributors. + * + * The IA licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.archive.wayback.archivalurl; + +import org.archive.wayback.core.CaptureSearchResult; +import org.archive.wayback.core.WaybackRequest; +import org.archive.wayback.exception.BetterRequestException; +import org.archive.wayback.replay.DateRedirectingClosestResultSelector; + +/** + * @author brad + * + */ +public class ArchivalUrlDateRedirectingClosestResultSelector +extends DateRedirectingClosestResultSelector { + protected void doRedirection(WaybackRequest wbRequest, + CaptureSearchResult closest) throws BetterRequestException { + // redirect to the better version: + ArchivalUrl aUrl = new ArchivalUrl(wbRequest); + String betterUrl = wbRequest.getAccessPoint().getReplayPrefix() + + aUrl.toString(closest.getCaptureTimestamp(), + closest.getOriginalUrl()); + throw new BetterRequestException(betterUrl); + } +} Property changes on: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/archivalurl/ArchivalUrlDateRedirectingClosestResultSelector.java ___________________________________________________________________ Added: svn:keywords + Author Date Revision Id Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DateRedirectingClosestResultSelector.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DateRedirectingClosestResultSelector.java 2010-10-11 18:59:43 UTC (rev 3274) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/replay/DateRedirectingClosestResultSelector.java 2010-10-11 19:55:26 UTC (rev 3275) @@ -53,15 +53,18 @@ } } if(doRedirect) { - // redirect to the better version: - String url = closest.getOriginalUrl(); - String captureDate = closest.getCaptureTimestamp(); - ResultURIConverter uriConverter = - wbRequest.getAccessPoint().getUriConverter(); - String betterURI = uriConverter.makeReplayURI(captureDate,url); - throw new BetterRequestException(betterURI); + doRedirection(wbRequest,closest); } return closest; } - + protected void doRedirection(WaybackRequest wbRequest, + CaptureSearchResult closest) throws BetterRequestException { + // redirect to the better version: + String url = closest.getOriginalUrl(); + String captureDate = closest.getCaptureTimestamp(); + ResultURIConverter uriConverter = + wbRequest.getAccessPoint().getUriConverter(); + String betterURI = uriConverter.makeReplayURI(captureDate,url); + throw new BetterRequestException(betterURI); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |