Package org.apache.wiki.providers
Class VersioningFileProvider
- java.lang.Object
-
- org.apache.wiki.providers.AbstractFileProvider
-
- org.apache.wiki.providers.VersioningFileProvider
-
- All Implemented Interfaces:
PageProvider,WikiProvider
public class VersioningFileProvider extends AbstractFileProvider
Provides a simple directory based repository for Wiki pages. Pages are held in a directory structure:Main.txt Foobar.txt OLD/ Main/ 1.txt 2.txt page.properties Foobar/ page.propertiesIn this case, "Main" has three versions, and "Foobar" just one version.The properties file contains the necessary metainformation (such as author) information of the page. DO NOT MESS WITH IT!
All files have ".txt" appended to make life easier for those who insist on using Windows or other software which makes assumptions on the files contents based on its name.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.wiki.providers.AbstractFileProvider
AbstractFileProvider.WikiFileFilter
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPAGEDIRName of the directory where the old versions are stored.static java.lang.StringPROPERTYFILEName of the property file which stores the metadata.-
Fields inherited from class org.apache.wiki.providers.AbstractFileProvider
DEFAULT_ENCODING, DEFAULT_MAX_PROPKEYLENGTH, DEFAULT_MAX_PROPLIMIT, DEFAULT_MAX_PROPVALUELENGTH, FILE_EXT, m_encoding, m_engine, MAX_PROPKEYLENGTH, MAX_PROPLIMIT, MAX_PROPVALUELENGTH, PROP_CUSTOMPROP_MAXKEYLENGTH, PROP_CUSTOMPROP_MAXLIMIT, PROP_CUSTOMPROP_MAXVALUELENGTH, PROP_PAGEDIR
-
Fields inherited from interface org.apache.wiki.api.providers.WikiProvider
LATEST_VERSION
-
-
Constructor Summary
Constructors Constructor Description VersioningFileProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddeletePage(java.lang.String page)Removes the relevant page directory under "OLD" -directory as well, but does not remove any extra subdirectories from it.voiddeleteVersion(java.lang.String page, int version)Deleting versions has never really worked, JSPWiki assumes that version histories are "not gappy".java.util.Collection<Page>getAllPages()PagegetPageInfo(java.lang.String page, int version)Always returns the latest version, since FileSystemProvider does not support versioning.java.lang.StringgetPageText(java.lang.String page, int version)This implementation just returns the current version, as filesystem does not provide versioning information for now.java.lang.StringgetProviderInfo()java.util.List<Page>getVersionHistory(java.lang.String page)The FileSystemProvider provides only one version.voidinitialize(Engine engine, java.util.Properties properties)voidmovePage(java.lang.String from, java.lang.String to)booleanpageExists(java.lang.String pageName, int version)voidputPageText(Page page, java.lang.String text)-
Methods inherited from class org.apache.wiki.providers.AbstractFileProvider
addCustomProperties, findPage, findPages, getAllChangedSince, getCustomProperties, getPageCount, mangleName, pageExists, setCustomProperties, unmangleName, validateCustomPageProperties
-
-
-
-
Field Detail
-
PAGEDIR
public static final java.lang.String PAGEDIR
Name of the directory where the old versions are stored.- See Also:
- Constant Field Values
-
PROPERTYFILE
public static final java.lang.String PROPERTYFILE
Name of the property file which stores the metadata.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
VersioningFileProvider
public VersioningFileProvider()
-
-
Method Detail
-
initialize
public void initialize(Engine engine, java.util.Properties properties) throws NoRequiredPropertyException, java.io.IOException
- Specified by:
initializein interfaceWikiProvider- Overrides:
initializein classAbstractFileProvider- Throws:
java.io.FileNotFoundException- If the specified page directory does not exist.java.io.IOException- In case the specified page directory is a file, not a directory.NoRequiredPropertyException
-
getPageText
public java.lang.String getPageText(java.lang.String page, int version) throws ProviderException
This implementation just returns the current version, as filesystem does not provide versioning information for now.- Specified by:
getPageTextin interfacePageProvider- Overrides:
getPageTextin classAbstractFileProvider- Throws:
ProviderException
-
putPageText
public void putPageText(Page page, java.lang.String text) throws ProviderException
- Specified by:
putPageTextin interfacePageProvider- Overrides:
putPageTextin classAbstractFileProvider- Throws:
ProviderException
-
getPageInfo
public Page getPageInfo(java.lang.String page, int version) throws ProviderException
Always returns the latest version, since FileSystemProvider does not support versioning.- Specified by:
getPageInfoin interfacePageProvider- Overrides:
getPageInfoin classAbstractFileProvider- Throws:
ProviderException
-
pageExists
public boolean pageExists(java.lang.String pageName, int version)
- Specified by:
pageExistsin interfacePageProvider- Overrides:
pageExistsin classAbstractFileProvider
-
getVersionHistory
public java.util.List<Page> getVersionHistory(java.lang.String page) throws ProviderException
The FileSystemProvider provides only one version.- Specified by:
getVersionHistoryin interfacePageProvider- Overrides:
getVersionHistoryin classAbstractFileProvider- Throws:
ProviderException
-
deletePage
public void deletePage(java.lang.String page) throws ProviderException
Removes the relevant page directory under "OLD" -directory as well, but does not remove any extra subdirectories from it. It will only touch those files that it thinks to be WikiPages.- Specified by:
deletePagein interfacePageProvider- Overrides:
deletePagein classAbstractFileProvider- Parameters:
page-- Throws:
ProviderException
-
deleteVersion
public void deleteVersion(java.lang.String page, int version) throws ProviderException
Deleting versions has never really worked, JSPWiki assumes that version histories are "not gappy". Using deleteVersion() is definitely not recommended.- Specified by:
deleteVersionin interfacePageProvider- Overrides:
deleteVersionin classAbstractFileProvider- Throws:
ProviderException
-
getAllPages
public java.util.Collection<Page> getAllPages() throws ProviderException
- Specified by:
getAllPagesin interfacePageProvider- Overrides:
getAllPagesin classAbstractFileProvider- Throws:
ProviderException
-
getProviderInfo
public java.lang.String getProviderInfo()
- Specified by:
getProviderInfoin interfaceWikiProvider- Overrides:
getProviderInfoin classAbstractFileProvider
-
movePage
public void movePage(java.lang.String from, java.lang.String to)
-
-