Browse Source

Polishing.

Use ObjectUtils.isEmpty for emptiness check.

See #1737
Original pull request: #1812
3.2.x
Mark Paluch 2 years ago
parent
commit
37dcade129
No known key found for this signature in database
GPG Key ID: 55BC6374BAA9D973
  1. 45
      spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/MappingRelationalConverter.java

45
spring-data-relational/src/main/java/org/springframework/data/relational/core/conversion/MappingRelationalConverter.java

@ -41,7 +41,16 @@ import org.springframework.data.mapping.PersistentProperty; @@ -41,7 +41,16 @@ import org.springframework.data.mapping.PersistentProperty;
import org.springframework.data.mapping.PersistentPropertyAccessor;
import org.springframework.data.mapping.PersistentPropertyPathAccessor;
import org.springframework.data.mapping.context.MappingContext;
import org.springframework.data.mapping.model.*;
import org.springframework.data.mapping.model.ConvertingPropertyAccessor;
import org.springframework.data.mapping.model.DefaultSpELExpressionEvaluator;
import org.springframework.data.mapping.model.EntityInstantiator;
import org.springframework.data.mapping.model.ParameterValueProvider;
import org.springframework.data.mapping.model.PersistentEntityParameterValueProvider;
import org.springframework.data.mapping.model.PropertyValueProvider;
import org.springframework.data.mapping.model.SimpleTypeHolder;
import org.springframework.data.mapping.model.SpELContext;
import org.springframework.data.mapping.model.SpELExpressionEvaluator;
import org.springframework.data.mapping.model.SpELExpressionParameterValueProvider;
import org.springframework.data.projection.EntityProjection;
import org.springframework.data.projection.EntityProjectionIntrospector;
import org.springframework.data.projection.EntityProjectionIntrospector.ProjectionPredicate;
@ -61,6 +70,7 @@ import org.springframework.data.util.TypeInformation; @@ -61,6 +70,7 @@ import org.springframework.data.util.TypeInformation;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
import org.springframework.util.ObjectUtils;
/**
* {@link org.springframework.data.relational.core.conversion.RelationalConverter} that uses a
@ -1139,37 +1149,15 @@ public class MappingRelationalConverter extends AbstractRelationalConverter impl @@ -1139,37 +1149,15 @@ public class MappingRelationalConverter extends AbstractRelationalConverter impl
if (value == null) {
return false;
}
if (!path.isCollectionLike()) {
return true;
}
if (value instanceof char[] ar) {
return ar.length != 0;
}
if (value instanceof byte[] ar) {
return ar.length != 0;
}
if (value instanceof short[] ar) {
return ar.length != 0;
}
if (value instanceof int[] ar) {
return ar.length != 0;
}
if (value instanceof long[] ar) {
return ar.length != 0;
}
if (value instanceof float[] ar) {
return ar.length != 0;
}
if (value instanceof double[] ar) {
return ar.length != 0;
}
if (value instanceof Object[] ar) {
return ar.length != 0;
}
if (value instanceof Collection<?> col) {
return !col.isEmpty();
if (value instanceof Collection<?> || value.getClass().isArray()) {
return !ObjectUtils.isEmpty(value);
}
return true;
}
@ -1227,7 +1215,8 @@ public class MappingRelationalConverter extends AbstractRelationalConverter impl @@ -1227,7 +1215,8 @@ public class MappingRelationalConverter extends AbstractRelationalConverter impl
* @param delegate must not be {@literal null}.
*/
public ConverterAwareSpELExpressionParameterValueProvider(ConversionContext context,
SpELExpressionEvaluator evaluator, ConversionService conversionService, ParameterValueProvider<RelationalPersistentProperty> delegate) {
SpELExpressionEvaluator evaluator, ConversionService conversionService,
ParameterValueProvider<RelationalPersistentProperty> delegate) {
super(evaluator, conversionService, delegate);

Loading…
Cancel
Save