From 49a4ff318924b6b64baf62e2e816a5ecb989236e Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Wed, 12 Feb 2020 13:42:12 +0100 Subject: [PATCH] #220 - Polishing. Formatting. Fix warnings. JavaDoc. Adjusted nullability annotations. Original pull request: #287. --- .../data/r2dbc/core/DefaultDatabaseClient.java | 4 ++-- .../data/r2dbc/core/DefaultStatementMapper.java | 16 +++------------- .../data/r2dbc/core/R2dbcEntityTemplate.java | 4 ++-- .../core/ReactiveDeleteOperationSupport.java | 4 +--- .../core/ReactiveInsertOperationSupport.java | 3 +-- .../core/ReactiveSelectOperationSupport.java | 5 +---- .../core/ReactiveUpdateOperationSupport.java | 4 +--- .../data/r2dbc/core/StatementMapper.java | 4 +++- .../data/r2dbc/query/Criteria.java | 17 ++--------------- .../springframework/data/r2dbc/query/Query.java | 1 + .../data/r2dbc/query/QueryMapper.java | 4 ++-- 11 files changed, 19 insertions(+), 47 deletions(-) diff --git a/src/main/java/org/springframework/data/r2dbc/core/DefaultDatabaseClient.java b/src/main/java/org/springframework/data/r2dbc/core/DefaultDatabaseClient.java index f02a84461..1e332bcf5 100644 --- a/src/main/java/org/springframework/data/r2dbc/core/DefaultDatabaseClient.java +++ b/src/main/java/org/springframework/data/r2dbc/core/DefaultDatabaseClient.java @@ -309,9 +309,9 @@ class DefaultDatabaseClient implements DatabaseClient, ConnectionAccessor { byIndex.forEach((i, o) -> { if (o.getValue() != null) { - statement.bind(i.intValue(), o.getValue()); + statement.bind(i, o.getValue()); } else { - statement.bindNull(i.intValue(), o.getType()); + statement.bindNull(i, o.getType()); } }); } diff --git a/src/main/java/org/springframework/data/r2dbc/core/DefaultStatementMapper.java b/src/main/java/org/springframework/data/r2dbc/core/DefaultStatementMapper.java index 441b5f2f1..2ccc8fc7b 100644 --- a/src/main/java/org/springframework/data/r2dbc/core/DefaultStatementMapper.java +++ b/src/main/java/org/springframework/data/r2dbc/core/DefaultStatementMapper.java @@ -255,24 +255,13 @@ class DefaultStatementMapper implements StatementMapper { * (non-Javadoc) * @see org.springframework.data.r2dbc.function.StatementMapper#toSql(SqlIdentifier) */ - public String toSql(SqlIdentifier identifier) { + private String toSql(SqlIdentifier identifier) { Assert.notNull(identifier, "SqlIdentifier must not be null"); return identifier.toSql(this.dialect.getIdentifierProcessing()); } - private List toSql(List identifiers) { - - List list = new ArrayList<>(identifiers.size()); - - for (SqlIdentifier sqlIdentifier : identifiers) { - list.add(toSql(sqlIdentifier)); - } - - return list; - } - /** * Default implementation of {@link PreparedOperation}. * @@ -284,7 +273,8 @@ class DefaultStatementMapper implements StatementMapper { private final RenderContext renderContext; private final Bindings bindings; - public DefaultPreparedOperation(T source, RenderContext renderContext, Bindings bindings) { + DefaultPreparedOperation(T source, RenderContext renderContext, Bindings bindings) { + this.source = source; this.renderContext = renderContext; this.bindings = bindings; diff --git a/src/main/java/org/springframework/data/r2dbc/core/R2dbcEntityTemplate.java b/src/main/java/org/springframework/data/r2dbc/core/R2dbcEntityTemplate.java index 2c1e2dfea..1c9a0877d 100644 --- a/src/main/java/org/springframework/data/r2dbc/core/R2dbcEntityTemplate.java +++ b/src/main/java/org/springframework/data/r2dbc/core/R2dbcEntityTemplate.java @@ -73,7 +73,7 @@ public class R2dbcEntityTemplate implements R2dbcEntityOperations, BeanFactoryAw /** * Create a new {@link R2dbcEntityTemplate} given {@link DatabaseClient}. * - * @param databaseClient + * @param databaseClient must not be {@literal null}. */ public R2dbcEntityTemplate(DatabaseClient databaseClient) { this(databaseClient, getDataAccessStrategy(databaseClient)); @@ -82,7 +82,7 @@ public class R2dbcEntityTemplate implements R2dbcEntityOperations, BeanFactoryAw /** * Create a new {@link R2dbcEntityTemplate} given {@link DatabaseClient} and {@link ReactiveDataAccessStrategy}. * - * @param databaseClient + * @param databaseClient must not be {@literal null}. */ public R2dbcEntityTemplate(DatabaseClient databaseClient, ReactiveDataAccessStrategy strategy) { diff --git a/src/main/java/org/springframework/data/r2dbc/core/ReactiveDeleteOperationSupport.java b/src/main/java/org/springframework/data/r2dbc/core/ReactiveDeleteOperationSupport.java index bc3d25afd..c4370b40d 100644 --- a/src/main/java/org/springframework/data/r2dbc/core/ReactiveDeleteOperationSupport.java +++ b/src/main/java/org/springframework/data/r2dbc/core/ReactiveDeleteOperationSupport.java @@ -51,15 +51,13 @@ class ReactiveDeleteOperationSupport implements ReactiveDeleteOperation { static class ReactiveDeleteSupport implements ReactiveDelete, TerminatingDelete { private final R2dbcEntityTemplate template; - private final Class domainType; - private final Query query; - private final @Nullable SqlIdentifier tableName; ReactiveDeleteSupport(R2dbcEntityTemplate template, Class domainType, Query query, @Nullable SqlIdentifier tableName) { + this.template = template; this.domainType = domainType; this.query = query; diff --git a/src/main/java/org/springframework/data/r2dbc/core/ReactiveInsertOperationSupport.java b/src/main/java/org/springframework/data/r2dbc/core/ReactiveInsertOperationSupport.java index 593040dde..e30823052 100644 --- a/src/main/java/org/springframework/data/r2dbc/core/ReactiveInsertOperationSupport.java +++ b/src/main/java/org/springframework/data/r2dbc/core/ReactiveInsertOperationSupport.java @@ -50,12 +50,11 @@ class ReactiveInsertOperationSupport implements ReactiveInsertOperation { static class ReactiveInsertSupport implements ReactiveInsert { private final R2dbcEntityTemplate template; - private final Class domainType; - private final @Nullable SqlIdentifier tableName; ReactiveInsertSupport(R2dbcEntityTemplate template, Class domainType, @Nullable SqlIdentifier tableName) { + this.template = template; this.domainType = domainType; this.tableName = tableName; diff --git a/src/main/java/org/springframework/data/r2dbc/core/ReactiveSelectOperationSupport.java b/src/main/java/org/springframework/data/r2dbc/core/ReactiveSelectOperationSupport.java index f17713c42..b4086f3ec 100644 --- a/src/main/java/org/springframework/data/r2dbc/core/ReactiveSelectOperationSupport.java +++ b/src/main/java/org/springframework/data/r2dbc/core/ReactiveSelectOperationSupport.java @@ -52,17 +52,14 @@ class ReactiveSelectOperationSupport implements ReactiveSelectOperation { static class ReactiveSelectSupport implements ReactiveSelect { private final R2dbcEntityTemplate template; - private final Class domainType; - private final Class returnType; - private final Query query; - private final @Nullable SqlIdentifier tableName; ReactiveSelectSupport(R2dbcEntityTemplate template, Class domainType, Class returnType, Query query, @Nullable SqlIdentifier tableName) { + this.template = template; this.domainType = domainType; this.returnType = returnType; diff --git a/src/main/java/org/springframework/data/r2dbc/core/ReactiveUpdateOperationSupport.java b/src/main/java/org/springframework/data/r2dbc/core/ReactiveUpdateOperationSupport.java index 668ca9ee8..712ce558f 100644 --- a/src/main/java/org/springframework/data/r2dbc/core/ReactiveUpdateOperationSupport.java +++ b/src/main/java/org/springframework/data/r2dbc/core/ReactiveUpdateOperationSupport.java @@ -52,15 +52,13 @@ class ReactiveUpdateOperationSupport implements ReactiveUpdateOperation { static class ReactiveUpdateSupport implements ReactiveUpdate, TerminatingUpdate { private final R2dbcEntityTemplate template; - private final Class domainType; - private final Query query; - private final @Nullable SqlIdentifier tableName; ReactiveUpdateSupport(R2dbcEntityTemplate template, Class domainType, Query query, @Nullable SqlIdentifier tableName) { + this.template = template; this.domainType = domainType; this.query = query; diff --git a/src/main/java/org/springframework/data/r2dbc/core/StatementMapper.java b/src/main/java/org/springframework/data/r2dbc/core/StatementMapper.java index 9932f8783..884955145 100644 --- a/src/main/java/org/springframework/data/r2dbc/core/StatementMapper.java +++ b/src/main/java/org/springframework/data/r2dbc/core/StatementMapper.java @@ -460,11 +460,12 @@ public interface StatementMapper { class UpdateSpec { private final SqlIdentifier table; + @Nullable private final Update update; private final @Nullable Criteria criteria; - protected UpdateSpec(SqlIdentifier table, Update update, @Nullable Criteria criteria) { + protected UpdateSpec(SqlIdentifier table, @Nullable Update update, @Nullable Criteria criteria) { this.table = table; this.update = update; @@ -506,6 +507,7 @@ public interface StatementMapper { return this.table; } + @Nullable public Update getUpdate() { return this.update; } diff --git a/src/main/java/org/springframework/data/r2dbc/query/Criteria.java b/src/main/java/org/springframework/data/r2dbc/query/Criteria.java index b737479e2..858ad83a3 100644 --- a/src/main/java/org/springframework/data/r2dbc/query/Criteria.java +++ b/src/main/java/org/springframework/data/r2dbc/query/Criteria.java @@ -165,7 +165,6 @@ public class Criteria { * Creates a {@link Criteria} using equality. * * @param value must not be {@literal null}. - * @return */ Criteria is(Object value); @@ -173,7 +172,6 @@ public class Criteria { * Creates a {@link Criteria} using equality (is not). * * @param value must not be {@literal null}. - * @return */ Criteria not(Object value); @@ -181,7 +179,6 @@ public class Criteria { * Creates a {@link Criteria} using {@code IN}. * * @param values must not be {@literal null}. - * @return */ Criteria in(Object... values); @@ -189,15 +186,13 @@ public class Criteria { * Creates a {@link Criteria} using {@code IN}. * * @param values must not be {@literal null}. - * @return */ - Criteria in(Collection values); + Criteria in(Collection values); /** * Creates a {@link Criteria} using {@code NOT IN}. * * @param values must not be {@literal null}. - * @return */ Criteria notIn(Object... values); @@ -205,15 +200,13 @@ public class Criteria { * Creates a {@link Criteria} using {@code NOT IN}. * * @param values must not be {@literal null}. - * @return */ - Criteria notIn(Collection values); + Criteria notIn(Collection values); /** * Creates a {@link Criteria} using less-than ({@literal <}). * * @param value must not be {@literal null}. - * @return */ Criteria lessThan(Object value); @@ -221,7 +214,6 @@ public class Criteria { * Creates a {@link Criteria} using less-than or equal to ({@literal <=}). * * @param value must not be {@literal null}. - * @return */ Criteria lessThanOrEquals(Object value); @@ -229,7 +221,6 @@ public class Criteria { * Creates a {@link Criteria} using greater-than({@literal >}). * * @param value must not be {@literal null}. - * @return */ Criteria greaterThan(Object value); @@ -237,7 +228,6 @@ public class Criteria { * Creates a {@link Criteria} using greater-than or equal to ({@literal >=}). * * @param value must not be {@literal null}. - * @return */ Criteria greaterThanOrEquals(Object value); @@ -245,21 +235,18 @@ public class Criteria { * Creates a {@link Criteria} using {@code LIKE}. * * @param value must not be {@literal null}. - * @return */ Criteria like(Object value); /** * Creates a {@link Criteria} using {@code IS NULL}. * - * @return */ Criteria isNull(); /** * Creates a {@link Criteria} using {@code IS NOT NULL}. * - * @return */ Criteria isNotNull(); } diff --git a/src/main/java/org/springframework/data/r2dbc/query/Query.java b/src/main/java/org/springframework/data/r2dbc/query/Query.java index d2558180e..fd048d9a6 100644 --- a/src/main/java/org/springframework/data/r2dbc/query/Query.java +++ b/src/main/java/org/springframework/data/r2dbc/query/Query.java @@ -68,6 +68,7 @@ public class Query { } private Query(@Nullable Criteria criteria, List columns, Sort sort, int limit, long offset) { + this.criteria = criteria; this.columns = columns; this.sort = sort; diff --git a/src/main/java/org/springframework/data/r2dbc/query/QueryMapper.java b/src/main/java/org/springframework/data/r2dbc/query/QueryMapper.java index 4b70489f8..8dac30943 100644 --- a/src/main/java/org/springframework/data/r2dbc/query/QueryMapper.java +++ b/src/main/java/org/springframework/data/r2dbc/query/QueryMapper.java @@ -156,8 +156,8 @@ public class QueryMapper { Field field = createPropertyField(entity, column.getName()); Table table = column.getTable(); - return column instanceof Aliased ? table.column(field.getMappedColumnName()).as(((Aliased) column).getAlias()) - : table.column(field.getMappedColumnName()); + Column columnFromTable = table.column(field.getMappedColumnName()); + return column instanceof Aliased ? columnFromTable.as(((Aliased) column).getAlias()) : columnFromTable; } if (expression instanceof SimpleFunction) {