public class

MockDbConnectionManager

extends Object
implements DbConnectionManager
java.lang.Object
   ↳ com.atlassian.jira.database.MockDbConnectionManager

Summary

Public Constructors
MockDbConnectionManager()
Public Methods
void assertAllExpectedStatementsWereRun()
void execute(SqlCallback callback)
Executes SQL statements as defined in the callback function.
<T> T executeQuery(QueryCallback<T> callback)
Executes SQL statements as defined in the callback function and returns the results.
@Nonnull SQLTemplates getDialect()
This will return a DB dialect as appropriate for usage with Querydsl.
DelegatorInterface getMockDelegatorInterface()
void onSqlListener(String sql, Runnable action)
Require MockDbConnectionManager to invoke some action, when specified sql is being executed.
void setQueryResults(String sql, Iterable<ResultRow> expectedResults)
void setQueryResults(String sql, ResultRowBuilder builder)
void setUpdateResults(String sql, int rowCount)
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.database.DbConnectionManager

Public Constructors

public MockDbConnectionManager ()

Public Methods

public void assertAllExpectedStatementsWereRun ()

public void execute (SqlCallback callback)

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.

Parameters
callback the callback function that runs the query

public T executeQuery (QueryCallback<T> callback)

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.

Parameters
callback the callback function that runs the query
Returns
  • results of the callback function

@Nonnull public SQLTemplates getDialect ()

This will return a DB dialect as appropriate for usage with Querydsl.

Returns
  • a DB dialect as appropriate for usage with Querydsl.

public DelegatorInterface getMockDelegatorInterface ()

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

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

public void setQueryResults (String sql, ResultRowBuilder builder)

public void setUpdateResults (String sql, int rowCount)