diff --git a/jOOQ-examples/jOOQ-spring-boot-example/src/main/java/org/jooq/example/spring/config/JooqSpringBootConfiguration.java b/jOOQ-examples/jOOQ-spring-boot-example/src/main/java/org/jooq/example/spring/config/JooqSpringBootConfiguration.java deleted file mode 100644 index 076abb818e..0000000000 --- a/jOOQ-examples/jOOQ-spring-boot-example/src/main/java/org/jooq/example/spring/config/JooqSpringBootConfiguration.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.jooq.example.spring.config; - -import org.jooq.ConnectionProvider; -import org.jooq.DSLContext; -import org.jooq.ExecuteListenerProvider; -import org.jooq.SQLDialect; -import org.jooq.TransactionProvider; -import org.jooq.example.spring.exception.ExceptionTranslator; -import org.jooq.impl.DataSourceConnectionProvider; -import org.jooq.impl.DefaultConfiguration; -import org.jooq.impl.DefaultDSLContext; -import org.jooq.impl.DefaultExecuteListenerProvider; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.jdbc.datasource.DataSourceTransactionManager; -import org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy; - -import javax.sql.DataSource; - -/** - * @author Jacques Gonzalez - */ -@Configuration -public class JooqSpringBootConfiguration { - - @Bean - public DataSourceTransactionManager transactionManager(DataSource dataSource) { - return new DataSourceTransactionManager(dataSource); - } - - @Bean - public DSLContext dsl(org.jooq.Configuration config) { - return new DefaultDSLContext(config); - } - - @Bean - public ConnectionProvider connectionProvider(DataSource dataSource) { - return new DataSourceConnectionProvider(new TransactionAwareDataSourceProxy(dataSource)); - } - - @Bean - public TransactionProvider transactionProvider() { - return new SpringTransactionProvider(); - } - - @Bean - public ExceptionTranslator exceptionTranslator() { - return new ExceptionTranslator(); - } - - @Bean - public ExecuteListenerProvider executeListenerProvider(ExceptionTranslator exceptionTranslator) { - return new DefaultExecuteListenerProvider(exceptionTranslator); - } - - @Bean - public org.jooq.Configuration jooqConfig(ConnectionProvider connectionProvider, - TransactionProvider transactionProvider, ExecuteListenerProvider executeListenerProvider) { - - return new DefaultConfiguration() // - .derive(connectionProvider) // - .derive(transactionProvider) // - .derive(executeListenerProvider) // - .derive(SQLDialect.H2); - } -} diff --git a/jOOQ-examples/jOOQ-spring-boot-example/src/main/java/org/jooq/example/spring/config/SpringTransaction.java b/jOOQ-examples/jOOQ-spring-boot-example/src/main/java/org/jooq/example/spring/config/SpringTransaction.java deleted file mode 100644 index 4c53ce1a5f..0000000000 --- a/jOOQ-examples/jOOQ-spring-boot-example/src/main/java/org/jooq/example/spring/config/SpringTransaction.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Other licenses: - * ----------------------------------------------------------------------------- - * Commercial licenses for this work are available. These replace the above - * ASL 2.0 and offer limited warranties, support, maintenance, and commercial - * database integrations. - * - * For more information, please visit: http://www.jooq.org/licenses - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - */ -package org.jooq.example.spring.config; - -import org.jooq.Transaction; -import org.springframework.transaction.TransactionStatus; - -class SpringTransaction implements Transaction { - final TransactionStatus tx; - - SpringTransaction(TransactionStatus tx) { - this.tx = tx; - } -} diff --git a/jOOQ-examples/jOOQ-spring-boot-example/src/main/java/org/jooq/example/spring/config/SpringTransactionProvider.java b/jOOQ-examples/jOOQ-spring-boot-example/src/main/java/org/jooq/example/spring/config/SpringTransactionProvider.java deleted file mode 100644 index bb36d6d45c..0000000000 --- a/jOOQ-examples/jOOQ-spring-boot-example/src/main/java/org/jooq/example/spring/config/SpringTransactionProvider.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Other licenses: - * ----------------------------------------------------------------------------- - * Commercial licenses for this work are available. These replace the above - * ASL 2.0 and offer limited warranties, support, maintenance, and commercial - * database integrations. - * - * For more information, please visit: http://www.jooq.org/licenses - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - */ -package org.jooq.example.spring.config; - -import static org.springframework.transaction.TransactionDefinition.PROPAGATION_NESTED; - -import org.jooq.TransactionContext; -import org.jooq.TransactionProvider; -import org.jooq.tools.JooqLogger; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.jdbc.datasource.DataSourceTransactionManager; -import org.springframework.stereotype.Component; -import org.springframework.transaction.TransactionStatus; -import org.springframework.transaction.support.DefaultTransactionDefinition; - -/** - * An example TransactionProvider implementing the {@link TransactionProvider} contract for use with - * Spring. - * - * @author Lukas Eder - */ -public class SpringTransactionProvider implements TransactionProvider { - - private static final JooqLogger log = JooqLogger.getLogger(SpringTransactionProvider.class); - - @Autowired DataSourceTransactionManager txMgr; - - @Override - public void begin(TransactionContext ctx) { - log.info("Begin transaction"); - - // This TransactionProvider behaves like jOOQ's DefaultTransactionProvider, - // which supports nested transactions using Savepoints - TransactionStatus tx = txMgr.getTransaction(new DefaultTransactionDefinition(PROPAGATION_NESTED)); - ctx.transaction(new SpringTransaction(tx)); - } - - @Override - public void commit(TransactionContext ctx) { - log.info("commit transaction"); - - txMgr.commit(((SpringTransaction) ctx.transaction()).tx); - } - - @Override - public void rollback(TransactionContext ctx) { - log.info("rollback transaction"); - - txMgr.rollback(((SpringTransaction) ctx.transaction()).tx); - } -} diff --git a/jOOQ-examples/jOOQ-spring-boot-example/src/main/java/org/jooq/example/spring/exception/ExceptionTranslator.java b/jOOQ-examples/jOOQ-spring-boot-example/src/main/java/org/jooq/example/spring/exception/ExceptionTranslator.java deleted file mode 100644 index 582b64c17f..0000000000 --- a/jOOQ-examples/jOOQ-spring-boot-example/src/main/java/org/jooq/example/spring/exception/ExceptionTranslator.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Other licenses: - * ----------------------------------------------------------------------------- - * Commercial licenses for this work are available. These replace the above - * ASL 2.0 and offer limited warranties, support, maintenance, and commercial - * database integrations. - * - * For more information, please visit: http://www.jooq.org/licenses - * - * - * - * - * - * - * - * - * - * - * - * - * - */ -package org.jooq.example.spring.exception; - -import org.jooq.ExecuteContext; -import org.jooq.SQLDialect; -import org.jooq.impl.DefaultExecuteListener; - -import org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator; -import org.springframework.jdbc.support.SQLExceptionTranslator; -import org.springframework.jdbc.support.SQLStateSQLExceptionTranslator; - -/** - * This class transforms SQLException into a Spring specific - * DataAccessException. The idea behind this is borrowed from Adam Zell's Gist - * - * @author Petri Kainulainen - * @author Adam Zell - * @author Lukas Eder - * @see http://www.petrikainulainen.net/programming/jooq/using-jooq-with-spring-configuration/ - * @see https://gist.github.com/azell/5655888 - */ -public class ExceptionTranslator extends DefaultExecuteListener { - - /** - * Generated UID - */ - private static final long serialVersionUID = -2450323227461061152L; - - @Override - public void exception(ExecuteContext ctx) { - - // [#4391] Translate only SQLExceptions - if (ctx.sqlException() != null) { - SQLDialect dialect = ctx.dialect(); - SQLExceptionTranslator translator = (dialect != null) - ? new SQLErrorCodeSQLExceptionTranslator(dialect.thirdParty().springDbName()) - : new SQLStateSQLExceptionTranslator(); - - ctx.exception(translator.translate("jOOQ", ctx.sql(), ctx.sqlException())); - } - } -}