Class MockDbConnectionManager

java.lang.Object
com.atlassian.jira.database.MockDbConnectionManager
All Implemented Interfaces:
DbConnectionManager

public class MockDbConnectionManager extends Object implements DbConnectionManager
Since DbConnectionManager has been deprecated, this pretty much just maps everything onto MockQueryDslAccessor, instead.
Since:
v6.4
  • Constructor Details

    • MockDbConnectionManager

      public MockDbConnectionManager()
  • Method Details

    • executeQuery

      public <T> T executeQuery(@Nonnull QueryCallback<T> callback)
      Description copied from interface: DbConnectionManager
      Executes SQL statements as defined in the callback function and returns the results.

      This method is mostly useful for running SELECT statements and returning the given results in some form.

      Even if OfBiz is currently running in a ThreadLocal transaction, this will retrieve a fresh connection from the pool. Do not close the given connection - this manager will return it to the pool after the method is complete. If the Callback function throws a RuntimeException and the connection is not in auto-commit mode, then this method will perform a rollback on the connection.

      The connection will have the default auto-commit value as defined by the JIRA connection pool. As at JIRA 6.4 this means autocommit == true. See org.apache.commons.dbcp.PoolableConnectionFactory#activateObject(Object) for details.

      Specified by:
      executeQuery in interface DbConnectionManager
      Type Parameters:
      T - type of results
      Parameters:
      callback - the callback function that runs the query
      Returns:
      results of the callback function
      See Also:
    • execute

      public void execute(@Nonnull SqlCallback callback)
      Description copied from interface: DbConnectionManager
      Executes SQL statements as defined in the callback function.

      This method does not return results and is mostly useful for running INSERT, UPDATE, and DELETE operations.

      Example Usage:

           dbConnectionManager.execute(new SqlCallback()
           {
               public void run(final DbConnection dbConnection)
               {
                   dbConnection.update(QIssueLink.ISSUE_LINK)
                           .set(QIssueLink.ISSUE_LINK.linktype, issueLinkType.getId())
                           .where(QIssueLink.ISSUE_LINK.id.eq(issueLink.getId()))
                           .execute();
               }
           });
       

      Even if OfBiz is currently running in a ThreadLocal transaction, this will retrieve a fresh connection from the pool. Do not close the given connection - this manager will return it to the pool after the method is complete. If the Callback function throws a RuntimeException and the connection is not in auto-commit mode, then this method will perform a rollback on the connection.

      The connection will have the default auto-commit value as defined by the JIRA connection pool. As at JIRA 6.4 this means autocommit == true. See org.apache.commons.dbcp.PoolableConnectionFactory#activateObject(Object) for details.

      Specified by:
      execute in interface DbConnectionManager
      Parameters:
      callback - the callback function that runs the query
      See Also:
    • getDialect

      @Nonnull public com.querydsl.sql.SQLTemplates getDialect()
      Description copied from interface: DbConnectionManager
      This will return a DB dialect as appropriate for usage with Querydsl.
      Specified by:
      getDialect in interface DbConnectionManager
      Returns:
      a DB dialect as appropriate for usage with Querydsl.
    • setQueryResults

      public void setQueryResults(String sql, Iterable<ResultRow> expectedResults)
    • setUpdateResults

      public void setUpdateResults(String sql, int rowCount)
    • setUpdateResults

      public void setUpdateResults(String sql, Supplier<RuntimeException> exFactory)
    • assertAllExpectedStatementsWereRun

      public void assertAllExpectedStatementsWereRun()
    • reset

      public void reset()
    • onSqlListener

      public void onSqlListener(String sql, Runnable action)
      Require MockDbConnectionManager to invoke some action, when specified sql is being executed.
      Parameters:
      sql - SQL query we listen on
      action - Action to be invoked when the sql is run
    • getMockDelegatorInterface

      public org.ofbiz.core.entity.DelegatorInterface getMockDelegatorInterface()