Improve Resource existence detection 
-------------------------------------

         Key: VELOCITY-439
         URL: http://issues.apache.org/jira/browse/VELOCITY-439
     Project: Velocity
        Type: Improvement

  Components: Source  
    Versions: 1.4    
    Reporter: Tassos Bassoukos
    Priority: Trivial


Depending on the ResourceLoader used, testing the existence of a resource is 
somewhat expensive, as the resource has to be opened to test for its existence.

I'm proposing the following changes:
1.
Add a new method to org.apache.velocity.runtime.resource.loader.ResourceLoader:
    public boolean resourceExists(String source) {
        InputStream is = null;
        try {
            is = resourceLoader.getResourceStream(resourceName);
            if (is != null) {
                return true;
            }
        } catch (ResourceNotFoundException e) {
        } finally {
            if (is != null) {
                try {
                    is.close();
                } catch (Exception e) {
                }
            }
        }
        return false;
    }

This method keeps compatibility with all current ResourceLoaders, and can be 
overriden by subclasses.


2. org.apache.velocity.runtime.resource.ResourceManagerImpl
Modify the String getLoaderNameForResource(String resourceName) method to use
the new ResourceLoader.resourceExists(String) method.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to