Class 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
    Version:
    $Revision: 112717 $
    Author:
    Olivier Jaquemet
    • Constructor Detail

      • ArchiveManager

        public ArchiveManager()
    • 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 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 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 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:
        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 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 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