Class TopiaLiquibaseServiceImpl

java.lang.Object
org.nuiton.topia.liquibase.TopiaLiquibaseServiceImpl
All Implemented Interfaces:
TopiaLiquibaseService, TopiaMigrationService, TopiaService

public class TopiaLiquibaseServiceImpl extends Object implements TopiaLiquibaseService
Integration with Liquibase migration framework. When TopiaApplicationContext will be started all migrations will be run.
Since:
3.0
  • Field Details

    • allContexts

      protected liquibase.Contexts allContexts
    • changeLogPath

      protected String changeLogPath
      Place to find the changelog, default name has been fixed according to best practices.
    • database

      protected liquibase.database.Database database
    • liquibase

      protected liquibase.Liquibase liquibase
  • Constructor Details

    • TopiaLiquibaseServiceImpl

      public TopiaLiquibaseServiceImpl()
  • Method Details

    • initTopiaService

      public void initTopiaService(TopiaApplicationContext topiaApplicationContext, Map<String,String> serviceConfiguration)
      Specified by:
      initTopiaService in interface TopiaService
    • getSchemaVersion

      public String getSchemaVersion()
      Specified by:
      getSchemaVersion in interface TopiaMigrationService
    • initOnCreateSchema

      public void initOnCreateSchema()
      Specified by:
      initOnCreateSchema in interface TopiaMigrationService
    • runSchemaMigration

      public void runSchemaMigration()
      Specified by:
      runSchemaMigration in interface TopiaMigrationService
    • getLiquibase

      protected liquibase.Liquibase getLiquibase(liquibase.database.Database database, liquibase.resource.ResourceAccessor resourceAccessor) throws liquibase.exception.LiquibaseException
      Throws:
      liquibase.exception.LiquibaseException
    • getResourceAccessor

      protected liquibase.resource.ResourceAccessor getResourceAccessor()
      Implementation highly inspired from LiquibaseServletListener.
    • openDatabase

      protected liquibase.database.Database openDatabase(TopiaApplicationContext topiaApplicationContext, liquibase.resource.ResourceAccessor resourceAccessor)
    • closeDatabase

      protected void closeDatabase()
    • close

      public void close()
      Specified by:
      close in interface TopiaService