From b65f866fd5a186f3b5aba85f2a8c93ab032226d7 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Thu, 13 Jun 2019 13:09:51 +0200 Subject: [PATCH] DATAJDBC-384 - Polishing. Update nullable annotations. Original Pull Request: #157 --- .../core/convert/DefaultDataAccessStrategy.java | 2 +- .../data/jdbc/core/mapping/package-info.java | 2 ++ .../data/jdbc/mybatis/MyBatisContext.java | 14 ++++++++------ .../jdbc/mybatis/MyBatisDataAccessStrategy.java | 3 ++- .../core/sql/AbstractImportValidator.java | 2 +- .../data/relational/core/sql/BindMarker.java | 1 - .../relational/core/sql/DefaultDeleteBuilder.java | 2 +- .../relational/core/sql/DefaultInsertBuilder.java | 3 ++- .../relational/core/sql/DefaultSelectBuilder.java | 6 +++--- .../relational/core/sql/DefaultUpdateBuilder.java | 2 +- .../FilteredSingleConditionRenderSupport.java | 3 ++- 11 files changed, 23 insertions(+), 17 deletions(-) create mode 100644 spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/package-info.java diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/DefaultDataAccessStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/DefaultDataAccessStrategy.java index ceb4fcfa..3f54d1d3 100644 --- a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/DefaultDataAccessStrategy.java +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/DefaultDataAccessStrategy.java @@ -505,7 +505,7 @@ public class DefaultDataAccessStrategy implements DataAccessStrategy { } @Override - public void setProperty(PersistentProperty property, Object value) { + public void setProperty(PersistentProperty property, @Nullable Object value) { throw new UnsupportedOperationException("Cannot set value on 'null' target object."); } diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/package-info.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/package-info.java new file mode 100644 index 00000000..e9fddca8 --- /dev/null +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/mapping/package-info.java @@ -0,0 +1,2 @@ +@org.springframework.lang.NonNullApi +package org.springframework.data.jdbc.core.mapping; diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisContext.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisContext.java index 25165008..36345bbb 100644 --- a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisContext.java +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisContext.java @@ -27,16 +27,17 @@ import org.springframework.lang.Nullable; * the kind of values available on invocation. * * @author Jens Schauder + * @author Christoph Strobl */ public class MyBatisContext { - private final Object id; - private final Object instance; - private final Identifier identifier; - private final Class domainType; + private final @Nullable Object id; + private final @Nullable Object instance; + private final @Nullable Identifier identifier; + private final @Nullable Class domainType; private final Map additonalValues; - public MyBatisContext(@Nullable Object id, @Nullable Object instance, Class domainType, + public MyBatisContext(@Nullable Object id, @Nullable Object instance, @Nullable Class domainType, Map additonalValues) { this.id = id; @@ -46,7 +47,7 @@ public class MyBatisContext { this.additonalValues = additonalValues; } - public MyBatisContext(Identifier identifier, Object instance, Class domainType) { + public MyBatisContext(Identifier identifier, @Nullable Object instance, @Nullable Class domainType) { this.id = null; this.identifier = identifier; @@ -70,6 +71,7 @@ public class MyBatisContext { * * @return Might return {@literal null}. */ + @Nullable public Identifier getIdentifier() { return identifier; } diff --git a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java index 40ceed56..94cde0fd 100644 --- a/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java +++ b/spring-data-jdbc/src/main/java/org/springframework/data/jdbc/mybatis/MyBatisDataAccessStrategy.java @@ -259,7 +259,8 @@ public class MyBatisDataAccessStrategy implements DataAccessStrategy { new MyBatisContext(identifier, null, path.getRequiredLeafProperty().getType())); } catch (PersistenceException pex) { - LOG.debug("Didn't find %s in the MyBatis session. Falling back to findAllByPath", pex); + LOG.debug(String.format("Didn't find %s in the MyBatis session. Falling back to findAllByPath.", statementName), + pex); return DataAccessStrategy.super.findAllByPath(identifier, path); } diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/AbstractImportValidator.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/AbstractImportValidator.java index c99d85e9..040c5aed 100644 --- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/AbstractImportValidator.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/AbstractImportValidator.java @@ -30,7 +30,7 @@ abstract class AbstractImportValidator implements Visitor { Set requiredByWhere = new HashSet<>(); Set
from = new HashSet<>(); - Visitable parent; + @Nullable Visitable parent; /* * (non-Javadoc) diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/BindMarker.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/BindMarker.java index ec137cef..95039302 100644 --- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/BindMarker.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/BindMarker.java @@ -46,7 +46,6 @@ public class BindMarker extends AbstractSegment implements Expression { * (non-Javadoc) * @see org.springframework.data.relational.core.sql.Named#getName() */ - @Nullable @Override public String getName() { return name; diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultDeleteBuilder.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultDeleteBuilder.java index 6ae74fc0..67670649 100644 --- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultDeleteBuilder.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultDeleteBuilder.java @@ -26,7 +26,7 @@ import org.springframework.util.Assert; */ class DefaultDeleteBuilder implements DeleteBuilder, DeleteBuilder.DeleteWhereAndOr, DeleteBuilder.DeleteWhere { - private Table from; + private @Nullable Table from; private @Nullable Condition where; /* diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultInsertBuilder.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultInsertBuilder.java index f263796f..74d64abc 100644 --- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultInsertBuilder.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultInsertBuilder.java @@ -20,6 +20,7 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; +import org.springframework.lang.Nullable; import org.springframework.util.Assert; /** @@ -31,7 +32,7 @@ import org.springframework.util.Assert; class DefaultInsertBuilder implements InsertBuilder, InsertBuilder.InsertIntoColumnsAndValuesWithBuild, InsertBuilder.InsertValuesWithBuild { - private Table into; + private @Nullable Table into; private List columns = new ArrayList<>(); private List values = new ArrayList<>(); diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultSelectBuilder.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultSelectBuilder.java index 9571dd07..dfb46c30 100644 --- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultSelectBuilder.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultSelectBuilder.java @@ -284,15 +284,15 @@ class DefaultSelectBuilder implements SelectBuilder, SelectAndFrom, SelectFromAn private final Table table; private final DefaultSelectBuilder selectBuilder; private final JoinType joinType; - private Expression from; - private Expression to; + private @Nullable Expression from; + private @Nullable Expression to; private @Nullable Condition condition; JoinBuilder(Table table, DefaultSelectBuilder selectBuilder, JoinType joinType) { + this.table = table; this.selectBuilder = selectBuilder; - this.joinType = joinType; } diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultUpdateBuilder.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultUpdateBuilder.java index 3a179eab..955a530f 100644 --- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultUpdateBuilder.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/DefaultUpdateBuilder.java @@ -34,7 +34,7 @@ import org.springframework.util.Assert; */ class DefaultUpdateBuilder implements UpdateBuilder, UpdateWhere, UpdateWhereAndOr, UpdateAssign { - private Table table; + private @Nullable Table table; private List assignments = new ArrayList<>(); private @Nullable Condition where; diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/FilteredSingleConditionRenderSupport.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/FilteredSingleConditionRenderSupport.java index 6428d9b4..87cd1784 100644 --- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/FilteredSingleConditionRenderSupport.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/render/FilteredSingleConditionRenderSupport.java @@ -20,6 +20,7 @@ import java.util.function.Predicate; import org.springframework.data.relational.core.sql.Condition; import org.springframework.data.relational.core.sql.Expression; import org.springframework.data.relational.core.sql.Visitable; +import org.springframework.lang.Nullable; import org.springframework.util.Assert; /** @@ -32,7 +33,7 @@ import org.springframework.util.Assert; abstract class FilteredSingleConditionRenderSupport extends FilteredSubtreeVisitor { private final RenderContext context; - private PartRenderer current; + private @Nullable PartRenderer current; /** * Creates a new {@link FilteredSingleConditionRenderSupport} given the filter {@link Predicate}.