From f26e8025a6ca45db27bd40461a9f4307957382c6 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Wed, 14 Sep 2022 09:35:19 +0200 Subject: [PATCH 1/2] Prepare issue branch. --- pom.xml | 2 +- spring-data-mongodb-benchmarks/pom.xml | 2 +- spring-data-mongodb-distribution/pom.xml | 2 +- spring-data-mongodb/pom.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index a401249d79..f0f8fde227 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.data spring-data-mongodb-parent - 4.0.0-SNAPSHOT + 4.0.x-GH-4164-SNAPSHOT pom Spring Data MongoDB diff --git a/spring-data-mongodb-benchmarks/pom.xml b/spring-data-mongodb-benchmarks/pom.xml index c28a240d2c..5824da3886 100644 --- a/spring-data-mongodb-benchmarks/pom.xml +++ b/spring-data-mongodb-benchmarks/pom.xml @@ -7,7 +7,7 @@ org.springframework.data spring-data-mongodb-parent - 4.0.0-SNAPSHOT + 4.0.x-GH-4164-SNAPSHOT ../pom.xml diff --git a/spring-data-mongodb-distribution/pom.xml b/spring-data-mongodb-distribution/pom.xml index 0412911f82..6fa84f01a1 100644 --- a/spring-data-mongodb-distribution/pom.xml +++ b/spring-data-mongodb-distribution/pom.xml @@ -15,7 +15,7 @@ org.springframework.data spring-data-mongodb-parent - 4.0.0-SNAPSHOT + 4.0.x-GH-4164-SNAPSHOT ../pom.xml diff --git a/spring-data-mongodb/pom.xml b/spring-data-mongodb/pom.xml index cb8c76ade4..e4934d180d 100644 --- a/spring-data-mongodb/pom.xml +++ b/spring-data-mongodb/pom.xml @@ -13,7 +13,7 @@ org.springframework.data spring-data-mongodb-parent - 4.0.0-SNAPSHOT + 4.0.x-GH-4164-SNAPSHOT ../pom.xml From 31ae329ec657465917310f9a9ce0b1fcb7e745b2 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Wed, 14 Sep 2022 09:35:31 +0200 Subject: [PATCH 2/2] Move off deprecated API. --- .../core/ExecutableMapReduceOperation.java | 2 + .../core/MappingMongoJsonSchemaCreator.java | 4 +- .../core/convert/DefaultMongoTypeMapper.java | 7 +-- .../core/convert/MappingMongoConverter.java | 55 ++++++++----------- .../mongodb/core/convert/QueryMapper.java | 7 +-- .../mongodb/core/convert/UpdateMapper.java | 5 +- .../data/mongodb/core/index/IndexInfo.java | 2 +- .../mongodb/core/index/IndexResolver.java | 3 +- .../repository/query/MongoParameters.java | 3 +- .../repository/query/MongoQueryMethod.java | 5 +- .../query/ReactiveMongoQueryMethod.java | 9 ++- 11 files changed, 44 insertions(+), 58 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableMapReduceOperation.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableMapReduceOperation.java index 5b19a8bf30..61aaed04fc 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableMapReduceOperation.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/ExecutableMapReduceOperation.java @@ -187,7 +187,9 @@ interface MapReduceWithProjection extends MapReduceWithQuery { * * @author Christoph Strobl * @since 2.1 + * @deprecated since 4.0 in favor of {@link org.springframework.data.mongodb.core.aggregation}. */ + @Deprecated interface MapReduceWithOptions { /** diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MappingMongoJsonSchemaCreator.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MappingMongoJsonSchemaCreator.java index f892c0bdc1..2105e86444 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MappingMongoJsonSchemaCreator.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/MappingMongoJsonSchemaCreator.java @@ -40,7 +40,7 @@ import org.springframework.data.mongodb.core.schema.MongoJsonSchema; import org.springframework.data.mongodb.core.schema.MongoJsonSchema.MongoJsonSchemaBuilder; import org.springframework.data.mongodb.core.schema.TypedJsonSchemaObject; -import org.springframework.data.util.ClassTypeInformation; +import org.springframework.data.util.TypeInformation; import org.springframework.util.Assert; import org.springframework.util.ClassUtils; import org.springframework.util.CollectionUtils; @@ -267,7 +267,7 @@ private ArrayJsonSchemaProperty potentiallyEnhanceArraySchemaProperty(MongoPersi } private boolean isSpecificType(MongoPersistentProperty property) { - return !ClassTypeInformation.OBJECT.equals(property.getTypeInformation().getActualType()); + return !TypeInformation.OBJECT.equals(property.getTypeInformation().getActualType()); } private JsonSchemaProperty applyEncryptionDataIfNecessary(MongoPersistentProperty property, diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/DefaultMongoTypeMapper.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/DefaultMongoTypeMapper.java index fc9e5ac1e1..167bcaa47f 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/DefaultMongoTypeMapper.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/DefaultMongoTypeMapper.java @@ -31,7 +31,6 @@ import org.springframework.data.mapping.Alias; import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.mapping.context.MappingContext; -import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.TypeInformation; import org.springframework.lang.Nullable; import org.springframework.util.ObjectUtils; @@ -52,9 +51,9 @@ public class DefaultMongoTypeMapper extends DefaultTypeMapper implements M public static final String DEFAULT_TYPE_KEY = "_class"; @SuppressWarnings("rawtypes") // - private static final TypeInformation LIST_TYPE_INFO = ClassTypeInformation.from(List.class); + private static final TypeInformation LIST_TYPE_INFO = TypeInformation.of(List.class); @SuppressWarnings("rawtypes") // - private static final TypeInformation MAP_TYPE_INFO = ClassTypeInformation.from(Map.class); + private static final TypeInformation MAP_TYPE_INFO = TypeInformation.MAP; private final TypeAliasAccessor accessor; private final @Nullable String typeKey; @@ -139,7 +138,7 @@ public void writeTypeRestrictions(Document result, @Nullable Set> restr for (Class restrictedType : restrictedTypes) { - Alias typeAlias = getAliasFor(ClassTypeInformation.from(restrictedType)); + Alias typeAlias = getAliasFor(TypeInformation.of(restrictedType)); if (!ObjectUtils.nullSafeEquals(Alias.NONE, typeAlias) && typeAlias.isPresent()) { restrictedMappedTypes.add(typeAlias.getValue()); diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java index 6634d80464..cccdab986b 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/MappingMongoConverter.java @@ -50,16 +50,7 @@ import org.springframework.data.annotation.Reference; import org.springframework.data.convert.CustomConversions; import org.springframework.data.convert.TypeMapper; -import org.springframework.data.mapping.AccessOptions; -import org.springframework.data.mapping.Association; -import org.springframework.data.mapping.MappingException; -import org.springframework.data.mapping.Parameter; -import org.springframework.data.mapping.PersistentEntity; -import org.springframework.data.mapping.PersistentProperty; -import org.springframework.data.mapping.PersistentPropertyAccessor; -import org.springframework.data.mapping.PersistentPropertyPath; -import org.springframework.data.mapping.PersistentPropertyPathAccessor; -import org.springframework.data.mapping.PreferredConstructor; +import org.springframework.data.mapping.*; import org.springframework.data.mapping.callback.EntityCallbacks; import org.springframework.data.mapping.context.MappingContext; import org.springframework.data.mapping.model.ConvertingPropertyAccessor; @@ -123,7 +114,7 @@ public class MappingMongoConverter extends AbstractMongoConverter implements App private static final String INCOMPATIBLE_TYPES = "Cannot convert %1$s of type %2$s into an instance of %3$s; Implement a custom Converter<%2$s, %3$s> and register it with the CustomConversions; Parent object was: %4$s"; private static final String INVALID_TYPE_TO_READ = "Expected to read Document %s into type %s but didn't find a PersistentEntity for the latter"; - public static final ClassTypeInformation BSON = ClassTypeInformation.from(Bson.class); + public static final TypeInformation BSON = TypeInformation.of(Bson.class); protected static final Log LOGGER = LogFactory.getLog(MappingMongoConverter.class); @@ -353,9 +344,9 @@ String getFieldName(MongoPersistentProperty prop) { } }; - PreferredConstructor persistenceConstructor = mappedEntity.getPersistenceConstructor(); - ParameterValueProvider provider = persistenceConstructor != null - && persistenceConstructor.hasParameters() + InstanceCreatorMetadata instanceCreatorMetadata = mappedEntity.getInstanceCreatorMetadata(); + ParameterValueProvider provider = instanceCreatorMetadata != null + && instanceCreatorMetadata.hasParameters() ? getParameterProvider(context, mappedEntity, documentAccessor, evaluator) : NoOpParameterValueProvider.INSTANCE; @@ -405,7 +396,7 @@ public Map getBean() { } public S read(Class clazz, Bson bson) { - return read(ClassTypeInformation.from(clazz), bson); + return read(TypeInformation.of(clazz), bson); } protected S read(TypeInformation type, Bson bson) { @@ -498,10 +489,10 @@ private S read(ConversionContext context, MongoPersistentEntity entity, D SpELExpressionEvaluator evaluator = new DefaultSpELExpressionEvaluator(bson, spELContext); DocumentAccessor documentAccessor = new DocumentAccessor(bson); - PreferredConstructor persistenceConstructor = entity.getPersistenceConstructor(); + InstanceCreatorMetadata instanceCreatorMetadata = entity.getInstanceCreatorMetadata(); - ParameterValueProvider provider = persistenceConstructor != null - && persistenceConstructor.hasParameters() ? getParameterProvider(context, entity, documentAccessor, evaluator) + ParameterValueProvider provider = instanceCreatorMetadata != null + && instanceCreatorMetadata.hasParameters() ? getParameterProvider(context, entity, documentAccessor, evaluator) : NoOpParameterValueProvider.INSTANCE; EntityInstantiator instantiator = instantiators.getInstantiatorFor(entity); @@ -552,7 +543,7 @@ private Object readAndPopulateIdentifier(ConversionContext context, PersistentPr MongoPersistentProperty idProperty = entity.getRequiredIdProperty(); - if (idProperty.isImmutable() && entity.isConstructorArgument(idProperty)) { + if (idProperty.isImmutable() && entity.isCreatorArgument(idProperty)) { return rawId; } @@ -587,7 +578,7 @@ private void readProperties(ConversionContext context, MongoPersistentEntity ConversionContext propertyContext = context.forProperty(prop); MongoDbPropertyValueProvider valueProviderToUse = valueProvider.withContext(propertyContext); - if (prop.isAssociation() && !entity.isConstructorArgument(prop)) { + if (prop.isAssociation() && !entity.isCreatorArgument(prop)) { if (callback == null) { callback = getDbRefResolverCallback(propertyContext, documentAccessor, evaluator); @@ -761,7 +752,7 @@ public void write(Object obj, Bson bson) { } Class entityType = ClassUtils.getUserClass(obj.getClass()); - TypeInformation type = ClassTypeInformation.from(entityType); + TypeInformation type = TypeInformation.of(entityType); Object target = obj instanceof LazyLoadingProxy ? ((LazyLoadingProxy) obj).getTarget() : obj; @@ -805,12 +796,12 @@ protected void writeInternal(@Nullable Object obj, Bson bson, @Nullable TypeInfo } if (Map.class.isAssignableFrom(entityType)) { - writeMapInternal((Map) obj, bson, ClassTypeInformation.MAP); + writeMapInternal((Map) obj, bson, TypeInformation.MAP); return; } if (Collection.class.isAssignableFrom(entityType)) { - writeCollectionInternal((Collection) obj, ClassTypeInformation.LIST, (Collection) bson); + writeCollectionInternal((Collection) obj, TypeInformation.LIST, (Collection) bson); return; } @@ -896,7 +887,7 @@ protected void writePropertyInternal(@Nullable Object obj, DocumentAccessor acce return; } - TypeInformation valueType = ClassTypeInformation.from(obj.getClass()); + TypeInformation valueType = TypeInformation.of(obj.getClass()); TypeInformation type = prop.getTypeInformation(); if (conversions.hasValueConverter(prop)) { @@ -977,7 +968,7 @@ protected void writePropertyInternal(@Nullable Object obj, DocumentAccessor acce Document document = existingValue instanceof Document ? (Document) existingValue : new Document(); writeInternal(obj, document, entity); - addCustomTypeKeyIfNecessary(ClassTypeInformation.from(prop.getRawType()), obj, document); + addCustomTypeKeyIfNecessary(TypeInformation.of(prop.getRawType()), obj, document); accessor.put(prop, document); } @@ -998,7 +989,7 @@ protected List createCollection(Collection collection, MongoPersisten .getPointer(); }).collect(Collectors.toList()); - return writeCollectionInternal(targetCollection, ClassTypeInformation.from(DocumentPointer.class), + return writeCollectionInternal(targetCollection, TypeInformation.of(DocumentPointer.class), new ArrayList<>()); } @@ -1127,7 +1118,7 @@ protected Bson writeMapInternal(Map obj, Bson bson, TypeInformat } else { Document document = new Document(); TypeInformation valueTypeInfo = propertyType.isMap() ? propertyType.getMapValueType() - : ClassTypeInformation.OBJECT; + : TypeInformation.OBJECT; writeInternal(val, document, valueTypeInfo); BsonUtils.addToMap(bson, simpleKey, document); } @@ -1379,7 +1370,7 @@ protected Object readCollectionOrArray(ConversionContext context, Collection TypeInformation componentType = targetType.getComponentType() != null // ? targetType.getComponentType() // - : ClassTypeInformation.OBJECT; + : TypeInformation.OBJECT; Class rawComponentType = componentType.getType(); Collection items = targetType.getType().isArray() // @@ -1421,7 +1412,7 @@ protected Map readMap(ConversionContext context, Bson bson, Type Class mapType = getTypeMapper().readType(bson, targetType).getType(); TypeInformation keyType = targetType.getComponentType(); - TypeInformation valueType = targetType.getMapValueType() == null ? ClassTypeInformation.OBJECT + TypeInformation valueType = targetType.getMapValueType() == null ? TypeInformation.OBJECT : targetType.getRequiredMapValueType(); Class rawKeyType = keyType != null ? keyType.getType() : Object.class; @@ -1827,7 +1818,7 @@ static Predicate isIdentifier(PersistentEntity en } static Predicate isConstructorArgument(PersistentEntity entity) { - return entity::isConstructorArgument; + return entity::isCreatorArgument; } /** @@ -2046,7 +2037,7 @@ public boolean isCollectionLike() { @Override public org.springframework.data.util.TypeInformation getComponentType() { - return ClassTypeInformation.from(persistentProperty.getFieldType()); + return TypeInformation.of(persistentProperty.getFieldType()); } @Override @@ -2056,7 +2047,7 @@ public boolean isMap() { @Override public org.springframework.data.util.TypeInformation getMapValueType() { - return ClassTypeInformation.from(persistentProperty.getFieldType()); + return TypeInformation.of(persistentProperty.getFieldType()); } @Override diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java index 94135bbe85..2726701226 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java @@ -48,7 +48,6 @@ import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.util.BsonUtils; import org.springframework.data.mongodb.util.DotPath; -import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.TypeInformation; import org.springframework.lang.Nullable; import org.springframework.util.Assert; @@ -78,7 +77,7 @@ public class QueryMapper { private static final List DEFAULT_ID_NAMES = Arrays.asList("id", "_id"); private static final Document META_TEXT_SCORE = new Document("$meta", "textScore"); - static final ClassTypeInformation NESTED_DOCUMENT = ClassTypeInformation.from(NestedDocument.class); + static final TypeInformation NESTED_DOCUMENT = TypeInformation.of(NestedDocument.class); private enum MetaMapping { FORCE, WHEN_PRESENT, IGNORE @@ -1040,7 +1039,7 @@ public boolean isMap() { } public TypeInformation getTypeHint() { - return ClassTypeInformation.OBJECT; + return TypeInformation.OBJECT; } } @@ -1352,7 +1351,7 @@ public TypeInformation getTypeHint() { if (property.getActualType().isInterface() || java.lang.reflect.Modifier.isAbstract(property.getActualType().getModifiers())) { - return ClassTypeInformation.OBJECT; + return TypeInformation.OBJECT; } return NESTED_DOCUMENT; diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/UpdateMapper.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/UpdateMapper.java index 38852e4ffa..8c9ee1dc78 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/UpdateMapper.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/UpdateMapper.java @@ -31,7 +31,6 @@ import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update.Modifier; import org.springframework.data.mongodb.core.query.Update.Modifiers; -import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.TypeInformation; import org.springframework.lang.Nullable; @@ -134,7 +133,7 @@ protected Object delegateConvertToMongoType(Object source, @Nullable MongoPersis } return converter.convertToMongoType(source, - entity == null ? ClassTypeInformation.OBJECT : getTypeHintForEntity(source, entity)); + entity == null ? TypeInformation.OBJECT : getTypeHintForEntity(source, entity)); } @Override @@ -209,7 +208,7 @@ private Object getMappedModifier(@Nullable Field field, Modifier modifier) { : getMappedSort(sortObject, field.getPropertyEntity()); } - TypeInformation typeHint = field == null ? ClassTypeInformation.OBJECT : field.getTypeHint(); + TypeInformation typeHint = field == null ? TypeInformation.OBJECT : field.getTypeHint(); return converter.convertToMongoType(value, typeHint); } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/IndexInfo.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/IndexInfo.java index cf8dd80f4a..4e86bb7921 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/IndexInfo.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/IndexInfo.java @@ -104,7 +104,7 @@ public static IndexInfo indexInfoOf(Document sourceDocument) { indexFields.add(IndexField.wildcard(key)); } else { - Double keyValue = new Double(value.toString()); + Double keyValue = Double.valueOf(value.toString()); if (ONE.equals(keyValue)) { indexFields.add(IndexField.create(key, ASC)); diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/IndexResolver.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/IndexResolver.java index 1a077cd26a..2928f96bcb 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/IndexResolver.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/index/IndexResolver.java @@ -19,7 +19,6 @@ import org.springframework.data.mongodb.core.mapping.MongoMappingContext; import org.springframework.data.mongodb.core.mapping.MongoPersistentEntity; import org.springframework.data.mongodb.core.mapping.MongoPersistentProperty; -import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.TypeInformation; import org.springframework.util.Assert; @@ -76,7 +75,7 @@ static IndexResolver create( * @see 2.2 */ default Iterable resolveIndexFor(Class entityType) { - return resolveIndexFor(ClassTypeInformation.from(entityType)); + return resolveIndexFor(TypeInformation.of(entityType)); } } diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoParameters.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoParameters.java index dffd4a82aa..ddd217524d 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoParameters.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoParameters.java @@ -30,7 +30,6 @@ import org.springframework.data.mongodb.repository.query.MongoParameters.MongoParameter; import org.springframework.data.repository.query.Parameter; import org.springframework.data.repository.query.Parameters; -import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.TypeInformation; import org.springframework.lang.Nullable; @@ -64,7 +63,7 @@ public MongoParameters(Method method, boolean isGeoNearMethod) { this.fullTextIndex = parameterTypes.indexOf(TextCriteria.class); - ClassTypeInformation declaringClassInfo = ClassTypeInformation.from(method.getDeclaringClass()); + TypeInformation declaringClassInfo = TypeInformation.of(method.getDeclaringClass()); List> parameterTypeInfo = declaringClassInfo.getParameterTypes(method); this.rangeIndex = getTypeIndex(parameterTypeInfo, Range.class, Distance.class); diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryMethod.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryMethod.java index 2a2e9ff753..2e3c4efe24 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryMethod.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/MongoQueryMethod.java @@ -41,7 +41,6 @@ import org.springframework.data.repository.core.RepositoryMetadata; import org.springframework.data.repository.query.QueryMethod; import org.springframework.data.repository.util.ReactiveWrappers; -import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.Lazy; import org.springframework.data.util.TypeInformation; import org.springframework.lang.Nullable; @@ -195,7 +194,7 @@ private boolean isGeoNearQuery(Method method) { } if (Iterable.class.isAssignableFrom(returnType)) { - TypeInformation from = ClassTypeInformation.fromReturnTypeOf(method); + TypeInformation from = TypeInformation.fromReturnTypeOf(method); return GeoResult.class.equals(from.getRequiredComponentType().getType()); } @@ -217,7 +216,7 @@ Optional lookupQueryAnnotation() { } TypeInformation getReturnType() { - return ClassTypeInformation.fromReturnTypeOf(method); + return TypeInformation.fromReturnTypeOf(method); } /** diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactiveMongoQueryMethod.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactiveMongoQueryMethod.java index 53ab91ae0b..3e3c0433f7 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactiveMongoQueryMethod.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ReactiveMongoQueryMethod.java @@ -33,7 +33,6 @@ import org.springframework.data.repository.core.RepositoryMetadata; import org.springframework.data.repository.util.ReactiveWrapperConverters; import org.springframework.data.repository.util.ReactiveWrappers; -import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.Lazy; import org.springframework.data.util.TypeInformation; import org.springframework.util.ClassUtils; @@ -47,8 +46,8 @@ */ public class ReactiveMongoQueryMethod extends MongoQueryMethod { - private static final ClassTypeInformation PAGE_TYPE = ClassTypeInformation.from(Page.class); - private static final ClassTypeInformation SLICE_TYPE = ClassTypeInformation.from(Slice.class); + private static final TypeInformation PAGE_TYPE = TypeInformation.of(Page.class); + private static final TypeInformation SLICE_TYPE = TypeInformation.of(Slice.class); private final Method method; private final Lazy isCollectionQuery; @@ -89,7 +88,7 @@ public boolean isGeoNearQuery() { private boolean isGeoNearQuery(Method method) { if (ReactiveWrappers.supports(method.getReturnType())) { - TypeInformation from = ClassTypeInformation.fromReturnTypeOf(method); + TypeInformation from = TypeInformation.fromReturnTypeOf(method); return GeoResult.class.equals(from.getRequiredComponentType().getType()); } @@ -132,7 +131,7 @@ public void verify() { if (hasParameterOfType(method, Pageable.class)) { - TypeInformation returnType = ClassTypeInformation.fromReturnTypeOf(method); + TypeInformation returnType = TypeInformation.fromReturnTypeOf(method); boolean multiWrapper = ReactiveWrappers.isMultiValueType(returnType.getType()); boolean singleWrapperWithWrappedPageableResult = ReactiveWrappers.isSingleValueType(returnType.getType())