Skip to content

Commit f32d152

Browse files
committed
Fixed dependency issues between sql.render and dialect.
Moved SelectRenderContext and InsertRenderContext to dialect. Moved RenderContextFactory to render. See #777
1 parent 770e090 commit f32d152

File tree

20 files changed

+33
-55
lines changed

20 files changed

+33
-55
lines changed

Diff for: spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/SqlGenerator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
import org.springframework.data.mapping.PersistentPropertyPath;
2222
import org.springframework.data.mapping.context.MappingContext;
2323
import org.springframework.data.relational.core.dialect.Dialect;
24-
import org.springframework.data.relational.core.dialect.RenderContextFactory;
24+
import org.springframework.data.relational.core.sql.render.RenderContextFactory;
2525
import org.springframework.data.relational.core.mapping.PersistentPropertyPathExtension;
2626
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
2727
import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;

Diff for: spring-data-jdbc/src/main/java/org/springframework/data/jdbc/repository/query/JdbcQueryCreator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import org.springframework.data.mapping.PersistentPropertyPath;
2626
import org.springframework.data.mapping.context.MappingContext;
2727
import org.springframework.data.relational.core.dialect.Dialect;
28-
import org.springframework.data.relational.core.dialect.RenderContextFactory;
28+
import org.springframework.data.relational.core.sql.render.RenderContextFactory;
2929
import org.springframework.data.relational.core.mapping.PersistentPropertyPathExtension;
3030
import org.springframework.data.relational.core.mapping.RelationalMappingContext;
3131
import org.springframework.data.relational.core.mapping.RelationalPersistentEntity;

Diff for: spring-data-jdbc/src/test/java/org/springframework/data/jdbc/repository/config/AbstractJdbcConfigurationIntegrationTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
import org.springframework.data.relational.core.dialect.Dialect;
4141
import org.springframework.data.relational.core.dialect.LimitClause;
4242
import org.springframework.data.relational.core.dialect.LockClause;
43-
import org.springframework.data.relational.core.sql.render.SelectRenderContext;
43+
import org.springframework.data.relational.core.dialect.SelectRenderContext;
4444
import org.springframework.jdbc.core.JdbcOperations;
4545
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations;
4646
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;

Diff for: spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/AbstractDialect.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.springframework.data.relational.core.sql.LockMode;
2222
import org.springframework.data.relational.core.sql.LockOptions;
2323
import org.springframework.data.relational.core.sql.Select;
24-
import org.springframework.data.relational.core.sql.render.SelectRenderContext;
2524

2625
/**
2726
* Base class for {@link Dialect} implementations.
@@ -115,7 +114,7 @@ static class DialectSelectRenderContext implements SelectRenderContext {
115114

116115
/*
117116
* (non-Javadoc)
118-
* @see org.springframework.data.relational.core.sql.render.SelectRenderContext#afterFromTable()
117+
* @see org.springframework.data.relational.core.dialect.SelectRenderContext#afterFromTable()
119118
*/
120119
@Override
121120
public Function<Select, ? extends CharSequence> afterFromTable() {
@@ -124,7 +123,7 @@ static class DialectSelectRenderContext implements SelectRenderContext {
124123

125124
/*
126125
* (non-Javadoc)
127-
* @see org.springframework.data.relational.core.sql.render.SelectRenderContext#afterOrderBy(boolean)
126+
* @see org.springframework.data.relational.core.dialect.SelectRenderContext#afterOrderBy(boolean)
128127
*/
129128
@Override
130129
public Function<Select, ? extends CharSequence> afterOrderBy(boolean hasOrderBy) {

Diff for: spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/Dialect.java

+3-5
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,8 @@
1919
import java.util.Collections;
2020
import java.util.Set;
2121

22-
import org.springframework.data.relational.core.mapping.InsertDefaultValues;
2322
import org.springframework.data.relational.core.sql.IdentifierProcessing;
2423
import org.springframework.data.relational.core.sql.SqlIdentifier;
25-
import org.springframework.data.relational.core.sql.render.SelectRenderContext;
2624

2725
/**
2826
* Represents a dialect that is implemented by a particular database. Please note that not all features are supported by
@@ -113,12 +111,12 @@ default Set<Class<?>> simpleTypes() {
113111
}
114112

115113
/**
116-
* @return an appropriate {@link InsertWithDefaultValues } for that specific dialect.
114+
* @return an appropriate {@link InsertRenderContext} for that specific dialect.
117115
* for most of the Dialects the default implementation will be valid, but, for
118116
* example, in case of {@link SqlServerDialect} it is not.
119117
* @since 2.4
120118
*/
121-
default InsertWithDefaultValues getSqlInsertWithDefaultValues() {
122-
return InsertDefaultValues.DEFAULT;
119+
default InsertRenderContext getSqlInsertWithDefaultValues() {
120+
return InsertRenderContexts.DEFAULT;
123121
}
124122
}

Diff for: spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/InsertRenderContext.java renamed to spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/InsertRenderContext.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package org.springframework.data.relational.core.sql.render;
1+
package org.springframework.data.relational.core.dialect;
22

3-
import org.springframework.data.relational.core.mapping.InsertDefaultValues;
43
import org.springframework.data.relational.core.sql.Insert;
4+
import org.springframework.data.relational.core.sql.render.RenderContext;
55

66
/**
77
* This interface encapsulates the details about how to
@@ -13,5 +13,5 @@
1313
*/
1414
public interface InsertRenderContext {
1515

16-
String getInsertDefaultValuesPartSQL();
16+
String getDefaultInsertPart();
1717
}

Diff for: spring-data-relational/src/main/java/org/springframework/data/relational/core/mapping/InsertDefaultValues.java renamed to spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/InsertRenderContexts.java

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,24 @@
1-
package org.springframework.data.relational.core.mapping;
2-
3-
import org.springframework.data.relational.core.dialect.Dialect;
4-
import org.springframework.data.relational.core.dialect.InsertWithDefaultValues;
1+
package org.springframework.data.relational.core.dialect;
52

63
/**
74
* In the scope of Insert with default values SQL statement, for example {@literal INSERT INTO SCHEMA.TABLE VALUES
85
* (DEFAULT)} this enum represents the default values part in different {@link Dialect}s
96
*
107
* @author Mikhail Polivakha
11-
* @see InsertWithDefaultValues
128
* @since 2.4
139
*/
14-
public enum InsertDefaultValues implements InsertWithDefaultValues{
10+
public enum InsertRenderContexts implements InsertRenderContext{
1511

1612
DEFAULT(" VALUES (DEFAULT)"),
1713
MS_SQL_SERVER(" DEFAULT VALUES");
1814

1915
private final String defaultInsertPart;
2016

21-
InsertDefaultValues(String defaultInsertPart) {
17+
InsertRenderContexts(String defaultInsertPart) {
2218
this.defaultInsertPart = defaultInsertPart;
2319
}
2420

21+
@Override
2522
public String getDefaultInsertPart() {
2623
return defaultInsertPart;
2724
}

Diff for: spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/InsertWithDefaultValues.java

-17
This file was deleted.

Diff for: spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/SelectRenderContext.java renamed to spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/SelectRenderContext.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package org.springframework.data.relational.core.sql.render;
16+
package org.springframework.data.relational.core.dialect;
1717

1818
import java.util.OptionalLong;
1919
import java.util.function.Function;

Diff for: spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/SqlServerDialect.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@
1515
*/
1616
package org.springframework.data.relational.core.dialect;
1717

18-
import org.springframework.data.relational.core.mapping.InsertDefaultValues;
1918
import org.springframework.data.relational.core.sql.IdentifierProcessing;
2019
import org.springframework.data.relational.core.sql.LockOptions;
21-
import org.springframework.data.relational.core.sql.render.SelectRenderContext;
2220
import org.springframework.data.util.Lazy;
2321

2422
/**
@@ -154,7 +152,7 @@ public IdentifierProcessing getIdentifierProcessing() {
154152
}
155153

156154
@Override
157-
public InsertWithDefaultValues getSqlInsertWithDefaultValues() {
158-
return InsertDefaultValues.MS_SQL_SERVER;
155+
public InsertRenderContext getSqlInsertWithDefaultValues() {
156+
return InsertRenderContexts.MS_SQL_SERVER;
159157
}
160158
}

Diff for: spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/SqlServerSelectRenderContext.java

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import java.util.function.Function;
1919

2020
import org.springframework.data.relational.core.sql.Select;
21-
import org.springframework.data.relational.core.sql.render.SelectRenderContext;
2221

2322
/**
2423
* SQL-Server specific {@link SelectRenderContext}. Summary of SQL-specifics:

Diff for: spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/InsertStatementVisitor.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616
package org.springframework.data.relational.core.sql.render;
1717

18-
import org.jetbrains.annotations.NotNull;
1918
import org.springframework.data.relational.core.sql.Column;
2019
import org.springframework.data.relational.core.sql.Insert;
2120
import org.springframework.data.relational.core.sql.Into;
@@ -124,7 +123,7 @@ private void addInsertColumnsIfPresent() {
124123
}
125124

126125
private void addInsertWithDefaultValuesToBuilder() {
127-
builder.append(renderContext.getInsertRenderContext().getInsertDefaultValuesPartSQL());
126+
builder.append(renderContext.getInsertRenderContext().getDefaultInsertPart());
128127
}
129128

130129
private ColumnVisitor createColumnVisitor(RenderContext context) {

Diff for: spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/RenderContext.java

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package org.springframework.data.relational.core.sql.render;
1717

18+
import org.springframework.data.relational.core.dialect.InsertRenderContext;
19+
import org.springframework.data.relational.core.dialect.SelectRenderContext;
1820
import org.springframework.data.relational.core.sql.IdentifierProcessing;
1921

2022
/**

Diff for: spring-data-relational/src/main/java/org/springframework/data/relational/core/dialect/RenderContextFactory.java renamed to spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/RenderContextFactory.java

+4-6
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,12 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16-
package org.springframework.data.relational.core.dialect;
16+
package org.springframework.data.relational.core.sql.render;
1717

18+
import org.springframework.data.relational.core.dialect.Dialect;
19+
import org.springframework.data.relational.core.dialect.InsertRenderContext;
20+
import org.springframework.data.relational.core.dialect.SelectRenderContext;
1821
import org.springframework.data.relational.core.sql.IdentifierProcessing;
19-
import org.springframework.data.relational.core.sql.render.InsertRenderContext;
20-
import org.springframework.data.relational.core.sql.render.NamingStrategies;
21-
import org.springframework.data.relational.core.sql.render.RenderContext;
22-
import org.springframework.data.relational.core.sql.render.RenderNamingStrategy;
23-
import org.springframework.data.relational.core.sql.render.SelectRenderContext;
2422
import org.springframework.util.Assert;
2523

2624
/**

Diff for: spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/SelectStatementVisitor.java

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package org.springframework.data.relational.core.sql.render;
1717

18+
import org.springframework.data.relational.core.dialect.SelectRenderContext;
1819
import org.springframework.data.relational.core.sql.From;
1920
import org.springframework.data.relational.core.sql.Join;
2021
import org.springframework.data.relational.core.sql.OrderByField;

Diff for: spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/SimpleRenderContext.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
*/
1616
package org.springframework.data.relational.core.sql.render;
1717

18-
import org.springframework.data.relational.core.mapping.InsertDefaultValues;
18+
import org.springframework.data.relational.core.dialect.InsertRenderContext;
19+
import org.springframework.data.relational.core.dialect.InsertRenderContexts;
20+
import org.springframework.data.relational.core.dialect.SelectRenderContext;
1921
import org.springframework.data.relational.core.sql.IdentifierProcessing;
2022

2123
/**
@@ -49,7 +51,7 @@ public SelectRenderContext getSelectRenderContext() {
4951

5052
@Override
5153
public InsertRenderContext getInsertRenderContext() {
52-
return InsertDefaultValues.DEFAULT::getDefaultInsertPart;
54+
return InsertRenderContexts.DEFAULT::getDefaultInsertPart;
5355
}
5456

5557
public RenderNamingStrategy getNamingStrategy() {

Diff for: spring-data-relational/src/test/java/org/springframework/data/relational/core/dialect/MySqlDialectRenderingUnitTests.java

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.springframework.data.relational.core.sql.StatementBuilder;
2626
import org.springframework.data.relational.core.sql.Table;
2727
import org.springframework.data.relational.core.sql.render.NamingStrategies;
28+
import org.springframework.data.relational.core.sql.render.RenderContextFactory;
2829
import org.springframework.data.relational.core.sql.render.SqlRenderer;
2930

3031
/**

Diff for: spring-data-relational/src/test/java/org/springframework/data/relational/core/dialect/PostgresDialectRenderingUnitTests.java

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.springframework.data.relational.core.sql.StatementBuilder;
2626
import org.springframework.data.relational.core.sql.Table;
2727
import org.springframework.data.relational.core.sql.render.NamingStrategies;
28+
import org.springframework.data.relational.core.sql.render.RenderContextFactory;
2829
import org.springframework.data.relational.core.sql.render.SqlRenderer;
2930

3031
/**

Diff for: spring-data-relational/src/test/java/org/springframework/data/relational/core/dialect/SqlServerDialectRenderingUnitTests.java

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.springframework.data.relational.core.sql.StatementBuilder;
2626
import org.springframework.data.relational.core.sql.Table;
2727
import org.springframework.data.relational.core.sql.render.NamingStrategies;
28+
import org.springframework.data.relational.core.sql.render.RenderContextFactory;
2829
import org.springframework.data.relational.core.sql.render.SqlRenderer;
2930

3031
/**

Diff for: spring-data-relational/src/test/java/org/springframework/data/relational/core/sql/render/SelectRendererUnitTests.java

-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import org.junit.jupiter.api.Test;
2121
import org.springframework.data.relational.core.dialect.PostgresDialect;
22-
import org.springframework.data.relational.core.dialect.RenderContextFactory;
2322
import org.springframework.data.relational.core.sql.*;
2423
import org.springframework.util.StringUtils;
2524

0 commit comments

Comments
 (0)