Search in sources :

Example 6 with SQLDataException

use of java.sql.SQLDataException in project jdk8u_jdk by JetBrains.

the class SQLDataExceptionTests method test5.

/**
     * Create SQLDataException with message, SQLState, errorCode, and Throwable
     */
@Test
public void test5() {
    SQLDataException ex = new SQLDataException(reason, state, errorCode, t);
    assertTrue(ex.getMessage().equals(reason) && ex.getSQLState().equals(state) && cause.equals(ex.getCause().toString()) && ex.getErrorCode() == errorCode);
}
Also used : SQLDataException(java.sql.SQLDataException) Test(org.testng.annotations.Test) BaseTest(util.BaseTest)

Example 7 with SQLDataException

use of java.sql.SQLDataException in project jdk8u_jdk by JetBrains.

the class SQLDataExceptionTests method test11.

/**
     * Validate that the ordering of the returned Exceptions is correct
     * using for-each loop
     */
@Test
public void test11() {
    SQLDataException ex = new SQLDataException("Exception 1", t1);
    SQLDataException ex1 = new SQLDataException("Exception 2");
    SQLDataException ex2 = new SQLDataException("Exception 3", t2);
    ex.setNextException(ex1);
    ex.setNextException(ex2);
    int num = 0;
    for (Throwable e : ex) {
        assertTrue(msgs[num++].equals(e.getMessage()));
    }
}
Also used : SQLDataException(java.sql.SQLDataException) Test(org.testng.annotations.Test) BaseTest(util.BaseTest)

Example 8 with SQLDataException

use of java.sql.SQLDataException in project jdk8u_jdk by JetBrains.

the class SQLDataExceptionTests method test12.

/**
     * Validate that the ordering of the returned Exceptions is correct
     * using traditional while loop
     */
@Test
public void test12() {
    SQLDataException ex = new SQLDataException("Exception 1", t1);
    SQLDataException ex1 = new SQLDataException("Exception 2");
    SQLDataException ex2 = new SQLDataException("Exception 3", t2);
    ex.setNextException(ex1);
    ex.setNextException(ex2);
    int num = 0;
    SQLException sqe = ex;
    while (sqe != null) {
        assertTrue(msgs[num++].equals(sqe.getMessage()));
        Throwable c = sqe.getCause();
        while (c != null) {
            assertTrue(msgs[num++].equals(c.getMessage()));
            c = c.getCause();
        }
        sqe = sqe.getNextException();
    }
}
Also used : SQLDataException(java.sql.SQLDataException) SQLException(java.sql.SQLException) Test(org.testng.annotations.Test) BaseTest(util.BaseTest)

Example 9 with SQLDataException

use of java.sql.SQLDataException in project jdk8u_jdk by JetBrains.

the class SQLDataExceptionTests method test6.

/**
     * Create SQLDataException with message, SQLState, and Throwable
     */
@Test
public void test6() {
    SQLDataException ex = new SQLDataException(reason, state, t);
    assertTrue(ex.getMessage().equals(reason) && ex.getSQLState().equals(state) && cause.equals(ex.getCause().toString()) && ex.getErrorCode() == 0);
}
Also used : SQLDataException(java.sql.SQLDataException) Test(org.testng.annotations.Test) BaseTest(util.BaseTest)

Example 10 with SQLDataException

use of java.sql.SQLDataException in project camel by apache.

the class DefaultSqlEndpoint method queryForObject.

@SuppressWarnings("unchecked")
public Object queryForObject(ResultSet rs) throws SQLException {
    Object result = null;
    if (outputClass == null) {
        RowMapper rowMapper = new ColumnMapRowMapper();
        RowMapperResultSetExtractor<Map<String, Object>> mapper = new RowMapperResultSetExtractor<Map<String, Object>>(rowMapper);
        List<Map<String, Object>> data = mapper.extractData(rs);
        if (data.size() > 1) {
            throw new SQLDataException("Query result not unique for outputType=SelectOne. Got " + data.size() + " count instead.");
        } else if (data.size() == 1) {
            // Set content depend on number of column from query result
            Map<String, Object> row = data.get(0);
            if (row.size() == 1) {
                result = row.values().iterator().next();
            } else {
                result = row;
            }
        }
    } else {
        Class<?> outputClzz = getCamelContext().getClassResolver().resolveClass(outputClass);
        RowMapper rowMapper = new BeanPropertyRowMapper(outputClzz);
        RowMapperResultSetExtractor<?> mapper = new RowMapperResultSetExtractor(rowMapper);
        List<?> data = mapper.extractData(rs);
        if (data.size() > 1) {
            throw new SQLDataException("Query result not unique for outputType=SelectOne. Got " + data.size() + " count instead.");
        } else if (data.size() == 1) {
            result = data.get(0);
        }
    }
    // If data.size is zero, let result be null.
    return result;
}
Also used : ColumnMapRowMapper(org.springframework.jdbc.core.ColumnMapRowMapper) BeanPropertyRowMapper(org.springframework.jdbc.core.BeanPropertyRowMapper) SQLDataException(java.sql.SQLDataException) RowMapperResultSetExtractor(org.springframework.jdbc.core.RowMapperResultSetExtractor) Map(java.util.Map) BeanPropertyRowMapper(org.springframework.jdbc.core.BeanPropertyRowMapper) RowMapper(org.springframework.jdbc.core.RowMapper) ColumnMapRowMapper(org.springframework.jdbc.core.ColumnMapRowMapper)

Aggregations

SQLDataException (java.sql.SQLDataException)18 Test (org.testng.annotations.Test)14 BaseTest (util.BaseTest)14 SQLException (java.sql.SQLException)4 Connection (java.sql.Connection)2 ResultSet (java.sql.ResultSet)2 SQLFeatureNotSupportedException (java.sql.SQLFeatureNotSupportedException)2 CallableStatement (java.sql.CallableStatement)1 PreparedStatement (java.sql.PreparedStatement)1 SQLNonTransientException (java.sql.SQLNonTransientException)1 Map (java.util.Map)1 BeanPropertyRowMapper (org.springframework.jdbc.core.BeanPropertyRowMapper)1 ColumnMapRowMapper (org.springframework.jdbc.core.ColumnMapRowMapper)1 RowMapper (org.springframework.jdbc.core.RowMapper)1 RowMapperResultSetExtractor (org.springframework.jdbc.core.RowMapperResultSetExtractor)1