Example usage for org.springframework.integration.jdbc StoredProcExecutor StoredProcExecutor

List of usage examples for org.springframework.integration.jdbc StoredProcExecutor StoredProcExecutor

Introduction

In this page you can find the example usage for org.springframework.integration.jdbc StoredProcExecutor StoredProcExecutor.

Prototype

public StoredProcExecutor(DataSource dataSource) 

Source Link

Document

Constructor taking DataSource from which the DB Connection can be obtained.

Usage

From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java

@Test
public void testSetSqlParametersWithEmptyList() {

    DataSource datasource = mock(DataSource.class);
    StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource);

    List<SqlParameter> sqlParameters = new ArrayList<SqlParameter>();

    try {//  w w w.  j a  v a 2s . c  o m
        storedProcExecutor.setSqlParameters(sqlParameters);
    } catch (IllegalArgumentException e) {
        assertEquals("sqlParameters must not be null or empty.", e.getMessage());
        return;
    }

    fail("Exception expected.");

}

From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java

@Test
public void testSetSqlParametersWithNullList() {

    DataSource datasource = mock(DataSource.class);
    StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource);

    try {// www  .  j a  v a  2  s .com
        storedProcExecutor.setSqlParameters(null);
    } catch (IllegalArgumentException e) {
        assertEquals("sqlParameters must not be null or empty.", e.getMessage());
        return;
    }

    fail("Exception expected.");

}

From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java

@Test
public void testSetProcedureParametersWithNullValueInList() {

    DataSource datasource = mock(DataSource.class);
    StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource);

    List<ProcedureParameter> procedureParameters = new ArrayList<ProcedureParameter>();
    procedureParameters.add(null);/*from   w ww. ja v a 2s .  com*/

    try {
        storedProcExecutor.setProcedureParameters(procedureParameters);
    } catch (IllegalArgumentException e) {
        assertEquals("The provided list (procedureParameters) cannot contain null values.", e.getMessage());
        return;
    }

    fail("Exception expected.");

}

From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java

@Test
public void testSetProcedureParametersWithEmptyList() {

    DataSource datasource = mock(DataSource.class);
    StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource);

    List<ProcedureParameter> procedureParameters = new ArrayList<ProcedureParameter>();

    try {/*from   w w  w .  j av a  2s. com*/
        storedProcExecutor.setProcedureParameters(procedureParameters);
    } catch (IllegalArgumentException e) {
        assertEquals("procedureParameters must not be null or empty.", e.getMessage());
        return;
    }

    fail("Exception expected.");

}

From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java

@Test
public void testSetProcedureParametersWithNullList() {

    DataSource datasource = mock(DataSource.class);
    StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource);

    try {/*from   ww  w. j a  v a 2s  .  c  om*/
        storedProcExecutor.setProcedureParameters(null);
    } catch (IllegalArgumentException e) {
        assertEquals("procedureParameters must not be null or empty.", e.getMessage());
        return;
    }

    fail("Exception expected.");

}

From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java

@Test
public void testStoredProcExecutorWithNonResolvingExpression() throws Exception {

    final DataSource datasource = mock(DataSource.class);

    final StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource);

    final ExpressionFactoryBean efb = new ExpressionFactoryBean("headers['stored_procedure_name']");
    efb.afterPropertiesSet();/* ww w .j a  va  2s. com*/
    final Expression expression = efb.getObject();

    storedProcExecutor.setStoredProcedureNameExpression(expression);
    storedProcExecutor.setBeanFactory(mock(BeanFactory.class));

    storedProcExecutor.afterPropertiesSet();

    this.mockTheOperationsCache(storedProcExecutor);

    //This should work

    storedProcExecutor.executeStoredProcedure(
            MessageBuilder.withPayload("test").setHeader("stored_procedure_name", "123").build());

    //This should cause an exception

    try {
        storedProcExecutor.executeStoredProcedure(
                MessageBuilder.withPayload("test").setHeader("some_other_header", "123").build());
    } catch (IllegalArgumentException e) {
        assertEquals(
                "Unable to resolve Stored Procedure/Function name for the provided Expression 'headers['stored_procedure_name']'.",
                e.getMessage());
        return;
    }

    fail("IllegalArgumentException expected.");

}

From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java

@Test
public void testStoredProcExecutorJdbcCallOperationsCache() throws Exception {

    final DataSource datasource = mock(DataSource.class);

    final StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource);

    final ExpressionFactoryBean efb = new ExpressionFactoryBean("headers['stored_procedure_name']");
    efb.afterPropertiesSet();/*from  w  ww  .  ja  v a 2s . c om*/
    final Expression expression = efb.getObject();

    storedProcExecutor.setStoredProcedureNameExpression(expression);
    storedProcExecutor.setBeanFactory(mock(BeanFactory.class));

    storedProcExecutor.afterPropertiesSet();

    this.mockTheOperationsCache(storedProcExecutor);

    for (int i = 1; i <= 3; i++) {
        storedProcExecutor.executeStoredProcedure(
                MessageBuilder.withPayload("test").setHeader("stored_procedure_name", "123").build());
    }

    final CacheStats stats = (CacheStats) storedProcExecutor.getJdbcCallOperationsCacheStatistics();
    LOGGER.info(stats);
    LOGGER.info(stats.totalLoadTime() / 1000 / 1000);

    assertEquals(stats.hitCount(), 2);
    assertEquals(stats.missCount(), 1);
    assertEquals(stats.loadCount(), 1);

}

From source file:org.springframework.integration.jdbc.StoredProcExecutorTests.java

@Test
public void testSetJdbcCallOperationsCacheSize() throws Exception {

    final DataSource datasource = mock(DataSource.class);

    final StoredProcExecutor storedProcExecutor = new StoredProcExecutor(datasource);

    storedProcExecutor.setJdbcCallOperationsCacheSize(0);

    final ExpressionFactoryBean efb = new ExpressionFactoryBean("headers['stored_procedure_name']");
    efb.afterPropertiesSet();/*from www.ja  v a  2s. co m*/
    final Expression expression = efb.getObject();

    storedProcExecutor.setStoredProcedureNameExpression(expression);
    storedProcExecutor.setBeanFactory(mock(BeanFactory.class));

    storedProcExecutor.afterPropertiesSet();

    this.mockTheOperationsCache(storedProcExecutor);

    for (int i = 1; i <= 10; i++) {
        storedProcExecutor.executeStoredProcedure(
                MessageBuilder.withPayload("test").setHeader("stored_procedure_name", "123").build());
    }

    final CacheStats stats = (CacheStats) storedProcExecutor.getJdbcCallOperationsCacheStatistics();
    LOGGER.info(stats);
    assertEquals("Expected a cache misscount of 10", 10, stats.missCount());

}