com.jalios.jcms.archive
Class ArchiveManager

java.lang.Object
  extended by com.jalios.jcms.archive.ArchiveManager
All Implemented Interfaces:
JcmsConstants, JaliosConstants

public class ArchiveManager
extends Object
implements JcmsConstants

This Class is responsible to manage the archive system of JCMS.

Since:
jcms-4.1.1
Version:
$Revision: 30867 $
Author:
Olivier Jaquemet

Field Summary
static String REVISION
           
 
Fields inherited from interface com.jalios.jcms.JcmsConstants
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, CRYPT_MD5, CRYPT_UNDEFINED, CRYPT_UNIX, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, ICON_ARCHIVE, ICON_LOCK, ICON_LOCK_STRONG, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, JALIOS_JUNIT_PROP, JCMS_CADDY, JCMS_MSG_LIST, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, LOG_FILE, LOG_TOPIC_SECURITY, LOGGER_PROP, LOGGER_XMLPROP, MBR_PHOTO_DIR, MDATE_SEARCH, MONITOR_XML, OP_CREATE, OP_DEEP_COPY, OP_DEEP_DELETE, OP_DELETE, OP_MERGE, OP_UPDATE, PDATE_SEARCH, PHOTO_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_WIDTH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SESSION_AUTHORIZED_FILENAMES_SET, STATS_REPORT_DIR, STATUS_PROP, STORE_XML, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_WIDTH, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, URL_REGEXP, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
 
Fields inherited from interface com.jalios.util.JaliosConstants
CRLF, MILLIS_IN_ONE_DAY, MILLIS_IN_ONE_HOUR, MILLIS_IN_ONE_MINUTE, MILLIS_IN_ONE_MONTH, MILLIS_IN_ONE_SECOND, MILLIS_IN_ONE_WEEK, MILLIS_IN_ONE_YEAR
 
Constructor Summary
ArchiveManager()
           
 
Method Summary
static boolean archivePublication(Publication pub)
          Deprecated.  
static boolean archivePublication(Publication pub, Member opAuthor)
          Archive a given publication.
static int countArchive(Workspace ws)
          Count the number of Archive in the specified workspace.
static ArchivedPublication getArchive(String rowId)
          Retrieves the Archive from its rowId.
static String getArchiveDirectoryPath(Publication originalPub, ArchivedPublication archivePub)
          Returns the path of directory in which the Archived files are stored.
Either use originalPub or archivePub depending one which one is available (originalPub when archiving, or archivePub later when reading archive).

For compatibility with older version, this method checks if the legacy archive directory /archives/{originalId} exists, in which case this path is used and returned.
Otherwise, in order to build this path, this methods sses the cdate of the archivePub or the current date if the cdate not available.
static ArchivedPublication getArchivedPubFromArchivePath(String path)
          Retrieve the ArchivedPublication associated to the given path.
static ArchiveEngine getArchiveEngine()
          Retrieves the instance of the ArchiveEngine used internally by the ArchiveManager.
static ArchivedPublication getArchiveFromOriginalId(String originalId)
          Retrieves the Archive corresponding to the specified original Publication id.
static String getArchiveSavedHtmlPath(ArchivedPublication pub, String userLang)
          Return the path (webapp relative, for jsp inclusion) of the file in which the original publication was saved
static String getArchiveSavedXmlPath(ArchivedPublication pub)
          Return the path (webapp relative) of the XML file in which the content of the original publication's data was saved
static Set<ArchivedPublication> getArchiveSet(Member loggedMember, String[] rowIds)
          Retrieves all the Archive identified by the specified ids.
static void init()
          ArchiveManager initialization
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REVISION

public static final String REVISION
See Also:
Constant Field Values
Constructor Detail

ArchiveManager

public ArchiveManager()
Method Detail

init

public static void init()
                 throws Exception
ArchiveManager initialization

Throws:
Exception - throws Exception when ArchiveEngine could not be loaded
Since:
jcms-4.1.1

getArchiveEngine

public static ArchiveEngine getArchiveEngine()
Retrieves the instance of the ArchiveEngine used internally by the ArchiveManager.

Returns:
the internal ArchiveEngine used by the ArchiveManager

archivePublication

@Deprecated
public static boolean archivePublication(Publication pub)
Deprecated. 

Archive a given Publication, as long as it's not a PortalElement

Parameters:
pub - the Publication to archive
Returns:
true for succes, false in case of failure

archivePublication

public static boolean archivePublication(Publication pub,
                                         Member opAuthor)
Archive a given publication. Warning : This method DOES NOT check any authorization, you MUST perform check before invoking this method

Parameters:
pub - the Publication to archive
opAuthor - the author of the operation, can be null
Returns:
true for succes, false in case of failure
Since:
jcms-4.1.1

getArchiveSet

public static Set<ArchivedPublication> getArchiveSet(Member loggedMember,
                                                     String[] rowIds)
Retrieves all the Archive identified by the specified ids.

Parameters:
loggedMember - the Member used to check read rights.
rowIds - an array of archive's rowId
Returns:
all ArchivedPublication found
Since:
jcms-6.0

countArchive

public static int countArchive(Workspace ws)
Count the number of Archive in the specified workspace.

Parameters:
ws - the workspace being search (must not be null)
Returns:
the number of ArchivedPublication found
Since:
jcms-6.0

getArchive

public static ArchivedPublication getArchive(String rowId)
Retrieves the Archive from its rowId.

Parameters:
rowId - the row id of the archive publication in the DB
Returns:
the matching ArchivedPublication or null
Since:
jcms-6.0

getArchiveFromOriginalId

public static ArchivedPublication getArchiveFromOriginalId(String originalId)
Retrieves the Archive corresponding to the specified original Publication id.

Parameters:
originalId - the id of the original publication of the archive
Returns:
the matching ArchivedPublication or null
Since:
jcms-6.0

getArchivedPubFromArchivePath

public static ArchivedPublication getArchivedPubFromArchivePath(String path)
Retrieve the ArchivedPublication associated to the given path.

Parameters:
path - the path, relative to the context path, of the file to check, for example "archives/2006/11/oj_4242/en.html".
Returns:
the ArchivedPublication, or null if no archived publication could be found from this path.
Since:
jcms-5.7.0

getArchiveDirectoryPath

public static String getArchiveDirectoryPath(Publication originalPub,
                                             ArchivedPublication archivePub)
Returns the path of directory in which the Archived files are stored.
Either use originalPub or archivePub depending one which one is available (originalPub when archiving, or archivePub later when reading archive).

For compatibility with older version, this method checks if the legacy archive directory /archives/{originalId} exists, in which case this path is used and returned.
Otherwise, in order to build this path, this methods sses the cdate of the archivePub or the current date if the cdate not available.

Parameters:
originalPub - the original publication for which we want the archive directory
archivePub - the archived publication for which we want the archive directory
Returns:
a directory path relative to the webapp directory (e.g. /archives/c_5002 for legacy archives or /archives/2006/11/c_5002 for new ones)
Throws:
IllegalArgumentException - if both arguments are null.
Since:
jcms-5.7.0

getArchiveSavedHtmlPath

public static String getArchiveSavedHtmlPath(ArchivedPublication pub,
                                             String userLang)
Return the path (webapp relative, for jsp inclusion) of the file in which the original publication was saved

Parameters:
pub - the ArchivedPublication used to store right
userLang - the lang in which the content is wanted if available
Returns:
the path of the html file were the publication was saved, or null if no file was found
Since:
jcms-4.1.1

getArchiveSavedXmlPath

public static String getArchiveSavedXmlPath(ArchivedPublication pub)
Return the path (webapp relative) of the XML file in which the content of the original publication's data was saved

Parameters:
pub - the ArchivedPublication from which we return the saved data
Returns:
the path of the XML file were the content was saved
Since:
jcms-4.1.1


Copyright © 2001-2010 Jalios SA. All Rights Reserved.