I'm trying to figure out what's going on in FileSystemStyleCache
regarding the caching code.
I noticed that this code is not called by anyone. Does anyone object to
my deleting it? Or is there
some use for it so I should keep it around.
/**
* Returns a shared ImageProvider instance for the specified
* XSS document and target cache directory.
*
* @param source The path of the source XSS document. The
* specified file must be a valid XSS document. If the specified
* file does not exists, an IllegalArgumentException is thrown.
* @param target The path of the target directory. Generated
* CSS files are stored in this directory. If the directory
* does not exist and can not be created, an IllegalArgumentException
* is thrown.
*/
public static StyleProvider getSharedCache(
String source,
String target
)
{
// Make sure we have some source/target.
if (source == null)
throw new IllegalArgumentException("No source specified.");
if (target == null)
throw new IllegalArgumentException("No target specified.");
// First, get the key to use to look up the cache
String key = _getSharedCacheKey(source, target);
// See if we've got a shared cache
StyleProvider cache = _sSharedCaches.get(key);
// If we didn't find a shared cache, create a new cache
// and cache it in the shared cache cache. :-)
if (cache == null)
{
// Create the new cache
cache = new FileSystemStyleCache(source, target);
// Before we save the new cache, make sure another thread hasn't
// already cached a different instance. Synchronize to lock up
// _sSharedCaches.
synchronized (_sSharedCaches)
{
StyleProvider tmp = _sSharedCaches.get(key);
if (tmp != null)
{
// Stick with tmp
cache = tmp;
}
else
{
_sSharedCaches.put(key, cache);
}
}
}
return cache;
}