55 */
66package org .hibernate .reactive .testing ;
77
8- import java .util .ArrayList ;
9- import java .util .List ;
108import java .util .concurrent .CompletionStage ;
119import java .util .function .Supplier ;
1210
1311import org .hibernate .SessionFactory ;
1412import 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 ;
1813import org .hibernate .reactive .pool .ReactiveConnectionPool ;
19- import org .hibernate .reactive .query .sqm .mutation .internal .temptable .ReactivePersistentTableStrategy ;
2014
21- import static org .hibernate .reactive .util .impl .CompletionStages .loop ;
2215import static org .hibernate .reactive .util .impl .CompletionStages .voidFuture ;
2316
2417/**
@@ -60,24 +53,8 @@ public ReactiveConnectionPool getReactiveConnectionPool() {
6053 public CompletionStage <Void > stop () {
6154 CompletionStage <Void > releasedStage = voidFuture ();
6255 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 () );
8158 }
8259 return releasedStage
8360 .thenCompose ( unused -> {
@@ -93,13 +70,4 @@ public CompletionStage<Void> stop() {
9370 return closeFuture ;
9471 } );
9572 }
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- }
10573}
0 commit comments