From: <bra...@us...> - 2009-11-08 01:33:46
|
Revision: 2917 http://archive-access.svn.sourceforge.net/archive-access/?rev=2917&view=rev Author: bradtofel Date: 2009-11-08 01:33:37 +0000 (Sun, 08 Nov 2009) Log Message: ----------- JAVADOC: updated javadoc for public methods Modified Paths: -------------- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ExceptionRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/QueryRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayDispatcher.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayRenderer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/RequestParser.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResourceIndex.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResourceStore.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResultURIConverter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/Shutdownable.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/UrlCanonicalizer.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/ExternalExcluder.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/oracleclient/OracleExclusionFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/oracleclient/OracleExclusionFilterFactory.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotExclusionFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotRules.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilter.java trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ExceptionRenderer.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ExceptionRenderer.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ExceptionRenderer.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -45,12 +45,13 @@ * css format, depending on the guessed context, so errors in embedded * documents do not cause unneeded errors in the embedding document. * - * @param httpRequest - * @param httpResponse - * @param wbRequest - * @param exception - * @throws ServletException - * @throws IOException + * @param httpRequest from Servlet handling + * @param httpResponse from Servlet handling + * @param wbRequest as parsed by RequestParser + * @param exception specific WaybackException subclass thrown + * @param uriConverter for the AccessPoint handling the request + * @throws ServletException per usual + * @throws IOException per usual */ public void renderException(HttpServletRequest httpRequest, HttpServletResponse httpResponse, WaybackRequest wbRequest, Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/QueryRenderer.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/QueryRenderer.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/QueryRenderer.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -42,7 +42,8 @@ */ public interface QueryRenderer { - /** Show the SearchResults of the request for this particular URL + /** + * Display matching SearchResults for the WaybackRequest to the user. * * @param httpRequest the HttpServletRequest * @param httpResponse the HttpServletResponse @@ -50,8 +51,8 @@ * @param results the SearchResults that the WaybackRequest matched * @param uriConverter the URI converter to use to translate matching * results into replayable URLs - * @throws ServletException - * @throws IOException + * @throws ServletException per usual + * @throws IOException per usual */ public void renderCaptureResults(HttpServletRequest httpRequest, HttpServletResponse httpResponse, WaybackRequest wbRequest, @@ -67,8 +68,8 @@ * @param results the SearchResults that the WaybackRequest matched * @param uriConverter the URI converter to use to translate matching * results into replayable URLs - * @throws ServletException - * @throws IOException + * @throws ServletException per usual + * @throws IOException per usual */ public void renderUrlResults(HttpServletRequest httpRequest, HttpServletResponse response, WaybackRequest wbRequest, Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayDispatcher.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayDispatcher.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayDispatcher.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -29,8 +29,9 @@ import org.archive.wayback.core.WaybackRequest; /** + * Locate and return a ReplayRenderer appropriate for the users request + * (accept header, for example) and the resulting Resource. * - * * @author brad * @version $Date$, $Revision$ */ @@ -39,10 +40,13 @@ * * Return a ReplayRenderer appropriate for the Resource. * - * @param wbRequest - * @param result - * @param resource - * @return the correct ReplayRenderer for the Resource + * @param wbRequest WaybackRequest being handled. + * @param result CapturSearchResult from the ResourceIndex which is + * being returned. + * @param resource Resource as returned by ResourceStore which should + * be returned to the user. + * @return an appropriate ReplayRenderer for the Resource, given the request + * context */ public ReplayRenderer getRenderer(WaybackRequest wbRequest, CaptureSearchResult result, Resource resource); Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayRenderer.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayRenderer.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ReplayRenderer.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -57,9 +57,10 @@ * @param results all CaptureSearchResults that were returned from the * ResourceIndex, probably including other capture * dates of the same URL. - * @throws ServletException - * @throws IOException - * @throws WaybackException + * @throws ServletException per usual + * @throws IOException per usual + * @throws WaybackException if Wayback data specific, anticipated exceptions + * occur */ public void renderResource(HttpServletRequest httpRequest, HttpServletResponse httpResponse, WaybackRequest wbRequest, Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/RequestParser.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/RequestParser.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/RequestParser.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -42,12 +42,15 @@ * attempt to transform an incoming HttpServletRequest into a * WaybackRequest object. returns null if there is missing information. * - * @param httpRequest - * @param wbContext + * @param httpRequest ServletHttpRequest being handled + * @param accessPoint AccessPoint which is attempting to parse the request * @return populated WaybackRequest object if successful, null otherwise. - * @throws BadQueryException - */ + * @throws BadQueryException if the request could match this AccessPoint, + * but is malformed: invalid datespec, URL, or flags + * @throws BetterRequestException if the request should be redirected to + * provide better user feedback (corrected URL/date in address bar) + */ public abstract WaybackRequest parse(HttpServletRequest httpRequest, - AccessPoint wbContext) throws BadQueryException, + AccessPoint accessPoint) throws BadQueryException, BetterRequestException; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResourceIndex.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResourceIndex.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResourceIndex.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -33,28 +33,37 @@ import org.archive.wayback.exception.ResourceNotInArchiveException; /** - * Transforms a WMRequest into a ResourceResults. + * Transforms a WaybackRequest into a ResourceResults. * * @author Brad Tofel * @version $Date$, $Revision$ */ public interface ResourceIndex { /** - * Transform a WMRequest into a ResourceResults. + * Transform a WaybackRequest into a ResourceResults. * - * @param request - * @return ResourceResults containing ResourceResult objects matching the - * WMRequest + * @param request WaybackRequest object from RequestParser + * @return SearchResults containing SearchResult objects matching the + * WaybackRequest * - * @throws ResourceIndexNotAvailableException - * @throws ResourceNotInArchiveException - * @throws BadQueryException - * @throws AccessControlException + * @throws ResourceIndexNotAvailableException if the ResourceIndex + * is not available (remote host down, local files missing, etc) + * @throws ResourceNotInArchiveException if the ResourceIndex could be + * contacted, but no SearchResult objects matched the request + * @throws BadQueryException if the WaybackRequest is lacking information + * required to make a reasonable search of this ResourceIndex + * @throws AccessControlException if SearchResult objects actually matched, + * but could not be returned due to AccessControl restrictions + * (robots.txt documents, Administrative URL blocks, etc) */ public SearchResults query(final WaybackRequest request) throws ResourceIndexNotAvailableException, ResourceNotInArchiveException, BadQueryException, AccessControlException; + /** + * Release any resources used by this ResourceIndex cleanly + * @throws IOException for usual causes + */ public void shutdown() throws IOException; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResourceStore.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResourceStore.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResourceStore.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -30,21 +30,26 @@ import org.archive.wayback.exception.ResourceNotAvailableException; /** - * Transforms a SearchResult into a Resource. + * Transforms a CaptureSearchResult into a Resource. * * @author Brad Tofel * @version $Date$, $Revision$ */ public interface ResourceStore { /** - * Transform a SearchResult into a Resource + * Transform a CaptureSearchResult into a Resource * - * @param result + * @param result CaptureSearchResult which should be retrieved * @return Resource object retrieved for the SearchResult - * @throws ResourceNotAvailableException + * @throws ResourceNotAvailableException if the resource was unavailable + * (down host, corrupted files, etc) */ public Resource retrieveResource(CaptureSearchResult result) throws ResourceNotAvailableException; + /** + * Release any resources used by this ResourceIndex cleanly + * @throws IOException for usual causes + */ public void shutdown() throws IOException; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResultURIConverter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResultURIConverter.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/ResultURIConverter.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -35,8 +35,8 @@ /** * return an absolute URL that will replay URL url at time datespec. * - * @param datespec - * @param url + * @param datespec 14-digit timestamp for the desired Resource + * @param url for the desired Resource * @return absolute replay URL */ public String makeReplayURI(final String datespec, final String url); Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/Shutdownable.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/Shutdownable.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/Shutdownable.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -33,5 +33,9 @@ * @version $Date$, $Revision$ */ public interface Shutdownable { + /** + * Release any resources used by this ResourceIndex cleanly + * @throws IOException for usual causes + */ public void shutdown() throws IOException; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/UrlCanonicalizer.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/UrlCanonicalizer.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/UrlCanonicalizer.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -26,6 +26,20 @@ import org.apache.commons.httpclient.URIException; +/** + * Interface for implementations that transform an input String URL into a + * canonical form, suitable for lookups in a ResourceIndex. URLs should be sent + * through the same canonicalizer they will be searched using, before being + * inserted into a ResourceIndex. + * @author brad + * + */ public interface UrlCanonicalizer { + /** + * @param url String representation of an URL, in as original, and + * unchanged form as possible. + * @return a lookup key appropriate for searching within a ResourceIndex. + * @throws URIException if the input url String is not a valid URL. + */ public String urlStringToKey(String url) throws URIException; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/ExternalExcluder.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/ExternalExcluder.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/ExternalExcluder.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -45,14 +45,14 @@ private ObjectFilter<CaptureSearchResult> filter = null; private final static String CONFIG_ID = "excluder-factory"; /** - * @param filter + * @param filter ObjectFilter responsible for excluding content */ public ExternalExcluder(ObjectFilter<CaptureSearchResult> filter) { this.filter = filter; } /** - * @param urlString - * @param timestamp + * @param urlString String URL that should be checked for blocking. + * @param timestamp String 14-digit timestamp to check for blocking. * @return true if the url-timestamp should not be shown to end users */ public boolean isExcluded(String urlString, String timestamp) { @@ -64,6 +64,7 @@ int ruling = filter.filterObject(sr); return (ruling != ObjectFilter.FILTER_INCLUDE); } + private static synchronized ExclusionFilterFactory getFactory(String configPath) { if(factory != null) { @@ -76,13 +77,17 @@ } /** - * @param configPath + * @param configPath String path to local Sprint XML configuration. This + * Spring config file must include a bean with id "excluder-factory" + * that implements + * org.archive.wayback.accesscontrol.ExclusionFilterFactory * @return an excluder fully configured via the XML Spring configuration * at configPath */ public static ExternalExcluder getExcluder(String configPath) { return new ExternalExcluder(getFactory(configPath).get()); } + /** * shutdown underlying resources. */ Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/oracleclient/OracleExclusionFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/oracleclient/OracleExclusionFilter.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/oracleclient/OracleExclusionFilter.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -46,6 +46,10 @@ private final static String POLICY_ROBOT = "robots"; + /** + * @param oracleUrl String URL prefix for the Oracle HTTP server + * @param accessGroup String group to use with requests to the Oracle + */ public OracleExclusionFilter(String oracleUrl, String accessGroup) { client = new AccessControlClient(oracleUrl); this.accessGroup = accessGroup; @@ -76,10 +80,8 @@ } } } catch (RobotsUnavailableException e) { - // TODO Auto-generated catch block e.printStackTrace(); } catch (RuleOracleUnavailableException e) { - // TODO Auto-generated catch block e.printStackTrace(); } return FILTER_EXCLUDE; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/oracleclient/OracleExclusionFilterFactory.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/oracleclient/OracleExclusionFilterFactory.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/oracleclient/OracleExclusionFilterFactory.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -28,6 +28,12 @@ import org.archive.wayback.core.CaptureSearchResult; import org.archive.wayback.util.ObjectFilter; +/** + * ExclusionFilterFactory implementation which connects to an Exclusion Oracle + * via HTTP to determine which SearchResults can be exposed + * @author brad + * + */ public class OracleExclusionFilterFactory implements ExclusionFilterFactory { private String oracleUrl = null; @@ -43,18 +49,30 @@ // no-op... yet.. } + /** + * @return String URL where Oracle HTTP server is located + */ public String getOracleUrl() { return oracleUrl; } + /** + * @param oracleUrl String URL where Oracle HTTP server is located + */ public void setOracleUrl(String oracleUrl) { this.oracleUrl = oracleUrl; } + /** + * @return String group to use with requests to the Oracle + */ public String getAccessGroup() { return accessGroup; } + /** + * @param accessGroup String group to use with requests to the Oracle + */ public void setAccessGroup(String accessGroup) { this.accessGroup = accessGroup; } Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotExclusionFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotExclusionFilter.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotExclusionFilter.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -42,8 +42,9 @@ import org.archive.wayback.util.ObjectFilter; /** - * CaptureSearchResult Filter that uses a LiveWebCache to retrieve robots.txt documents - * from the live web, and filters SearchResults based on the rules therein. + * CaptureSearchResult Filter that uses a LiveWebCache to retrieve robots.txt + * documents from the live web, and filters SearchResults based on the rules + * therein. * * This class caches parsed RobotRules that are retrieved, so using the same * instance to filter multiple SearchResults from the same host will be more @@ -75,9 +76,10 @@ * robots.txt documents. filtering is based on userAgent, and cached * documents newer than maxCacheMS in the webCache are considered valid. * - * @param webCache - * @param userAgent - * @param maxCacheMS + * @param webCache LiveWebCache from which documents can be retrieved + * @param userAgent String user agent to use for requests to the live web. + * @param maxCacheMS long number of milliseconds to cache documents in the + * LiveWebCache */ public RobotExclusionFilter(LiveWebCache webCache, String userAgent, long maxCacheMS) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotRules.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotRules.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/robotstxt/RobotRules.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -79,8 +79,8 @@ * Read rules from InputStream argument into this RobotRules, as a * side-effect, sets the bSyntaxErrors property. * - * @param is - * @throws IOException + * @param is InputStream containing the robots.txt document + * @throws IOException for usual reasons */ public void parse(InputStream is) throws IOException { @@ -161,8 +161,8 @@ * Checks first the specified ua UserAgent, if rules are present for it, * and then falls back to using rules for the '*' UserAgent. * - * @param path - * @param ua + * @param path String server relative path to check for access + * @param ua String user agent to check for access * @return boolean value where true indicates the path is blocked for ua */ public boolean blocksPathForUA(String path, String ua) { Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilter.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilter.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilter.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -47,7 +47,7 @@ private boolean lastCheckedExcluded = false; Map<String,Object> exclusionMap = null; /** - * @param map + * @param map where each String key is a SURT that is blocked. */ public StaticMapExclusionFilter(Map<String,Object> map) { exclusionMap = map; Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java =================================================================== --- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java 2009-11-08 00:45:14 UTC (rev 2916) +++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/accesscontrol/staticmap/StaticMapExclusionFilterFactory.java 2009-11-08 01:33:37 UTC (rev 2917) @@ -60,7 +60,7 @@ /** * load exclusion file and startup polling thread to check for updates - * @throws IOException + * @throws IOException if the exclusion file could not be read. */ public void init() throws IOException { reloadFile(); @@ -105,8 +105,8 @@ } /** - * @param wbRequest - * @return SearchResultFilter + * @return ObjectFilter which blocks CaptureSearchResults in the + * exclusion file. */ public ObjectFilter<CaptureSearchResult> get() { if(currentMap == null) { @@ -138,8 +138,8 @@ private int runInterval; /** - * @param service - * @param runInterval + * @param service ExclusionFactory which will be reloaded + * @param runInterval int number of seconds between reloads */ public CacheUpdaterThread(StaticMapExclusionFilterFactory service, int runInterval) { super("CacheUpdaterThread"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |