23
23
import java .util .Collections ;
24
24
import java .util .List ;
25
25
import java .util .function .BiFunction ;
26
- import java .util .function .Function ;
27
26
28
- import org .springframework .core .annotation .AnnotatedElementUtils ;
29
27
import org .springframework .dao .InvalidDataAccessResourceUsageException ;
30
28
import org .springframework .data .convert .CustomConversions .StoreConversions ;
31
29
import org .springframework .data .mapping .context .MappingContext ;
32
30
import org .springframework .data .r2dbc .convert .EntityRowMapper ;
33
31
import org .springframework .data .r2dbc .convert .MappingR2dbcConverter ;
34
32
import org .springframework .data .r2dbc .convert .R2dbcConverter ;
35
33
import org .springframework .data .r2dbc .convert .R2dbcCustomConversions ;
36
- import org .springframework .data .r2dbc .dialect .ArrayColumns ;
37
34
import org .springframework .data .r2dbc .dialect .BindMarkersFactory ;
38
- import org .springframework .data .r2dbc .dialect .Dialect ;
35
+ import org .springframework .data .r2dbc .dialect .R2dbcDialect ;
39
36
import org .springframework .data .r2dbc .mapping .OutboundRow ;
40
37
import org .springframework .data .r2dbc .mapping .SettableValue ;
41
38
import org .springframework .data .r2dbc .query .UpdateMapper ;
42
- import org .springframework .data .relational .core .mapping .NamingStrategy ;
39
+ import org .springframework .data .relational .core .dialect .ArrayColumns ;
40
+ import org .springframework .data .relational .core .dialect .RenderContextFactory ;
43
41
import org .springframework .data .relational .core .mapping .RelationalMappingContext ;
44
42
import org .springframework .data .relational .core .mapping .RelationalPersistentEntity ;
45
43
import org .springframework .data .relational .core .mapping .RelationalPersistentProperty ;
46
- import org .springframework .data .relational .core .mapping .Table ;
47
- import org .springframework .data .relational .core .sql .Select ;
48
- import org .springframework .data .relational .core .sql .render .NamingStrategies ;
49
- import org .springframework .data .relational .core .sql .render .RenderContext ;
50
- import org .springframework .data .relational .core .sql .render .RenderNamingStrategy ;
51
- import org .springframework .data .relational .core .sql .render .SelectRenderContext ;
52
44
import org .springframework .lang .Nullable ;
53
45
import org .springframework .util .Assert ;
54
46
import org .springframework .util .ClassUtils ;
55
- import org .springframework .util .StringUtils ;
56
47
57
48
/**
58
49
* Default {@link ReactiveDataAccessStrategy} implementation.
61
52
*/
62
53
public class DefaultReactiveDataAccessStrategy implements ReactiveDataAccessStrategy {
63
54
64
- private final Dialect dialect ;
55
+ private final R2dbcDialect dialect ;
65
56
private final R2dbcConverter converter ;
66
57
private final UpdateMapper updateMapper ;
67
58
private final MappingContext <RelationalPersistentEntity <?>, ? extends RelationalPersistentProperty > mappingContext ;
68
59
private final StatementMapper statementMapper ;
69
60
70
61
/**
71
- * Creates a new {@link DefaultReactiveDataAccessStrategy} given {@link Dialect } and optional
62
+ * Creates a new {@link DefaultReactiveDataAccessStrategy} given {@link R2dbcDialect } and optional
72
63
* {@link org.springframework.core.convert.converter.Converter}s.
73
64
*
74
- * @param dialect the {@link Dialect } to use.
65
+ * @param dialect the {@link R2dbcDialect } to use.
75
66
*/
76
- public DefaultReactiveDataAccessStrategy (Dialect dialect ) {
67
+ public DefaultReactiveDataAccessStrategy (R2dbcDialect dialect ) {
77
68
this (dialect , Collections .emptyList ());
78
69
}
79
70
80
71
/**
81
- * Creates a new {@link DefaultReactiveDataAccessStrategy} given {@link Dialect } and optional
72
+ * Creates a new {@link DefaultReactiveDataAccessStrategy} given {@link R2dbcDialect } and optional
82
73
* {@link org.springframework.core.convert.converter.Converter}s.
83
74
*
84
- * @param dialect the {@link Dialect } to use.
75
+ * @param dialect the {@link R2dbcDialect } to use.
85
76
* @param converters custom converters to register, must not be {@literal null}.
86
77
* @see R2dbcCustomConversions
87
78
* @see org.springframework.core.convert.converter.Converter
88
79
*/
89
- public DefaultReactiveDataAccessStrategy (Dialect dialect , Collection <?> converters ) {
80
+ public DefaultReactiveDataAccessStrategy (R2dbcDialect dialect , Collection <?> converters ) {
90
81
this (dialect , createConverter (dialect , converters ));
91
82
}
92
83
93
- private static R2dbcConverter createConverter (Dialect dialect , Collection <?> converters ) {
84
+ private static R2dbcConverter createConverter (R2dbcDialect dialect , Collection <?> converters ) {
94
85
95
86
Assert .notNull (dialect , "Dialect must not be null" );
96
87
Assert .notNull (converters , "Converters must not be null" );
@@ -105,13 +96,13 @@ private static R2dbcConverter createConverter(Dialect dialect, Collection<?> con
105
96
}
106
97
107
98
/**
108
- * Creates a new {@link DefaultReactiveDataAccessStrategy} given {@link Dialect } and {@link R2dbcConverter}.
99
+ * Creates a new {@link DefaultReactiveDataAccessStrategy} given {@link R2dbcDialect } and {@link R2dbcConverter}.
109
100
*
110
- * @param dialect the {@link Dialect } to use.
101
+ * @param dialect the {@link R2dbcDialect } to use.
111
102
* @param converter must not be {@literal null}.
112
103
*/
113
104
@ SuppressWarnings ("unchecked" )
114
- public DefaultReactiveDataAccessStrategy (Dialect dialect , R2dbcConverter converter ) {
105
+ public DefaultReactiveDataAccessStrategy (R2dbcDialect dialect , R2dbcConverter converter ) {
115
106
116
107
Assert .notNull (dialect , "Dialect must not be null" );
117
108
Assert .notNull (converter , "RelationalConverter must not be null" );
@@ -122,29 +113,9 @@ public DefaultReactiveDataAccessStrategy(Dialect dialect, R2dbcConverter convert
122
113
.getMappingContext ();
123
114
this .dialect = dialect ;
124
115
125
- RenderContext renderContext = new RenderContext () {
126
- @ Override
127
- public RenderNamingStrategy getNamingStrategy () {
128
- return NamingStrategies .asIs ();
129
- }
130
-
131
- @ Override
132
- public SelectRenderContext getSelect () {
133
- return new SelectRenderContext () {
134
- @ Override
135
- public Function <Select , ? extends CharSequence > afterSelectList () {
136
- return it -> "" ;
137
- }
138
-
139
- @ Override
140
- public Function <Select , ? extends CharSequence > afterOrderBy (boolean hasOrderBy ) {
141
- return it -> "" ;
142
- }
143
- };
144
- }
145
- };
146
-
147
- this .statementMapper = new DefaultStatementMapper (dialect , renderContext , this .updateMapper , this .mappingContext );
116
+ RenderContextFactory factory = new RenderContextFactory (dialect );
117
+ this .statementMapper = new DefaultStatementMapper (dialect , factory .createRenderContext (), this .updateMapper ,
118
+ this .mappingContext );
148
119
}
149
120
150
121
/*
0 commit comments