org.opencms.db
Class CmsExportPointDriver

java.lang.Object
  extended by org.opencms.db.CmsExportPointDriver

public class CmsExportPointDriver
extends java.lang.Object

Provides methods to write export points to the "real" file system.

Since:
6.0.0
Version:
$Revision: 1.26 $
Author:
Alexander Kandzior

Constructor Summary
CmsExportPointDriver(java.util.Set exportpoints)
          Constructor for a CmsExportPointDriver.
 
Method Summary
 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.
 java.util.Set 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CmsExportPointDriver

public CmsExportPointDriver(java.util.Set exportpoints)
Constructor for a CmsExportPointDriver.

Parameters:
exportpoints - the list of export points
Method Detail

createFolder

public 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.

Parameters:
resourceName - the root path of the folder to create
exportpoint - the export point to create the folder in

deleteResource

public void deleteResource(java.lang.String resourceName,
                           java.lang.String exportpoint)
Deletes a file or a folder in the real file sytem.

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.

Parameters:
resourceName - the root path of the resource to be deleted
exportpoint - the name of the export point

getExportPoint

public 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.

Parameters:
rootPath - the root path of a resource in the OpenCms VFS
Returns:
the export point path for the given resource, or null if the resource is not contained in any export point

getExportPointPaths

public java.util.Set getExportPointPaths()
Returns the set of all VFS paths that are exported as an export point.

Returns:
the set of all VFS paths that are exported as an export point

writeFile

public 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.

If required, missing parent folders in the real file system are automatically created.

Parameters:
resourceName - the root path of the file to write
exportpoint - the export point to write file to
content - the contents of the file to write