5
5
*/
6
6
package org .hibernate .reactive .testing ;
7
7
8
- import java .util .ArrayList ;
9
- import java .util .List ;
10
8
import java .util .concurrent .CompletionStage ;
11
9
import java .util .function .Supplier ;
12
10
13
11
import org .hibernate .SessionFactory ;
14
12
import org .hibernate .engine .spi .SessionFactoryImplementor ;
15
- import org .hibernate .metamodel .spi .MappingMetamodelImplementor ;
16
- import org .hibernate .persister .entity .EntityPersister ;
17
- import org .hibernate .query .sqm .mutation .internal .temptable .PersistentTableStrategy ;
18
13
import org .hibernate .reactive .pool .ReactiveConnectionPool ;
19
- import org .hibernate .reactive .query .sqm .mutation .internal .temptable .ReactivePersistentTableStrategy ;
20
14
21
- import static org .hibernate .reactive .util .impl .CompletionStages .loop ;
22
15
import static org .hibernate .reactive .util .impl .CompletionStages .voidFuture ;
23
16
24
17
/**
@@ -60,24 +53,8 @@ public ReactiveConnectionPool getReactiveConnectionPool() {
60
53
public CompletionStage <Void > stop () {
61
54
CompletionStage <Void > releasedStage = voidFuture ();
62
55
if ( sessionFactory != null && sessionFactory .isOpen () ) {
63
- SessionFactoryImplementor sessionFactoryImplementor = sessionFactory .unwrap ( SessionFactoryImplementor .class );
64
- MappingMetamodelImplementor mappingMetamodel = sessionFactoryImplementor
65
- .getRuntimeMetamodels ()
66
- .getMappingMetamodel ();
67
- final List <ReactivePersistentTableStrategy > reactiveStrategies = new ArrayList <>();
68
- mappingMetamodel .forEachEntityDescriptor (
69
- entityPersister -> addPersistentTableStrategy ( reactiveStrategies , entityPersister )
70
- );
71
- if ( !reactiveStrategies .isEmpty () ) {
72
- releasedStage = loop ( reactiveStrategies , strategy -> {
73
- ( (PersistentTableStrategy ) strategy )
74
- .release ( sessionFactory .unwrap ( SessionFactoryImplementor .class ), null );
75
- return strategy .getDropTableActionStage ();
76
- } );
77
-
78
- releasedStage = releasedStage
79
- .whenComplete ( (unused , throwable ) -> sessionFactory .close () );
80
- }
56
+ releasedStage = releasedStage
57
+ .whenComplete ( (unused , throwable ) -> sessionFactory .close () );
81
58
}
82
59
return releasedStage
83
60
.thenCompose ( unused -> {
@@ -93,13 +70,4 @@ public CompletionStage<Void> stop() {
93
70
return closeFuture ;
94
71
} );
95
72
}
96
-
97
- private void addPersistentTableStrategy (List <ReactivePersistentTableStrategy > reactiveStrategies , EntityPersister entityPersister ) {
98
- if ( entityPersister .getSqmMultiTableMutationStrategy () instanceof ReactivePersistentTableStrategy ) {
99
- reactiveStrategies .add ( (ReactivePersistentTableStrategy ) entityPersister .getSqmMultiTableMutationStrategy () );
100
- }
101
- if ( entityPersister .getSqmMultiTableInsertStrategy () instanceof ReactivePersistentTableStrategy ) {
102
- reactiveStrategies .add ( (ReactivePersistentTableStrategy ) entityPersister .getSqmMultiTableInsertStrategy () );
103
- }
104
- }
105
73
}
0 commit comments