Class SchemaUpgradeScriptPatch

  • All Implemented Interfaces:
    Patch, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationEventPublisherAware

    public class SchemaUpgradeScriptPatch
    extends AbstractPatch
    This patch ensures that an upgrade scriptUrl has been executed. Upgrade scripts should create an entry for the patch with the required ID and execution status so that the code in this class is never called. If called, an exception message is always generated.
    Author:
    Derek Hulley
    • Constructor Detail

      • SchemaUpgradeScriptPatch

        public SchemaUpgradeScriptPatch()
    • Method Detail

      • getScriptUrl

        public java.lang.String getScriptUrl()
        Returns:
        Returns the URL of the scriptUrl that has to have been run
      • setScriptUrl

        public void setScriptUrl​(java.lang.String script)
        Set the URL of the upgrade scriptUrl to execute. This is the full URL of the file, e.g. classpath:alfresco/patch/scripts/upgrade-1.4/${hibernate.dialect.class}/patchAlfrescoSchemaUpdate-1.4-2.sql where the ${hibernate.dialect.class} placeholder will be substituted with the Hibernate Dialect as configured for the system.
        Parameters:
        script - the script
      • 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:
        MSG_NOT_EXECUTED