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

Improve Resource existence detection

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Trivial
    • Resolution: Fixed
    • Affects Version/s: 1.4, 1.5
    • Fix Version/s: 1.6
    • Component/s: Engine
    • Labels:
      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

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

              Dates

              • Created:
                Updated:
                Resolved: