Class SchemaUpgradeScriptPatch

java.lang.Object
org.alfresco.repo.admin.patch.AbstractPatch
org.alfresco.repo.admin.patch.impl.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 Details

    • SchemaUpgradeScriptPatch

      public SchemaUpgradeScriptPatch()
  • Method Details

    • getScriptUrl

      public String getScriptUrl()
      Returns:
      Returns the URL of the scriptUrl that has to have been run
    • getProblemPatternsFileUrl

      public String getProblemPatternsFileUrl()
    • setScriptUrl

      public void setScriptUrl(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
    • setProblemsPatternFileUrl

      public void setProblemsPatternFileUrl(String problemsFile)
      Set the URL of the problems pattern file to accompany the upgrade script. This is the full URL of the file, e.g. classpath:alfresco/patch/scripts/upgrade-1.4/${hibernate.dialect.class}/patchAlfrescoSchemaUpdate-1.4-2-problems.txt where the ${hibernate.dialect.class} placeholder will be substituted with the Hibernate Dialect as configured for the system.
      Parameters:
      problemsFile - the problems file
    • 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 String applyInternal() throws 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:
      Exception - anything can be thrown. This must be used for all failures.
      See Also:
      • MSG_NOT_EXECUTED