| java.lang.Object org.openharmonise.rm.resources.content.utils.LinkChecker
LinkChecker | public class LinkChecker (Code) | | URL Checking utility class.
Class runs through a list of Strings which are meant to be URL
s, specifically http URLs (weblinks). For each String , it attempts to
construct a URL object, and then attempts to connect to the
resource represented by the URL. If any exceptions are thrown or if the HTTP
response code is any other than 200 (OK), then the class records the String
representing the URL and details about the issue. The code does not
follow redirects as it cannot be assumed that all clients using the Timelines
website will do so, but instead notes the new URL specified in the Location
header.
Once the class has finished connecting to all the URLs in the List passed in,
it constructs a report on request. A standard "OK" report is produced if no
issues were recorded, otherwise a report is constructed detailing the
malfunctioning URLs and the problems encountered.
Note: this class is part of the implementation of the BM
requirement 3.41 as clarified in the SIM requirements clarification document,
point 3.5.2.
Copyright SimulacraMedia 2003
author: John King version: $Revision: 1.5 $ |
Constructor Summary | |
public | LinkChecker(List assetsToCheck) Constructs a new LinkChecker instance. |
Method Summary | |
public void | checkLinks() Checks the links specified in the list of URLs specified in the call to
the constructor.
Iterates through the list of Strings supplied. | public List | getErrorsList() Returns the results of the link checking activity as a List of
LinkError s.
unmodifiable List containing LinkError instancesrecording each error encountered. | public String | getReport() Creates a simple dated, plain text formatted report
Produces a dated simple report on the outcome of the link checking
activity. | public Document | getXMLReport() |
LinkChecker | public LinkChecker(List assetsToCheck)(Code) | | Constructs a new LinkChecker instance.
Parameters: urlsToCheck - list of URLs to check in the form of String objects throws: NullPointerException - if urlsToCheck was null |
checkLinks | public void checkLinks()(Code) | | Checks the links specified in the list of URLs specified in the call to
the constructor.
Iterates through the list of Strings supplied. It first attempts to
construct a URL object using the string. If this fails, due to a
MalformedURLException, a LinkError is created and added to
the errors list. If the URL object is created successfully, it attempts
to connect to to it. If an attempt to connect results in an Exception or
if the connection succeeds but returns any HTTP status code other than
200 (OK), then a LinkError is created and noted in the
errors list.
This implementation attempts to be robust. It anticipates that users will
not necessarily provide a full, compliant URL but may abbreviate web
links to, say, www.example.com rather than http://www.example.com. It
looks for the :// characters which mark the boundary between the protocol
specifier and the machine address and if these are missing, prepends
http:// to the string before checking to form, hopefully, a syntactically
correct URL before attempting to resolve the link.
See Also: org.openharmonise.rm.resources.content.utils.LinkError |
getErrorsList | public List getErrorsList()(Code) | | Returns the results of the link checking activity as a List of
LinkError s.
unmodifiable List containing LinkError instancesrecording each error encountered. If no errors were encountered,this List will be empty. throws: IllegalStateException - if the checkLinks method has not previouslybeen called See Also: org.openharmonise.rm.resources.content.utils.LinkError |
getReport | public String getReport()(Code) | | Creates a simple dated, plain text formatted report
Produces a dated simple report on the outcome of the link checking
activity. If there were no errors, then this is stated. If there were
errors, then each is noted along with the URL concerned.
a dated, plain text formatted report throws: IllegalStateException - if the checkLinks method has not previouslybeen called |
|
|