Uploaded image for project: 'JSPWiki'
  1. JSPWiki
  2. JSPWIKI-919

FileSystemProvider created pages not displayed by VersioningFileProvider if page caching turned off

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 2.10.1
    • None
    • Core & storage
    • None
    • Windows 7 Professional SP1

    Description

      I have an install of JSPWiki (2.10.1) that has been preloaded with a set
      of (my own) wiki pages. These pages are dropped into the
      ${jspwiki.fileSystemProvider.pageDir} directory as just .txt files. There
      are no property files and I have no OLD directory. The page provider is
      set to the VersioningFileProvider.

      With page caching on all works as expected.

      When I turn page caching off [*] none of my pages get displayed and
      instead I get "This page does not exist. Why don’t you go and create it?".
      If I say yes the page is loaded for me to edit. If I change the page and
      save it it then becomes visible.

      It seems that the issue is with
      org.apache.wiki.providers.VersioningFileProvider.pageExists(String, int)
      and org.apache.wiki.providers.CachingProvider.pageExists(String, int)
      returning different values if page caching is on or off.

      With caching on

      org.apache.wiki.providers.CachingProvider.pageExists(String, int) returns
      true

      With caching off

      org.apache.wiki.providers.VersioningFileProvider.pageExists(String, int)
      returns false

      It seems that this is because the OLD/pageName directory does not exist
      (e.g. for the MAIN page jspwiki/pages/OLD/Main does not exist) and
      org.apache.wiki.providers.VersioningFileProvider.pageExists(String, int)
      does not handle this situation.

      Can be "fixed" by replacing pageExists(...) in VersioningPageProvider with

      public boolean pageExists(String pageName, int version)
      {
      try

      { WikiPage p = getPageInfo(pageName, version); return p != null; }

      catch (ProviderException e)

      { return false; }

      }

      although I am not sure of the implications of this.

      Attachments

        Activity

          People

            Unassigned Unassigned
            pillingworth Paul Illingworth
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: