public class DLStoreUtil extends 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 com.liferay.portlet.documentlibrary.model.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,
String dirName)
Adds a directory.
|
static void |
addFile(long companyId,
long repositoryId,
String fileName,
boolean validateFileExtension,
byte[] bytes)
Adds a file based on a byte array.
|
static void |
addFile(long companyId,
long repositoryId,
String fileName,
boolean validateFileExtension,
File file)
Adds a file based on a
File object. |
static void |
addFile(long companyId,
long repositoryId,
String fileName,
boolean validateFileExtension,
InputStream is)
Adds a file based on a
InputStream object. |
static void |
addFile(long companyId,
long repositoryId,
String fileName,
byte[] bytes)
Adds a file based on a byte array.
|
static void |
addFile(long companyId,
long repositoryId,
String fileName,
File file)
Adds a file based on a
File object. |
static void |
addFile(long companyId,
long repositoryId,
String fileName,
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,
String fileName,
String fromVersionLabel,
String toVersionLabel)
Creates a new copy of the file version.
|
static void |
deleteDirectory(long companyId,
long repositoryId,
String dirName)
Deletes a directory.
|
static void |
deleteFile(long companyId,
long repositoryId,
String fileName)
Deletes a file.
|
static void |
deleteFile(long companyId,
long repositoryId,
String fileName,
String versionLabel)
Deletes a file at a particular version.
|
static File |
getFile(long companyId,
long repositoryId,
String fileName)
Returns the file as a
File object. |
static File |
getFile(long companyId,
long repositoryId,
String fileName,
String versionLabel)
Returns the file as a
File object. |
static byte[] |
getFileAsBytes(long companyId,
long repositoryId,
String fileName)
Returns the file as a byte array.
|
static byte[] |
getFileAsBytes(long companyId,
long repositoryId,
String fileName,
String versionLabel)
Returns the file as a byte array.
|
static InputStream |
getFileAsStream(long companyId,
long repositoryId,
String fileName)
Returns the file as an
InputStream object. |
static InputStream |
getFileAsStream(long companyId,
long repositoryId,
String fileName,
String versionLabel)
Returns the file as an
InputStream object. |
static String[] |
getFileNames(long companyId,
long repositoryId,
String dirName)
Returns all files of the directory.
|
static long |
getFileSize(long companyId,
long repositoryId,
String fileName)
Returns the size of the file.
|
static DLStore |
getStore()
Returns the
DLStore object. |
static boolean |
hasDirectory(long companyId,
long repositoryId,
String dirName)
Returns
true if the directory exists. |
static boolean |
hasFile(long companyId,
long repositoryId,
String fileName)
Returns
true if the file exists. |
static boolean |
hasFile(long companyId,
long repositoryId,
String fileName,
String versionLabel)
Returns
true if the file exists. |
static boolean |
isValidName(String name) |
static void |
move(String srcDir,
String destDir)
Moves an existing directory.
|
void |
setStore(DLStore store)
Set's the
DLStore object. |
static void |
updateFile(long companyId,
long repositoryId,
long newRepositoryId,
String fileName)
Moves a file to a new data repository.
|
static void |
updateFile(long companyId,
long repositoryId,
String fileName,
String newFileName)
Update's the file's name
|
static void |
updateFile(long companyId,
long repositoryId,
String fileName,
String fileExtension,
boolean validateFileExtension,
String versionLabel,
String sourceFileName,
File file)
Updates a file based on a
File object. |
static void |
updateFile(long companyId,
long repositoryId,
String fileName,
String fileExtension,
boolean validateFileExtension,
String versionLabel,
String sourceFileName,
InputStream is)
Updates a file based on a
InputStream object. |
static void |
updateFileVersion(long companyId,
long repositoryId,
String fileName,
String fromVersionLabel,
String toVersionLabel)
Update's a file version label.
|
static void |
validate(String fileName,
boolean validateFileExtension)
Validates a file's name.
|
static void |
validate(String fileName,
boolean validateFileExtension,
byte[] bytes)
Validates a file's name and data.
|
static void |
validate(String fileName,
boolean validateFileExtension,
File file)
Validates a file's name and data.
|
static void |
validate(String fileName,
boolean validateFileExtension,
InputStream is)
Validates a file's name and data.
|
static void |
validate(String fileName,
String fileExtension,
String sourceFileName,
boolean validateFileExtension) |
static void |
validate(String fileName,
String fileExtension,
String sourceFileName,
boolean validateFileExtension,
File file)
Validates a file's name and data.
|
static void |
validate(String fileName,
String fileExtension,
String sourceFileName,
boolean validateFileExtension,
InputStream is)
Validates a file's name and data.
|
static void |
validateDirectoryName(String directoryName) |
public static void addDirectory(long companyId,
long repositoryId,
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 namePortalExceptionpublic static void addFile(long companyId,
long repositoryId,
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 dataPortalExceptionpublic static void addFile(long companyId,
long repositoryId,
String fileName,
boolean validateFileExtension,
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 namePortalExceptionpublic static void addFile(long companyId,
long repositoryId,
String fileName,
boolean validateFileExtension,
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 dataPortalExceptionpublic static void addFile(long companyId,
long repositoryId,
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 dataPortalExceptionpublic static void addFile(long companyId,
long repositoryId,
String fileName,
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 namePortalExceptionpublic static void addFile(long companyId,
long repositoryId,
String fileName,
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 dataPortalExceptionpublic static void checkRoot(long companyId)
JCRStore#checkRoot(long).companyId - the primary key of the companypublic static void copyFileVersion(long companyId,
long repositoryId,
String fileName,
String fromVersionLabel,
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 labelPortalExceptionpublic static void deleteDirectory(long companyId,
long repositoryId,
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,
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 namePortalExceptionpublic static void deleteFile(long companyId,
long repositoryId,
String fileName,
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 labelPortalExceptionpublic static File getFile(long companyId, long repositoryId, 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 namePortalExceptionpublic static File getFile(long companyId, long repositoryId, String fileName, 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 namePortalExceptionpublic static byte[] getFileAsBytes(long companyId,
long repositoryId,
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 namePortalExceptionpublic static byte[] getFileAsBytes(long companyId,
long repositoryId,
String fileName,
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 labelPortalExceptionpublic static InputStream getFileAsStream(long companyId, long repositoryId, 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 namePortalExceptionpublic static InputStream getFileAsStream(long companyId, long repositoryId, String fileName, 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 namePortalExceptionpublic static String[] getFileNames(long companyId, long repositoryId, 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 namePortalExceptionpublic static long getFileSize(long companyId,
long repositoryId,
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 namePortalExceptionpublic 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,
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
otherwisePortalExceptionpublic static boolean hasFile(long companyId,
long repositoryId,
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
otherwisePortalExceptionpublic static boolean hasFile(long companyId,
long repositoryId,
String fileName,
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
otherwisePortalExceptionpublic static boolean isValidName(String name)
public static void move(String srcDir, 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,
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 namePortalExceptionpublic static void updateFile(long companyId,
long repositoryId,
String fileName,
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 namePortalExceptionpublic static void updateFile(long companyId,
long repositoryId,
String fileName,
String fileExtension,
boolean validateFileExtension,
String versionLabel,
String sourceFileName,
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 namePortalExceptionpublic static void updateFile(long companyId,
long repositoryId,
String fileName,
String fileExtension,
boolean validateFileExtension,
String versionLabel,
String sourceFileName,
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 dataPortalExceptionpublic static void updateFileVersion(long companyId,
long repositoryId,
String fileName,
String fromVersionLabel,
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 labelPortalExceptionpublic static void validate(String fileName, boolean validateFileExtension) throws PortalException
fileName - the file's namevalidateFileExtension - whether to validate the file's extensionPortalExceptionpublic static void validate(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)PortalExceptionpublic static void validate(String fileName, boolean validateFileExtension, File file) throws PortalException
fileName - the file's namevalidateFileExtension - whether to validate the file's extensionfile - Name the file's namePortalExceptionpublic static void validate(String fileName, boolean validateFileExtension, InputStream is) throws PortalException
fileName - the file's namevalidateFileExtension - whether to validate the file's extensionis - the file's data (optionally null)PortalExceptionpublic static void validate(String fileName, String fileExtension, String sourceFileName, boolean validateFileExtension) throws PortalException
PortalExceptionpublic static void validate(String fileName, String fileExtension, String sourceFileName, boolean validateFileExtension, 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 namePortalExceptionpublic static void validate(String fileName, String fileExtension, String sourceFileName, boolean validateFileExtension, 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)PortalExceptionpublic static void validateDirectoryName(String directoryName) throws PortalException
PortalException