public class DLStoreUtil
extends java.lang.Object
portal.properties under the
property dl.store.impl. Virus checking can also be enabled under
the property dl.store.antivirus.impl.
The main client for this class is the Document Library portlet. It is also
used by other portlets like Wiki and Message Boards to store file
attachments. For the Document Library portlet, the repositoryId
can be obtained by calling DLFolderConstants.getDataRepositoryId(
long,long). For all other portlets, the repositoryId should be
set to CompanyConstants.SYSTEM. These
methods can be used in plugins and other portlets, as shown below.
long repositoryId = CompanyConstants.SYSTEM;
String dirName = "portlet_name/1234";
try {
DLStoreUtil.addDirectory(companyId, repositoryId, dirName);
}
catch (DuplicateDirectoryException dde) {
}
DLStoreUtil.addFile(
companyId, repositoryId, dirName + "/" + fileName, file);
DLStoreImpl| Constructor and Description |
|---|
DLStoreUtil() |
| Modifier and Type | Method and Description |
|---|---|
static void |
addDirectory(long companyId,
long repositoryId,
java.lang.String dirName)
Adds a directory.
|
static void |
addFile(long companyId,
long repositoryId,
java.lang.String fileName,
boolean validateFileExtension,
byte[] bytes)
Adds a file based on a byte array.
|
static void |
addFile(long companyId,
long repositoryId,
java.lang.String fileName,
boolean validateFileExtension,
java.io.File file)
Adds a file based on a
File object. |
static void |
addFile(long companyId,
long repositoryId,
java.lang.String fileName,
boolean validateFileExtension,
java.io.InputStream is)
Adds a file based on a
InputStream object. |
static void |
addFile(long companyId,
long repositoryId,
java.lang.String fileName,
byte[] bytes)
Adds a file based on a byte array.
|
static void |
addFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.io.File file)
Adds a file based on a
File object. |
static void |
addFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.io.InputStream is)
Adds a file based on an
InputStream object. |
static void |
checkRoot(long companyId)
Ensures company's root directory exists.
|
static void |
copyFileVersion(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String fromVersionLabel,
java.lang.String toVersionLabel)
Creates a new copy of the file version.
|
static void |
deleteDirectory(long companyId,
long repositoryId,
java.lang.String dirName)
Deletes a directory.
|
static void |
deleteFile(long companyId,
long repositoryId,
java.lang.String fileName)
Deletes a file.
|
static void |
deleteFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String versionLabel)
Deletes a file at a particular version.
|
static java.io.File |
getFile(long companyId,
long repositoryId,
java.lang.String fileName)
Returns the file as a
File object. |
static java.io.File |
getFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String versionLabel)
Returns the file as a
File object. |
static byte[] |
getFileAsBytes(long companyId,
long repositoryId,
java.lang.String fileName)
Returns the file as a byte array.
|
static byte[] |
getFileAsBytes(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String versionLabel)
Returns the file as a byte array.
|
static java.io.InputStream |
getFileAsStream(long companyId,
long repositoryId,
java.lang.String fileName)
Returns the file as an
InputStream object. |
static java.io.InputStream |
getFileAsStream(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String versionLabel)
Returns the file as an
InputStream object. |
static java.lang.String[] |
getFileNames(long companyId,
long repositoryId,
java.lang.String dirName)
Returns all files of the directory.
|
static long |
getFileSize(long companyId,
long repositoryId,
java.lang.String fileName)
Returns the size of the file.
|
static DLStore |
getStore()
Returns the
DLStore object. |
static boolean |
hasDirectory(long companyId,
long repositoryId,
java.lang.String dirName)
Returns
true if the directory exists. |
static boolean |
hasFile(long companyId,
long repositoryId,
java.lang.String fileName)
Returns
true if the file exists. |
static boolean |
hasFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String versionLabel)
Returns
true if the file exists. |
static boolean |
isValidName(java.lang.String name) |
static void |
move(java.lang.String srcDir,
java.lang.String destDir)
Moves an existing directory.
|
void |
setStore(DLStore store)
Set's the
DLStore object. |
static void |
updateFile(long companyId,
long repositoryId,
long newRepositoryId,
java.lang.String fileName)
Moves a file to a new data repository.
|
static void |
updateFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String newFileName)
Update's the file's name
|
static void |
updateFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String fileExtension,
boolean validateFileExtension,
java.lang.String versionLabel,
java.lang.String sourceFileName,
java.io.File file)
Updates a file based on a
File object. |
static void |
updateFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String fileExtension,
boolean validateFileExtension,
java.lang.String versionLabel,
java.lang.String sourceFileName,
java.io.InputStream is)
Updates a file based on a
InputStream object. |
static void |
updateFileVersion(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String fromVersionLabel,
java.lang.String toVersionLabel)
Update's a file version label.
|
static void |
validate(java.lang.String fileName,
boolean validateFileExtension)
Validates a file's name.
|
static void |
validate(java.lang.String fileName,
boolean validateFileExtension,
byte[] bytes)
Validates a file's name and data.
|
static void |
validate(java.lang.String fileName,
boolean validateFileExtension,
java.io.File file)
Validates a file's name and data.
|
static void |
validate(java.lang.String fileName,
boolean validateFileExtension,
java.io.InputStream is)
Validates a file's name and data.
|
static void |
validate(java.lang.String fileName,
java.lang.String fileExtension,
java.lang.String sourceFileName,
boolean validateFileExtension) |
static void |
validate(java.lang.String fileName,
java.lang.String fileExtension,
java.lang.String sourceFileName,
boolean validateFileExtension,
java.io.File file)
Validates a file's name and data.
|
static void |
validate(java.lang.String fileName,
java.lang.String fileExtension,
java.lang.String sourceFileName,
boolean validateFileExtension,
java.io.InputStream is)
Validates a file's name and data.
|
static void |
validateDirectoryName(java.lang.String directoryName) |
public static void addDirectory(long companyId,
long repositoryId,
java.lang.String dirName)
throws PortalException
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)dirName - the directory's namePortalException - if the directory's information was invalidpublic static void addFile(long companyId,
long repositoryId,
java.lang.String fileName,
boolean validateFileExtension,
byte[] bytes)
throws PortalException
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file namevalidateFileExtension - whether to validate the file's extensionbytes - the files's dataPortalException - if the file's information was invalid or is found
to contain a viruspublic static void addFile(long companyId,
long repositoryId,
java.lang.String fileName,
boolean validateFileExtension,
java.io.File file)
throws PortalException
File object.companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file namevalidateFileExtension - whether to validate the file's extensionfile - Name the file namePortalException - if the file's information was invalid or is found
to contain a viruspublic static void addFile(long companyId,
long repositoryId,
java.lang.String fileName,
boolean validateFileExtension,
java.io.InputStream is)
throws PortalException
InputStream object.companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file namevalidateFileExtension - whether to validate the file's extensionis - the files's dataPortalException - if the file's information was invalid or is found
to contain a viruspublic static void addFile(long companyId,
long repositoryId,
java.lang.String fileName,
byte[] bytes)
throws PortalException
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file namebytes - the files's dataPortalException - if the file's information was invalid or is found
to contain a viruspublic static void addFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.io.File file)
throws PortalException
File object. Enforces validation of file's
extension.companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file namefile - Name the file namePortalException - if the file's information was invalid or is found
to contain a viruspublic static void addFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.io.InputStream is)
throws PortalException
InputStream object. Enforces validation
of file's extension.companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file nameis - the files's dataPortalException - if the file's information was invalid or is found
to contain a viruspublic static void checkRoot(long companyId)
JCRStore#checkRoot(long).companyId - the primary key of the companypublic static void copyFileVersion(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String fromVersionLabel,
java.lang.String toVersionLabel)
throws PortalException
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the original's file namefromVersionLabel - the original file's version labeltoVersionLabel - the new version labelPortalException - if the file's information was invalidpublic static void deleteDirectory(long companyId,
long repositoryId,
java.lang.String dirName)
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)dirName - the directory's namepublic static void deleteFile(long companyId,
long repositoryId,
java.lang.String fileName)
throws PortalException
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file's namePortalException - if the file's information was invalidpublic static void deleteFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String versionLabel)
throws PortalException
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file's nameversionLabel - the file's version labelPortalException - if the file's information was invalidpublic static java.io.File getFile(long companyId,
long repositoryId,
java.lang.String fileName)
throws PortalException
File object.
This method is useful when optimizing low-level file operations like
copy. The client must not delete or change the returned File
object in any way. This method is only supported in certain stores. If
not supported, this method will throw an UnsupportedOperationException.
If using an S3 store, it is preferable for performance reasons to use
getFileAsStream(long, long, String) instead of this method
wherever possible.
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file's nameFile object with the file's namePortalException - if the file's information was invalidpublic static java.io.File getFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String versionLabel)
throws PortalException
File object.
This method is useful when optimizing low-level file operations like
copy. The client must not delete or change the returned File
object in any way. This method is only supported in certain stores. If
not supported, this method will throw an UnsupportedOperationException.
If using an S3 store, it is preferable for performance reasons to use
getFileAsStream(long, long, String, String) instead of this
method wherever possible.
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file's nameversionLabel - the file's version labelFile object with the file's namePortalException - if the file's information was invalidpublic static byte[] getFileAsBytes(long companyId,
long repositoryId,
java.lang.String fileName)
throws PortalException
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file's namePortalException - if the file's information was invalidpublic static byte[] getFileAsBytes(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String versionLabel)
throws PortalException
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file's nameversionLabel - the file's version labelPortalException - if the file's information was invalidpublic static java.io.InputStream getFileAsStream(long companyId,
long repositoryId,
java.lang.String fileName)
throws PortalException
InputStream object.
If using an S3 store, it is preferable for performance reasons to use
this method to get the file as an InputStream instead of
using other methods to get the file as a File.
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file's nameInputStream object with the file's
namePortalException - if the file's information was invalidpublic static java.io.InputStream getFileAsStream(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String versionLabel)
throws PortalException
InputStream object.
If using an S3 store, it is preferable for performance reasons to use
this method to get the file as an InputStream instead of
using other methods to get the file as a File.
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file's nameversionLabel - the file's version labelInputStream object with the file's
namePortalException - if the file's information was invalidpublic static java.lang.String[] getFileNames(long companyId,
long repositoryId,
java.lang.String dirName)
throws PortalException
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)dirName - the directory's namePortalException - if the directory's information was invalidpublic static long getFileSize(long companyId,
long repositoryId,
java.lang.String fileName)
throws PortalException
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file's namePortalException - if the file's information was invalidpublic static DLStore getStore()
DLStore object. Used primarily by Spring and should
not be used by the client.DLStore objectpublic static boolean hasDirectory(long companyId,
long repositoryId,
java.lang.String dirName)
throws PortalException
true if the directory exists.companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)dirName - the directory's nametrue if the directory exists; false
otherwisePortalException - if the directory's information was invalidpublic static boolean hasFile(long companyId,
long repositoryId,
java.lang.String fileName)
throws PortalException
true if the file exists.companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file's nametrue if the file exists; false
otherwisePortalException - if the file's information was invalidpublic static boolean hasFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String versionLabel)
throws PortalException
true if the file exists.companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file's nameversionLabel - the file's version labeltrue if the file exists; false
otherwisePortalException - if the file's information was invalidpublic static boolean isValidName(java.lang.String name)
public static void move(java.lang.String srcDir,
java.lang.String destDir)
JCRStore#move(String, String).srcDir - the original directory's namedestDir - the new directory's namepublic static void updateFile(long companyId,
long repositoryId,
long newRepositoryId,
java.lang.String fileName)
throws PortalException
companyId - the primary key of the companyrepositoryId - the primary key of the data repositorynewRepositoryId - the primary key of the new data repositoryfileName - the file's namePortalException - if the file's information was invalidpublic static void updateFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String newFileName)
throws PortalException
companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file's namenewFileName - the file's new namePortalException - if the file's information was invalidpublic static void updateFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String fileExtension,
boolean validateFileExtension,
java.lang.String versionLabel,
java.lang.String sourceFileName,
java.io.File file)
throws PortalException
File object.companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file namefileExtension - the file's extensionvalidateFileExtension - whether to validate the file's extensionversionLabel - the file's new version labelsourceFileName - the new file's original namefile - Name the file namePortalException - if the file's information was invalid or is found
to contain a viruspublic static void updateFile(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String fileExtension,
boolean validateFileExtension,
java.lang.String versionLabel,
java.lang.String sourceFileName,
java.io.InputStream is)
throws PortalException
InputStream object.companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file namefileExtension - the file's extensionvalidateFileExtension - whether to validate the file's extensionversionLabel - the file's new version labelsourceFileName - the new file's original nameis - the new file's dataPortalException - if the file's information was invalid or is found
to contain a viruspublic static void updateFileVersion(long companyId,
long repositoryId,
java.lang.String fileName,
java.lang.String fromVersionLabel,
java.lang.String toVersionLabel)
throws PortalException
copyFileVersion(long,
long, String, String, String) except that the old file version is
deleted.companyId - the primary key of the companyrepositoryId - the primary key of the data repository (optionally
CompanyConstants.SYSTEM)fileName - the file's namefromVersionLabel - the file's version labeltoVersionLabel - the file's new version labelPortalException - if the file's information was invalidpublic static void validate(java.lang.String fileName,
boolean validateFileExtension)
throws PortalException
fileName - the file's namevalidateFileExtension - whether to validate the file's extensionPortalException - if the file's information was invalidpublic static void validate(java.lang.String fileName,
boolean validateFileExtension,
byte[] bytes)
throws PortalException
fileName - the file's namevalidateFileExtension - whether to validate the file's extensionbytes - the file's data (optionally null)PortalException - if the file's information was invalidpublic static void validate(java.lang.String fileName,
boolean validateFileExtension,
java.io.File file)
throws PortalException
fileName - the file's namevalidateFileExtension - whether to validate the file's extensionfile - Name the file's namePortalException - if the file's information was invalidpublic static void validate(java.lang.String fileName,
boolean validateFileExtension,
java.io.InputStream is)
throws PortalException
fileName - the file's namevalidateFileExtension - whether to validate the file's extensionis - the file's data (optionally null)PortalException - if the file's information was invalidpublic static void validate(java.lang.String fileName,
java.lang.String fileExtension,
java.lang.String sourceFileName,
boolean validateFileExtension)
throws PortalException
PortalExceptionpublic static void validate(java.lang.String fileName,
java.lang.String fileExtension,
java.lang.String sourceFileName,
boolean validateFileExtension,
java.io.File file)
throws PortalException
fileName - the file's namefileExtension - the file's extensionsourceFileName - the file's original namevalidateFileExtension - whether to validate the file's extensionfile - Name the file's namePortalException - if the file's information was invalidpublic static void validate(java.lang.String fileName,
java.lang.String fileExtension,
java.lang.String sourceFileName,
boolean validateFileExtension,
java.io.InputStream is)
throws PortalException
fileName - the file's namefileExtension - the file's extensionsourceFileName - the file's original namevalidateFileExtension - whether to validate the file's extensionis - the file's data (optionally null)PortalException - if the file's information was invalidpublic static void validateDirectoryName(java.lang.String directoryName)
throws PortalException
PortalException