Class Importer


  • public class Importer
    extends java.lang.Object
    Imports an Archive into a repository. file/directory combinations
    1. plain file
          + foo
            - test.gif
    2. plain files + special folder
          + foo
            - .content.xml
            + bar
              - test.gif
    3. special file
          + foo
            - test.gif
            - test.gif.dir
              - .content.xml
    4. special file + sub files
          + foo
            - test.gif
            - test.gif.dir
              - .content.xml
              + _jcr_content
                - thumbnail.gif
    5. special file + sub special files
          + foo
            - test.gif
            - test.gif.dir
              - .content.xml
              + _jcr_content
                - thumbnail.gif
                + thumbnail.gif.dir
                  - .content.xml
    6. file/folder structure
          + foo
            + en
              - .content.xml
              + _cq_content
                - thumbnail.gif
              + company
                - .content.xml
    • Constructor Detail

      • Importer

        public Importer()
        Default constructor neither setting specific import options nor defaults.
      • Importer

        public Importer​(ImportOptions opts,
                        boolean isStrictByDefault,
                        boolean overwritePrimaryTypesOfFoldersByDefault)
        Shortcut for Importer(ImportOptions, boolean, boolean, IdConflictPolicy) with no default id conflict policy.
        Parameters:
        opts - the import options to use during run(Archive, Node) or run(Archive, Session, String)
        isStrictByDefault - is true if packages should be installed in strict mode by default (if not set otherwise in opts)
        overwritePrimaryTypesOfFoldersByDefault - if folder aggregates' JCR primary type should be changed if the node is already existing or not
      • Importer

        public Importer​(ImportOptions opts,
                        boolean isStrictByDefault,
                        boolean overwritePrimaryTypesOfFoldersByDefault,
                        IdConflictPolicy defaultIdConflictPolicy)
        Constructor setting both specific import options as well as some defaults for options not set.
        Parameters:
        opts - the import options to use during run(Archive, Node) or run(Archive, Session, String)
        isStrictByDefault - is true if packages should be installed in strict mode by default (if not set otherwise in opts)
        overwritePrimaryTypesOfFoldersByDefault - if folder aggregates' JCR primary type should be changed if the node is already existing or not
        defaultIdConflictPolicy - the default IdConflictPolicy to use if no policy is set in opts. May be null.
    • Method Detail

      • getSubPackages

        public java.util.List<java.lang.String> getSubPackages()
      • isStrictByDefault

        public boolean isStrictByDefault()
      • setDebugFailAfterSave

        public void setDebugFailAfterSave​(int failAfterEach)
        Debug settings to allows to produce failures after each failAfterEach save.
        Parameters:
        failAfterEach - cardinal indicating when to fail
      • run

        public void run​(Archive archive,
                        Session session,
                        java.lang.String parentPath)
                 throws java.io.IOException,
                        RepositoryException,
                        ConfigurationException
        Runs the importer with the given session.
        Parameters:
        archive - the archive to import
        session - the session importing the archive
        parentPath - the repository parent path where the archive will be imported
        Throws:
        java.io.IOException - if an I/O error occurs
        RepositoryException - if a repository error occurs
        ConfigurationException - if the importer is not properly configured
        Since:
        2.7.0
      • hasErrors

        public boolean hasErrors()
      • checkinNodes

        public void checkinNodes​(Session session)
      • applyMemberships

        public void applyMemberships​(Session session)