Class CmsSetupDb

java.lang.Object
org.opencms.setup.CmsSetupDb

public class CmsSetupDb extends Object
Helper class to call database setup scripts.

Since:
6.0.0
  • Field Details

  • Constructor Details

    • CmsSetupDb

      public CmsSetupDb(String basePath)
      Creates a new CmsSetupDb object.

      Parameters:
      basePath - the location of the setup scripts
  • Method Details

    • checkVariables

      Returns an optional warning message if needed, null if not.

      Parameters:
      db - the selected database key
      Returns:
      html warning, or null if no warning
    • clearErrors

      public void clearErrors()
      Clears the error messages stored internally.

    • closeConnection

      public void closeConnection()
      Closes the internal connection to the database.

    • createDatabase

      public void createDatabase(String database, Map<String,String> replacer)
      Calls the create database script for the given database.

      Parameters:
      database - the name of the database
      replacer - the replacements to perform in the drop script
    • createDatabase

      public void createDatabase(String database, Map<String,String> replacer, boolean abortOnError)
      Calls the create database script for the given database.

      Parameters:
      database - the name of the database
      replacer - the replacements to perform in the drop script
      abortOnError - indicates if the script is aborted if an error occurs
    • createTables

      public void createTables(String database, Map<String,String> replacer)
      Calls the create tables script for the given database.

      Parameters:
      database - the name of the database
      replacer - the replacements to perform in the drop script
    • createTables

      public void createTables(String database, Map<String,String> replacer, boolean abortOnError)
      Calls the create tables script for the given database.

      Parameters:
      database - the name of the database
      replacer - the replacements to perform in the drop script
      abortOnError - indicates if the script is aborted if an error occurs
    • dropDatabase

      public void dropDatabase(String database, Map<String,String> replacer)
      Calls the drop script for the given database.
      Parameters:
      database - the name of the database
      replacer - the replacements to perform in the drop script
    • dropDatabase

      public void dropDatabase(String database, Map<String,String> replacer, boolean abortOnError)
      Calls the drop script for the given database.
      Parameters:
      database - the name of the database
      replacer - the replacements to perform in the drop script
      abortOnError - indicates if the script is aborted if an error occurs
    • dropTables

      public void dropTables(String database)
      Calls the drop tables script for the given database.

      Parameters:
      database - the name of the database
    • dropTables

      public void dropTables(String database, Map<String,String> replacer)
      Calls the drop tables script for the given database.

      Parameters:
      database - the name of the database
      replacer - the replacements to perform in the drop script
    • dropTables

      public void dropTables(String database, Map<String,String> replacer, boolean abortOnError)
      Calls the drop tables script for the given database.

      Parameters:
      database - the name of the database
      replacer - the replacements to perform in the drop script
      abortOnError - indicates if the script is aborted if an error occurs
    • executeSqlStatement

      Creates and executes a database statement from a String returning the result set.

      Parameters:
      query - the query to execute
      replacer - the replacements to perform in the script
      Returns:
      the result set of the query
      Throws:
      SQLException - if something goes wrong
    • executeSqlStatement

      public CmsSetupDBWrapper executeSqlStatement(String query, Map<String,String> replacer, List<Object> params) throws SQLException
      Creates and executes a database statement from a String returning the result set.

      Parameters:
      query - the query to execute
      replacer - the replacements to perform in the script
      params - the list of parameters for the statement
      Returns:
      the result set of the query
      Throws:
      SQLException - if something goes wrong
    • getConnection

      Returns the connection.

      Returns:
      the connection
    • getErrors

      public List<String> getErrors()
      Returns a Vector of Error messages.

      Returns:
      all error messages collected internally
    • hasTableOrColumn

      public boolean hasTableOrColumn(String table, String column)
      Checks if the given table, column or combination of both is available in the database in case insensitive way.

      Parameters:
      table - the sought table
      column - the sought column
      Returns:
      true if the requested table/column is available, false if not
    • hasTableOrColumnCaseSensitive

      public boolean hasTableOrColumnCaseSensitive(String table, String column)
      Checks if the given table, column or combination of both is available in the database in a case sensitive way.

      Parameters:
      table - the sought table
      column - the sought column
      Returns:
      true if the requested table/column is available, false if not
    • noErrors

      public boolean noErrors()
      Checks if internal errors occurred.

      Returns:
      true if internal errors occurred
    • setConnection

      public void setConnection(Connection conn)
      Sets a new internal connection to the database.

      Parameters:
      conn - the connection to use
    • setConnection

      public void setConnection(String DbDriver, String DbConStr, String DbConStrParams, String DbUser, String DbPwd)
      Creates a new internal connection to the database.

      Parameters:
      DbDriver - JDBC driver class name
      DbConStr - JDBC connect URL
      DbConStrParams - JDBC connect URL params, or null
      DbUser - JDBC database user
      DbPwd - JDBC database password
    • setConnection

      public void setConnection(String DbDriver, String DbConStr, String DbConStrParams, String DbUser, String DbPwd, boolean logErrors)
      Creates a new internal connection to the database.

      Parameters:
      DbDriver - JDBC driver class name
      DbConStr - JDBC connect URL
      DbConStrParams - JDBC connect URL params, or null
      DbUser - JDBC database user
      DbPwd - JDBC database password
      logErrors - if set to 'true', errors are written to the log file
    • updateDatabase

      public void updateDatabase(String updateScript, Map<String,String> replacers)
      Calls an update script.

      Parameters:
      updateScript - the update script code
      replacers - the replacers to use in the script code
    • updateDatabase

      public void updateDatabase(String updateScript, Map<String,String> replacers, boolean abortOnError)
      Calls an update script.

      Parameters:
      updateScript - the update script code
      replacers - the replacers to use in the script code
      abortOnError - indicates if the script is aborted if an error occurs
    • updateSqlStatement

      public int updateSqlStatement(String query, Map<String,String> replacer, List<Object> params) throws SQLException
      Creates and executes a database statment from a String.

      Parameters:
      query - the query to execute
      replacer - the replacements to perform in the script
      params - the list of parameters for the statement
      Returns:
      the result set of the query
      Throws:
      SQLException - if something goes wrong