Package com.jalios.jcms.archive
Class ArchiveManager
- java.lang.Object
-
- com.jalios.jcms.archive.ArchiveManager
-
- All Implemented Interfaces:
JcmsConstants
,JaliosConstants
public class ArchiveManager extends java.lang.Object implements JcmsConstants
This Class is responsible to manage the archive system of JCMS.- Since:
- jcms-4.1.1
- Author:
- Olivier Jaquemet
-
-
Field Summary
-
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
-
Fields inherited from interface com.jalios.jcms.JcmsConstants
ADATE_SEARCH, ADMIN_NOTES_PROP, ADVANCED_TAB, AJAX_MODE_ATTR, ARCHIVES_DIR, ASCII_WIDTH, CATEGORY_TAB, CDATE_SEARCH, CLASS_PROPERTY, COMMON_ALARM, CONTENT_TAB, COOKIE_MAX_AGE, COUNTRY_SPRITE, CS_TYPOLOGY_ROOT_CAT_VID, CTRL_TOPIC_INTERNAL, CTRL_TOPIC_REF, CTRL_TOPIC_VALUE, CTRL_TOPIC_WRITE, CUSTOM_PROP, DATA_DIRECTORY, DEFAULT_PHOTO_PROP, DOCCHOOSER_HEIGHT, DOCCHOOSER_WIDTH, DOCS_DIR, EDATE_SEARCH, EMAIL_REGEXP, ERROR_MSG, FORBIDDEN_FILE_ACCESS, FORBIDDEN_REDIRECT, FORCE_REDIRECT, GLYPH_ICON_PREFIX, ICON_ARCHIVE, ICON_ICON_PREFIX, ICON_LOCK, ICON_LOCK_STRONG, ICON_PREFIX_PROP, ICON_WARN, ICON_WH_BOOK_CLOSED, ICON_WH_BOOK_OPEN, INFORMATION_MSG, IS_IN_FRONT_OFFICE, JALIOS_JUNIT_PROP, JCMS_CADDY, JCMS_MSG_LIST, JCMS_TOASTR_COLLECTION, JSYNC_DOWNLOAD_DIR, JSYNC_SYNC_ALARM, LANG_SPRITE, LOG_FILE, LOG_TOPIC_SECURITY, LOGGER_PROP, LOGGER_XMLPROP, MBR_PHOTO_DIR, MDATE_SEARCH, MONITOR_XML, OP_CREATE, OP_CREATE_STR, OP_DEEP_COPY, OP_DEEP_COPY_STR, OP_DEEP_DELETE, OP_DEEP_DELETE_STR, OP_DELETE, OP_DELETE_STR, OP_MERGE, OP_MERGE_STR, OP_UPDATE, OP_UPDATE_STR, ORGANIZATION_ROOT_GROUP_PROP, PDATE_SEARCH, PHOTO_DIR, PHOTO_ICON, PHOTO_ICON_HEIGHT, PHOTO_ICON_PROP_PREFIX, PHOTO_ICON_WIDTH, PHOTO_LARGE, PHOTO_LARGE_HEIGHT, PHOTO_LARGE_PROP_PREFIX, PHOTO_LARGE_WIDTH, PHOTO_MINI, PHOTO_MINI_HEIGHT, PHOTO_MINI_PROP_PREFIX, PHOTO_MINI_WIDTH, PHOTO_NORMAL, PHOTO_NORMAL_HEIGHT, PHOTO_NORMAL_PROP_PREFIX, PHOTO_NORMAL_WIDTH, PHOTO_SMALL, PHOTO_SMALL_HEIGHT, PHOTO_SMALL_PROP_PREFIX, PHOTO_SMALL_WIDTH, PHOTO_TINY, PHOTO_TINY_HEIGHT, PHOTO_TINY_PROP_PREFIX, PHOTO_TINY_WIDTH, PREVIOUS_TAB, PRINT_VIEW, PRIVATE_FILE_ACCESS, PUBLIC_FILE_ACCESS, RAW_CONTENT_ICON_PREFIX, READ_RIGHT_TAB, SDATE_SEARCH, SEARCHENGINE_ALARM, SECURITY_LOG_FILE, SESSION_AUTHORIZED_FILENAMES_SET, SPRITE_ICON_PREFIX, STATS_REPORT_DIR, STATUS_PROP, STORE_DIR, STORE_XML, SUCCESS_MSG, SVG_ICON_PREFIX, SVGINLINE_ICON_PREFIX, TEMPLATE_TAB, THUMBNAIL_LARGE_HEIGHT, THUMBNAIL_LARGE_WIDTH, THUMBNAIL_SMALL_HEIGHT, THUMBNAIL_SMALL_WIDTH, TTCARD_MEDIA_HEIGHT, TTCARD_MEDIA_WIDTH, TYPES_ICON_ALT_PROP, TYPES_ICON_SUFFIX_PROP, TYPES_ICON_TITLE_PROP, TYPES_PREFIX_PROP, TYPES_THUMB_SUFFIX_PROP, UDATE_SEARCH, UPDATE_RIGHT_TAB, UPLOAD_DIR, UPLOAD_PERMISSION_COUNT_PROP_PREFIX, UPLOAD_PERMISSION_SIZE_PROP_PREFIX, URL_REGEXP, VID_LOGGED_MEMBER, WARNING_MSG, WEBAPP_PROP, WFEXPRESS_ALARM, WFREMINDER_ALARM, WORKFLOW_TAB, WORKFLOW_XML
-
-
Constructor Summary
Constructors Constructor Description ArchiveManager()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description 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(java.lang.String rowId)
Retrieves the Archive from its rowId.static java.lang.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(java.lang.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(java.lang.String originalId)
Retrieves the Archive corresponding to the specified original Publication id.static java.lang.String
getArchiveSavedHtmlPath(ArchivedPublication pub, java.lang.String userLang)
Return the path (webapp relative, for jsp inclusion) of the file in which the original publication was savedstatic java.lang.String
getArchiveSavedXmlPath(ArchivedPublication pub)
Return the path (webapp relative) of the XML file in which the content of the original publication's data was savedstatic java.util.Set<ArchivedPublication>
getArchiveSet(Member loggedMember, java.lang.String[] rowIds)
Retrieves all the Archive identified by the specified ids.static void
init()
ArchiveManager initialization
-
-
-
Method Detail
-
init
public static void init() throws java.lang.Exception
ArchiveManager initialization- Throws:
java.lang.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 archiveopAuthor
- 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 java.util.Set<ArchivedPublication> getArchiveSet(Member loggedMember, java.lang.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(java.lang.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(java.lang.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(java.lang.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 java.lang.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 directoryarchivePub
- 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:
java.lang.IllegalArgumentException
- if both arguments are null.- Since:
- jcms-5.7.0
-
getArchiveSavedHtmlPath
public static java.lang.String getArchiveSavedHtmlPath(ArchivedPublication pub, java.lang.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 rightuserLang
- 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 java.lang.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
-
-