org.opencms.staticexport
Class A_CmsStaticExportHandler

java.lang.Object
  extended by org.opencms.staticexport.A_CmsStaticExportHandler
All Implemented Interfaces:
I_CmsStaticExportHandler
Direct Known Subclasses:
A_CmsOnDemandStaticExportHandler, CmsAfterPublishStaticExportHandler

public abstract class A_CmsStaticExportHandler
extends java.lang.Object
implements I_CmsStaticExportHandler

Abstract base implementation for the I_CmsStaticExportHandler interface.

This class provides several util methods to be used by static export handlers.

Since:
6.1.7
Version:
$Revision: 1.15 $
Author:
Michael Emmerich
See Also:
I_CmsStaticExportHandler

Field Summary
protected  boolean m_busy
          Indicates if this content handler is busy.
 
Constructor Summary
A_CmsStaticExportHandler()
           
 
Method Summary
protected  java.util.List addMovedLinkSources(CmsObject cms, java.util.List publishedResources)
          Add the link sources of moved resources to the list of published resources.
protected abstract  java.util.List getRelatedFilesToPurge(java.lang.String exportFileName, java.lang.String vfsName)
          Returns a list of related files to purge.
protected  java.util.List getSiblingsList(CmsObject cms, java.lang.String resPath)
          Returns a list containing the root paths of all siblings of a resource.
 boolean isBusy()
          Returns true if this static export handler is currently performing a static export operation.
abstract  void performEventPublishProject(CmsUUID publishHistoryId, I_CmsReport report)
          Scrubs files from the export folder that might have been changed.
protected  void purgeFile(java.lang.String rfsFilePath, java.lang.String vfsName)
          Deletes the given file from the RFS if it exists, also deletes all parameter variations of the file.
 java.util.List scrubExportFolders(CmsUUID publishHistoryId)
          Scrubs all files from the export folder that might have been changed, so that the export is newly created after the next request to the resource.
protected  void scrubResource(CmsObject cms, CmsPublishedResource res, java.util.Set scrubbedFolders, java.util.Set scrubbedFiles)
          Scrub a single file or folder.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_busy

protected boolean m_busy
Indicates if this content handler is busy.

Constructor Detail

A_CmsStaticExportHandler

public A_CmsStaticExportHandler()
Method Detail

isBusy

public boolean isBusy()
Description copied from interface: I_CmsStaticExportHandler
Returns true if this static export handler is currently performing a static export operation.

Specified by:
isBusy in interface I_CmsStaticExportHandler
Returns:
true if this static export handler is currently performing a static export operation
See Also:
I_CmsStaticExportHandler.isBusy()

performEventPublishProject

public abstract void performEventPublishProject(CmsUUID publishHistoryId,
                                                I_CmsReport report)
Description copied from interface: I_CmsStaticExportHandler
Scrubs files from the export folder that might have been changed.

Specified by:
performEventPublishProject in interface I_CmsStaticExportHandler
Parameters:
publishHistoryId - the CmsUUID of the published project
report - an I_CmsReport instance to print output message, or null to write messages to the log file
See Also:
I_CmsStaticExportHandler.performEventPublishProject(org.opencms.util.CmsUUID, org.opencms.report.I_CmsReport)

scrubExportFolders

public java.util.List scrubExportFolders(CmsUUID publishHistoryId)
Scrubs all files from the export folder that might have been changed, so that the export is newly created after the next request to the resource.

Parameters:
publishHistoryId - id of the last published project
Returns:
the list of CmsPublishedResource objects to export

addMovedLinkSources

protected java.util.List addMovedLinkSources(CmsObject cms,
                                             java.util.List publishedResources)
Add the link sources of moved resources to the list of published resources.

Parameters:
cms - the cms context
publishedResources - the published resources
Returns:
the list of published resources included the link sources of moved resources

getRelatedFilesToPurge

protected abstract java.util.List getRelatedFilesToPurge(java.lang.String exportFileName,
                                                         java.lang.String vfsName)
Returns a list of related files to purge.

Parameters:
exportFileName - the previous exported rfs filename (already purged)
vfsName - the vfs name of the resource (to be used to compute more sofisticated sets of related files to purge
Returns:
a list of related files to purge

getSiblingsList

protected java.util.List getSiblingsList(CmsObject cms,
                                         java.lang.String resPath)
Returns a list containing the root paths of all siblings of a resource.

Parameters:
cms - the export user context
resPath - the path of the resource to get the siblings for
Returns:
a list containing the root paths of all siblings of a resource

purgeFile

protected void purgeFile(java.lang.String rfsFilePath,
                         java.lang.String vfsName)
Deletes the given file from the RFS if it exists, also deletes all parameter variations of the file.

Parameters:
rfsFilePath - the path of the RFS file to delete
vfsName - the VFS name of the file to delete (required for logging)

scrubResource

protected void scrubResource(CmsObject cms,
                             CmsPublishedResource res,
                             java.util.Set scrubbedFolders,
                             java.util.Set scrubbedFiles)
Scrub a single file or folder.

Parameters:
cms - an export cms object
res - the resource to check
scrubbedFolders - the list of already scrubbed folders
scrubbedFiles - the list of already scrubbed files