public class CmsExportPointDriver extends java.lang.Object implements I_CmsExportPointDriver
Modifier and Type | Field and Description |
---|---|
protected java.util.Map<java.lang.String,java.lang.String> |
m_exportpointLookupMap
The export points resolved to a lookup map.
|
protected java.util.Set<CmsExportPoint> |
m_exportpoints
The configured export points.
|
Modifier | Constructor and Description |
---|---|
protected |
CmsExportPointDriver()
Empty default constructor, necessary for subclasses which may need to do initialization differently.
|
|
CmsExportPointDriver(java.util.Set<CmsExportPoint> exportpoints)
Constructor for a CmsExportPointDriver.
|
Modifier and Type | Method and Description |
---|---|
void |
createFolder(java.lang.String resourceName,
java.lang.String exportpoint)
If required, creates the folder with the given root path in the real file system.
|
void |
deleteResource(java.lang.String resourceName,
java.lang.String exportpoint)
Deletes a file or a folder in the real file sytem.
|
java.lang.String |
getExportPoint(java.lang.String rootPath)
Returns the export point path for the given resource root path,
or
null if the resource is not contained in
any export point. |
protected java.io.File |
getExportPointFile(java.lang.String rootPath,
java.lang.String exportpoint)
Returns the File for the given export point resource.
|
java.util.Set<java.lang.String> |
getExportPointPaths()
Returns the set of all VFS paths that are exported as an export point.
|
void |
writeFile(java.lang.String resourceName,
java.lang.String exportpoint,
byte[] content)
Writes the file with the given root path to the real file system.
|
protected void |
writeResource(java.io.File file,
byte[] content)
Writes file data to the RFS.
|
protected void |
writeResource(java.lang.String resourceName,
java.lang.String exportpoint,
byte[] content)
Writes (if required creates) a resource with the given name to the real file system.
|
protected java.util.Map<java.lang.String,java.lang.String> m_exportpointLookupMap
protected java.util.Set<CmsExportPoint> m_exportpoints
public CmsExportPointDriver(java.util.Set<CmsExportPoint> exportpoints)
exportpoints
- the list of export pointsprotected CmsExportPointDriver()
public void createFolder(java.lang.String resourceName, java.lang.String exportpoint)
createFolder
in interface I_CmsExportPointDriver
resourceName
- the root path of the folder to createexportpoint
- the export point to create the folder inpublic void deleteResource(java.lang.String resourceName, java.lang.String exportpoint)
If the given resource name points to a folder, then this folder is only deleted if it is empty.
This is required since the same export point RFS target folder may be used by multiple export points.
For example, this is usually the case with the /WEB-INF/classes/
and
/WEB-INF/lib/
folders which are export point for multiple modules.
If all resources in the RFS target folder where deleted, uninstalling one module would delete the
export classes
and lib
resources of all other modules.
deleteResource
in interface I_CmsExportPointDriver
resourceName
- the root path of the resource to be deletedexportpoint
- the name of the export pointpublic java.lang.String getExportPoint(java.lang.String rootPath)
null
if the resource is not contained in
any export point.getExportPoint
in interface I_CmsExportPointDriver
rootPath
- the root path of a resource in the OpenCms VFSnull
if the resource is not contained in
any export pointpublic java.util.Set<java.lang.String> getExportPointPaths()
getExportPointPaths
in interface I_CmsExportPointDriver
public void writeFile(java.lang.String resourceName, java.lang.String exportpoint, byte[] content)
If required, missing parent folders in the real file system are automatically created.
writeFile
in interface I_CmsExportPointDriver
resourceName
- the root path of the file to writeexportpoint
- the export point to write file tocontent
- the contents of the file to writeprotected java.io.File getExportPointFile(java.lang.String rootPath, java.lang.String exportpoint)
rootPath
- name of a file in the VFSexportpoint
- the name of the export pointprotected void writeResource(java.io.File file, byte[] content)
file
- the RFS file locationcontent
- the file contentprotected void writeResource(java.lang.String resourceName, java.lang.String exportpoint, byte[] content)
resourceName
- the root path of the resource to writeexportpoint
- the name of the export pointcontent
- the contents of the file to write