@Override public Platform get() { try { String productName = jdbcTxManager.getConnection().getMetaData().getDatabaseProductName(); for (Platform platform : platforms) if (platform.detect(productName)) return platform; throw new OxalisLoadingException(String.format("Unable to load platform for '%s'.", productName)); } catch (SQLException e) { throw new OxalisLoadingException("Unable to detect database platform.", e); } } }
final boolean transaction = jdbcTxManager.isTransaction(); final boolean connection = jdbcTxManager.isConnection(); jdbcTxManager.trace(String.format("Transaction already exists so not starting a new one when calling method: %s", invocation.getMethod().getName())); return invocation.proceed(); jdbcTxManager.newConnection(false); jdbcTxManager.trace("Started new transaction due to annotation on method: " + invocation.getMethod().getName()); jdbcTxManager.commit(); } catch (Throwable thr) { jdbcTxManager.trace("Rolling back transaction due to exception: " + thr.getMessage()); jdbcTxManager.rollback(); jdbcTxManager.trace("Rolling back transaction ok"); jdbcTxManager.cleanUp();
jdbcTxManager.trace(String.format( "Ignoring method %s because it is annotated with Transactional", invocation.getMethod().toGenericString())); if (jdbcTxManager.isConnection()) { jdbcTxManager.trace("Using existing connection for method " + invocation.getMethod().getName()); return invocation.proceed(); jdbcTxManager.newConnection(true); jdbcTxManager.trace("Fetched connection from datasource"); jdbcTxManager.cleanUp();
jdbcTxManager.trace(String.format( "Ignoring method %s because it is annotated with Transactional", invocation.getMethod().toGenericString())); if (jdbcTxManager.isConnection()) { jdbcTxManager.trace("Using existing connection for method " + invocation.getMethod().getName()); return invocation.proceed(); jdbcTxManager.newConnection(true); jdbcTxManager.trace("Fetched connection from datasource"); jdbcTxManager.cleanUp();
@Override public Platform get() { try { String productName = jdbcTxManager.getConnection().getMetaData().getDatabaseProductName(); for (Platform platform : platforms) if (platform.detect(productName)) return platform; throw new OxalisLoadingException(String.format("Unable to load platform for '%s'.", productName)); } catch (SQLException e) { throw new OxalisLoadingException("Unable to detect database platform.", e); } } }
final boolean transaction = jdbcTxManager.isTransaction(); final boolean connection = jdbcTxManager.isConnection(); jdbcTxManager.trace(String.format("Transaction already exists so not starting a new one when calling method: %s", invocation.getMethod().getName())); return invocation.proceed(); jdbcTxManager.newConnection(false); jdbcTxManager.trace("Started new transaction due to annotation on method: " + invocation.getMethod().getName()); jdbcTxManager.commit(); } catch (Throwable thr) { jdbcTxManager.trace("Rolling back transaction due to exception: " + thr.getMessage()); jdbcTxManager.rollback(); jdbcTxManager.trace("Rolling back transaction ok"); jdbcTxManager.cleanUp();
@Test public void simple() throws Exception { Mockito.doReturn(connection).when(jdbcTxManager).getConnection(); Mockito.doReturn(databaseMetaData).when(connection).getMetaData(); Mockito.doReturn("H2").when(databaseMetaData).getDatabaseProductName(); Platform platform = new H2Platform(); PlatformProvider platformProvider = new PlatformProvider(jdbcTxManager, Collections.singleton(platform)); Assert.assertEquals(platformProvider.get(), platform); }
@Test(expectedExceptions = OxalisLoadingException.class) public void notFound() throws Exception { Mockito.doReturn(connection).when(jdbcTxManager).getConnection(); Mockito.doReturn(databaseMetaData).when(connection).getMetaData(); Mockito.doReturn("MySQL").when(databaseMetaData).getDatabaseProductName(); Platform platform = new H2Platform(); PlatformProvider platformProvider = new PlatformProvider(jdbcTxManager, Collections.singleton(platform)); platformProvider.get(); }
@Test(expectedExceptions = OxalisLoadingException.class) public void exception() throws Exception { Mockito.doReturn(connection).when(jdbcTxManager).getConnection(); Mockito.doThrow(new SQLException()).when(connection).getMetaData(); Platform platform = new H2Platform(); PlatformProvider platformProvider = new PlatformProvider(jdbcTxManager, Collections.singleton(platform)); platformProvider.get(); } }
PreparedStatement ps; try { con = jdbcTxManager.getConnection(); ps = con.prepareStatement(sql);
PreparedStatement ps; try { con = jdbcTxManager.getConnection(); ps = con.prepareStatement(sql);
PreparedStatement ps; try { con = jdbcTxManager.getConnection(); ps = con.prepareStatement(sql);
PreparedStatement ps; try { con = jdbcTxManager.getConnection(); ps = con.prepareStatement(sql);
Integer result = 0; try { con = jdbcTxManager.getConnection(); String sqlStatement = this.getPersistSqlQueryText();
con = jdbcTxManager.getConnection(); ps = con.prepareStatement(sqlStatement, Statement.RETURN_GENERATED_KEYS);
Integer result = 0; try { con = jdbcTxManager.getConnection(); String sqlStatement = this.getPersistSqlQueryText();
con = jdbcTxManager.getConnection(); ps = con.prepareStatement(sqlStatement, Statement.RETURN_GENERATED_KEYS);