Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.10.1
-
None
-
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
catch (ProviderException e)
{ return false; }}
although I am not sure of the implications of this.