org.olat.core.util.vfs.version
Class VersionsFileManager

java.lang.Object
  extended by org.olat.core.util.vfs.version.VersionsManager
      extended by org.olat.core.util.vfs.version.VersionsFileManager

public class VersionsFileManager
extends VersionsManager

Description:
This implementation of the VersionsManager saved the revisions of a file in a file with the same name as the original + ".xml". This xml file is saved in a parallel folder .version under the root defined in FolderConfig. Every revision'file have a name made of a generated unique id + the name of the original file.

Initial Date: 21 sept. 2009

Author:
srosse

Constructor Summary
VersionsFileManager()
           
 
Method Summary
 boolean addToRevisions(Versionable currentVersion, Identity identity, java.lang.String comment)
           
 boolean addVersion(Versionable currentVersion, Identity identity, java.lang.String comment, java.io.InputStream newFile)
          Add a new version of the file.
 Versions createVersionsFor(VFSLeaf leaf)
          Get or create the versions datas of this file
 boolean delete(VFSItem item, boolean force)
          Delete a full container
 boolean deleteRevisions(Versionable currentVersion, java.util.List<VFSRevision> versionsToDelete)
          Delete a list of revisions from a file
 boolean deleteVersions(java.util.List<Versions> versions)
          Delete and remove from versioning a list of deleted versions (files)
 java.lang.String getCanonicalRoot()
           
 java.util.List<Versions> getDeletedFiles(VFSContainer container)
          Return the list of deleted files in this container.
 java.lang.String getNextRevisionNr(Versions versions)
          Only used internally
 VFSContainer getRootVersionsContainer()
           
 java.io.File getRootVersionsFile()
           
 boolean move(Versionable currentVersion, VFSContainer container)
          Move a versioned file to the target container
 boolean rename(VFSItem item, java.lang.String newname)
          Rename a file and propagate the change to the version.
 boolean restore(Versionable currentVersion, VFSRevision version, java.lang.String comment)
          Restore a versioned file to the selected revision.
 boolean restore(VFSContainer container, VFSRevision revision)
          Restore a revision in the target container, usefull to restore deleted files
 
Methods inherited from class org.olat.core.util.vfs.version.VersionsManager
getInstance
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VersionsFileManager

public VersionsFileManager()
Method Detail

createVersionsFor

public Versions createVersionsFor(VFSLeaf leaf)
Description copied from class: VersionsManager
Get or create the versions datas of this file

Specified by:
createVersionsFor in class VersionsManager
Returns:

getDeletedFiles

public java.util.List<Versions> getDeletedFiles(VFSContainer container)
Description copied from class: VersionsManager
Return the list of deleted files in this container.

Specified by:
getDeletedFiles in class VersionsManager
Returns:

addVersion

public boolean addVersion(Versionable currentVersion,
                          Identity identity,
                          java.lang.String comment,
                          java.io.InputStream newFile)
Description copied from class: VersionsManager
Add a new version of the file. The current version will be saved and secured, The new version replaced the old one.

Specified by:
addVersion in class VersionsManager
Returns:

move

public boolean move(Versionable currentVersion,
                    VFSContainer container)
Description copied from class: VersionsManager
Move a versioned file to the target container

Specified by:
move in class VersionsManager
Returns:

restore

public boolean restore(Versionable currentVersion,
                       VFSRevision version,
                       java.lang.String comment)
Description copied from class: VersionsManager
Restore a versioned file to the selected revision. The current version is secured before being replaced by the revision's file

Specified by:
restore in class VersionsManager
Returns:

restore

public boolean restore(VFSContainer container,
                       VFSRevision revision)
Description copied from class: VersionsManager
Restore a revision in the target container, usefull to restore deleted files

Specified by:
restore in class VersionsManager
Returns:

deleteRevisions

public boolean deleteRevisions(Versionable currentVersion,
                               java.util.List<VFSRevision> versionsToDelete)
Description copied from class: VersionsManager
Delete a list of revisions from a file

Specified by:
deleteRevisions in class VersionsManager
Returns:

deleteVersions

public boolean deleteVersions(java.util.List<Versions> versions)
Description copied from class: VersionsManager
Delete and remove from versioning a list of deleted versions (files)

Specified by:
deleteVersions in class VersionsManager
Returns:

delete

public boolean delete(VFSItem item,
                      boolean force)
Description copied from class: VersionsManager
Delete a full container

Specified by:
delete in class VersionsManager
Returns:

rename

public boolean rename(VFSItem item,
                      java.lang.String newname)
Description copied from class: VersionsManager
Rename a file and propagate the change to the version.

Specified by:
rename in class VersionsManager
Returns:

addToRevisions

public boolean addToRevisions(Versionable currentVersion,
                              Identity identity,
                              java.lang.String comment)
Specified by:
addToRevisions in class VersionsManager
See Also:
VersionsManager.addToRevisions(org.olat.core.util.vfs.version.Versionable, org.olat.core.id.Identity, java.lang.String)

getNextRevisionNr

public java.lang.String getNextRevisionNr(Versions versions)
Description copied from class: VersionsManager
Only used internally

Specified by:
getNextRevisionNr in class VersionsManager
Returns:

getCanonicalRoot

public java.lang.String getCanonicalRoot()

getRootVersionsFile

public java.io.File getRootVersionsFile()

getRootVersionsContainer

public VFSContainer getRootVersionsContainer()