Uploaded image for project: 'Velocity'
  1. Velocity
  2. VELOCITY-439

Improve Resource existence detection

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Trivial
    • Resolution: Fixed
    • 1.4, 1.5
    • 1.6
    • Engine
    • None

    Description

      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.

      Attachments

        1. resourceloader.patch
          2 kB
          Henning Schmiedehausen

        Activity

          People

            Unassigned Unassigned
            abas Tassos Bassoukos
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: