org.pentaho.platform.repository2.unified.jcr
Class JcrRepositoryFileDao

java.lang.Object
  extended by org.pentaho.platform.repository2.unified.jcr.JcrRepositoryFileDao
All Implemented Interfaces:
IRepositoryFileDao

public class JcrRepositoryFileDao
extends Object
implements IRepositoryFileDao

CRUD operations against JCR. Note that there is no access control in this class (implicit or explicit).

Author:
mlowery

Constructor Summary
JcrRepositoryFileDao(org.springframework.extensions.jcr.JcrTemplate jcrTemplate, List<ITransformer<IRepositoryFileData>> transformers, IOwnerLookupHelper ownerLookupHelper, ILockHelper lockHelper, IDeleteHelper deleteHelper, IPathConversionHelper pathConversionHelper, IRepositoryFileAclDao aclDao)
           
 
Method Summary
 boolean canUnlockFile(Serializable fileId)
          
 RepositoryFile createFile(Serializable parentFolderId, RepositoryFile file, IRepositoryFileData content, RepositoryFileAcl acl, String versionMessage)
          
 RepositoryFile createFolder(Serializable parentFolderId, RepositoryFile folder, RepositoryFileAcl acl, String versionMessage)
          
 void deleteFile(Serializable fileId, String versionMessage)
          
 void deleteFileAtVersion(Serializable fileId, Serializable versionId)
          
 List<RepositoryFile> getChildren(Serializable folderId, String filter)
          
<T extends IRepositoryFileData>
T
getData(Serializable fileId, Serializable versionId, Class<T> contentClass)
          
 List<RepositoryFile> getDeletedFiles()
          
 List<RepositoryFile> getDeletedFiles(Serializable folderId, String filter)
          
 RepositoryFile getFile(Serializable fileId, Serializable versionId)
          
 RepositoryFile getFile(String relPath)
          
 RepositoryFile getFile(String relPath, boolean loadMaps)
          
 RepositoryFile getFileByAbsolutePath(String absPath)
          
 RepositoryFile getFileById(Serializable fileId)
          
 RepositoryFile getFileById(Serializable fileId, boolean loadMaps)
          
 RepositoryFileTree getTree(String relPath, int depth, String filter)
          
 List<VersionSummary> getVersionSummaries(Serializable fileId)
          
 VersionSummary getVersionSummary(Serializable fileId, Serializable versionId)
          
 void lockFile(Serializable fileId, String message)
          
 void moveFile(Serializable fileId, String destRelPath, String versionMessage)
          
 void permanentlyDeleteFile(Serializable fileId, String versionMessage)
          
 void restoreFileAtVersion(Serializable fileId, Serializable versionId, String versionMessage)
          
 void setLockTokenHelper(ILockHelper lockTokenHelper)
           
 void setOwnerLookupHelper(IOwnerLookupHelper ownerLookupHelper)
           
 void undeleteFile(Serializable fileId, String versionMessage)
          
 void unlockFile(Serializable fileId)
          
 RepositoryFile updateFile(RepositoryFile file, IRepositoryFileData content, String versionMessage)
          
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JcrRepositoryFileDao

public JcrRepositoryFileDao(org.springframework.extensions.jcr.JcrTemplate jcrTemplate,
                            List<ITransformer<IRepositoryFileData>> transformers,
                            IOwnerLookupHelper ownerLookupHelper,
                            ILockHelper lockHelper,
                            IDeleteHelper deleteHelper,
                            IPathConversionHelper pathConversionHelper,
                            IRepositoryFileAclDao aclDao)
Method Detail

createFile

public RepositoryFile createFile(Serializable parentFolderId,
                                 RepositoryFile file,
                                 IRepositoryFileData content,
                                 RepositoryFileAcl acl,
                                 String versionMessage)

Specified by:
createFile in interface IRepositoryFileDao

createFolder

public RepositoryFile createFolder(Serializable parentFolderId,
                                   RepositoryFile folder,
                                   RepositoryFileAcl acl,
                                   String versionMessage)

Specified by:
createFolder in interface IRepositoryFileDao

getFileById

public RepositoryFile getFileById(Serializable fileId)

Specified by:
getFileById in interface IRepositoryFileDao

getFileById

public RepositoryFile getFileById(Serializable fileId,
                                  boolean loadMaps)

Specified by:
getFileById in interface IRepositoryFileDao

getFile

public RepositoryFile getFile(String relPath)

Specified by:
getFile in interface IRepositoryFileDao

getFileByAbsolutePath

public RepositoryFile getFileByAbsolutePath(String absPath)

Specified by:
getFileByAbsolutePath in interface IRepositoryFileDao

getFile

public RepositoryFile getFile(String relPath,
                              boolean loadMaps)

Specified by:
getFile in interface IRepositoryFileDao

getData

public <T extends IRepositoryFileData> T getData(Serializable fileId,
                                                 Serializable versionId,
                                                 Class<T> contentClass)

Specified by:
getData in interface IRepositoryFileDao

getChildren

public List<RepositoryFile> getChildren(Serializable folderId,
                                        String filter)

Specified by:
getChildren in interface IRepositoryFileDao

updateFile

public RepositoryFile updateFile(RepositoryFile file,
                                 IRepositoryFileData content,
                                 String versionMessage)

Specified by:
updateFile in interface IRepositoryFileDao

lockFile

public void lockFile(Serializable fileId,
                     String message)

Specified by:
lockFile in interface IRepositoryFileDao

unlockFile

public void unlockFile(Serializable fileId)

Specified by:
unlockFile in interface IRepositoryFileDao

getVersionSummaries

public List<VersionSummary> getVersionSummaries(Serializable fileId)

Specified by:
getVersionSummaries in interface IRepositoryFileDao

getFile

public RepositoryFile getFile(Serializable fileId,
                              Serializable versionId)

Specified by:
getFile in interface IRepositoryFileDao

setLockTokenHelper

public void setLockTokenHelper(ILockHelper lockTokenHelper)

setOwnerLookupHelper

public void setOwnerLookupHelper(IOwnerLookupHelper ownerLookupHelper)

deleteFile

public void deleteFile(Serializable fileId,
                       String versionMessage)

Specified by:
deleteFile in interface IRepositoryFileDao

deleteFileAtVersion

public void deleteFileAtVersion(Serializable fileId,
                                Serializable versionId)

Specified by:
deleteFileAtVersion in interface IRepositoryFileDao

getDeletedFiles

public List<RepositoryFile> getDeletedFiles(Serializable folderId,
                                            String filter)

Specified by:
getDeletedFiles in interface IRepositoryFileDao

getDeletedFiles

public List<RepositoryFile> getDeletedFiles()

Specified by:
getDeletedFiles in interface IRepositoryFileDao

permanentlyDeleteFile

public void permanentlyDeleteFile(Serializable fileId,
                                  String versionMessage)

No checkout needed as .trash is not versioned.

Specified by:
permanentlyDeleteFile in interface IRepositoryFileDao

undeleteFile

public void undeleteFile(Serializable fileId,
                         String versionMessage)

Specified by:
undeleteFile in interface IRepositoryFileDao

moveFile

public void moveFile(Serializable fileId,
                     String destRelPath,
                     String versionMessage)

Specified by:
moveFile in interface IRepositoryFileDao

getVersionSummary

public VersionSummary getVersionSummary(Serializable fileId,
                                        Serializable versionId)

Specified by:
getVersionSummary in interface IRepositoryFileDao

restoreFileAtVersion

public void restoreFileAtVersion(Serializable fileId,
                                 Serializable versionId,
                                 String versionMessage)

Specified by:
restoreFileAtVersion in interface IRepositoryFileDao

canUnlockFile

public boolean canUnlockFile(Serializable fileId)

Specified by:
canUnlockFile in interface IRepositoryFileDao

getTree

public RepositoryFileTree getTree(String relPath,
                                  int depth,
                                  String filter)

Specified by:
getTree in interface IRepositoryFileDao