Working toward expiry time control in Elda.
Added expires header and had the cache dispose of expired elements.
The ttoal count is now passed through a dedicated path, not pushed into the resultset.
Added expiry times, fixed problem with same.
Move conversion to RFC1123 to its own class. Add
regression test for it.
Added time-expiry tests to the caches.
These are very primitive and just show that when enough time has passed,
even if no other updates are done (which might clear the cache),
an old enough entry is dropped. For these purposes, the caches are
initialised with a Clock object which, rather than the default of
calling System.currentTimeMillis, only changes its result when a
interval has been supplied to it. (Hence we don't have to wait for
real time to elapse, or perhaps not elapse.)
Revised index page to link directly to quickstart
documentation rather than the (still supplied) root page.
Revised index page to link directly to quickstart
documentation rather than the (still supplied) root page.
Added .metadata as an ignored file.
Made -1 a special exiry time for the cache.
Merge in cache-control branch.
Revised cache so that the keys are request URIs and the
objects are ResponseResults which are triples of ResultSet, TermBindings, and plain Bindings.
Expiry times for a request depend on the view being used.
Revising position of calculating the item count computation
so that the cache use can be pushed up as far as possible. Some systemactic renaming of
methods to specify that they return milli(second)s rather than seconds. We have a problem
somewhere where the time is not being correctly reported.
Ensured that expiresAt escapes from cache entry to create header.
Removed debugging prints.
MERGE
Changed TestAPI to clear cache -- the new cache implementation
behaves differently as its key is the request URI.
Replaced incorrect use of hmg banner with standalone banner image.
Coirrection to PropertyExpiryTimes to avoid long overflow
The cache is not used if there was a no-cache header.