Package com.xpn.xwiki.doc
Class XWikiDocumentArchive
- java.lang.Object
-
- com.xpn.xwiki.doc.XWikiDocumentArchive
-
public class XWikiDocumentArchive extends Object
Contains document history. Allows to load any version of document.- Version:
- $Id: f3d448cd04e477c5a5a66974772ebbe47482c762 $
-
-
Constructor Summary
Constructors Constructor Description XWikiDocumentArchive()Deprecated.since 13.10.7, 14.4.1, 14.5, useXWikiDocumentArchive(WikiReference, long)insteadXWikiDocumentArchive(long id)Deprecated.since 13.10.7, 14.4.1, 14.5, useXWikiDocumentArchive(WikiReference, long)insteadXWikiDocumentArchive(WikiReference wikiReference, long id)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description XWikiDocumentArchiveclone(long docId, XWikiContext context)protected org.suigeneris.jrcs.rcs.VersioncreateNextVersion(org.suigeneris.jrcs.rcs.Version cur, boolean isMinor)StringgetArchive(XWikiContext context)Set<XWikiRCSNodeInfo>getDeletedNodeInfo()longgetId()XWikiRCSNodeInfogetLatestNode()org.suigeneris.jrcs.rcs.VersiongetLatestVersion()org.suigeneris.jrcs.rcs.VersiongetNearestFullVersion(org.suigeneris.jrcs.rcs.Version ver)org.suigeneris.jrcs.rcs.VersiongetNextVersion(org.suigeneris.jrcs.rcs.Version ver)XWikiRCSNodeInfogetNode(org.suigeneris.jrcs.rcs.Version version)Collection<XWikiRCSNodeInfo>getNodes()Collection<XWikiRCSNodeInfo>getNodes(org.suigeneris.jrcs.rcs.Version vfrom, org.suigeneris.jrcs.rcs.Version vto)org.suigeneris.jrcs.rcs.VersiongetPrevVersion(org.suigeneris.jrcs.rcs.Version ver)Set<XWikiRCSNodeContent>getUpdatedNodeContents()Set<XWikiRCSNodeInfo>getUpdatedNodeInfos()StringgetVersionXml(org.suigeneris.jrcs.rcs.Version version, XWikiContext context)Return the XML corresponding to a version.WikiReferencegetWikiReference()XWikiDocumentloadDocument(org.suigeneris.jrcs.rcs.Version version, XWikiContext context)protected XWikiRCSNodeContentmakePatch(XWikiRCSNodeInfo newnode, XWikiDocument doc, XWikiContext context)Make a patch.voidremoveVersions(org.suigeneris.jrcs.rcs.Version newerVersion, org.suigeneris.jrcs.rcs.Version olderVersion, XWikiContext context)Remove document versions from vfrom to vto, inclusive.voidresetArchive()reset history.voidsetArchive(String text)Deserialize class.voidsetId(long id)Deprecated.since 13.10.7, 14.4.1, 14.5, useXWikiDocumentArchive(WikiReference, long)insteadvoidsetNodes(Collection<XWikiRCSNodeInfo> versions)voidupdateArchive(XWikiDocument doc, String author, Date date, String comment, org.suigeneris.jrcs.rcs.Version version, XWikiContext context)Update history with new document version.protected voidupdateNode(XWikiRCSNodeInfo node)
-
-
-
Constructor Detail
-
XWikiDocumentArchive
public XWikiDocumentArchive(WikiReference wikiReference, long id)
- Parameters:
wikiReference- the wiki of the documentid- the local identifier of the document- Since:
- 13.10.7, 14.4.1, 14.5
-
XWikiDocumentArchive
@Deprecated(since="13.10.7") public XWikiDocumentArchive(long id)
Deprecated.since 13.10.7, 14.4.1, 14.5, useXWikiDocumentArchive(WikiReference, long)instead- Parameters:
id- the local identifier of the document
-
XWikiDocumentArchive
@Deprecated(since="13.10.7") public XWikiDocumentArchive()
Deprecated.since 13.10.7, 14.4.1, 14.5, useXWikiDocumentArchive(WikiReference, long)instead
-
-
Method Detail
-
createNextVersion
protected org.suigeneris.jrcs.rcs.Version createNextVersion(org.suigeneris.jrcs.rcs.Version cur, boolean isMinor)- Parameters:
cur- - current versionisMinor- - is modification is minor- Returns:
- next version
-
updateNode
protected void updateNode(XWikiRCSNodeInfo node)
- Parameters:
node- - node added to versionToNode and fullNodes
-
makePatch
protected XWikiRCSNodeContent makePatch(XWikiRCSNodeInfo newnode, XWikiDocument doc, XWikiContext context) throws XWikiException
Make a patch. It is store only modified nodes(latest). New nodes need be saved after.- Parameters:
newnode- - new node informationdoc- - document for that patch createdcontext- - used for loading node contents and generating xml- Returns:
- node content for newnode
- Throws:
XWikiException- if exception while loading content
-
getWikiReference
public WikiReference getWikiReference()
- Returns:
- the wikiReference the wiki of the document
- Since:
- 13.10.7, 14.4.1, 14.5
-
getId
public long getId()
- Returns:
XWikiDocument.getId()- primary key
-
setId
@Deprecated(since="13.10.7") public void setId(long id)
Deprecated.since 13.10.7, 14.4.1, 14.5, useXWikiDocumentArchive(WikiReference, long)instead- Parameters:
id- =XWikiDocument.getId()
-
getNodes
public Collection<XWikiRCSNodeInfo> getNodes()
- Returns:
- collection of XWikiRCSNodeInfo order by version desc
-
getNodes
public Collection<XWikiRCSNodeInfo> getNodes(org.suigeneris.jrcs.rcs.Version vfrom, org.suigeneris.jrcs.rcs.Version vto)
- Parameters:
vfrom- - start versionvto- - end version- Returns:
- collection of XWikiRCSNodeInfo where vfrom >= version >= vto order by version desc
-
setNodes
public void setNodes(Collection<XWikiRCSNodeInfo> versions)
- Parameters:
versions- - collection of XWikiRCSNodeInfo
-
getArchive
public String getArchive(XWikiContext context) throws XWikiException
- Parameters:
context- - used for load nodes content- Returns:
- serialization of class used in
PackagePlugin. - Throws:
XWikiException- if any error
-
setArchive
public void setArchive(String text) throws XWikiException
Deserialize class. Used inPackagePlugin.- Parameters:
text- - archive in JRCS format- Throws:
XWikiException- if parse error
-
updateArchive
public void updateArchive(XWikiDocument doc, String author, Date date, String comment, org.suigeneris.jrcs.rcs.Version version, XWikiContext context) throws XWikiException
Update history with new document version.- Parameters:
doc- - document for this versionauthor- - author of versiondate- - date of versioncomment- - version commentversion- - preferably document version in historycontext- - used for loading nodes content- Throws:
XWikiException- in any error
-
removeVersions
public void removeVersions(org.suigeneris.jrcs.rcs.Version newerVersion, org.suigeneris.jrcs.rcs.Version olderVersion, XWikiContext context) throws XWikiExceptionRemove document versions from vfrom to vto, inclusive.- Parameters:
newerVersion- - start versionolderVersion- - end versioncontext- - used for loading nodes content- Throws:
XWikiException- if any error
-
loadDocument
public XWikiDocument loadDocument(org.suigeneris.jrcs.rcs.Version version, XWikiContext context) throws XWikiException
- Parameters:
version- - which version to loadcontext- - used for loading- Returns:
- selected version of document, null if version is not found.
- Throws:
XWikiException- if any error
-
getVersionXml
public String getVersionXml(org.suigeneris.jrcs.rcs.Version version, XWikiContext context) throws XWikiException
Return the XML corresponding to a version. If the version node contains just a diff, then restore the complete XML by applying all patches from the nearest full version to the requested version.- Parameters:
version- The version to retrieve.context- Thecontext.- Returns:
- The XML corresponding to the version.
- Throws:
XWikiException- If any exception occured.
-
getNode
public XWikiRCSNodeInfo getNode(org.suigeneris.jrcs.rcs.Version version)
- Parameters:
version- which version to get- Returns:
XWikiRCSNodeInfoby version. null if none.
-
getLatestVersion
public org.suigeneris.jrcs.rcs.Version getLatestVersion()
- Returns:
- latest version in history for document. null if none.
-
getLatestNode
public XWikiRCSNodeInfo getLatestNode()
- Returns:
- latest node in history for document. null if none.
-
getNextVersion
public org.suigeneris.jrcs.rcs.Version getNextVersion(org.suigeneris.jrcs.rcs.Version ver)
- Parameters:
ver- - current version- Returns:
- next version in history. null if none
-
getPrevVersion
public org.suigeneris.jrcs.rcs.Version getPrevVersion(org.suigeneris.jrcs.rcs.Version ver)
- Parameters:
ver- - current version- Returns:
- previous version in history. null if none
-
getNearestFullVersion
public org.suigeneris.jrcs.rcs.Version getNearestFullVersion(org.suigeneris.jrcs.rcs.Version ver)
- Parameters:
ver- - for what version find nearest- Returns:
- nearest version which contain full information (not patch)
-
resetArchive
public void resetArchive()
reset history. history becomes empty.
-
getDeletedNodeInfo
public Set<XWikiRCSNodeInfo> getDeletedNodeInfo()
- Returns:
- mutable Set of
XWikiRCSNodeInfowhich are need for delete
-
getUpdatedNodeInfos
public Set<XWikiRCSNodeInfo> getUpdatedNodeInfos()
- Returns:
- mutable Set of
XWikiRCSNodeInfowhich are need for saveOrUpdate
-
getUpdatedNodeContents
public Set<XWikiRCSNodeContent> getUpdatedNodeContents()
- Returns:
- mutable Set of
XWikiRCSNodeContentwhich are need for update
-
clone
public XWikiDocumentArchive clone(long docId, XWikiContext context) throws XWikiException
- Parameters:
docId- - newgetId()context- - used for loading content- Returns:
- full copy of this archive with specified docId
- Throws:
XWikiException- if any error
-
-