Class GenericBootstrapPatch

  • All Implemented Interfaces:
    Patch, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationEventPublisherAware
    Direct Known Subclasses:
    SharedFolderPatch

    public class GenericBootstrapPatch
    extends AbstractPatch
    Generic patch that uses existing importers to import snippets into the system. These snippets would otherwise have been bootstrapped by a clean install.

    By providing this class with a bootstrap view and an importer, it can check whether the path exists and perform the import if it doesn't.

    Author:
    Derek Hulley
    • Field Detail

      • ERR_MULTIPLE_FOUND

        protected static final java.lang.String ERR_MULTIPLE_FOUND
        See Also:
        Constant Field Values
      • checkPath

        protected java.lang.String checkPath
      • bootstrapView

        protected java.util.Properties bootstrapView
    • Constructor Detail

      • GenericBootstrapPatch

        public GenericBootstrapPatch()
    • Method Detail

      • setImporterBootstrap

        public void setImporterBootstrap​(ImporterBootstrap importerBootstrap)
        Parameters:
        importerBootstrap - the bootstrap bean that performs the user store bootstrap
      • setCheckPath

        public void setCheckPath​(java.lang.String checkPath)
        Set the XPath statement that must be executed to check whether the import data is already present or not.
        Parameters:
        checkPath - an XPath statement
      • checkProperties

        protected void checkProperties()
        Description copied from class: AbstractPatch
        Check that the schema version properties have been set appropriately. Derived classes can override this method to perform their own validation provided that this method is called by the derived class.
        Overrides:
        checkProperties in class AbstractPatch
      • applyInternal

        protected java.lang.String applyInternal()
                                          throws java.lang.Exception
        Description copied from class: AbstractPatch
        This method does the work. All transactions and thread-safety will be taken care of by this class. Any exception will result in the transaction being rolled back. Integrity checks are downgraded for the duration of the transaction.
        Specified by:
        applyInternal in class AbstractPatch
        Returns:
        Returns the report (only success messages).
        Throws:
        java.lang.Exception - anything can be thrown. This must be used for all failures.
        See Also:
        AbstractPatch.apply()