This commit is contained in:
Stephane Nicoll
2021-01-11 14:39:56 +01:00
parent 0897af0dfa
commit 6bf74e5752
2 changed files with 24 additions and 77 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2012-2019 the original author or authors.
* Copyright 2012-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2012-2020 the original author or authors.
* Copyright 2012-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,8 +16,6 @@
package org.springframework.boot.autoconfigure.jooq;
import java.util.concurrent.Executor;
import javax.sql.DataSource;
import org.jooq.CharsetProvider;
@@ -26,19 +24,12 @@ import org.jooq.DSLContext;
import org.jooq.ExecuteListener;
import org.jooq.ExecuteListenerProvider;
import org.jooq.ExecutorProvider;
import org.jooq.Record;
import org.jooq.RecordListener;
import org.jooq.RecordListenerProvider;
import org.jooq.RecordMapper;
import org.jooq.RecordMapperProvider;
import org.jooq.RecordType;
import org.jooq.RecordUnmapper;
import org.jooq.RecordUnmapperProvider;
import org.jooq.SQLDialect;
import org.jooq.TransactionListener;
import org.jooq.TransactionListenerProvider;
import org.jooq.TransactionalRunnable;
import org.jooq.VisitListener;
import org.jooq.VisitListenerProvider;
import org.jooq.impl.DefaultExecuteListenerProvider;
import org.junit.jupiter.api.Test;
@@ -132,23 +123,33 @@ class JooqAutoConfigurationTests {
@Test
@Deprecated
void customProvidersArePickedUp() {
this.contextRunner.withUserConfiguration(JooqDataSourceConfiguration.class, TxManagerConfiguration.class,
TestRecordMapperProvider.class, TestRecordUnmapperProvider.class, TestRecordListenerProvider.class,
TestExecuteListenerProvider.class, TestVisitListenerProvider.class,
TestTransactionListenerProvider.class, TestExecutorProvider.class).run((context) -> {
RecordMapperProvider recordMapperProvider = mock(RecordMapperProvider.class);
RecordUnmapperProvider recordUnmapperProvider = mock(RecordUnmapperProvider.class);
RecordListenerProvider recordListenerProvider = mock(RecordListenerProvider.class);
VisitListenerProvider visitListenerProvider = mock(VisitListenerProvider.class);
TransactionListenerProvider transactionListenerProvider = mock(TransactionListenerProvider.class);
ExecutorProvider executorProvider = mock(ExecutorProvider.class);
this.contextRunner
.withUserConfiguration(JooqDataSourceConfiguration.class, TxManagerConfiguration.class,
TestExecuteListenerProvider.class)
.withBean(RecordMapperProvider.class, () -> recordMapperProvider)
.withBean(RecordUnmapperProvider.class, () -> recordUnmapperProvider)
.withBean(RecordListenerProvider.class, () -> recordListenerProvider)
.withBean(VisitListenerProvider.class, () -> visitListenerProvider)
.withBean(TransactionListenerProvider.class, () -> transactionListenerProvider)
.withBean(ExecutorProvider.class, () -> executorProvider).run((context) -> {
DSLContext dsl = context.getBean(DSLContext.class);
assertThat(dsl.configuration().recordMapperProvider().getClass())
.isEqualTo(TestRecordMapperProvider.class);
assertThat(dsl.configuration().recordUnmapperProvider().getClass())
.isEqualTo(TestRecordUnmapperProvider.class);
assertThat(dsl.configuration().executorProvider().getClass()).isEqualTo(TestExecutorProvider.class);
assertThat(dsl.configuration().recordListenerProviders()).hasSize(1);
assertThat(dsl.configuration().recordMapperProvider()).isSameAs(recordMapperProvider);
assertThat(dsl.configuration().recordUnmapperProvider()).isSameAs(recordUnmapperProvider);
assertThat(dsl.configuration().executorProvider()).isSameAs(executorProvider);
assertThat(dsl.configuration().recordListenerProviders()).containsExactly(recordListenerProvider);
ExecuteListenerProvider[] executeListenerProviders = dsl.configuration().executeListenerProviders();
assertThat(executeListenerProviders).hasSize(2);
assertThat(executeListenerProviders[0]).isInstanceOf(DefaultExecuteListenerProvider.class);
assertThat(executeListenerProviders[1]).isInstanceOf(TestExecuteListenerProvider.class);
assertThat(dsl.configuration().visitListenerProviders()).hasSize(1);
assertThat(dsl.configuration().transactionListenerProviders()).hasSize(1);
assertThat(dsl.configuration().visitListenerProviders()).containsExactly(visitListenerProvider);
assertThat(dsl.configuration().transactionListenerProviders())
.containsExactly(transactionListenerProvider);
});
}
@@ -221,33 +222,6 @@ class JooqAutoConfigurationTests {
}
static class TestRecordMapperProvider implements RecordMapperProvider {
@Override
public <R extends Record, E> RecordMapper<R, E> provide(RecordType<R> recordType, Class<? extends E> aClass) {
return null;
}
}
static class TestRecordUnmapperProvider implements RecordUnmapperProvider {
@Override
public <E, R extends Record> RecordUnmapper<E, R> provide(Class<? extends E> aClass, RecordType<R> recordType) {
return null;
}
}
static class TestRecordListenerProvider implements RecordListenerProvider {
@Override
public RecordListener provide() {
return null;
}
}
@Order(100)
static class TestExecuteListenerProvider implements ExecuteListenerProvider {
@@ -258,31 +232,4 @@ class JooqAutoConfigurationTests {
}
static class TestVisitListenerProvider implements VisitListenerProvider {
@Override
public VisitListener provide() {
return null;
}
}
static class TestTransactionListenerProvider implements TransactionListenerProvider {
@Override
public TransactionListener provide() {
return null;
}
}
static class TestExecutorProvider implements ExecutorProvider {
@Override
public Executor provide() {
return null;
}
}
}