From c735b586073beed78f4eaa08b7a9266d55eef5fd Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Tue, 5 Oct 2021 15:21:12 +0200 Subject: [PATCH] Migrate code to Java 17 style. Use var instead of explicit local types where applicable. Use pattern variable instead instanceof and cast. Prefer loops and nullable types over Stream and Optional. Convert classes to records where applicable. See #2465 --- .../auditing/AnnotationAuditingMetadata.java | 2 +- .../data/auditing/AuditingHandlerSupport.java | 12 +- .../data/auditing/Auditor.java | 2 +- .../DefaultAuditableBeanWrapperFactory.java | 8 +- .../auditing/IsNewAwareAuditingHandler.java | 3 +- .../MappingAuditableBeanWrapperFactory.java | 6 +- .../ReactiveIsNewAwareAuditingHandler.java | 3 +- .../AnnotationAuditingConfiguration.java | 3 +- ...uditingBeanDefinitionRegistrarSupport.java | 8 +- .../AuditingHandlerBeanDefinitionParser.java | 8 +- .../BeanComponentDefinitionBuilder.java | 10 +- .../data/config/ConfigurationUtils.java | 6 +- .../data/config/ParsingUtils.java | 8 +- .../data/config/TypeFilterParser.java | 30 ++-- .../ConfigurableTypeInformationMapper.java | 4 +- .../data/convert/CustomConversions.java | 35 ++-- .../data/convert/DefaultConverterBuilder.java | 20 +-- .../data/convert/DefaultTypeMapper.java | 20 +-- .../data/convert/JMoleculesConverters.java | 6 +- .../data/convert/Jsr310Converters.java | 38 ++--- .../MappingContextTypeInformationMapper.java | 7 +- .../convert/SimpleTypeInformationMapper.java | 2 +- .../data/crossstore/HashMapChangeSet.java | 4 +- .../data/domain/AbstractPageRequest.java | 6 +- .../springframework/data/domain/Chunk.java | 10 +- .../data/domain/ExampleMatcher.java | 17 +- .../springframework/data/domain/PageImpl.java | 10 +- .../data/domain/PageRequest.java | 4 +- .../springframework/data/domain/Range.java | 12 +- .../data/domain/SliceImpl.java | 10 +- .../org/springframework/data/domain/Sort.java | 20 +-- .../data/domain/TypedExample.java | 5 +- .../data/domain/TypedExampleMatcher.java | 20 ++- .../data/domain/jaxb/OrderAdapter.java | 7 +- .../data/domain/jaxb/PageAdapter.java | 2 +- .../data/domain/jaxb/PageableAdapter.java | 6 +- .../data/domain/jaxb/SortAdapter.java | 2 +- .../data/domain/jaxb/SpringDataJaxb.java | 4 +- .../org/springframework/data/geo/Box.java | 6 +- .../org/springframework/data/geo/Circle.java | 6 +- .../springframework/data/geo/Distance.java | 14 +- .../org/springframework/data/geo/GeoPage.java | 4 +- .../springframework/data/geo/GeoResult.java | 6 +- .../springframework/data/geo/GeoResults.java | 8 +- .../org/springframework/data/geo/Point.java | 8 +- .../org/springframework/data/geo/Polygon.java | 3 +- .../data/geo/format/DistanceFormatter.java | 4 +- .../data/geo/format/PointFormatter.java | 6 +- .../history/AnnotationRevisionMetadata.java | 6 +- .../data/history/Revision.java | 6 +- .../data/history/RevisionSort.java | 2 +- .../data/history/Revisions.java | 2 +- .../data/mapping/AccessOptions.java | 4 +- .../springframework/data/mapping/Alias.java | 3 +- .../data/mapping/IdentifierAccessor.java | 2 +- .../data/mapping/PersistentEntity.java | 10 +- .../data/mapping/PersistentProperty.java | 12 +- .../mapping/PersistentPropertyAccessor.java | 22 +-- .../data/mapping/PersistentPropertyPath.java | 2 +- .../data/mapping/PreferredConstructor.java | 18 +-- .../data/mapping/PropertyPath.java | 43 +++-- .../mapping/PropertyReferenceException.java | 6 +- .../TargetAwareIdentifierAccessor.java | 2 +- .../data/mapping/TraversalContext.java | 4 +- .../callback/DefaultEntityCallbacks.java | 22 +-- .../DefaultReactiveEntityCallbacks.java | 20 +-- .../callback/EntityCallbackDiscoverer.java | 31 ++-- .../callback/EntityCallbackInvoker.java | 2 +- .../mapping/callback/EntityCallbacks.java | 4 +- .../callback/ReactiveEntityCallbacks.java | 4 +- .../context/AbstractMappingContext.java | 54 +++---- .../DefaultPersistentPropertyPath.java | 19 ++- .../InvalidPersistentPropertyPath.java | 4 +- .../data/mapping/context/MappingContext.java | 6 +- .../mapping/context/PersistentEntities.java | 28 ++-- .../PersistentPropertyPathFactory.java | 50 +++--- .../model/AbstractPersistentProperty.java | 16 +- .../AnnotationBasedPersistentProperty.java | 24 +-- .../mapping/model/BasicPersistentEntity.java | 25 +-- .../data/mapping/model/BeanWrapper.java | 21 ++- ...CamelCaseSplittingFieldNamingStrategy.java | 6 +- .../ClassGeneratingEntityInstantiator.java | 43 +++-- ...lassGeneratingPropertyAccessorFactory.java | 153 +++++++++--------- .../model/ConvertingPropertyAccessor.java | 2 +- .../model/DefaultSpELExpressionEvaluator.java | 3 +- .../mapping/model/EntityInstantiators.java | 4 +- .../InstantiationAwarePropertyAccessor.java | 10 +- ...tlinClassGeneratingEntityInstantiator.java | 48 +++--- .../data/mapping/model/KotlinCopyMethod.java | 48 +++--- .../data/mapping/model/KotlinDefaultMask.java | 10 +- .../model/MappingInstantiationException.java | 7 +- .../model/PersistentEntityIsNewStrategy.java | 4 +- ...ersistentEntityParameterValueProvider.java | 7 +- .../model/PreferredConstructorDiscoverer.java | 22 ++- .../data/mapping/model/Property.java | 10 +- .../model/ReflectionEntityInstantiator.java | 12 +- .../SimplePersistentPropertyPathAccessor.java | 28 ++-- .../data/mapping/model/SimpleTypeHolder.java | 11 +- .../data/mapping/model/SpELContext.java | 2 +- .../SpELExpressionParameterValueProvider.java | 2 +- .../data/projection/Accessor.java | 2 +- ...efaultMethodInvokingMethodInterceptor.java | 22 +-- .../DefaultProjectionInformation.java | 18 +-- .../MapAccessingMethodInterceptor.java | 5 +- .../ProjectingMethodInterceptor.java | 18 +-- .../PropertyAccessingMethodInterceptor.java | 4 +- .../projection/ProxyProjectionFactory.java | 6 +- .../SpelAwareProxyProjectionFactory.java | 6 +- .../SpelEvaluatingMethodInterceptor.java | 16 +- .../springframework/data/querydsl/QSort.java | 2 +- .../data/querydsl/QuerydslUtils.java | 7 +- .../querydsl/SimpleEntityPathResolver.java | 18 +-- .../binding/PropertyPathInformation.java | 47 ++---- .../querydsl/binding/QuerydslBindings.java | 23 ++- .../binding/QuerydslBindingsFactory.java | 9 +- .../binding/QuerydslDefaultBinding.java | 8 +- .../binding/QuerydslPathInformation.java | 7 +- .../binding/QuerydslPredicateBuilder.java | 32 ++-- .../repository/cdi/CdiRepositoryBean.java | 32 ++-- .../repository/cdi/CdiRepositoryContext.java | 13 +- .../cdi/CdiRepositoryExtensionSupport.java | 25 ++- ...notationRepositoryConfigurationSource.java | 39 +++-- ...ustomRepositoryImplementationDetector.java | 8 +- ...aultImplementationLookupConfiguration.java | 10 +- .../repository/config/FragmentMetadata.java | 2 +- .../ImplementationDetectionConfiguration.java | 2 +- .../NamedQueriesBeanDefinitionBuilder.java | 11 +- .../NamedQueriesBeanDefinitionParser.java | 11 +- .../RepositoryBeanDefinitionBuilder.java | 29 ++-- .../RepositoryBeanDefinitionParser.java | 21 ++- ...ositoryBeanDefinitionRegistrarSupport.java | 6 +- .../config/RepositoryBeanNameGenerator.java | 7 +- .../config/RepositoryComponentProvider.java | 12 +- .../RepositoryConfigurationDelegate.java | 35 ++-- ...positoryConfigurationExtensionSupport.java | 36 ++--- .../RepositoryConfigurationSourceSupport.java | 4 +- .../config/RepositoryConfigurationUtils.java | 6 +- .../RepositoryFragmentConfiguration.java | 5 +- ...positoryPopulatorBeanDefinitionParser.java | 8 +- .../data/repository/config/SelectionSet.java | 2 +- .../XmlRepositoryConfigurationSource.java | 14 +- .../repository/core/EntityInformation.java | 2 +- .../support/AbstractEntityInformation.java | 4 +- .../support/AbstractRepositoryMetadata.java | 5 +- .../support/AnnotationRepositoryMetadata.java | 4 +- .../core/support/DefaultCrudMethods.java | 8 +- .../support/DefaultRepositoryInformation.java | 8 +- .../support/DefaultRepositoryMetadata.java | 2 +- ...ublishingRepositoryProxyPostProcessor.java | 20 +-- .../support/MethodInvocationValidator.java | 28 ++-- .../repository/core/support/MethodLookup.java | 3 +- .../core/support/MethodLookups.java | 44 +++-- .../support/PropertiesBasedNamedQueries.java | 2 +- .../support/QueryExecutionResultHandler.java | 20 +-- .../QueryExecutorMethodInterceptor.java | 10 +- .../core/support/RepositoryComposition.java | 36 ++--- .../support/RepositoryFactoryBeanSupport.java | 6 +- .../support/RepositoryFactorySupport.java | 70 ++++---- .../core/support/RepositoryFragment.java | 9 +- .../RepositoryInvocationMulticaster.java | 2 +- .../core/support/RepositoryMethodInvoker.java | 19 ++- ...sactionalRepositoryFactoryBeanSupport.java | 8 +- ...sactionalRepositoryProxyPostProcessor.java | 8 +- ...bstractRepositoryPopulatorFactoryBean.java | 6 +- .../init/Jackson2ResourceReader.java | 16 +- .../init/RepositoriesPopulatedEvent.java | 4 +- .../ResourceReaderRepositoryPopulator.java | 8 +- ...shallerRepositoryPopulatorFactoryBean.java | 2 +- .../init/UnmarshallingResourceReader.java | 2 +- ...eQueryMethodEvaluationContextProvider.java | 5 +- .../data/repository/query/Parameter.java | 16 +- .../data/repository/query/Parameters.java | 30 ++-- .../query/ParametersParameterAccessor.java | 8 +- .../data/repository/query/QueryMethod.java | 12 +- ...eQueryMethodEvaluationContextProvider.java | 8 +- .../repository/query/ResultProcessor.java | 17 +- .../data/repository/query/ReturnedType.java | 9 +- .../data/repository/query/SpelEvaluator.java | 6 +- .../repository/query/SpelQueryContext.java | 25 ++- .../query/parser/AbstractQueryCreator.java | 9 +- .../query/parser/OrderBySource.java | 11 +- .../data/repository/query/parser/Part.java | 23 ++- .../repository/query/parser/PartTree.java | 13 +- .../support/AnnotationAttribute.java | 4 +- .../support/CrudRepositoryInvoker.java | 3 +- .../DefaultRepositoryInvokerFactory.java | 5 +- .../support/DomainClassConverter.java | 25 ++- .../repository/support/MethodParameters.java | 2 +- .../PagingAndSortingRepositoryInvoker.java | 3 +- .../support/ReflectionRepositoryInvoker.java | 30 ++-- .../data/repository/support/Repositories.java | 32 ++-- .../data/repository/util/ClassUtils.java | 8 +- .../util/QueryExecutionConverters.java | 24 ++- .../util/ReactiveWrapperConverters.java | 7 +- .../repository/util/ReactiveWrappers.java | 6 +- .../data/repository/util/VavrCollections.java | 2 +- ...EvaluationContextExtensionInformation.java | 15 +- .../data/spel/ExpressionDependencies.java | 10 +- ...tensionAwareEvaluationContextProvider.java | 21 +-- .../springframework/data/spel/Functions.java | 13 +- ...tensionAwareEvaluationContextProvider.java | 14 +- .../data/spel/spi/Function.java | 12 +- .../data/support/ExampleMatcherAccessor.java | 9 +- .../ChainedTransactionManager.java | 24 +-- .../transaction/MultiTransactionStatus.java | 18 +-- .../DefaultMethodsMetadataReader.java | 4 +- .../data/util/AnnotatedTypeScanner.java | 13 +- .../AnnotationDetectionFieldCallback.java | 6 +- .../AnnotationDetectionMethodCallback.java | 4 +- .../springframework/data/util/BeanLookup.java | 4 +- .../data/util/ClassTypeInformation.java | 9 +- .../DirectFieldAccessFallbackBeanWrapper.java | 6 +- .../util/GenericArrayTypeInformation.java | 3 +- .../data/util/KotlinReflectionUtils.java | 28 ++-- .../org/springframework/data/util/Lazy.java | 12 +- .../data/util/MethodInvocationRecorder.java | 50 +++--- .../data/util/MultiValueMapCollector.java | 2 +- .../data/util/NullableUtils.java | 21 ++- .../data/util/NullableWrapper.java | 2 +- .../data/util/NullableWrapperConverters.java | 24 ++- .../org/springframework/data/util/Pair.java | 6 +- .../data/util/ParameterTypes.java | 24 ++- .../util/ParameterizedTypeInformation.java | 40 +++-- .../util/ParentTypeAwareTypeInformation.java | 2 +- .../data/util/ParsingUtils.java | 4 +- .../springframework/data/util/ProxyUtils.java | 4 +- .../data/util/ReflectionUtils.java | 26 +-- .../data/util/StreamUtils.java | 34 ++-- .../data/util/TypeDiscoverer.java | 69 ++++---- .../data/util/TypeInformation.java | 10 +- .../util/TypeVariableTypeInformation.java | 6 +- .../springframework/data/util/Version.java | 14 +- ...PageableHandlerMethodArgumentResolver.java | 28 ++-- ...eoasSortHandlerMethodArgumentResolver.java | 19 +-- ...sonProjectingMethodInterceptorFactory.java | 25 ++- .../data/web/MapDataBinder.java | 29 ++-- ...PageableHandlerMethodArgumentResolver.java | 9 +- ...eHandlerMethodArgumentResolverSupport.java | 19 +-- .../data/web/PagedResourcesAssembler.java | 23 ++- ...gedResourcesAssemblerArgumentResolver.java | 23 ++- ...rojectingJackson2HttpMessageConverter.java | 8 +- ...ProxyingHandlerMethodArgumentResolver.java | 6 +- ...PageableHandlerMethodArgumentResolver.java | 12 +- ...tiveSortHandlerMethodArgumentResolver.java | 4 +- .../SortHandlerMethodArgumentResolver.java | 2 +- ...tHandlerMethodArgumentResolverSupport.java | 35 ++-- .../data/web/SpringDataAnnotationUtils.java | 25 ++- .../data/web/XmlBeamHttpMessageConverter.java | 8 +- ...ateoasAwareSpringDataWebConfiguration.java | 4 +- .../ProjectingArgumentResolverRegistrar.java | 4 +- .../config/SpringDataWebConfiguration.java | 16 +- .../QuerydslPredicateArgumentResolver.java | 12 +- ...rydslPredicateArgumentResolverSupport.java | 20 ++- ...tiveQuerydslPredicateArgumentResolver.java | 13 +- .../data/annotation/TypeAliasUnitTests.java | 7 +- .../AnnotationAuditingMetadataUnitTests.java | 8 +- .../auditing/AuditingHandlerUnitTests.java | 8 +- .../data/auditing/AuditorUnitTests.java | 2 +- ...tAuditableBeanWrapperFactoryUnitTests.java | 26 ++- .../IsNewAwareAuditingHandlerUnitTests.java | 10 +- ...gAuditableBeanWrapperFactoryUnitTests.java | 54 +++---- .../ReactiveAuditingHandlerUnitTests.java | 6 +- ...eflectionAuditingBeanWrapperUnitTests.java | 4 +- .../config/TypeFilterParserUnitTests.java | 6 +- .../convert/ConverterBuilderUnitTests.java | 12 +- .../convert/CustomConversionsUnitTests.java | 51 +++--- .../convert/DefaultTypeMapperUnitTests.java | 10 +- .../convert/Jsr310ConvertersUnitTests.java | 39 +++-- ...ContextTypeInformationMapperUnitTests.java | 10 +- .../SimpleTypeInformationMapperUnitTests.java | 2 +- .../AbstractAggregateRootUnitTests.java | 20 +-- .../domain/AbstractPageRequestUnitTests.java | 6 +- .../data/domain/ExampleMatcherUnitTests.java | 6 +- .../data/domain/ExampleUnitTests.java | 6 +- .../data/domain/PageImplUnitTests.java | 8 +- .../data/domain/PageRequestUnitTests.java | 2 +- .../data/domain/RangeUnitTests.java | 30 ++-- .../data/domain/SortUnitTests.java | 12 +- .../domain/jaxb/SpringDataJaxbUnitTests.java | 16 +- .../data/geo/BoxUnitTests.java | 2 +- .../data/geo/CircleUnitTests.java | 8 +- .../data/geo/DistanceUnitTests.java | 32 ++-- .../data/geo/GeoModuleIntegrationTests.java | 20 +-- .../data/geo/GeoResultUnitTests.java | 4 +- .../data/geo/GeoResultsUnitTests.java | 12 +- .../data/geo/PointUnitTests.java | 4 +- .../data/geo/PolygonUnitTests.java | 10 +- .../AnnotationRevisionMetadataUnitTests.java | 40 ++--- .../data/history/RevisionUnitTests.java | 11 +- .../data/history/RevisionsUnitTests.java | 13 +- ...rePersistentPropertyAccessorUnitTests.java | 12 +- .../data/mapping/ParameterUnitTests.java | 20 +-- .../PersistentPropertyAccessorUnitTests.java | 42 ++--- ...eferredConstructorDiscovererUnitTests.java | 2 +- .../data/mapping/PropertyPathUnitTests.java | 55 ++++--- .../PropertyReferenceExceptionUnitTests.java | 5 +- .../mapping/SimpleTypeHolderUnitTests.java | 28 ++-- ...argetAwareIdentifierAccessorUnitTests.java | 2 +- .../DefaultEntityCallbacksUnitTests.java | 38 ++--- ...faultReactiveEntityCallbacksUnitTests.java | 22 +-- .../EntityCallbackDiscovererUnitTests.java | 32 ++-- ...bstractMappingContextIntegrationTests.java | 14 +- .../AbstractMappingContextUnitTests.java | 32 ++-- ...efaultPersistentPropertyPathUnitTests.java | 6 +- .../context/MappingContextEventUnitTests.java | 6 +- .../context/PersistentEntitiesUnitTests.java | 31 ++-- ...ersistentPropertyPathFactoryUnitTests.java | 13 +- .../context/PropertyMatchUnitTests.java | 8 +- .../AbstractPersistentPropertyUnitTests.java | 44 ++--- ...ationBasedPersistentPropertyUnitTests.java | 30 ++-- .../model/BasicPersistentEntityUnitTests.java | 46 +++--- ...GeneratingEntityInstantiatorUnitTests.java | 36 ++--- ...gPropertyAccessorFactoryDatatypeTests.java | 14 +- ...ropertyAccessorFactoryEntityTypeTests.java | 8 +- ...eneratingPropertyAccessorFactoryTests.java | 16 +- .../ConvertingPropertyAccessorUnitTests.java | 26 +-- .../model/EntityInstantiatorsUnitTests.java | 6 +- ...IdPropertyIdentifierAccessorUnitTests.java | 2 +- .../model/KotlinCopyMethodUnitTests.java | 8 +- ...ameterizedKotlinInstantiatorUnitTests.java | 20 +-- ...ersistentEntityIsNewStrategyUnitTests.java | 10 +- ...EntityParameterValueProviderUnitTests.java | 4 +- .../PersistentPropertyAccessorTests.java | 52 +++--- ...opertyAccessorClassGeneratorUnitTests.java | 2 +- .../data/mapping/model/PropertyUnitTests.java | 6 +- ...ReflectionEntityInstantiatorUnitTests.java | 8 +- ...rsistentPropertyPathAccessorUnitTests.java | 24 +-- ...apAccessingMethodInterceptorUnitTests.java | 8 +- .../ProjectingMethodInterceptorUnitTests.java | 26 +-- .../ProjectionIntegrationTests.java | 10 +- ...tyAccessingMethodInterceptorUnitTests.java | 6 +- .../ProxyProjectionFactoryUnitTests.java | 76 +++++---- ...lAwareProxyProjectionFactoryUnitTests.java | 17 +- ...lEvaluatingMethodInterceptorUnitTests.java | 10 +- .../data/querydsl/QPageRequestUnitTests.java | 8 +- .../data/querydsl/QSortUnitTests.java | 43 +++-- ...ydslRepositoryInvokerAdapterUnitTests.java | 4 +- .../PropertyPathInformationUnitTests.java | 8 +- .../QuerydslBindingsFactoryUnitTests.java | 18 +-- .../binding/QuerydslBindingsUnitTests.java | 8 +- .../QuerydslDefaultBindingUnitTests.java | 14 +- .../QuerydslPredicateBuilderUnitTests.java | 31 ++-- .../cdi/CdiConfigurationIntegrationTests.java | 2 +- .../cdi/CdiRepositoryBeanUnitTests.java | 19 ++- ...itoryExtensionSupportIntegrationTests.java | 4 +- .../repository/cdi/DummyCdiExtension.java | 7 +- .../RepositoryFragmentsIntegrationTests.java | 18 +-- ...epositoryConfigurationSourceUnitTests.java | 13 +- ...sitoryImplementationDetectorUnitTests.java | 20 ++- ...mentationLookupConfigurationUnitTests.java | 8 +- ...faultRepositoryConfigurationUnitTests.java | 6 +- ...tationDetectionConfigurationUnitTests.java | 2 +- .../PrimaryRepositoryIntegrationTests.java | 2 +- ...itionRegistrarSupportIntegrationTests.java | 5 +- ...anDefinitionRegistrarSupportUnitTests.java | 10 +- .../RepositoryBeanNameGeneratorUnitTests.java | 5 +- .../RepositoryComponentProviderUnitTests.java | 17 +- ...ositoryConfigurationDelegateUnitTests.java | 34 ++-- ...onfigurationExtensionSupportUnitTests.java | 14 +- ...rBeanDefinitionParserIntegrationTests.java | 34 ++-- .../config/SelectionSetUnitTests.java | 4 +- .../AbstractEntityInformationUnitTests.java | 8 +- .../AbstractRepositoryMetadataUnitTests.java | 18 +-- .../support/DefaultCrudMethodsUnitTests.java | 30 ++-- ...DefaultRepositoryInformationUnitTests.java | 54 +++---- .../DefaultRepositoryMetadataUnitTests.java | 6 +- .../DummyReactiveRepositoryFactory.java | 2 +- .../core/support/DummyRepositoryFactory.java | 6 +- ...RepositoryProxyPostProcessorUnitTests.java | 62 +++---- ...ExampleSpecificationAccessorUnitTests.java | 4 +- .../PersistentEntityInformationUnitTests.java | 8 +- .../QueryExecutionResultHandlerUnitTests.java | 144 ++++++++--------- ...eactiveRepositoryInformationUnitTests.java | 14 +- ...pperRepositoryFactorySupportUnitTests.java | 6 +- .../RepositoryCompositionUnitTests.java | 40 +++-- ...RepositoryFactoryBeanSupportUnitTests.java | 9 +- .../RepositoryFactorySupportUnitTests.java | 77 +++++---- ...onTransactionAttributeSourceUnitTests.java | 8 +- .../RepositoryMethodInvokerUnitTests.java | 6 +- ...RepositoryFactoryBeanSupportUnitTests.java | 17 +- ...RepositoryProxyPostProcessorUnitTests.java | 15 +- ...ackson2ResourceReaderIntegrationTests.java | 2 +- ...eReaderRepositoryInitializerUnitTests.java | 8 +- ...areEvaluationContextProviderUnitTests.java | 19 ++- .../repository/query/ParameterUnitTests.java | 4 +- .../ParametersParameterAccessorUnitTests.java | 16 +- .../repository/query/ParametersUnitTests.java | 26 +-- .../query/QueryMethodUnitTests.java | 61 ++++--- .../query/QuotationMapUnitTests.java | 22 +-- .../query/ResultProcessorUnitTests.java | 83 +++++----- .../query/ReturnedTypeUnitTests.java | 36 ++--- .../SimpleParameterAccessorUnitTests.java | 4 +- .../query/SpelExtractorUnitTests.java | 22 +-- .../query/SpelQueryContextUnitTests.java | 8 +- .../query/parser/OrderBySourceUnitTests.java | 6 +- .../query/parser/PartTreeUnitTests.java | 114 ++++++------- .../sample/SampleConfiguration.java | 2 +- .../support/AnnotationAttributeUnitTests.java | 2 +- .../CrudRepositoryInvokerUnitTests.java | 20 ++- ...ositoryInvokerFactoryIntegrationTests.java | 10 +- .../DomainClassConverterIntegrationTests.java | 6 +- .../DomainClassConverterUnitTests.java | 30 ++-- .../support/MethodParametersUnitTests.java | 14 +- ...nAndSortingRepositoryInvokerUnitTests.java | 19 +-- .../ReflectionRepositoryInvokerUnitTests.java | 74 +++++---- .../support/RepositoriesIntegrationTests.java | 2 +- .../support/RepositoriesUnitTests.java | 46 +++--- .../RepositoryInvocationTestUtils.java | 4 +- .../QueryExecutionConvertersUnitTests.java | 37 +++-- .../ReactiveWrapperConvertersUnitTests.java | 18 +-- ...nContextExtensionInformationUnitTests.java | 4 +- .../spel/ExpressionDependenciesUnitTests.java | 38 ++--- ...areEvaluationContextProviderUnitTests.java | 50 +++--- .../data/spel/spi/FunctionUnitTests.java | 14 +- .../PageableExecutionUtilsUnitTests.java | 10 +- .../PersistableIsNewStrategyUnitTests.java | 2 +- .../ChainedTransactionManagerTests.java | 18 +-- ...DefaultMethodsMetadataReaderUnitTests.java | 20 +-- ...MethodsMetadataReaderFactoryUnitTests.java | 14 +- .../util/AnnotatedTypeScannerUnitTests.java | 2 +- ...tationDetectionFieldCallbackUnitTests.java | 4 +- ...ationDetectionMethodCallbackUnitTests.java | 4 +- .../util/ClassTypeInformationUnitTests.java | 82 +++++----- .../data/util/CloseableIteratorUnitTests.java | 10 +- .../data/util/DataCmns511Tests.java | 4 +- ...eldAccessFallbackBeanWrapperUnitTests.java | 4 +- .../util/KotlinReflectionUtilsUnitTests.java | 4 +- .../data/util/LazyUnitTests.java | 18 +-- .../MethodInvocationRecorderUnitTests.java | 10 +- .../data/util/NullableUtilsUnitTests.java | 16 +- .../data/util/PairUnitTests.java | 12 +- .../data/util/ParameterTypesUnitTests.java | 24 ++- ...ParameterizedTypeInformationUnitTests.java | 32 ++-- .../data/util/ParsingUtilsUnitTests.java | 6 +- .../data/util/ProxyUtilsUnitTests.java | 12 +- .../data/util/ReflectionUtilsUnitTests.java | 22 +-- .../data/util/StreamUtilsTests.java | 11 +- .../data/util/StreamableUnitTests.java | 2 +- .../data/util/TypeDiscovererUnitTests.java | 35 ++-- .../data/util/VersionUnitTests.java | 34 ++-- ...andlerMethodArgumentResolverUnitTests.java | 41 +++-- ...andlerMethodArgumentResolverUnitTests.java | 11 +- ...tingMethodInterceptorFactoryUnitTests.java | 16 +- .../data/web/MapDataBinderUnitTests.java | 22 +-- .../data/web/PageableDefaultUnitTests.java | 6 +- ...andlerMethodArgumentResolverUnitTests.java | 60 +++---- ...cesAssemblerArgumentResolverUnitTests.java | 26 +-- .../web/PagedResourcesAssemblerUnitTests.java | 58 +++---- ...Jackson2HttpMessageConverterUnitTests.java | 12 +- ...andlerMethodArgumentResolverUnitTests.java | 18 +-- ...andlerMethodArgumentResolverUnitTests.java | 50 +++--- ...andlerMethodArgumentResolverUnitTests.java | 59 ++++--- .../data/web/SortDefaultUnitTests.java | 14 +- ...andlerMethodArgumentResolverUnitTests.java | 86 +++++----- .../springframework/data/web/TestUtils.java | 2 +- .../data/web/WebTestUtils.java | 6 +- .../XmlBeamHttpMessageConverterUnitTests.java | 16 +- ...eSpringDataWebSupportIntegrationTests.java | 43 +++-- ...bleResourcesAssemblerIntegrationTests.java | 11 +- .../data/web/config/SampleController.java | 3 +- ...gDataWebConfigurationIntegrationTests.java | 6 +- ...dslPredicateArgumentResolverUnitTests.java | 28 ++-- ...dslPredicateArgumentResolverUnitTests.java | 20 +-- 463 files changed, 3670 insertions(+), 4014 deletions(-) diff --git a/src/main/java/org/springframework/data/auditing/AnnotationAuditingMetadata.java b/src/main/java/org/springframework/data/auditing/AnnotationAuditingMetadata.java index 3ef3c524e..a51688cd8 100644 --- a/src/main/java/org/springframework/data/auditing/AnnotationAuditingMetadata.java +++ b/src/main/java/org/springframework/data/auditing/AnnotationAuditingMetadata.java @@ -101,7 +101,7 @@ final class AnnotationAuditingMetadata { return; } - Class type = it.getType(); + var type = it.getType(); if (Jsr310Converters.supports(type)) { return; diff --git a/src/main/java/org/springframework/data/auditing/AuditingHandlerSupport.java b/src/main/java/org/springframework/data/auditing/AuditingHandlerSupport.java index 476ac5e74..57e4cc2e6 100644 --- a/src/main/java/org/springframework/data/auditing/AuditingHandlerSupport.java +++ b/src/main/java/org/springframework/data/auditing/AuditingHandlerSupport.java @@ -107,7 +107,7 @@ public abstract class AuditingHandlerSupport { * @param auditor can be {@literal null}. * @param source must not be {@literal null}. */ - T markCreated(Auditor auditor, T source) { + T markCreated(Auditor auditor, T source) { Assert.notNull(source, "Source entity must not be null!"); @@ -120,16 +120,16 @@ public abstract class AuditingHandlerSupport { * @param auditor * @param source */ - T markModified(Auditor auditor, T source) { + T markModified(Auditor auditor, T source) { Assert.notNull(source, "Source entity must not be null!"); return touch(auditor, source, false); } - private T touch(Auditor auditor, T target, boolean isNew) { + private T touch(Auditor auditor, T target, boolean isNew) { - Optional> wrapper = factory.getBeanWrapperFor(target); + var wrapper = factory.getBeanWrapperFor(target); return wrapper.map(it -> { @@ -157,7 +157,7 @@ public abstract class AuditingHandlerSupport { * @param isNew * @return */ - private void touchAuditor(Auditor auditor, AuditableBeanWrapper wrapper, boolean isNew) { + private void touchAuditor(Auditor auditor, AuditableBeanWrapper wrapper, boolean isNew) { if(!auditor.isPresent()) { return; @@ -185,7 +185,7 @@ public abstract class AuditingHandlerSupport { Assert.notNull(wrapper, "AuditableBeanWrapper must not be null!"); - Optional now = dateTimeProvider.getNow(); + var now = dateTimeProvider.getNow(); Assert.notNull(now, () -> String.format("Now must not be null! Returned by: %s!", dateTimeProvider.getClass())); diff --git a/src/main/java/org/springframework/data/auditing/Auditor.java b/src/main/java/org/springframework/data/auditing/Auditor.java index c1d4ab147..d2ffa4f73 100644 --- a/src/main/java/org/springframework/data/auditing/Auditor.java +++ b/src/main/java/org/springframework/data/auditing/Auditor.java @@ -110,7 +110,7 @@ class Auditor { if (o == null || getClass() != o.getClass()) return false; - Auditor auditor = (Auditor) o; + var auditor = (Auditor) o; return ObjectUtils.nullSafeEquals(value, auditor.value); } diff --git a/src/main/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactory.java b/src/main/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactory.java index 9dda71ba8..2d9033efa 100644 --- a/src/main/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactory.java +++ b/src/main/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactory.java @@ -46,7 +46,7 @@ class DefaultAuditableBeanWrapperFactory implements AuditableBeanWrapperFactory public DefaultAuditableBeanWrapperFactory() { - DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService(); + var conversionService = new DefaultFormattingConversionService(); Jsr310Converters.getConvertersToRegister().forEach(conversionService::addConverter); @@ -75,7 +75,7 @@ class DefaultAuditableBeanWrapperFactory implements AuditableBeanWrapperFactory return (AuditableBeanWrapper) new AuditableInterfaceBeanWrapper(conversionService, (Auditable) it); } - AnnotationAuditingMetadata metadata = AnnotationAuditingMetadata.getMetadata(it.getClass()); + var metadata = AnnotationAuditingMetadata.getMetadata(it.getClass()); if (metadata.isAuditable()) { return new ReflectionAuditingBeanWrapper(conversionService, it); @@ -215,7 +215,7 @@ class DefaultAuditableBeanWrapperFactory implements AuditableBeanWrapperFactory value.getClass(), targetType)); } - Date date = conversionService.convert(value, Date.class); + var date = conversionService.convert(value, Date.class); return conversionService.convert(date, targetType); } @@ -317,7 +317,7 @@ class DefaultAuditableBeanWrapperFactory implements AuditableBeanWrapperFactory return getAsTemporalAccessor(metadata.getLastModifiedDateField().map(field -> { - Object value = org.springframework.util.ReflectionUtils.getField(field, target); + var value = org.springframework.util.ReflectionUtils.getField(field, target); return value instanceof Optional ? ((Optional) value).orElse(null) : value; }), TemporalAccessor.class); diff --git a/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java b/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java index b958fcc88..9fc899bb3 100644 --- a/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java +++ b/src/main/java/org/springframework/data/auditing/IsNewAwareAuditingHandler.java @@ -16,7 +16,6 @@ package org.springframework.data.auditing; import org.springframework.data.mapping.PersistentEntity; -import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.context.MappingContext; import org.springframework.data.mapping.context.PersistentEntities; import org.springframework.data.support.IsNewStrategy; @@ -62,7 +61,7 @@ public class IsNewAwareAuditingHandler extends AuditingHandler { return object; } - PersistentEntity> entity = entities + var entity = entities .getRequiredPersistentEntity(object.getClass()); return entity.isNew(object) ? markCreated(object) : markModified(object); diff --git a/src/main/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactory.java b/src/main/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactory.java index 703d9a279..24d3fb827 100644 --- a/src/main/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactory.java +++ b/src/main/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactory.java @@ -85,7 +85,7 @@ public class MappingAuditableBeanWrapperFactory extends DefaultAuditableBeanWrap return entities.mapOnContext(it.getClass(), (context, entity) -> { - MappingAuditingMetadata metadata = metadataCache.computeIfAbsent(it.getClass(), + var metadata = metadataCache.computeIfAbsent(it.getClass(), key -> new MappingAuditingMetadata(context, it.getClass())); return Optional.> ofNullable(metadata.isAuditable() // @@ -229,7 +229,7 @@ public class MappingAuditableBeanWrapperFactory extends DefaultAuditableBeanWrap @Override public Optional getLastModifiedDate() { - Optional firstValue = metadata.lastModifiedDatePaths.getFirst() // + var firstValue = metadata.lastModifiedDatePaths.getFirst() // .map(accessor::getProperty); return getAsTemporalAccessor(firstValue, TemporalAccessor.class); @@ -266,7 +266,7 @@ public class MappingAuditableBeanWrapperFactory extends DefaultAuditableBeanWrap property.forEach(it -> { - Class type = it.getRequiredLeafProperty().getType(); + var type = it.getRequiredLeafProperty().getType(); this.accessor.setProperty(it, getDateValueToSet(value, type, accessor.getBean()), OPTIONS); }); diff --git a/src/main/java/org/springframework/data/auditing/ReactiveIsNewAwareAuditingHandler.java b/src/main/java/org/springframework/data/auditing/ReactiveIsNewAwareAuditingHandler.java index 69a6f0366..59839dd3e 100644 --- a/src/main/java/org/springframework/data/auditing/ReactiveIsNewAwareAuditingHandler.java +++ b/src/main/java/org/springframework/data/auditing/ReactiveIsNewAwareAuditingHandler.java @@ -18,7 +18,6 @@ package org.springframework.data.auditing; import reactor.core.publisher.Mono; import org.springframework.data.mapping.PersistentEntity; -import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.context.MappingContext; import org.springframework.data.mapping.context.PersistentEntities; import org.springframework.data.support.IsNewStrategy; @@ -62,7 +61,7 @@ public class ReactiveIsNewAwareAuditingHandler extends ReactiveAuditingHandler { return Mono.just(object); } - PersistentEntity> entity = entities + var entity = entities .getRequiredPersistentEntity(object.getClass()); return entity.isNew(object) ? markCreated(object) : markModified(object); diff --git a/src/main/java/org/springframework/data/auditing/config/AnnotationAuditingConfiguration.java b/src/main/java/org/springframework/data/auditing/config/AnnotationAuditingConfiguration.java index c850f87c7..6500bbcd8 100644 --- a/src/main/java/org/springframework/data/auditing/config/AnnotationAuditingConfiguration.java +++ b/src/main/java/org/springframework/data/auditing/config/AnnotationAuditingConfiguration.java @@ -16,7 +16,6 @@ package org.springframework.data.auditing.config; import java.lang.annotation.Annotation; -import java.util.Map; import org.springframework.core.annotation.AnnotationAttributes; import org.springframework.core.type.AnnotationMetadata; @@ -47,7 +46,7 @@ public class AnnotationAuditingConfiguration implements AuditingConfiguration { Assert.notNull(metadata, "AnnotationMetadata must not be null!"); Assert.notNull(annotation, "Annotation must not be null!"); - Map attributesSource = metadata.getAnnotationAttributes(annotation.getName()); + var attributesSource = metadata.getAnnotationAttributes(annotation.getName()); if (attributesSource == null) { throw new IllegalArgumentException(String.format(MISSING_ANNOTATION_ATTRIBUTES, annotation, metadata)); diff --git a/src/main/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupport.java b/src/main/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupport.java index 83b5d622b..94435f9bf 100644 --- a/src/main/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupport.java +++ b/src/main/java/org/springframework/data/auditing/config/AuditingBeanDefinitionRegistrarSupport.java @@ -60,7 +60,7 @@ public abstract class AuditingBeanDefinitionRegistrarSupport implements ImportBe Assert.notNull(annotationMetadata, "AnnotationMetadata must not be null!"); Assert.notNull(registry, "BeanDefinitionRegistry must not be null!"); - AbstractBeanDefinition ahbd = registerAuditHandlerBeanDefinition(registry, getConfiguration(annotationMetadata)); + var ahbd = registerAuditHandlerBeanDefinition(registry, getConfiguration(annotationMetadata)); registerAuditListenerBeanDefinition(ahbd, registry); } @@ -77,7 +77,7 @@ public abstract class AuditingBeanDefinitionRegistrarSupport implements ImportBe Assert.notNull(registry, "BeanDefinitionRegistry must not be null!"); Assert.notNull(configuration, "AuditingConfiguration must not be null!"); - AbstractBeanDefinition ahbd = getAuditHandlerBeanDefinitionBuilder(configuration).getBeanDefinition(); + var ahbd = getAuditHandlerBeanDefinitionBuilder(configuration).getBeanDefinition(); registry.registerBeanDefinition(getAuditingHandlerBeanName(), ahbd); return ahbd; } @@ -178,10 +178,10 @@ public abstract class AuditingBeanDefinitionRegistrarSupport implements ImportBe private BeanDefinition createLazyInitTargetSourceBeanDefinition(String auditorAwareRef) { - BeanDefinitionBuilder targetSourceBuilder = rootBeanDefinition(LazyInitTargetSource.class); + var targetSourceBuilder = rootBeanDefinition(LazyInitTargetSource.class); targetSourceBuilder.addPropertyValue("targetBeanName", auditorAwareRef); - BeanDefinitionBuilder builder = rootBeanDefinition(ProxyFactoryBean.class); + var builder = rootBeanDefinition(ProxyFactoryBean.class); builder.addPropertyValue("targetSource", targetSourceBuilder.getBeanDefinition()); return builder.getBeanDefinition(); diff --git a/src/main/java/org/springframework/data/auditing/config/AuditingHandlerBeanDefinitionParser.java b/src/main/java/org/springframework/data/auditing/config/AuditingHandlerBeanDefinitionParser.java index ba9545229..88f5e00ab 100644 --- a/src/main/java/org/springframework/data/auditing/config/AuditingHandlerBeanDefinitionParser.java +++ b/src/main/java/org/springframework/data/auditing/config/AuditingHandlerBeanDefinitionParser.java @@ -95,11 +95,11 @@ public class AuditingHandlerBeanDefinitionParser extends AbstractSingleBeanDefin @Override protected void doParse(Element element, BeanDefinitionBuilder builder) { - final BeanDefinitionBuilder persistentEntities = rootBeanDefinition(PersistentEntitiesFactoryBean.class); + final var persistentEntities = rootBeanDefinition(PersistentEntitiesFactoryBean.class); persistentEntities.addConstructorArgReference(mappingContextBeanName); builder.addConstructorArgValue(persistentEntities.getBeanDefinition()); - String auditorAwareRef = element.getAttribute(AUDITOR_AWARE_REF); + var auditorAwareRef = element.getAttribute(AUDITOR_AWARE_REF); if (StringUtils.hasText(auditorAwareRef)) { builder.addPropertyValue("auditorAware", createLazyInitTargetSourceBeanDefinition(auditorAwareRef)); @@ -123,10 +123,10 @@ public class AuditingHandlerBeanDefinitionParser extends AbstractSingleBeanDefin private BeanDefinition createLazyInitTargetSourceBeanDefinition(String auditorAwareRef) { - BeanDefinitionBuilder targetSourceBuilder = rootBeanDefinition(LazyInitTargetSource.class); + var targetSourceBuilder = rootBeanDefinition(LazyInitTargetSource.class); targetSourceBuilder.addPropertyValue("targetBeanName", auditorAwareRef); - BeanDefinitionBuilder builder = rootBeanDefinition(ProxyFactoryBean.class); + var builder = rootBeanDefinition(ProxyFactoryBean.class); builder.addPropertyValue("targetSource", targetSourceBuilder.getBeanDefinition()); return builder.getBeanDefinition(); diff --git a/src/main/java/org/springframework/data/config/BeanComponentDefinitionBuilder.java b/src/main/java/org/springframework/data/config/BeanComponentDefinitionBuilder.java index a2523d1bb..8294726cb 100644 --- a/src/main/java/org/springframework/data/config/BeanComponentDefinitionBuilder.java +++ b/src/main/java/org/springframework/data/config/BeanComponentDefinitionBuilder.java @@ -16,12 +16,12 @@ package org.springframework.data.config; import org.springframework.beans.factory.parsing.BeanComponentDefinition; -import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.BeanDefinitionReaderUtils; import org.springframework.beans.factory.xml.ParserContext; import org.springframework.util.Assert; import org.springframework.util.StringUtils; + import org.w3c.dom.Element; /** @@ -60,8 +60,8 @@ public class BeanComponentDefinitionBuilder { Assert.notNull(builder, "Builder must not be null!"); - AbstractBeanDefinition definition = builder.getRawBeanDefinition(); - String name = BeanDefinitionReaderUtils.generateBeanName(definition, context.getRegistry(), context.isNested()); + var definition = builder.getRawBeanDefinition(); + var name = BeanDefinitionReaderUtils.generateBeanName(definition, context.getRegistry(), context.isNested()); return getComponent(builder, name); } @@ -78,7 +78,7 @@ public class BeanComponentDefinitionBuilder { Assert.hasText(fallback, "Fallback component id must not be null or empty!"); - String id = defaultSource.getAttribute("id"); + var id = defaultSource.getAttribute("id"); return getComponent(builder, StringUtils.hasText(id) ? id : fallback); } @@ -107,7 +107,7 @@ public class BeanComponentDefinitionBuilder { Assert.notNull(builder, "Builder must not be null!"); Assert.hasText(name, "Name of bean must not be null or empty!"); - AbstractBeanDefinition definition = builder.getRawBeanDefinition(); + var definition = builder.getRawBeanDefinition(); definition.setSource(context.extractSource(rawSource)); return new BeanComponentDefinition(definition, name); diff --git a/src/main/java/org/springframework/data/config/ConfigurationUtils.java b/src/main/java/org/springframework/data/config/ConfigurationUtils.java index 13a2cf758..c3dc5fe8a 100644 --- a/src/main/java/org/springframework/data/config/ConfigurationUtils.java +++ b/src/main/java/org/springframework/data/config/ConfigurationUtils.java @@ -41,7 +41,7 @@ public interface ConfigurationUtils { Assert.notNull(context, "XmlReaderContext must not be null!"); - ResourceLoader resourceLoader = context.getResourceLoader(); + var resourceLoader = context.getResourceLoader(); if (resourceLoader == null) { throw new IllegalArgumentException("Could not obtain ResourceLoader from XmlReaderContext!"); @@ -72,7 +72,7 @@ public interface ConfigurationUtils { Assert.notNull(resourceLoader, "ResourceLoader must not be null!"); - ClassLoader classLoader = resourceLoader.getClassLoader(); + var classLoader = resourceLoader.getClassLoader(); if (classLoader == null) { throw new IllegalArgumentException("Could not obtain ClassLoader from ResourceLoader!"); @@ -92,7 +92,7 @@ public interface ConfigurationUtils { Assert.notNull(beanDefinition, "BeanDefinition must not be null!"); - String result = beanDefinition.getBeanClassName(); + var result = beanDefinition.getBeanClassName(); if (result == null) { throw new IllegalArgumentException( diff --git a/src/main/java/org/springframework/data/config/ParsingUtils.java b/src/main/java/org/springframework/data/config/ParsingUtils.java index d4cecdfa7..78c319b19 100644 --- a/src/main/java/org/springframework/data/config/ParsingUtils.java +++ b/src/main/java/org/springframework/data/config/ParsingUtils.java @@ -55,7 +55,7 @@ public abstract class ParsingUtils { Assert.hasText(attrName, "Attribute name must not be null!"); Assert.hasText(propertyName, "Property name must not be null!"); - String attr = element.getAttribute(attrName); + var attr = element.getAttribute(attrName); if (StringUtils.hasText(attr)) { builder.addPropertyValue(propertyName, attr); @@ -90,7 +90,7 @@ public abstract class ParsingUtils { Assert.hasText(attribute, "Attribute name must not be null!"); Assert.hasText(property, "Property name must not be null!"); - String value = element.getAttribute(attribute); + var value = element.getAttribute(attribute); if (StringUtils.hasText(value)) { builder.addPropertyReference(property, value); @@ -126,7 +126,7 @@ public abstract class ParsingUtils { Assert.notNull(builder, "Builder must not be null!"); - AbstractBeanDefinition definition = builder.getRawBeanDefinition(); + var definition = builder.getRawBeanDefinition(); definition.setSource(source); return definition; } @@ -143,7 +143,7 @@ public abstract class ParsingUtils { Assert.hasText(targetBeanName, "Target bean name must not be null or empty!"); - BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ObjectFactoryCreatingFactoryBean.class); + var builder = BeanDefinitionBuilder.rootBeanDefinition(ObjectFactoryCreatingFactoryBean.class); builder.addPropertyValue("targetBeanName", targetBeanName); builder.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); diff --git a/src/main/java/org/springframework/data/config/TypeFilterParser.java b/src/main/java/org/springframework/data/config/TypeFilterParser.java index 24a02729d..f6a03c860 100644 --- a/src/main/java/org/springframework/data/config/TypeFilterParser.java +++ b/src/main/java/org/springframework/data/config/TypeFilterParser.java @@ -32,9 +32,9 @@ import org.springframework.core.type.filter.RegexPatternTypeFilter; import org.springframework.core.type.filter.TypeFilter; import org.springframework.lang.Nullable; import org.springframework.util.Assert; + import org.w3c.dom.Element; import org.w3c.dom.Node; -import org.w3c.dom.NodeList; /** * Parser to populate the given {@link ClassPathScanningCandidateComponentProvider} with {@link TypeFilter}s parsed from @@ -85,13 +85,13 @@ public class TypeFilterParser { */ public Collection parseTypeFilters(Element element, Type type) { - NodeList nodeList = element.getChildNodes(); + var nodeList = element.getChildNodes(); Collection filters = new HashSet<>(); - for (int i = 0; i < nodeList.getLength(); i++) { + for (var i = 0; i < nodeList.getLength(); i++) { - Node node = nodeList.item(i); - Element childElement = type.getElement(node); + var node = nodeList.item(i); + var childElement = type.getElement(node); if (childElement == null) { continue; @@ -116,12 +116,12 @@ public class TypeFilterParser { */ protected TypeFilter createTypeFilter(Element element, ClassLoader classLoader) { - String filterType = element.getAttribute(FILTER_TYPE_ATTRIBUTE); - String expression = element.getAttribute(FILTER_EXPRESSION_ATTRIBUTE); + var filterType = element.getAttribute(FILTER_TYPE_ATTRIBUTE); + var expression = element.getAttribute(FILTER_EXPRESSION_ATTRIBUTE); try { - FilterType filter = FilterType.fromString(filterType); + var filter = FilterType.fromString(filterType); return filter.getFilter(expression, classLoader); } catch (ClassNotFoundException ex) { @@ -136,7 +136,7 @@ public class TypeFilterParser { * @author Oliver Gierke * @see #getFilter(String, ClassLoader) */ - private static enum FilterType { + private enum FilterType { ANNOTATION { @Override @@ -171,7 +171,7 @@ public class TypeFilterParser { @Override public TypeFilter getFilter(String expression, ClassLoader classLoader) throws ClassNotFoundException { - Class filterClass = classLoader.loadClass(expression); + var filterClass = classLoader.loadClass(expression); if (!TypeFilter.class.isAssignableFrom(filterClass)) { throw new IllegalArgumentException( "Class is not assignable to [" + TypeFilter.class.getName() + "]: " + expression); @@ -199,7 +199,7 @@ public class TypeFilterParser { */ static FilterType fromString(String typeString) { - for (FilterType filter : FilterType.values()) { + for (var filter : FilterType.values()) { if (filter.name().equalsIgnoreCase(typeString)) { return filter; } @@ -209,13 +209,13 @@ public class TypeFilterParser { } } - public static enum Type { + public enum Type { INCLUDE("include-filter"), EXCLUDE("exclude-filter"); - private String elementName; + private final String elementName; - private Type(String elementName) { + Type(String elementName) { this.elementName = elementName; } @@ -230,7 +230,7 @@ public class TypeFilterParser { Element getElement(Node node) { if (node.getNodeType() == Node.ELEMENT_NODE) { - String localName = node.getLocalName(); + var localName = node.getLocalName(); if (elementName.equals(localName)) { return (Element) node; } diff --git a/src/main/java/org/springframework/data/convert/ConfigurableTypeInformationMapper.java b/src/main/java/org/springframework/data/convert/ConfigurableTypeInformationMapper.java index 456d9c3a2..95d2baa54 100644 --- a/src/main/java/org/springframework/data/convert/ConfigurableTypeInformationMapper.java +++ b/src/main/java/org/springframework/data/convert/ConfigurableTypeInformationMapper.java @@ -53,8 +53,8 @@ public class ConfigurableTypeInformationMapper implements TypeInformationMapper for (Entry, String> entry : sourceTypeMap.entrySet()) { - ClassTypeInformation type = ClassTypeInformation.from(entry.getKey()); - Alias alias = Alias.of(entry.getValue()); + var type = ClassTypeInformation.from(entry.getKey()); + var alias = Alias.of(entry.getValue()); if (typeToAlias.containsValue(alias)) { throw new IllegalArgumentException( diff --git a/src/main/java/org/springframework/data/convert/CustomConversions.java b/src/main/java/org/springframework/data/convert/CustomConversions.java index 4a854fe62..e6420c47f 100644 --- a/src/main/java/org/springframework/data/convert/CustomConversions.java +++ b/src/main/java/org/springframework/data/convert/CustomConversions.java @@ -113,7 +113,7 @@ public class CustomConversions { this.converterConfiguration = converterConfiguration; - List registeredConverters = collectPotentialConverterRegistrations( + var registeredConverters = collectPotentialConverterRegistrations( converterConfiguration.getStoreConversions(), converterConfiguration.getUserConverters()).stream() // .filter(this::isSupportedConverter) // .filter(this::shouldRegister) // @@ -253,7 +253,7 @@ public class CustomConversions { Assert.notNull(converterRegistration, "Converter registration must not be null!"); - ConvertiblePair pair = converterRegistration.getConvertiblePair(); + var pair = converterRegistration.getConvertiblePair(); if (converterRegistration.isReading()) { @@ -288,7 +288,7 @@ public class CustomConversions { */ private boolean isSupportedConverter(ConverterRegistrationIntent registrationIntent) { - boolean register = registrationIntent.isUserConverter() || registrationIntent.isStoreConverter() + var register = registrationIntent.isUserConverter() || registrationIntent.isStoreConverter() || (registrationIntent.isReading() && registrationIntent.isSimpleSourceType()) || (registrationIntent.isWriting() && registrationIntent.isSimpleTargetType()); @@ -329,7 +329,7 @@ public class CustomConversions { Assert.notNull(sourceType, "Source type must not be null!"); - Class target = customWriteTargetTypes.computeIfAbsent(sourceType, getRawWriteTarget); + var target = customWriteTargetTypes.computeIfAbsent(sourceType, getRawWriteTarget); return Void.class.equals(target) || target == null ? Optional.empty() : Optional.of(target); } @@ -348,7 +348,7 @@ public class CustomConversions { Assert.notNull(sourceType, "Source type must not be null!"); Assert.notNull(requestedTargetType, "Target type must not be null!"); - Class target = customWriteTargetTypes.computeIfAbsent(sourceType, requestedTargetType, getWriteTarget); + var target = customWriteTargetTypes.computeIfAbsent(sourceType, requestedTargetType, getWriteTarget); return Void.class.equals(target) || target == null ? Optional.empty() : Optional.of(target); } @@ -428,13 +428,13 @@ public class CustomConversions { return targetType; } - for (ConvertiblePair pair : pairs) { + for (var pair : pairs) { if (!hasAssignableSourceType(pair, sourceType)) { continue; } - Class candidate = pair.getTargetType(); + var candidate = pair.getTargetType(); if (!requestedTargetTypeIsAssignable(targetType, candidate)) { continue; @@ -491,7 +491,7 @@ public class CustomConversions { public Class computeIfAbsent(Class sourceType, Class targetType, Function> mappingFunction) { - TargetTypes targetTypes = customReadTargetTypes.get(sourceType); + var targetTypes = customReadTargetTypes.get(sourceType); if (targetTypes == null) { targetTypes = customReadTargetTypes.computeIfAbsent(sourceType, TargetTypes::new); @@ -532,7 +532,7 @@ public class CustomConversions { @Nullable public Class computeIfAbsent(Class targetType, Function> mappingFunction) { - Class optionalTarget = conversionTargets.get(targetType); + var optionalTarget = conversionTargets.get(targetType); if (optionalTarget == null) { optionalTarget = mappingFunction.apply(new ConvertiblePair(sourceType, targetType)); @@ -758,9 +758,9 @@ public class CustomConversions { Assert.notNull(converter, "Converter must not be null!"); - Class type = converter.getClass(); - boolean isWriting = isAnnotatedWith(type, WritingConverter.class); - boolean isReading = isAnnotatedWith(type, ReadingConverter.class); + var type = converter.getClass(); + var isWriting = isAnnotatedWith(type, WritingConverter.class); + var isReading = isAnnotatedWith(type, ReadingConverter.class); if (converter instanceof ConverterAware) { @@ -769,7 +769,7 @@ public class CustomConversions { } else if (converter instanceof GenericConverter) { - Set convertibleTypes = GenericConverter.class.cast(converter).getConvertibleTypes(); + var convertibleTypes = GenericConverter.class.cast(converter).getConvertibleTypes(); return convertibleTypes == null // ? Streamable.empty() // @@ -795,8 +795,8 @@ public class CustomConversions { private Streamable getRegistrationFor(Object converter, Class type, boolean isReading, boolean isWriting) { - Class converterType = converter.getClass(); - Class[] arguments = GenericTypeResolver.resolveTypeArguments(converterType, type); + var converterType = converter.getClass(); + var arguments = GenericTypeResolver.resolveTypeArguments(converterType, type); if (arguments == null) { throw new IllegalStateException(String.format("Couldn't resolve type arguments for %s!", converterType)); @@ -838,11 +838,10 @@ public class CustomConversions { return true; } - if (!(o instanceof StoreConversions)) { + if (!(o instanceof StoreConversions that)) { return false; } - StoreConversions that = (StoreConversions) o; if (!ObjectUtils.nullSafeEquals(storeTypeHolder, that.storeTypeHolder)) { return false; } @@ -856,7 +855,7 @@ public class CustomConversions { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(storeTypeHolder); + var result = ObjectUtils.nullSafeHashCode(storeTypeHolder); result = 31 * result + ObjectUtils.nullSafeHashCode(storeConverters); return result; } diff --git a/src/main/java/org/springframework/data/convert/DefaultConverterBuilder.java b/src/main/java/org/springframework/data/convert/DefaultConverterBuilder.java index 4267e5e07..d1f84472c 100644 --- a/src/main/java/org/springframework/data/convert/DefaultConverterBuilder.java +++ b/src/main/java/org/springframework/data/convert/DefaultConverterBuilder.java @@ -44,20 +44,10 @@ import org.springframework.util.ObjectUtils; * @soundtrack John Mayer - Still Feel Like Your Man (The Search for Everything) */ @SuppressWarnings("OptionalUsedAsFieldOrParameterType") -class DefaultConverterBuilder +record DefaultConverterBuilder (ConvertiblePair convertiblePair, + Optional> writing, Optional> reading) implements ConverterAware, ReadingConverterBuilder, WritingConverterBuilder { - private final ConvertiblePair convertiblePair; - private final Optional> writing; - private final Optional> reading; - - DefaultConverterBuilder(ConvertiblePair convertiblePair, Optional> writing, - Optional> reading) { - this.convertiblePair = convertiblePair; - this.writing = writing; - this.reading = reading; - } - /* * (non-Javadoc) * @see org.springframework.data.convert.WritingConverterBuilder#andReading(java.util.function.Function) @@ -172,12 +162,10 @@ class DefaultConverterBuilder return true; } - if (!(o instanceof ConfigurableGenericConverter)) { + if (!(o instanceof ConfigurableGenericConverter that)) { return false; } - ConfigurableGenericConverter that = (ConfigurableGenericConverter) o; - if (!ObjectUtils.nullSafeEquals(convertiblePair, that.convertiblePair)) { return false; } @@ -191,7 +179,7 @@ class DefaultConverterBuilder */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(convertiblePair); + var result = ObjectUtils.nullSafeHashCode(convertiblePair); result = 31 * result + ObjectUtils.nullSafeHashCode(function); return result; } diff --git a/src/main/java/org/springframework/data/convert/DefaultTypeMapper.java b/src/main/java/org/springframework/data/convert/DefaultTypeMapper.java index 4f6b70ccf..2ca7d24da 100644 --- a/src/main/java/org/springframework/data/convert/DefaultTypeMapper.java +++ b/src/main/java/org/springframework/data/convert/DefaultTypeMapper.java @@ -96,8 +96,8 @@ public class DefaultTypeMapper implements TypeMapper, BeanClassLoaderAware this.typeCache = new ConcurrentHashMap<>(); this.getAlias = key -> { - for (TypeInformationMapper mapper : mappers) { - TypeInformation typeInformation = mapper.resolveTypeFrom(key); + for (var mapper : mappers) { + var typeInformation = mapper.resolveTypeFrom(key); if (typeInformation != null) { return Optional.of(typeInformation); @@ -130,7 +130,7 @@ public class DefaultTypeMapper implements TypeMapper, BeanClassLoaderAware @Nullable private TypeInformation getFromCacheOrCreate(Alias alias) { - Optional> typeInformation = typeCache.get(alias); + var typeInformation = typeCache.get(alias); if (typeInformation == null) { typeInformation = typeCache.computeIfAbsent(alias, getAlias); @@ -149,22 +149,22 @@ public class DefaultTypeMapper implements TypeMapper, BeanClassLoaderAware Assert.notNull(source, "Source must not be null!"); Assert.notNull(basicType, "Basic type must not be null!"); - Class documentsTargetType = getDefaultedTypeToBeUsed(source); + var documentsTargetType = getDefaultedTypeToBeUsed(source); if (documentsTargetType == null) { return basicType; } - Class rawType = basicType.getType(); + var rawType = basicType.getType(); - boolean isMoreConcreteCustomType = rawType == null + var isMoreConcreteCustomType = rawType == null || rawType.isAssignableFrom(documentsTargetType) && !rawType.equals(documentsTargetType); if (!isMoreConcreteCustomType) { return basicType; } - ClassTypeInformation targetType = ClassTypeInformation.from(documentsTargetType); + var targetType = ClassTypeInformation.from(documentsTargetType); return (TypeInformation) basicType.specialize(targetType); } @@ -179,7 +179,7 @@ public class DefaultTypeMapper implements TypeMapper, BeanClassLoaderAware @Nullable private Class getDefaultedTypeToBeUsed(S source) { - TypeInformation documentsTargetTypeInformation = readType(source); + var documentsTargetTypeInformation = readType(source); documentsTargetTypeInformation = documentsTargetTypeInformation == null ? getFallbackTypeFor(source) : documentsTargetTypeInformation; return documentsTargetTypeInformation == null ? null : documentsTargetTypeInformation.getType(); @@ -214,7 +214,7 @@ public class DefaultTypeMapper implements TypeMapper, BeanClassLoaderAware Assert.notNull(info, "TypeInformation must not be null!"); - Alias alias = getAliasFor(info); + var alias = getAliasFor(info); if (alias.isPresent()) { accessor.writeTypeTo(sink, alias.getValue()); } @@ -246,7 +246,7 @@ public class DefaultTypeMapper implements TypeMapper, BeanClassLoaderAware for (TypeInformationMapper mapper : mappers) { - Alias alias = mapper.createAliasFor(info); + var alias = mapper.createAliasFor(info); if (alias.isPresent()) { return alias; } diff --git a/src/main/java/org/springframework/data/convert/JMoleculesConverters.java b/src/main/java/org/springframework/data/convert/JMoleculesConverters.java index 1f496f02d..dcde57c03 100644 --- a/src/main/java/org/springframework/data/convert/JMoleculesConverters.java +++ b/src/main/java/org/springframework/data/convert/JMoleculesConverters.java @@ -54,10 +54,10 @@ public class JMoleculesConverters { List converters = new ArrayList<>(); - Supplier conversionService = () -> DefaultConversionService.getSharedInstance(); + var conversionService = (Supplier) () -> DefaultConversionService.getSharedInstance(); - IdentifierToPrimitivesConverter toPrimitives = new IdentifierToPrimitivesConverter(conversionService); - PrimitivesToIdentifierConverter toIdentifier = new PrimitivesToIdentifierConverter(conversionService); + var toPrimitives = new IdentifierToPrimitivesConverter(conversionService); + var toIdentifier = new PrimitivesToIdentifierConverter(conversionService); converters.add(toPrimitives); converters.add(toIdentifier); diff --git a/src/main/java/org/springframework/data/convert/Jsr310Converters.java b/src/main/java/org/springframework/data/convert/Jsr310Converters.java index 128f3a286..8ae60f667 100644 --- a/src/main/java/org/springframework/data/convert/Jsr310Converters.java +++ b/src/main/java/org/springframework/data/convert/Jsr310Converters.java @@ -87,7 +87,7 @@ public abstract class Jsr310Converters { } @ReadingConverter - public static enum DateToLocalDateTimeConverter implements Converter { + public enum DateToLocalDateTimeConverter implements Converter { INSTANCE; @@ -99,7 +99,7 @@ public abstract class Jsr310Converters { } @WritingConverter - public static enum LocalDateTimeToDateConverter implements Converter { + public enum LocalDateTimeToDateConverter implements Converter { INSTANCE; @@ -111,7 +111,7 @@ public abstract class Jsr310Converters { } @ReadingConverter - public static enum DateToLocalDateConverter implements Converter { + public enum DateToLocalDateConverter implements Converter { INSTANCE; @@ -123,7 +123,7 @@ public abstract class Jsr310Converters { } @WritingConverter - public static enum LocalDateToDateConverter implements Converter { + public enum LocalDateToDateConverter implements Converter { INSTANCE; @@ -135,7 +135,7 @@ public abstract class Jsr310Converters { } @ReadingConverter - public static enum DateToLocalTimeConverter implements Converter { + public enum DateToLocalTimeConverter implements Converter { INSTANCE; @@ -147,7 +147,7 @@ public abstract class Jsr310Converters { } @WritingConverter - public static enum LocalTimeToDateConverter implements Converter { + public enum LocalTimeToDateConverter implements Converter { INSTANCE; @@ -159,7 +159,7 @@ public abstract class Jsr310Converters { } @ReadingConverter - public static enum DateToInstantConverter implements Converter { + public enum DateToInstantConverter implements Converter { INSTANCE; @@ -171,7 +171,7 @@ public abstract class Jsr310Converters { } @WritingConverter - public static enum InstantToDateConverter implements Converter { + public enum InstantToDateConverter implements Converter { INSTANCE; @@ -183,7 +183,7 @@ public abstract class Jsr310Converters { } @ReadingConverter - public static enum LocalDateTimeToInstantConverter implements Converter { + public enum LocalDateTimeToInstantConverter implements Converter { INSTANCE; @@ -195,7 +195,7 @@ public abstract class Jsr310Converters { } @ReadingConverter - public static enum InstantToLocalDateTimeConverter implements Converter { + public enum InstantToLocalDateTimeConverter implements Converter { INSTANCE; @@ -207,7 +207,7 @@ public abstract class Jsr310Converters { } @WritingConverter - public static enum ZoneIdToStringConverter implements Converter { + public enum ZoneIdToStringConverter implements Converter { INSTANCE; @@ -219,7 +219,7 @@ public abstract class Jsr310Converters { } @ReadingConverter - public static enum StringToZoneIdConverter implements Converter { + public enum StringToZoneIdConverter implements Converter { INSTANCE; @@ -231,7 +231,7 @@ public abstract class Jsr310Converters { } @WritingConverter - public static enum DurationToStringConverter implements Converter { + public enum DurationToStringConverter implements Converter { INSTANCE; @@ -243,7 +243,7 @@ public abstract class Jsr310Converters { } @ReadingConverter - public static enum StringToDurationConverter implements Converter { + public enum StringToDurationConverter implements Converter { INSTANCE; @@ -255,7 +255,7 @@ public abstract class Jsr310Converters { } @WritingConverter - public static enum PeriodToStringConverter implements Converter { + public enum PeriodToStringConverter implements Converter { INSTANCE; @@ -267,7 +267,7 @@ public abstract class Jsr310Converters { } @ReadingConverter - public static enum StringToPeriodConverter implements Converter { + public enum StringToPeriodConverter implements Converter { INSTANCE; @@ -279,7 +279,7 @@ public abstract class Jsr310Converters { } @ReadingConverter - public static enum StringToLocalDateConverter implements Converter { + public enum StringToLocalDateConverter implements Converter { INSTANCE; @@ -295,7 +295,7 @@ public abstract class Jsr310Converters { } @ReadingConverter - public static enum StringToLocalDateTimeConverter implements Converter { + public enum StringToLocalDateTimeConverter implements Converter { INSTANCE; @@ -311,7 +311,7 @@ public abstract class Jsr310Converters { } @ReadingConverter - public static enum StringToInstantConverter implements Converter { + public enum StringToInstantConverter implements Converter { INSTANCE; diff --git a/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java b/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java index 175ef2f82..d9ce62f0a 100644 --- a/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java +++ b/src/main/java/org/springframework/data/convert/MappingContextTypeInformationMapper.java @@ -16,7 +16,6 @@ package org.springframework.data.convert; import java.util.Map; -import java.util.Map.Entry; import java.util.concurrent.ConcurrentHashMap; import org.springframework.data.mapping.Alias; @@ -66,7 +65,7 @@ public class MappingContextTypeInformationMapper implements TypeInformationMappe return typeMap.computeIfAbsent(type.getRawTypeInformation(), key -> { - PersistentEntity entity = mappingContext.getPersistentEntity(key); + var entity = mappingContext.getPersistentEntity(key); if (entity == null || entity.getTypeAlias() == null) { return Alias.NONE; @@ -86,7 +85,7 @@ public class MappingContextTypeInformationMapper implements TypeInformationMappe // Reject second alias for same type - Alias existingAlias = typeMap.getOrDefault(key, Alias.NONE); + var existingAlias = typeMap.getOrDefault(key, Alias.NONE); if (existingAlias.isPresentButDifferent(alias)) { @@ -120,7 +119,7 @@ public class MappingContextTypeInformationMapper implements TypeInformationMappe @Override public TypeInformation resolveTypeFrom(Alias alias) { - for (Entry, Alias> entry : typeMap.entrySet()) { + for (var entry : typeMap.entrySet()) { if (entry.getValue().hasSamePresentValueAs(alias)) { return entry.getKey(); } diff --git a/src/main/java/org/springframework/data/convert/SimpleTypeInformationMapper.java b/src/main/java/org/springframework/data/convert/SimpleTypeInformationMapper.java index bc7772e72..9480c65fe 100644 --- a/src/main/java/org/springframework/data/convert/SimpleTypeInformationMapper.java +++ b/src/main/java/org/springframework/data/convert/SimpleTypeInformationMapper.java @@ -53,7 +53,7 @@ public class SimpleTypeInformationMapper implements TypeInformationMapper, BeanC @Override public TypeInformation resolveTypeFrom(Alias alias) { - String stringAlias = alias.mapTyped(String.class); + var stringAlias = alias.mapTyped(String.class); if (stringAlias != null) { return cache.computeIfAbsent(stringAlias, this::loadClass).orElse(null); diff --git a/src/main/java/org/springframework/data/crossstore/HashMapChangeSet.java b/src/main/java/org/springframework/data/crossstore/HashMapChangeSet.java index afd2d750a..630df63fd 100644 --- a/src/main/java/org/springframework/data/crossstore/HashMapChangeSet.java +++ b/src/main/java/org/springframework/data/crossstore/HashMapChangeSet.java @@ -24,7 +24,7 @@ import org.springframework.lang.Nullable; /** * Simple ChangeSet implementation backed by a HashMap. - * + * * @author Thomas Risberg * @author Rod Johnson * @author Christoph Strobl @@ -61,7 +61,7 @@ public class HashMapChangeSet implements ChangeSet { @Nullable public T get(String key, Class requiredClass, ConversionService conversionService) { - Object value = values.get(key); + var value = values.get(key); if (value == null) { return null; diff --git a/src/main/java/org/springframework/data/domain/AbstractPageRequest.java b/src/main/java/org/springframework/data/domain/AbstractPageRequest.java index fe81a648c..ce4e10d23 100644 --- a/src/main/java/org/springframework/data/domain/AbstractPageRequest.java +++ b/src/main/java/org/springframework/data/domain/AbstractPageRequest.java @@ -118,8 +118,8 @@ public abstract class AbstractPageRequest implements Pageable, Serializable { @Override public int hashCode() { - final int prime = 31; - int result = 1; + final var prime = 31; + var result = 1; result = prime * result + page; result = prime * result + size; @@ -142,7 +142,7 @@ public abstract class AbstractPageRequest implements Pageable, Serializable { return false; } - AbstractPageRequest other = (AbstractPageRequest) obj; + var other = (AbstractPageRequest) obj; return this.page == other.page && this.size == other.size; } } diff --git a/src/main/java/org/springframework/data/domain/Chunk.java b/src/main/java/org/springframework/data/domain/Chunk.java index 829e33002..ef4ebd6bd 100644 --- a/src/main/java/org/springframework/data/domain/Chunk.java +++ b/src/main/java/org/springframework/data/domain/Chunk.java @@ -184,14 +184,12 @@ abstract class Chunk implements Slice, Serializable { return true; } - if (!(obj instanceof Chunk)) { + if (!(obj instanceof Chunk that)) { return false; } - Chunk that = (Chunk) obj; - - boolean contentEqual = this.content.equals(that.content); - boolean pageableEqual = this.pageable.equals(that.pageable); + var contentEqual = this.content.equals(that.content); + var pageableEqual = this.pageable.equals(that.pageable); return contentEqual && pageableEqual; } @@ -203,7 +201,7 @@ abstract class Chunk implements Slice, Serializable { @Override public int hashCode() { - int result = 17; + var result = 17; result += 31 * pageable.hashCode(); result += 31 * content.hashCode(); diff --git a/src/main/java/org/springframework/data/domain/ExampleMatcher.java b/src/main/java/org/springframework/data/domain/ExampleMatcher.java index 40ab5025f..c59823578 100644 --- a/src/main/java/org/springframework/data/domain/ExampleMatcher.java +++ b/src/main/java/org/springframework/data/domain/ExampleMatcher.java @@ -124,7 +124,7 @@ public interface ExampleMatcher { Assert.hasText(propertyPath, "PropertyPath must not be empty!"); Assert.notNull(matcherConfigurer, "MatcherConfigurer must not be empty!"); - GenericPropertyMatcher genericPropertyMatcher = new GenericPropertyMatcher(); + var genericPropertyMatcher = new GenericPropertyMatcher(); matcherConfigurer.configureMatcher(genericPropertyMatcher); return withMatcher(propertyPath, genericPropertyMatcher); @@ -451,12 +451,10 @@ public interface ExampleMatcher { return true; } - if (!(o instanceof GenericPropertyMatcher)) { + if (!(o instanceof GenericPropertyMatcher that)) { return false; } - GenericPropertyMatcher that = (GenericPropertyMatcher) o; - if (stringMatcher != that.stringMatcher) return false; @@ -473,7 +471,7 @@ public interface ExampleMatcher { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(stringMatcher); + var result = ObjectUtils.nullSafeHashCode(stringMatcher); result = 31 * result + ObjectUtils.nullSafeHashCode(ignoreCase); result = 31 * result + ObjectUtils.nullSafeHashCode(valueTransformer); return result; @@ -751,12 +749,10 @@ public interface ExampleMatcher { return true; } - if (!(o instanceof PropertySpecifier)) { + if (!(o instanceof PropertySpecifier that)) { return false; } - PropertySpecifier that = (PropertySpecifier) o; - if (!ObjectUtils.nullSafeEquals(path, that.path)) { return false; } @@ -777,7 +773,7 @@ public interface ExampleMatcher { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(path); + var result = ObjectUtils.nullSafeHashCode(path); result = 31 * result + ObjectUtils.nullSafeHashCode(stringMatcher); result = 31 * result + ObjectUtils.nullSafeHashCode(ignoreCase); result = 31 * result + ObjectUtils.nullSafeHashCode(valueTransformer); @@ -840,11 +836,10 @@ public interface ExampleMatcher { return true; } - if (!(o instanceof PropertySpecifiers)) { + if (!(o instanceof PropertySpecifiers that)) { return false; } - PropertySpecifiers that = (PropertySpecifiers) o; return ObjectUtils.nullSafeEquals(propertySpecifiers, that.propertySpecifiers); } diff --git a/src/main/java/org/springframework/data/domain/PageImpl.java b/src/main/java/org/springframework/data/domain/PageImpl.java index 444247ec6..d3bf388bb 100644 --- a/src/main/java/org/springframework/data/domain/PageImpl.java +++ b/src/main/java/org/springframework/data/domain/PageImpl.java @@ -113,8 +113,8 @@ public class PageImpl extends Chunk implements Page { @Override public String toString() { - String contentType = "UNKNOWN"; - List content = getContent(); + var contentType = "UNKNOWN"; + var content = getContent(); if (!content.isEmpty() && content.get(0) != null) { contentType = content.get(0).getClass().getName(); @@ -134,12 +134,10 @@ public class PageImpl extends Chunk implements Page { return true; } - if (!(obj instanceof PageImpl)) { + if (!(obj instanceof PageImpl that)) { return false; } - PageImpl that = (PageImpl) obj; - return this.total == that.total && super.equals(obj); } @@ -150,7 +148,7 @@ public class PageImpl extends Chunk implements Page { @Override public int hashCode() { - int result = 17; + var result = 17; result += 31 * (int) (total ^ total >>> 32); result += 31 * super.hashCode(); diff --git a/src/main/java/org/springframework/data/domain/PageRequest.java b/src/main/java/org/springframework/data/domain/PageRequest.java index 10b5f06d2..0f27e3795 100644 --- a/src/main/java/org/springframework/data/domain/PageRequest.java +++ b/src/main/java/org/springframework/data/domain/PageRequest.java @@ -142,12 +142,10 @@ public class PageRequest extends AbstractPageRequest { return true; } - if (!(obj instanceof PageRequest)) { + if (!(obj instanceof PageRequest that)) { return false; } - PageRequest that = (PageRequest) obj; - return super.equals(that) && this.sort.equals(that.sort); } diff --git a/src/main/java/org/springframework/data/domain/Range.java b/src/main/java/org/springframework/data/domain/Range.java index b5f41a3dc..0d9542a96 100644 --- a/src/main/java/org/springframework/data/domain/Range.java +++ b/src/main/java/org/springframework/data/domain/Range.java @@ -226,12 +226,10 @@ public final class Range> { return true; } - if (!(o instanceof Range)) { + if (!(o instanceof Range range)) { return false; } - Range range = (Range) o; - if (!ObjectUtils.nullSafeEquals(lowerBound, range.lowerBound)) { return false; } @@ -245,7 +243,7 @@ public final class Range> { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(lowerBound); + var result = ObjectUtils.nullSafeHashCode(lowerBound); result = 31 * result + ObjectUtils.nullSafeHashCode(upperBound); return result; } @@ -436,12 +434,10 @@ public final class Range> { return true; } - if (!(o instanceof Bound)) { + if (!(o instanceof Bound bound)) { return false; } - Bound bound = (Bound) o; - if (inclusive != bound.inclusive) return false; @@ -454,7 +450,7 @@ public final class Range> { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(value); + var result = ObjectUtils.nullSafeHashCode(value); result = 31 * result + (inclusive ? 1 : 0); return result; } diff --git a/src/main/java/org/springframework/data/domain/SliceImpl.java b/src/main/java/org/springframework/data/domain/SliceImpl.java index 09140f8b8..a8c0c04de 100644 --- a/src/main/java/org/springframework/data/domain/SliceImpl.java +++ b/src/main/java/org/springframework/data/domain/SliceImpl.java @@ -83,8 +83,8 @@ public class SliceImpl extends Chunk { @Override public String toString() { - String contentType = "UNKNOWN"; - List content = getContent(); + var contentType = "UNKNOWN"; + var content = getContent(); if (content.size() > 0) { contentType = content.get(0).getClass().getName(); @@ -104,12 +104,10 @@ public class SliceImpl extends Chunk { return true; } - if (!(obj instanceof SliceImpl)) { + if (!(obj instanceof SliceImpl that)) { return false; } - SliceImpl that = (SliceImpl) obj; - return this.hasNext == that.hasNext && super.equals(obj); } @@ -120,7 +118,7 @@ public class SliceImpl extends Chunk { @Override public int hashCode() { - int result = 17; + var result = 17; result += 31 * (hasNext ? 1 : 0); result += 31 * super.hashCode(); diff --git a/src/main/java/org/springframework/data/domain/Sort.java b/src/main/java/org/springframework/data/domain/Sort.java index 1fb078db8..465a8582d 100644 --- a/src/main/java/org/springframework/data/domain/Sort.java +++ b/src/main/java/org/springframework/data/domain/Sort.java @@ -193,9 +193,9 @@ public class Sort implements Streamable these = new ArrayList<>(this.toList()); + var these = new ArrayList(this.toList()); - for (Order order : sort) { + for (var order : sort) { these.add(order); } @@ -211,7 +211,7 @@ public class Sort implements Streamable implements Example { return true; } - if (!(o instanceof TypedExample)) { + if (!(o instanceof TypedExample that)) { return false; } - TypedExample that = (TypedExample) o; if (!ObjectUtils.nullSafeEquals(probe, that.probe)) { return false; } @@ -75,7 +74,7 @@ class TypedExample implements Example { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(probe); + var result = ObjectUtils.nullSafeHashCode(probe); result = 31 * result + ObjectUtils.nullSafeHashCode(matcher); return result; } diff --git a/src/main/java/org/springframework/data/domain/TypedExampleMatcher.java b/src/main/java/org/springframework/data/domain/TypedExampleMatcher.java index 7e720a676..bf768d243 100644 --- a/src/main/java/org/springframework/data/domain/TypedExampleMatcher.java +++ b/src/main/java/org/springframework/data/domain/TypedExampleMatcher.java @@ -105,8 +105,8 @@ class TypedExampleMatcher implements ExampleMatcher { Assert.hasText(propertyPath, "PropertyPath must not be empty!"); Assert.notNull(genericPropertyMatcher, "GenericPropertyMatcher must not be empty!"); - PropertySpecifiers propertySpecifiers = new PropertySpecifiers(this.propertySpecifiers); - PropertySpecifier propertySpecifier = new PropertySpecifier(propertyPath); + var propertySpecifiers = new PropertySpecifiers(this.propertySpecifiers); + var propertySpecifier = new PropertySpecifier(propertyPath); if (genericPropertyMatcher.ignoreCase != null) { propertySpecifier = propertySpecifier.withIgnoreCase(genericPropertyMatcher.ignoreCase); @@ -134,8 +134,8 @@ class TypedExampleMatcher implements ExampleMatcher { Assert.hasText(propertyPath, "PropertyPath must not be empty!"); Assert.notNull(propertyValueTransformer, "PropertyValueTransformer must not be empty!"); - PropertySpecifiers propertySpecifiers = new PropertySpecifiers(this.propertySpecifiers); - PropertySpecifier propertySpecifier = getOrCreatePropertySpecifier(propertyPath, propertySpecifiers); + var propertySpecifiers = new PropertySpecifiers(this.propertySpecifiers); + var propertySpecifier = getOrCreatePropertySpecifier(propertyPath, propertySpecifiers); propertySpecifiers.add(propertySpecifier.withValueTransformer(propertyValueTransformer)); @@ -153,10 +153,10 @@ class TypedExampleMatcher implements ExampleMatcher { Assert.notEmpty(propertyPaths, "PropertyPaths must not be empty!"); Assert.noNullElements(propertyPaths, "PropertyPaths must not contain null elements!"); - PropertySpecifiers propertySpecifiers = new PropertySpecifiers(this.propertySpecifiers); + var propertySpecifiers = new PropertySpecifiers(this.propertySpecifiers); - for (String propertyPath : propertyPaths) { - PropertySpecifier propertySpecifier = getOrCreatePropertySpecifier(propertyPath, propertySpecifiers); + for (var propertyPath : propertyPaths) { + var propertySpecifier = getOrCreatePropertySpecifier(propertyPath, propertySpecifiers); propertySpecifiers.add(propertySpecifier.withIgnoreCase(true)); } @@ -256,12 +256,10 @@ class TypedExampleMatcher implements ExampleMatcher { return true; } - if (!(o instanceof TypedExampleMatcher)) { + if (!(o instanceof TypedExampleMatcher that)) { return false; } - TypedExampleMatcher that = (TypedExampleMatcher) o; - if (defaultIgnoreCase != that.defaultIgnoreCase) { return false; } @@ -292,7 +290,7 @@ class TypedExampleMatcher implements ExampleMatcher { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(nullHandler); + var result = ObjectUtils.nullSafeHashCode(nullHandler); result = 31 * result + ObjectUtils.nullSafeHashCode(defaultStringMatcher); result = 31 * result + ObjectUtils.nullSafeHashCode(propertySpecifiers); result = 31 * result + ObjectUtils.nullSafeHashCode(ignoredPaths); diff --git a/src/main/java/org/springframework/data/domain/jaxb/OrderAdapter.java b/src/main/java/org/springframework/data/domain/jaxb/OrderAdapter.java index 689877ea1..01fcfb7e9 100644 --- a/src/main/java/org/springframework/data/domain/jaxb/OrderAdapter.java +++ b/src/main/java/org/springframework/data/domain/jaxb/OrderAdapter.java @@ -17,7 +17,6 @@ package org.springframework.data.domain.jaxb; import jakarta.xml.bind.annotation.adapters.XmlAdapter; -import org.springframework.data.domain.Sort.Direction; import org.springframework.data.domain.Sort.Order; import org.springframework.data.domain.jaxb.SpringDataJaxb.OrderDto; import org.springframework.lang.Nullable; @@ -43,7 +42,7 @@ public class OrderAdapter extends XmlAdapter { return null; } - OrderDto dto = new OrderDto(); + var dto = new OrderDto(); dto.direction = order.getDirection(); dto.property = order.getProperty(); return dto; @@ -61,8 +60,8 @@ public class OrderAdapter extends XmlAdapter { return null; } - Direction direction = source.direction; - String property = source.property; + var direction = source.direction; + var property = source.property; if (direction == null || property == null) { return null; diff --git a/src/main/java/org/springframework/data/domain/jaxb/PageAdapter.java b/src/main/java/org/springframework/data/domain/jaxb/PageAdapter.java index 44263c8af..44d379312 100644 --- a/src/main/java/org/springframework/data/domain/jaxb/PageAdapter.java +++ b/src/main/java/org/springframework/data/domain/jaxb/PageAdapter.java @@ -44,7 +44,7 @@ public class PageAdapter extends XmlAdapter> { return null; } - PageDto dto = new PageDto(); + var dto = new PageDto(); dto.content = source.getContent(); dto.add(getLinks(source)); diff --git a/src/main/java/org/springframework/data/domain/jaxb/PageableAdapter.java b/src/main/java/org/springframework/data/domain/jaxb/PageableAdapter.java index edf13f512..8c10ace74 100644 --- a/src/main/java/org/springframework/data/domain/jaxb/PageableAdapter.java +++ b/src/main/java/org/springframework/data/domain/jaxb/PageableAdapter.java @@ -46,9 +46,9 @@ class PageableAdapter extends XmlAdapter { return null; } - PageRequestDto dto = new PageRequestDto(); + var dto = new PageRequestDto(); - SortDto sortDto = SortAdapter.INSTANCE.marshal(request.getSort()); + var sortDto = SortAdapter.INSTANCE.marshal(request.getSort()); dto.orders = sortDto == null ? Collections.emptyList() : sortDto.orders; dto.page = request.getPageNumber(); dto.size = request.getPageSize(); @@ -72,7 +72,7 @@ class PageableAdapter extends XmlAdapter { return PageRequest.of(v.page, v.size); } - SortDto sortDto = new SortDto(); + var sortDto = new SortDto(); sortDto.orders = v.orders; return PageRequest.of(v.page, v.size, SortAdapter.INSTANCE.unmarshal(sortDto)); diff --git a/src/main/java/org/springframework/data/domain/jaxb/SortAdapter.java b/src/main/java/org/springframework/data/domain/jaxb/SortAdapter.java index 758fdcba1..706488a3e 100644 --- a/src/main/java/org/springframework/data/domain/jaxb/SortAdapter.java +++ b/src/main/java/org/springframework/data/domain/jaxb/SortAdapter.java @@ -43,7 +43,7 @@ public class SortAdapter extends XmlAdapter { return null; } - SortDto dto = new SortDto(); + var dto = new SortDto(); dto.orders = SpringDataJaxb.marshal(source, OrderAdapter.INSTANCE); return dto; diff --git a/src/main/java/org/springframework/data/domain/jaxb/SpringDataJaxb.java b/src/main/java/org/springframework/data/domain/jaxb/SpringDataJaxb.java index fd77d2311..1cbc35a2e 100644 --- a/src/main/java/org/springframework/data/domain/jaxb/SpringDataJaxb.java +++ b/src/main/java/org/springframework/data/domain/jaxb/SpringDataJaxb.java @@ -119,7 +119,7 @@ public abstract class SpringDataJaxb { List result = new ArrayList<>(source.size()); - for (S element : source) { + for (var element : source) { try { result.add(adapter.unmarshal(element)); } catch (Exception o_O) { @@ -146,7 +146,7 @@ public abstract class SpringDataJaxb { List result = new ArrayList<>(); - for (T element : source) { + for (var element : source) { try { result.add(adapter.marshal(element)); } catch (Exception o_O) { diff --git a/src/main/java/org/springframework/data/geo/Box.java b/src/main/java/org/springframework/data/geo/Box.java index 3177b0b36..4b973bf7a 100644 --- a/src/main/java/org/springframework/data/geo/Box.java +++ b/src/main/java/org/springframework/data/geo/Box.java @@ -97,7 +97,7 @@ public class Box implements Shape { @Override public int hashCode() { - int result = 31; + var result = 31; result += 17 * first.hashCode(); result += 17 * second.hashCode(); @@ -116,12 +116,10 @@ public class Box implements Shape { return true; } - if (!(obj instanceof Box)) { + if (!(obj instanceof Box that)) { return false; } - Box that = (Box) obj; - return this.first.equals(that.first) && this.second.equals(that.second); } } diff --git a/src/main/java/org/springframework/data/geo/Circle.java b/src/main/java/org/springframework/data/geo/Circle.java index 980a11b66..f99856891 100644 --- a/src/main/java/org/springframework/data/geo/Circle.java +++ b/src/main/java/org/springframework/data/geo/Circle.java @@ -102,12 +102,10 @@ public class Circle implements Shape { return true; } - if (!(o instanceof Circle)) { + if (!(o instanceof Circle circle)) { return false; } - Circle circle = (Circle) o; - if (!ObjectUtils.nullSafeEquals(center, circle.center)) { return false; } @@ -121,7 +119,7 @@ public class Circle implements Shape { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(center); + var result = ObjectUtils.nullSafeHashCode(center); result = 31 * result + ObjectUtils.nullSafeHashCode(radius); return result; } diff --git a/src/main/java/org/springframework/data/geo/Distance.java b/src/main/java/org/springframework/data/geo/Distance.java index 03cb96b82..8ba34eb69 100644 --- a/src/main/java/org/springframework/data/geo/Distance.java +++ b/src/main/java/org/springframework/data/geo/Distance.java @@ -121,7 +121,7 @@ public final class Distance implements Serializable, Comparable { Assert.notNull(other, "Distance to add must not be null!"); - double newNormalizedValue = getNormalizedValue() + other.getNormalizedValue(); + var newNormalizedValue = getNormalizedValue() + other.getNormalizedValue(); return new Distance(newNormalizedValue * metric.getMultiplier(), metric); } @@ -138,8 +138,8 @@ public final class Distance implements Serializable, Comparable { Assert.notNull(other, "Distance to must not be null!"); Assert.notNull(metric, "Result metric must not be null!"); - double newLeft = getNormalizedValue() * metric.getMultiplier(); - double newRight = other.getNormalizedValue() * metric.getMultiplier(); + var newLeft = getNormalizedValue() * metric.getMultiplier(); + var newRight = other.getNormalizedValue() * metric.getMultiplier(); return new Distance(newLeft + newRight, metric); } @@ -169,7 +169,7 @@ public final class Distance implements Serializable, Comparable { return 1; } - double difference = this.getNormalizedValue() - that.getNormalizedValue(); + var difference = this.getNormalizedValue() - that.getNormalizedValue(); return difference == 0 ? 0 : difference > 0 ? 1 : -1; } @@ -181,7 +181,7 @@ public final class Distance implements Serializable, Comparable { @Override public String toString() { - StringBuilder builder = new StringBuilder(); + var builder = new StringBuilder(); builder.append(value); if (metric != Metrics.NEUTRAL) { @@ -210,12 +210,10 @@ public final class Distance implements Serializable, Comparable { return true; } - if (!(o instanceof Distance)) { + if (!(o instanceof Distance distance)) { return false; } - Distance distance = (Distance) o; - if (value != distance.value) { return false; } diff --git a/src/main/java/org/springframework/data/geo/GeoPage.java b/src/main/java/org/springframework/data/geo/GeoPage.java index 89f9cdcff..fa5b90e50 100644 --- a/src/main/java/org/springframework/data/geo/GeoPage.java +++ b/src/main/java/org/springframework/data/geo/GeoPage.java @@ -75,12 +75,10 @@ public class GeoPage extends PageImpl> { return true; } - if (!(obj instanceof GeoPage)) { + if (!(obj instanceof GeoPage that)) { return false; } - GeoPage that = (GeoPage) obj; - return super.equals(obj) && ObjectUtils.nullSafeEquals(this.averageDistance, that.averageDistance); } diff --git a/src/main/java/org/springframework/data/geo/GeoResult.java b/src/main/java/org/springframework/data/geo/GeoResult.java index c936a1bb6..07c87f640 100644 --- a/src/main/java/org/springframework/data/geo/GeoResult.java +++ b/src/main/java/org/springframework/data/geo/GeoResult.java @@ -62,12 +62,10 @@ public final class GeoResult implements Serializable { return true; } - if (!(o instanceof GeoResult)) { + if (!(o instanceof GeoResult geoResult)) { return false; } - GeoResult geoResult = (GeoResult) o; - if (!ObjectUtils.nullSafeEquals(content, geoResult.content)) { return false; } @@ -81,7 +79,7 @@ public final class GeoResult implements Serializable { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(content); + var result = ObjectUtils.nullSafeHashCode(content); result = 31 * result + ObjectUtils.nullSafeHashCode(distance); return result; } diff --git a/src/main/java/org/springframework/data/geo/GeoResults.java b/src/main/java/org/springframework/data/geo/GeoResults.java index 4559cb319..d3ff53581 100644 --- a/src/main/java/org/springframework/data/geo/GeoResults.java +++ b/src/main/java/org/springframework/data/geo/GeoResults.java @@ -115,12 +115,10 @@ public class GeoResults implements Iterable>, Serializable { return true; } - if (!(o instanceof GeoResults)) { + if (!(o instanceof GeoResults that)) { return false; } - GeoResults that = (GeoResults) o; - if (!ObjectUtils.nullSafeEquals(results, that.results)) { return false; } @@ -134,7 +132,7 @@ public class GeoResults implements Iterable>, Serializable { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(results); + var result = ObjectUtils.nullSafeHashCode(results); result = 31 * result + ObjectUtils.nullSafeHashCode(averageDistance); return result; } @@ -158,7 +156,7 @@ public class GeoResults implements Iterable>, Serializable { return new Distance(0, metric); } - double averageDistance = results.stream()// + var averageDistance = results.stream()// .mapToDouble(it -> it.getDistance().getValue())// .average().orElse(0); diff --git a/src/main/java/org/springframework/data/geo/Point.java b/src/main/java/org/springframework/data/geo/Point.java index 1e23fe8a0..b0df7ddd5 100644 --- a/src/main/java/org/springframework/data/geo/Point.java +++ b/src/main/java/org/springframework/data/geo/Point.java @@ -87,9 +87,9 @@ public class Point implements Serializable { @Override public int hashCode() { - int result = 1; + var result = 1; - long temp = Double.doubleToLongBits(x); + var temp = Double.doubleToLongBits(x); result = 31 * result + (int) (temp ^ temp >>> 32); temp = Double.doubleToLongBits(y); @@ -109,12 +109,10 @@ public class Point implements Serializable { return true; } - if (!(obj instanceof Point)) { + if (!(obj instanceof Point other)) { return false; } - Point other = (Point) obj; - if (Double.doubleToLongBits(x) != Double.doubleToLongBits(other.x)) { return false; } diff --git a/src/main/java/org/springframework/data/geo/Polygon.java b/src/main/java/org/springframework/data/geo/Polygon.java index 2afd4a55c..a01b617da 100644 --- a/src/main/java/org/springframework/data/geo/Polygon.java +++ b/src/main/java/org/springframework/data/geo/Polygon.java @@ -111,11 +111,10 @@ public class Polygon implements Iterable, Shape { return true; } - if (!(o instanceof Polygon)) { + if (!(o instanceof Polygon that)) { return false; } - Polygon that = (Polygon) o; return ObjectUtils.nullSafeEquals(points, that.points); } diff --git a/src/main/java/org/springframework/data/geo/format/DistanceFormatter.java b/src/main/java/org/springframework/data/geo/format/DistanceFormatter.java index 15e3c4f0c..e067b3f2f 100644 --- a/src/main/java/org/springframework/data/geo/format/DistanceFormatter.java +++ b/src/main/java/org/springframework/data/geo/format/DistanceFormatter.java @@ -94,7 +94,7 @@ public enum DistanceFormatter implements Converter, Formatter< */ private static Distance doConvert(String source) { - for (Entry metric : SUPPORTED_METRICS.entrySet()) { + for (var metric : SUPPORTED_METRICS.entrySet()) { if (source.endsWith(metric.getKey())) { return fromString(source, metric); } @@ -117,7 +117,7 @@ public enum DistanceFormatter implements Converter, Formatter< */ private static Distance fromString(String source, Entry metric) { - String amountString = source.substring(0, source.indexOf(metric.getKey())); + var amountString = source.substring(0, source.indexOf(metric.getKey())); try { return new Distance(Double.parseDouble(amountString), metric.getValue()); diff --git a/src/main/java/org/springframework/data/geo/format/PointFormatter.java b/src/main/java/org/springframework/data/geo/format/PointFormatter.java index 04707f851..ee30c2ebe 100644 --- a/src/main/java/org/springframework/data/geo/format/PointFormatter.java +++ b/src/main/java/org/springframework/data/geo/format/PointFormatter.java @@ -45,7 +45,7 @@ public enum PointFormatter implements Converter, Formatter @Override public Point convert(String source) { - String[] parts = source.split(","); + var parts = source.split(","); if (parts.length != 2) { throw new IllegalArgumentException(String.format(INVALID_FORMAT, source)); @@ -53,8 +53,8 @@ public enum PointFormatter implements Converter, Formatter try { - double latitude = Double.parseDouble(parts[0]); - double longitude = Double.parseDouble(parts[1]); + var latitude = Double.parseDouble(parts[0]); + var longitude = Double.parseDouble(parts[1]); return new Point(longitude, latitude); diff --git a/src/main/java/org/springframework/data/history/AnnotationRevisionMetadata.java b/src/main/java/org/springframework/data/history/AnnotationRevisionMetadata.java index 3d7635122..f615ade57 100755 --- a/src/main/java/org/springframework/data/history/AnnotationRevisionMetadata.java +++ b/src/main/java/org/springframework/data/history/AnnotationRevisionMetadata.java @@ -118,7 +118,7 @@ public class AnnotationRevisionMetadata> implem return Lazy.of(() -> { - AnnotationDetectionFieldCallback callback = new AnnotationDetectionFieldCallback(annotationType); + var callback = new AnnotationDetectionFieldCallback(annotationType); ReflectionUtils.doWithFields(entity.getClass(), callback); return Optional.ofNullable(callback.getValue(entity)); }); @@ -138,8 +138,8 @@ public class AnnotationRevisionMetadata> implem return Instant.ofEpochMilli((Long) timestamp); } - if (Date.class.isInstance(timestamp)) { - return Date.class.cast(timestamp).toInstant(); + if (timestamp instanceof Date) { + return ((Date) timestamp).toInstant(); } throw new IllegalArgumentException(String.format("Can't convert %s to Instant!", timestamp)); diff --git a/src/main/java/org/springframework/data/history/Revision.java b/src/main/java/org/springframework/data/history/Revision.java index 66d29a79b..790fc1eb2 100755 --- a/src/main/java/org/springframework/data/history/Revision.java +++ b/src/main/java/org/springframework/data/history/Revision.java @@ -139,12 +139,10 @@ public final class Revision, T> implements Comp return true; } - if (!(o instanceof Revision)) { + if (!(o instanceof Revision revision)) { return false; } - Revision revision = (Revision) o; - if (!ObjectUtils.nullSafeEquals(metadata, revision.metadata)) { return false; } @@ -158,7 +156,7 @@ public final class Revision, T> implements Comp */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(metadata); + var result = ObjectUtils.nullSafeHashCode(metadata); result = 31 * result + ObjectUtils.nullSafeHashCode(entity); return result; } diff --git a/src/main/java/org/springframework/data/history/RevisionSort.java b/src/main/java/org/springframework/data/history/RevisionSort.java index 7963d10ae..b0f8f54e4 100644 --- a/src/main/java/org/springframework/data/history/RevisionSort.java +++ b/src/main/java/org/springframework/data/history/RevisionSort.java @@ -76,7 +76,7 @@ public class RevisionSort extends Sort { Assert.notNull(sort, "Sort must not be null!"); - Order order = sort.getOrderFor(PROPERTY); + var order = sort.getOrderFor(PROPERTY); return order == null ? Direction.ASC : order.getDirection(); } } diff --git a/src/main/java/org/springframework/data/history/Revisions.java b/src/main/java/org/springframework/data/history/Revisions.java index f0c3c106c..466757bdd 100644 --- a/src/main/java/org/springframework/data/history/Revisions.java +++ b/src/main/java/org/springframework/data/history/Revisions.java @@ -89,7 +89,7 @@ public class Revisions, T> implements Streamabl * @return */ public Revision getLatestRevision() { - int index = latestLast ? revisions.size() - 1 : 0; + var index = latestLast ? revisions.size() - 1 : 0; return revisions.get(index); } diff --git a/src/main/java/org/springframework/data/mapping/AccessOptions.java b/src/main/java/org/springframework/data/mapping/AccessOptions.java index 1577a94d3..f32ab40d9 100644 --- a/src/main/java/org/springframework/data/mapping/AccessOptions.java +++ b/src/main/java/org/springframework/data/mapping/AccessOptions.java @@ -186,7 +186,7 @@ public class AccessOptions { Assert.isTrue(type.isAssignableFrom(property.getType()), () -> String .format("Cannot register a property handler for %s on a property of type %s!", type, property.getType())); - Function caster = it -> type.cast(it); + var caster = (Function) it -> type.cast(it); return registerHandler(property, caster.andThen(handler)); } @@ -201,7 +201,7 @@ public class AccessOptions { @Nullable Object postProcess(PersistentProperty property, @Nullable Object value) { - Function handler = handlers.get(property); + var handler = handlers.get(property); return handler == null ? value : handler.apply(value); } diff --git a/src/main/java/org/springframework/data/mapping/Alias.java b/src/main/java/org/springframework/data/mapping/Alias.java index 35c5eac6f..0dbfe15d9 100644 --- a/src/main/java/org/springframework/data/mapping/Alias.java +++ b/src/main/java/org/springframework/data/mapping/Alias.java @@ -158,11 +158,10 @@ public final class Alias { return true; } - if (!(o instanceof Alias)) { + if (!(o instanceof Alias alias)) { return false; } - Alias alias = (Alias) o; return ObjectUtils.nullSafeEquals(value, alias.value); } diff --git a/src/main/java/org/springframework/data/mapping/IdentifierAccessor.java b/src/main/java/org/springframework/data/mapping/IdentifierAccessor.java index 105470bc0..9c1c2172e 100644 --- a/src/main/java/org/springframework/data/mapping/IdentifierAccessor.java +++ b/src/main/java/org/springframework/data/mapping/IdentifierAccessor.java @@ -45,7 +45,7 @@ public interface IdentifierAccessor { */ default Object getRequiredIdentifier() { - Object identifier = getIdentifier(); + var identifier = getIdentifier(); if (identifier != null) { return identifier; diff --git a/src/main/java/org/springframework/data/mapping/PersistentEntity.java b/src/main/java/org/springframework/data/mapping/PersistentEntity.java index 833ee40b7..b19b7ff0e 100644 --- a/src/main/java/org/springframework/data/mapping/PersistentEntity.java +++ b/src/main/java/org/springframework/data/mapping/PersistentEntity.java @@ -97,7 +97,7 @@ public interface PersistentEntity> extends It */ default P getRequiredIdProperty() { - P property = getIdProperty(); + var property = getIdProperty(); if (property != null) { return property; @@ -125,7 +125,7 @@ public interface PersistentEntity> extends It */ default P getRequiredVersionProperty() { - P property = getVersionProperty(); + var property = getVersionProperty(); if (property != null) { return property; @@ -152,7 +152,7 @@ public interface PersistentEntity> extends It */ default P getRequiredPersistentProperty(String name) { - P property = getPersistentProperty(name); + var property = getPersistentProperty(name); if (property != null) { return property; @@ -171,7 +171,7 @@ public interface PersistentEntity> extends It @Nullable default P getPersistentProperty(Class annotationType) { - Iterator

it = getPersistentProperties(annotationType).iterator(); + var it = getPersistentProperties(annotationType).iterator(); return it.hasNext() ? it.next() : null; } @@ -277,7 +277,7 @@ public interface PersistentEntity> extends It */ default A getRequiredAnnotation(Class annotationType) throws IllegalStateException { - A annotation = findAnnotation(annotationType); + var annotation = findAnnotation(annotationType); if (annotation != null) { return annotation; diff --git a/src/main/java/org/springframework/data/mapping/PersistentProperty.java b/src/main/java/org/springframework/data/mapping/PersistentProperty.java index af15f638e..ce0fbffe6 100644 --- a/src/main/java/org/springframework/data/mapping/PersistentProperty.java +++ b/src/main/java/org/springframework/data/mapping/PersistentProperty.java @@ -85,7 +85,7 @@ public interface PersistentProperty

> { default Method getRequiredGetter() { - Method getter = getGetter(); + var getter = getGetter(); if (getter == null) { throw new IllegalArgumentException(String.format("No getter available for persistent property %s!", this)); @@ -105,7 +105,7 @@ public interface PersistentProperty

> { default Method getRequiredSetter() { - Method setter = getSetter(); + var setter = getSetter(); if (setter == null) { throw new IllegalArgumentException(String.format("No setter available for persistent property %s!", this)); @@ -143,7 +143,7 @@ public interface PersistentProperty

> { default Method getRequiredWither() { - Method wither = getWither(); + var wither = getWither(); if (wither == null) { throw new IllegalArgumentException(String.format("No wither available for persistent property %s!", this)); @@ -157,7 +157,7 @@ public interface PersistentProperty

> { default Field getRequiredField() { - Field field = getField(); + var field = getField(); if (field == null) { throw new IllegalArgumentException(String.format("No field backing persistent property %s!", this)); @@ -186,7 +186,7 @@ public interface PersistentProperty

> { */ default Association

getRequiredAssociation() { - Association

association = getAssociation(); + var association = getAssociation(); if (association != null) { return association; @@ -332,7 +332,7 @@ public interface PersistentProperty

> { */ default A getRequiredAnnotation(Class annotationType) throws IllegalStateException { - A annotation = findAnnotation(annotationType); + var annotation = findAnnotation(annotationType); if (annotation != null) { return annotation; diff --git a/src/main/java/org/springframework/data/mapping/PersistentPropertyAccessor.java b/src/main/java/org/springframework/data/mapping/PersistentPropertyAccessor.java index 89c6c5db9..e4c7b8b74 100644 --- a/src/main/java/org/springframework/data/mapping/PersistentPropertyAccessor.java +++ b/src/main/java/org/springframework/data/mapping/PersistentPropertyAccessor.java @@ -61,26 +61,26 @@ public interface PersistentPropertyAccessor { Assert.notNull(path, "PersistentPropertyPath must not be null!"); Assert.isTrue(!path.isEmpty(), "PersistentPropertyPath must not be empty!"); - PersistentPropertyPath> parentPath = path.getParentPath(); - PersistentProperty leafProperty = path.getRequiredLeafProperty(); - PersistentProperty parentProperty = parentPath.isEmpty() ? null : parentPath.getLeafProperty(); + var parentPath = path.getParentPath(); + var leafProperty = path.getRequiredLeafProperty(); + var parentProperty = parentPath.isEmpty() ? null : parentPath.getLeafProperty(); if (parentProperty != null && (parentProperty.isCollectionLike() || parentProperty.isMap())) { throw new MappingException( String.format("Cannot traverse collection or map intermediate %s", parentPath.toDotPath())); } - Object parent = parentPath.isEmpty() ? getBean() : getProperty(parentPath); + var parent = parentPath.isEmpty() ? getBean() : getProperty(parentPath); if (parent == null) { - String nullIntermediateMessage = "Cannot lookup property %s on null intermediate! Original path was: %s on %s."; + var nullIntermediateMessage = "Cannot lookup property %s on null intermediate! Original path was: %s on %s."; throw new MappingException( String.format(nullIntermediateMessage, parentProperty, path.toDotPath(), getBean().getClass().getName())); } - PersistentPropertyAccessor accessor = parent == getBean() // + var accessor = parent == getBean() // ? this // : leafProperty.getOwner().getPropertyAccessor(parent); @@ -90,7 +90,7 @@ public interface PersistentPropertyAccessor { return; } - Object bean = accessor.getBean(); + var bean = accessor.getBean(); if (bean != parent) { setProperty(parentPath, bean); @@ -140,7 +140,7 @@ public interface PersistentPropertyAccessor { default Object getProperty(PersistentPropertyPath> path, TraversalContext context) { Object bean = getBean(); - Object current = bean; + var current = bean; if (path.isEmpty()) { return bean; @@ -150,14 +150,14 @@ public interface PersistentPropertyAccessor { if (current == null) { - String nullIntermediateMessage = "Cannot lookup property %s on null intermediate! Original path was: %s on %s."; + var nullIntermediateMessage = "Cannot lookup property %s on null intermediate! Original path was: %s on %s."; throw new MappingException( String.format(nullIntermediateMessage, property, path.toDotPath(), bean.getClass().getName())); } - PersistentEntity> entity = property.getOwner(); - PersistentPropertyAccessor accessor = entity.getPropertyAccessor(current); + var entity = property.getOwner(); + var accessor = entity.getPropertyAccessor(current); current = context.postProcess(property, accessor.getProperty(property)); } diff --git a/src/main/java/org/springframework/data/mapping/PersistentPropertyPath.java b/src/main/java/org/springframework/data/mapping/PersistentPropertyPath.java index 2d739251f..ba735ed38 100644 --- a/src/main/java/org/springframework/data/mapping/PersistentPropertyPath.java +++ b/src/main/java/org/springframework/data/mapping/PersistentPropertyPath.java @@ -76,7 +76,7 @@ public interface PersistentPropertyPath

> extends default P getRequiredLeafProperty() { - P property = getLeafProperty(); + var property = getLeafProperty(); if (property == null) { throw new IllegalStateException("No leaf property found!"); diff --git a/src/main/java/org/springframework/data/mapping/PreferredConstructor.java b/src/main/java/org/springframework/data/mapping/PreferredConstructor.java index 8ac155a56..c0d213653 100644 --- a/src/main/java/org/springframework/data/mapping/PreferredConstructor.java +++ b/src/main/java/org/springframework/data/mapping/PreferredConstructor.java @@ -131,13 +131,13 @@ public class PreferredConstructor> { Assert.notNull(property, "Property must not be null!"); - Boolean cached = isPropertyParameterCache.get(property); + var cached = isPropertyParameterCache.get(property); if (cached != null) { return cached; } - boolean result = false; + var result = false; for (Parameter parameter : parameters) { if (parameter.maps(property)) { result = true; @@ -214,7 +214,7 @@ public class PreferredConstructor> { throw new IllegalStateException(); } - Class owningType = entity.getType(); + var owningType = entity.getType(); return owningType.isMemberClass() && type.getType().equals(owningType.getEnclosingClass()); }); @@ -297,12 +297,10 @@ public class PreferredConstructor> { return true; } - if (!(o instanceof Parameter)) { + if (!(o instanceof Parameter parameter)) { return false; } - Parameter parameter = (Parameter) o; - if (!ObjectUtils.nullSafeEquals(name, parameter.name)) { return false; } @@ -324,7 +322,7 @@ public class PreferredConstructor> { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(name); + var result = ObjectUtils.nullSafeHashCode(name); result = 31 * result + ObjectUtils.nullSafeHashCode(type); result = 31 * result + ObjectUtils.nullSafeHashCode(key); result = 31 * result + ObjectUtils.nullSafeHashCode(entity); @@ -339,10 +337,10 @@ public class PreferredConstructor> { */ boolean maps(PersistentProperty property) { - PersistentEntity entity = this.entity; - String name = this.name; + var entity = this.entity; + var name = this.name; - P referencedProperty = entity == null ? null : name == null ? null : entity.getPersistentProperty(name); + var referencedProperty = entity == null ? null : name == null ? null : entity.getPersistentProperty(name); return property.equals(referencedProperty); } diff --git a/src/main/java/org/springframework/data/mapping/PropertyPath.java b/src/main/java/org/springframework/data/mapping/PropertyPath.java index 12d94a611..7b87f8bb3 100644 --- a/src/main/java/org/springframework/data/mapping/PropertyPath.java +++ b/src/main/java/org/springframework/data/mapping/PropertyPath.java @@ -22,7 +22,6 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Stack; -import java.util.regex.Matcher; import java.util.regex.Pattern; import org.springframework.data.util.ClassTypeInformation; @@ -83,8 +82,8 @@ public class PropertyPath implements Streamable { Assert.notNull(owningType, "Owning type must not be null!"); Assert.notNull(base, "Previously found properties must not be null!"); - String propertyName = Introspector.decapitalize(name); - TypeInformation propertyType = owningType.getProperty(propertyName); + var propertyName = Introspector.decapitalize(name); + var propertyType = owningType.getProperty(propertyName); if (propertyType == null) { throw new PropertyReferenceException(propertyName, owningType, base); @@ -123,7 +122,7 @@ public class PropertyPath implements Streamable { */ public PropertyPath getLeafProperty() { - PropertyPath result = this; + var result = this; while (result.hasNext()) { result = result.requiredNext(); @@ -209,7 +208,7 @@ public class PropertyPath implements Streamable { Assert.hasText(path, "Path must not be null or empty!"); - String lookup = toDotPath().concat(".").concat(path); + var lookup = toDotPath().concat(".").concat(path); return PropertyPath.from(lookup, owningType); } @@ -231,7 +230,7 @@ public class PropertyPath implements Streamable { @Nullable public PropertyPath next() { - PropertyPath result = current; + var result = current; if (result == null) { return null; @@ -258,12 +257,10 @@ public class PropertyPath implements Streamable { return true; } - if (!(o instanceof PropertyPath)) { + if (!(o instanceof PropertyPath that)) { return false; } - PropertyPath that = (PropertyPath) o; - if (isCollection != that.isCollection) { return false; } @@ -293,7 +290,7 @@ public class PropertyPath implements Streamable { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(owningType); + var result = ObjectUtils.nullSafeHashCode(owningType); result = 31 * result + ObjectUtils.nullSafeHashCode(name); result = 31 * result + ObjectUtils.nullSafeHashCode(typeInformation); result = 31 * result + ObjectUtils.nullSafeHashCode(actualTypeInformation); @@ -310,7 +307,7 @@ public class PropertyPath implements Streamable { */ private PropertyPath requiredNext() { - PropertyPath result = next; + var result = next; if (result == null) { throw new IllegalStateException( @@ -349,17 +346,17 @@ public class PropertyPath implements Streamable { List iteratorSource = new ArrayList<>(); - Matcher matcher = isQuoted(it.path) ? SPLITTER_FOR_QUOTED.matcher(it.path.replace("\\Q", "").replace("\\E", "")) + var matcher = isQuoted(it.path) ? SPLITTER_FOR_QUOTED.matcher(it.path.replace("\\Q", "").replace("\\E", "")) : SPLITTER.matcher("_" + it.path); while (matcher.find()) { iteratorSource.add(matcher.group(1)); } - Iterator parts = iteratorSource.iterator(); + var parts = iteratorSource.iterator(); PropertyPath result = null; - Stack current = new Stack<>(); + var current = new Stack(); while (parts.hasNext()) { if (result == null) { @@ -392,9 +389,9 @@ public class PropertyPath implements Streamable { */ private static PropertyPath create(String source, Stack base) { - PropertyPath previous = base.peek(); + var previous = base.peek(); - PropertyPath propertyPath = create(source, previous.typeInformation.getRequiredActualType(), base); + var propertyPath = create(source, previous.typeInformation.getRequiredActualType(), base); previous.next = propertyPath; return propertyPath; } @@ -458,13 +455,13 @@ public class PropertyPath implements Streamable { exception = e; } - Matcher matcher = NESTED_PROPERTY_PATTERN.matcher(source); + var matcher = NESTED_PROPERTY_PATTERN.matcher(source); if (matcher.find() && matcher.start() != 0) { - int position = matcher.start(); - String head = source.substring(0, position); - String tail = source.substring(position); + var position = matcher.start(); + var head = source.substring(0, position); + var tail = source.substring(position); try { return create(head, type, tail + addTail, base); @@ -518,12 +515,10 @@ public class PropertyPath implements Streamable { return true; } - if (!(o instanceof Key)) { + if (!(o instanceof Key key)) { return false; } - Key key = (Key) o; - if (!ObjectUtils.nullSafeEquals(type, key.type)) { return false; } @@ -537,7 +532,7 @@ public class PropertyPath implements Streamable { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(type); + var result = ObjectUtils.nullSafeHashCode(type); result = 31 * result + ObjectUtils.nullSafeHashCode(path); return result; } diff --git a/src/main/java/org/springframework/data/mapping/PropertyReferenceException.java b/src/main/java/org/springframework/data/mapping/PropertyReferenceException.java index 42ef140d7..a97a032c5 100644 --- a/src/main/java/org/springframework/data/mapping/PropertyReferenceException.java +++ b/src/main/java/org/springframework/data/mapping/PropertyReferenceException.java @@ -99,12 +99,12 @@ public class PropertyReferenceException extends RuntimeException { @Override public String getMessage() { - StringBuilder builder = new StringBuilder( + var builder = new StringBuilder( String.format(ERROR_TEMPLATE, propertyName, type.getType().getSimpleName())); - Collection potentialMatches = getPropertyMatches(); + var potentialMatches = getPropertyMatches(); if (!potentialMatches.isEmpty()) { - String matches = StringUtils.collectionToDelimitedString(potentialMatches, ",", "'", "'"); + var matches = StringUtils.collectionToDelimitedString(potentialMatches, ",", "'", "'"); builder.append(String.format(HINTS_TEMPLATE, matches)); } diff --git a/src/main/java/org/springframework/data/mapping/TargetAwareIdentifierAccessor.java b/src/main/java/org/springframework/data/mapping/TargetAwareIdentifierAccessor.java index b237415c2..5226bbb32 100644 --- a/src/main/java/org/springframework/data/mapping/TargetAwareIdentifierAccessor.java +++ b/src/main/java/org/springframework/data/mapping/TargetAwareIdentifierAccessor.java @@ -39,7 +39,7 @@ public abstract class TargetAwareIdentifierAccessor implements IdentifierAccesso @Override public Object getRequiredIdentifier() { - Object identifier = getIdentifier(); + var identifier = getIdentifier(); if (identifier != null) { return identifier; diff --git a/src/main/java/org/springframework/data/mapping/TraversalContext.java b/src/main/java/org/springframework/data/mapping/TraversalContext.java index 690a1a198..837b05be7 100644 --- a/src/main/java/org/springframework/data/mapping/TraversalContext.java +++ b/src/main/java/org/springframework/data/mapping/TraversalContext.java @@ -124,7 +124,7 @@ public class TraversalContext { Assert.isTrue(type.isAssignableFrom(property.getType()), () -> String .format("Cannot register a property handler for %s on a property of type %s!", type, property.getType())); - Function caster = it -> type.cast(it); + var caster = (Function) it -> type.cast(it); return registerHandler(property, caster.andThen(handler)); } @@ -139,7 +139,7 @@ public class TraversalContext { @Nullable Object postProcess(PersistentProperty property, @Nullable Object value) { - Function handler = handlers.get(property); + var handler = handlers.get(property); return handler == null ? value : handler.apply(value); } diff --git a/src/main/java/org/springframework/data/mapping/callback/DefaultEntityCallbacks.java b/src/main/java/org/springframework/data/mapping/callback/DefaultEntityCallbacks.java index 8fe06ae96..0da26e157 100644 --- a/src/main/java/org/springframework/data/mapping/callback/DefaultEntityCallbacks.java +++ b/src/main/java/org/springframework/data/mapping/callback/DefaultEntityCallbacks.java @@ -19,8 +19,8 @@ import java.lang.reflect.Method; import java.util.Map; import java.util.function.BiFunction; -import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; + import org.springframework.beans.factory.BeanFactory; import org.springframework.core.ResolvableType; import org.springframework.util.Assert; @@ -68,22 +68,22 @@ class DefaultEntityCallbacks implements EntityCallbacks { Assert.notNull(entity, "Entity must not be null!"); - Class entityType = (Class) (entity != null ? ClassUtils.getUserClass(entity.getClass()) + var entityType = (Class) (entity != null ? ClassUtils.getUserClass(entity.getClass()) : callbackDiscoverer.resolveDeclaredEntityType(callbackType).getRawClass()); - Method callbackMethod = callbackMethodCache.computeIfAbsent(callbackType, it -> { + var callbackMethod = callbackMethodCache.computeIfAbsent(callbackType, it -> { - Method method = EntityCallbackDiscoverer.lookupCallbackMethod(it, entityType, args); + var method = EntityCallbackDiscoverer.lookupCallbackMethod(it, entityType, args); ReflectionUtils.makeAccessible(method); return method; }); - T value = entity; + var value = entity; - for (EntityCallback callback : callbackDiscoverer.getEntityCallbacks(entityType, + for (var callback : callbackDiscoverer.getEntityCallbacks(entityType, ResolvableType.forClass(callbackType))) { - BiFunction, T, Object> callbackFunction = EntityCallbackDiscoverer + var callbackFunction = EntityCallbackDiscoverer .computeCallbackInvokerFunction(callback, callbackMethod, args); value = callbackInvoker.invokeCallback(callback, value, callbackFunction); } @@ -100,7 +100,7 @@ class DefaultEntityCallbacks implements EntityCallbacks { this.callbackDiscoverer.addEntityCallback(callback); } - class SimpleEntityCallbackInvoker implements org.springframework.data.mapping.callback.EntityCallbackInvoker { + static class SimpleEntityCallbackInvoker implements org.springframework.data.mapping.callback.EntityCallbackInvoker { @Override public T invokeCallback(EntityCallback callback, T entity, @@ -108,7 +108,7 @@ class DefaultEntityCallbacks implements EntityCallbacks { try { - Object value = callbackInvokerFunction.apply(callback, entity); + var value = callbackInvokerFunction.apply(callback, entity); if (value != null) { return (T) value; @@ -119,12 +119,12 @@ class DefaultEntityCallbacks implements EntityCallbacks { } catch (ClassCastException ex) { - String msg = ex.getMessage(); + var msg = ex.getMessage(); if (msg == null || EntityCallbackInvoker.matchesClassCastMessage(msg, entity.getClass())) { // Possibly a lambda-defined listener which we could not resolve the generic event type for // -> let's suppress the exception and just log a debug message. - Log logger = LogFactory.getLog(getClass()); + var logger = LogFactory.getLog(getClass()); if (logger.isDebugEnabled()) { logger.debug("Non-matching callback type for entity callback: " + callback, ex); } diff --git a/src/main/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacks.java b/src/main/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacks.java index cbd53815c..0d288b6cb 100644 --- a/src/main/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacks.java +++ b/src/main/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacks.java @@ -21,9 +21,9 @@ import java.lang.reflect.Method; import java.util.Map; import java.util.function.BiFunction; -import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.reactivestreams.Publisher; + import org.springframework.beans.factory.BeanFactory; import org.springframework.core.ResolvableType; import org.springframework.util.Assert; @@ -69,22 +69,22 @@ class DefaultReactiveEntityCallbacks implements ReactiveEntityCallbacks { Assert.notNull(entity, "Entity must not be null!"); - Class entityType = (Class) (entity != null ? ClassUtils.getUserClass(entity.getClass()) + var entityType = (Class) (entity != null ? ClassUtils.getUserClass(entity.getClass()) : callbackDiscoverer.resolveDeclaredEntityType(callbackType).getRawClass()); - Method callbackMethod = callbackMethodCache.computeIfAbsent(callbackType, it -> { + var callbackMethod = callbackMethodCache.computeIfAbsent(callbackType, it -> { - Method method = EntityCallbackDiscoverer.lookupCallbackMethod(it, entityType, args); + var method = EntityCallbackDiscoverer.lookupCallbackMethod(it, entityType, args); ReflectionUtils.makeAccessible(method); return method; }); - Mono deferredCallbackChain = Mono.just(entity); + var deferredCallbackChain = Mono.just(entity); - for (EntityCallback callback : callbackDiscoverer.getEntityCallbacks(entityType, + for (var callback : callbackDiscoverer.getEntityCallbacks(entityType, ResolvableType.forClass(callbackType))) { - BiFunction, T, Object> callbackFunction = EntityCallbackDiscoverer + var callbackFunction = EntityCallbackDiscoverer .computeCallbackInvokerFunction(callback, callbackMethod, args); deferredCallbackChain = deferredCallbackChain @@ -111,7 +111,7 @@ class DefaultReactiveEntityCallbacks implements ReactiveEntityCallbacks { try { - Object value = callbackInvokerFunction.apply(callback, entity); + var value = callbackInvokerFunction.apply(callback, entity); if (value != null) { return value instanceof Publisher ? Mono.from((Publisher) value) : Mono.just((T) value); @@ -121,12 +121,12 @@ class DefaultReactiveEntityCallbacks implements ReactiveEntityCallbacks { String.format("Callback invocation on %s returned null value for %s", callback.getClass(), entity)); } catch (ClassCastException ex) { - String msg = ex.getMessage(); + var msg = ex.getMessage(); if (msg == null || EntityCallbackInvoker.matchesClassCastMessage(msg, entity.getClass())) { // Possibly a lambda-defined listener which we could not resolve the generic event type for // -> let's suppress the exception and just log a debug message. - Log logger = LogFactory.getLog(getClass()); + var logger = LogFactory.getLog(getClass()); if (logger.isDebugEnabled()) { logger.debug("Non-matching callback type for entity callback: " + callback, ex); } diff --git a/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java b/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java index 8d85999d1..616598ca5 100644 --- a/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java +++ b/src/main/java/org/springframework/data/mapping/callback/EntityCallbackDiscoverer.java @@ -79,7 +79,7 @@ class EntityCallbackDiscoverer { // Explicitly remove target for a proxy, if registered already, // in order to avoid double invocations of the same callback. - Object singletonTarget = AopProxyUtils.getSingletonTarget(callback); + var singletonTarget = AopProxyUtils.getSingletonTarget(callback); if (singletonTarget instanceof EntityCallback) { this.defaultRetriever.entityCallbacks.remove(singletonTarget); } @@ -134,10 +134,10 @@ class EntityCallbackDiscoverer { Collection> getEntityCallbacks(Class entity, ResolvableType callbackType) { Class sourceType = entity; - CallbackCacheKey cacheKey = new CallbackCacheKey(callbackType, sourceType); + var cacheKey = new CallbackCacheKey(callbackType, sourceType); // Quick check for existing entry on ConcurrentHashMap... - CallbackRetriever retriever = this.retrieverCache.get(cacheKey); + var retriever = this.retrieverCache.get(cacheKey); if (retriever != null) { return (Collection>) (Collection) retriever.getEntityCallbacks(); } @@ -152,7 +152,7 @@ class EntityCallbackDiscoverer { return (Collection>) (Collection) retriever.getEntityCallbacks(); } retriever = new CallbackRetriever(true); - Collection> callbacks = retrieveEntityCallbacks(ResolvableType.forClass(sourceType), + var callbacks = retrieveEntityCallbacks(ResolvableType.forClass(sourceType), callbackType, retriever); this.retrieverCache.put(cacheKey, retriever); return (Collection>) (Collection) callbacks; @@ -166,7 +166,7 @@ class EntityCallbackDiscoverer { @Nullable ResolvableType resolveDeclaredEntityType(Class callbackType) { - ResolvableType eventType = entityTypeCache.get(callbackType); + var eventType = entityTypeCache.get(callbackType); if (eventType == null) { eventType = ResolvableType.forClass(callbackType).as(EntityCallback.class).getGeneric(); @@ -196,7 +196,7 @@ class EntityCallbackDiscoverer { callbackBeans = new LinkedHashSet<>(this.defaultRetriever.entityCallbackBeans); } - for (EntityCallback callback : callbacks) { + for (var callback : callbacks) { if (supportsEvent(callback, entityType, callbackType)) { if (retriever != null) { retriever.getEntityCallbacks().add(callback); @@ -206,10 +206,10 @@ class EntityCallbackDiscoverer { } if (!callbackBeans.isEmpty()) { - BeanFactory beanFactory = getRequiredBeanFactory(); - for (String callbackBeanName : callbackBeans) { + var beanFactory = getRequiredBeanFactory(); + for (var callbackBeanName : callbackBeans) { try { - Class callbackImplType = beanFactory.getType(callbackBeanName); + var callbackImplType = beanFactory.getType(callbackBeanName); if (callbackImplType == null || supportsEvent(callbackImplType, entityType)) { EntityCallback callback = beanFactory.getBean(callbackBeanName, EntityCallback.class); if (!allCallbacks.contains(callback) && supportsEvent(callback, entityType, callbackType)) { @@ -253,7 +253,7 @@ class EntityCallbackDiscoverer { */ protected boolean supportsEvent(Class callback, ResolvableType entityType) { - ResolvableType declaredEventType = resolveDeclaredEntityType(callback); + var declaredEventType = resolveDeclaredEntityType(callback); return (declaredEventType == null || declaredEventType.isAssignableFrom(entityType)); } @@ -291,8 +291,7 @@ class EntityCallbackDiscoverer { this.beanFactory = beanFactory; - if (beanFactory instanceof ConfigurableBeanFactory) { - ConfigurableBeanFactory cbf = (ConfigurableBeanFactory) beanFactory; + if (beanFactory instanceof ConfigurableBeanFactory cbf) { if (this.beanClassLoader == null) { this.beanClassLoader = cbf.getBeanClassLoader(); } @@ -332,7 +331,7 @@ class EntityCallbackDiscoverer { return (entityCallback, entity) -> { - Object[] invocationArgs = new Object[args.length + 1]; + var invocationArgs = new Object[args.length + 1]; invocationArgs[0] = entity; if (args.length > 0) { System.arraycopy(args, 0, invocationArgs, 1, args.length); @@ -372,8 +371,8 @@ class EntityCallbackDiscoverer { allCallbacks.addAll(this.entityCallbacks); if (!this.entityCallbackBeans.isEmpty()) { - BeanFactory beanFactory = getRequiredBeanFactory(); - for (String callbackBeanName : this.entityCallbackBeans) { + var beanFactory = getRequiredBeanFactory(); + for (var callbackBeanName : this.entityCallbackBeans) { try { EntityCallback callback = beanFactory.getBean(callbackBeanName, EntityCallback.class); if (this.preFiltered || !allCallbacks.contains(callback)) { @@ -427,7 +426,7 @@ class EntityCallbackDiscoverer { return true; } - CallbackCacheKey otherKey = (CallbackCacheKey) other; + var otherKey = (CallbackCacheKey) other; return (this.callbackType.equals(otherKey.callbackType) && ObjectUtils.nullSafeEquals(this.entityType, otherKey.entityType)); diff --git a/src/main/java/org/springframework/data/mapping/callback/EntityCallbackInvoker.java b/src/main/java/org/springframework/data/mapping/callback/EntityCallbackInvoker.java index 18e7970ef..a70c76aa7 100644 --- a/src/main/java/org/springframework/data/mapping/callback/EntityCallbackInvoker.java +++ b/src/main/java/org/springframework/data/mapping/callback/EntityCallbackInvoker.java @@ -48,7 +48,7 @@ interface EntityCallbackInvoker { } // On Java 9, the message used to contain the module name: "java.base/java.lang.String cannot be cast..." - int moduleSeparatorIndex = classCastMessage.indexOf('/'); + var moduleSeparatorIndex = classCastMessage.indexOf('/'); if (moduleSeparatorIndex != -1 && classCastMessage.startsWith(eventClass.getName(), moduleSeparatorIndex + 1)) { return true; } diff --git a/src/main/java/org/springframework/data/mapping/callback/EntityCallbacks.java b/src/main/java/org/springframework/data/mapping/callback/EntityCallbacks.java index 6faabe92b..ee9e07850 100644 --- a/src/main/java/org/springframework/data/mapping/callback/EntityCallbacks.java +++ b/src/main/java/org/springframework/data/mapping/callback/EntityCallbacks.java @@ -55,8 +55,8 @@ public interface EntityCallbacks { */ static EntityCallbacks create(EntityCallback... callbacks) { - EntityCallbacks entityCallbacks = create(); - for (EntityCallback callback : callbacks) { + var entityCallbacks = create(); + for (var callback : callbacks) { entityCallbacks.addEntityCallback(callback); } return entityCallbacks; diff --git a/src/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbacks.java b/src/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbacks.java index d70eb8546..a4974e544 100644 --- a/src/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbacks.java +++ b/src/main/java/org/springframework/data/mapping/callback/ReactiveEntityCallbacks.java @@ -58,8 +58,8 @@ public interface ReactiveEntityCallbacks { */ static ReactiveEntityCallbacks create(EntityCallback... callbacks) { - ReactiveEntityCallbacks entityCallbacks = create(); - for (EntityCallback callback : callbacks) { + var entityCallbacks = create(); + for (var callback : callbacks) { entityCallbacks.addEntityCallback(callback); } return entityCallbacks; diff --git a/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java b/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java index a186260af..5518d22b6 100644 --- a/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java +++ b/src/main/java/org/springframework/data/mapping/context/AbstractMappingContext.java @@ -17,7 +17,6 @@ package org.springframework.data.mapping.context; import java.beans.PropertyDescriptor; import java.lang.reflect.Field; -import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.Collection; import java.util.Collections; @@ -33,7 +32,6 @@ import java.util.stream.Collectors; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; - import org.springframework.beans.BeanUtils; import org.springframework.beans.BeansException; import org.springframework.beans.factory.InitializingBean; @@ -114,8 +112,8 @@ public abstract class AbstractMappingContext(this); - EntityInstantiators instantiators = new EntityInstantiators(); - PersistentPropertyAccessorFactory accessorFactory = NativeDetector.inNativeImage() + var instantiators = new EntityInstantiators(); + var accessorFactory = NativeDetector.inNativeImage() ? BeanWrapperPropertyAccessorFactory.INSTANCE : new ClassGeneratingPropertyAccessorFactory(); @@ -218,7 +216,7 @@ public abstract class AbstractMappingContext entity = persistentEntities.get(ClassTypeInformation.from(type)); + var entity = persistentEntities.get(ClassTypeInformation.from(type)); return entity == null ? false : entity.isPresent(); } @@ -237,7 +235,7 @@ public abstract class AbstractMappingContext entity = persistentEntities.get(type); + var entity = persistentEntities.get(type); if (entity != null) { return entity.orElse(null); @@ -280,7 +278,7 @@ public abstract class AbstractMappingContext typeInfo = persistentProperty.getTypeInformation(); + var typeInfo = persistentProperty.getTypeInformation(); return getPersistentEntity(typeInfo.getRequiredActualType()); } @@ -355,7 +353,7 @@ public abstract class AbstractMappingContext persistentEntity = persistentEntities.get(typeInformation); + var persistentEntity = persistentEntities.get(typeInformation); if (persistentEntity != null) { return persistentEntity; @@ -400,9 +398,9 @@ public abstract class AbstractMappingContext type = userTypeInformation.getType(); + var type = userTypeInformation.getType(); - E entity = createPersistentEntity(userTypeInformation); + var entity = createPersistentEntity(userTypeInformation); entity.setEvaluationContextProvider(evaluationContextProvider); // Eagerly cache the entity as we might have to find it during recursive lookups. @@ -413,14 +411,14 @@ public abstract class AbstractMappingContext descriptors = new HashMap<>(); - for (PropertyDescriptor descriptor : pds) { + for (var descriptor : pds) { descriptors.put(descriptor.getName(), descriptor); } - PersistentPropertyCreator persistentPropertyCreator = new PersistentPropertyCreator(entity, descriptors); + var persistentPropertyCreator = new PersistentPropertyCreator(entity, descriptors); ReflectionUtils.doWithFields(type, persistentPropertyCreator, PersistentPropertyFilter.INSTANCE); persistentPropertyCreator.addPropertiesForRemainingDescriptors(); @@ -544,12 +542,12 @@ public abstract class AbstractMappingContext type = entity.getTypeInformation(); + var fieldName = field.getName(); + var type = entity.getTypeInformation(); ReflectionUtils.makeAccessible(field); - Property property = Optional.ofNullable(descriptors.get(fieldName))// + var property = Optional.ofNullable(descriptors.get(fieldName))// .map(it -> Property.of(type, field, it))// .orElseGet(() -> Property.of(type, field)); @@ -575,7 +573,7 @@ public abstract class AbstractMappingContext declaringClass = getDeclaringClass(property); - Class existingDeclaringClass = getDeclaringClass(existingProperty); + var declaringClass = getDeclaringClass(property); + var existingDeclaringClass = getDeclaringClass(existingProperty); - Class propertyType = getPropertyType(property); - Class existingPropertyType = getPropertyType(existingProperty); + var propertyType = getPropertyType(property); + var existingPropertyType = getPropertyType(existingProperty); if (!propertyType.isAssignableFrom(existingPropertyType)) { @@ -638,12 +636,12 @@ public abstract class AbstractMappingContext getDeclaringClass(PersistentProperty persistentProperty) { - Field field = persistentProperty.getField(); + var field = persistentProperty.getField(); if (field != null) { return field.getDeclaringClass(); } - Method accessor = persistentProperty.getGetter(); + var accessor = persistentProperty.getGetter(); if (accessor == null) { accessor = persistentProperty.getSetter(); @@ -662,22 +660,22 @@ public abstract class AbstractMappingContext getPropertyType(PersistentProperty persistentProperty) { - Field field = persistentProperty.getField(); + var field = persistentProperty.getField(); if (field != null) { return field.getType(); } - Method getter = persistentProperty.getGetter(); + var getter = persistentProperty.getGetter(); if (getter != null) { return getter.getReturnType(); } - Method setter = persistentProperty.getSetter(); + var setter = persistentProperty.getSetter(); if (setter != null) { return setter.getParameterTypes()[0]; } - Method wither = persistentProperty.getWither(); + var wither = persistentProperty.getWither(); if (wither != null) { return wither.getParameterTypes()[0]; } diff --git a/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java b/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java index 4d3fde4f5..e503ef5ba 100644 --- a/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java +++ b/src/main/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPath.java @@ -80,7 +80,7 @@ class DefaultPersistentPropertyPath

> implements } @SuppressWarnings("null") - Class leafPropertyType = getLeafProperty().getActualType(); + var leafPropertyType = getLeafProperty().getActualType(); Assert.isTrue(property.getOwner().getType().equals(leafPropertyType), () -> String.format("Cannot append property %s to type %s!", property.getName(), leafPropertyType.getName())); @@ -128,7 +128,7 @@ class DefaultPersistentPropertyPath

> implements Assert.hasText(delimiter, "Delimiter must not be null or empty!"); Assert.notNull(converter, "Converter must not be null!"); - String result = properties.stream() // + var result = properties.stream() // .map(converter::convert) // .filter(StringUtils::hasText) // .collect(Collectors.joining(delimiter)); @@ -162,15 +162,15 @@ class DefaultPersistentPropertyPath

> implements Assert.notNull(path, "PersistentPropertyPath must not be null!"); - Iterator

iterator = path.iterator(); + var iterator = path.iterator(); - for (P property : this) { + for (var property : this) { if (!iterator.hasNext()) { return false; } - P reference = iterator.next(); + var reference = iterator.next(); if (!property.equals(reference)) { return false; @@ -191,9 +191,9 @@ class DefaultPersistentPropertyPath

> implements } List

result = new ArrayList<>(); - Iterator

iterator = iterator(); + var iterator = iterator(); - for (int i = 0; i < base.getLength(); i++) { + for (var i = 0; i < base.getLength(); i++) { iterator.next(); } @@ -210,7 +210,7 @@ class DefaultPersistentPropertyPath

> implements */ public PersistentPropertyPath

getParentPath() { - int size = properties.size(); + var size = properties.size(); return size == 0 ? this : new DefaultPersistentPropertyPath<>(properties.subList(0, size - 1)); } @@ -256,11 +256,10 @@ class DefaultPersistentPropertyPath

> implements return true; } - if (!(o instanceof DefaultPersistentPropertyPath)) { + if (!(o instanceof DefaultPersistentPropertyPath that)) { return false; } - DefaultPersistentPropertyPath that = (DefaultPersistentPropertyPath) o; return ObjectUtils.nullSafeEquals(properties, that.properties); } diff --git a/src/main/java/org/springframework/data/mapping/context/InvalidPersistentPropertyPath.java b/src/main/java/org/springframework/data/mapping/context/InvalidPersistentPropertyPath.java index 11ebbb368..549df5b0b 100644 --- a/src/main/java/org/springframework/data/mapping/context/InvalidPersistentPropertyPath.java +++ b/src/main/java/org/springframework/data/mapping/context/InvalidPersistentPropertyPath.java @@ -109,14 +109,14 @@ public class InvalidPersistentPropertyPath extends MappingException { return ""; } - String dotPath = path.toDotPath(); + var dotPath = path.toDotPath(); return dotPath == null ? "" : dotPath; } private static String createMessage(TypeInformation type, String unresolvableSegment) { - Set potentialMatches = detectPotentialMatches(unresolvableSegment, type.getType()); + var potentialMatches = detectPotentialMatches(unresolvableSegment, type.getType()); Object match = StringUtils.collectionToCommaDelimitedString(potentialMatches); return String.format(DEFAULT_MESSAGE, unresolvableSegment, type.getType(), match); diff --git a/src/main/java/org/springframework/data/mapping/context/MappingContext.java b/src/main/java/org/springframework/data/mapping/context/MappingContext.java index ac37cc621..f77d4cf40 100644 --- a/src/main/java/org/springframework/data/mapping/context/MappingContext.java +++ b/src/main/java/org/springframework/data/mapping/context/MappingContext.java @@ -70,7 +70,7 @@ public interface MappingContext, P extends Pers */ default E getRequiredPersistentEntity(Class type) throws MappingException { - E entity = getPersistentEntity(type); + var entity = getPersistentEntity(type); if (entity != null) { return entity; @@ -110,7 +110,7 @@ public interface MappingContext, P extends Pers */ default E getRequiredPersistentEntity(TypeInformation type) throws MappingException { - E entity = getPersistentEntity(type); + var entity = getPersistentEntity(type); if (entity != null) { return entity; @@ -143,7 +143,7 @@ public interface MappingContext, P extends Pers */ default E getRequiredPersistentEntity(P persistentProperty) throws MappingException { - E entity = getPersistentEntity(persistentProperty); + var entity = getPersistentEntity(persistentProperty); if (entity != null) { return entity; diff --git a/src/main/java/org/springframework/data/mapping/context/PersistentEntities.java b/src/main/java/org/springframework/data/mapping/context/PersistentEntities.java index c157de7a7..bc7e93cab 100644 --- a/src/main/java/org/springframework/data/mapping/context/PersistentEntities.java +++ b/src/main/java/org/springframework/data/mapping/context/PersistentEntities.java @@ -196,13 +196,13 @@ public class PersistentEntities implements Streamable getEntityUltimatelyReferredToBy(PersistentProperty property) { - TypeInformation propertyType = property.getTypeInformation().getActualType(); + var propertyType = property.getTypeInformation().getActualType(); if (propertyType == null || !property.isAssociation()) { return null; } - Class associationTargetType = property.getAssociationTargetType(); + var associationTargetType = property.getAssociationTargetType(); return associationTargetType == null // ? getEntityIdentifiedBy(propertyType) // @@ -220,7 +220,7 @@ public class PersistentEntities implements Streamable entity = getEntityUltimatelyReferredToBy(property); + var entity = getEntityUltimatelyReferredToBy(property); return entity == null // ? property.getTypeInformation().getRequiredActualType() // @@ -238,16 +238,24 @@ public class PersistentEntities implements Streamable getEntityIdentifiedBy(TypeInformation type) { - Collection> entities = contexts.stream() // - .flatMap(it -> it.getPersistentEntities().stream()) // - .map(PersistentEntity::getIdProperty) // - .filter(it -> it != null && type.equals(it.getTypeInformation().getActualType())) // - .map(PersistentProperty::getOwner) // - .collect(Collectors.toList()); + Collection> entities = new ArrayList<>(); + for (MappingContext> context : contexts) { + + for (PersistentEntity> persistentProperties : context + .getPersistentEntities()) { + + var idProperty = persistentProperties.getIdProperty(); + + if (idProperty != null && type.equals(idProperty.getTypeInformation().getActualType())) { + var owner = idProperty.getOwner(); + entities.add(owner); + } + } + } if (entities.size() > 1) { - String message = "Found multiple entities identified by " + type.getType() + ": "; + var message = "Found multiple entities identified by " + type.getType() + ": "; message += entities.stream().map(it -> it.getType().getName()).collect(Collectors.joining(", ")); message += "! Introduce dedicated unique identifier types or explicitly define the target type in @Reference!"; diff --git a/src/main/java/org/springframework/data/mapping/context/PersistentPropertyPathFactory.java b/src/main/java/org/springframework/data/mapping/context/PersistentPropertyPathFactory.java index 6d1f76aa4..00c6b9e65 100644 --- a/src/main/java/org/springframework/data/mapping/context/PersistentPropertyPathFactory.java +++ b/src/main/java/org/springframework/data/mapping/context/PersistentPropertyPathFactory.java @@ -19,7 +19,6 @@ import java.util.*; import java.util.function.Function; import java.util.function.Predicate; import java.util.stream.Collectors; -import java.util.stream.Stream; import org.springframework.data.mapping.AssociationHandler; import org.springframework.data.mapping.PersistentEntity; @@ -181,26 +180,26 @@ class PersistentPropertyPathFactory, P extends */ private PersistentPropertyPath

createPersistentPropertyPath(String propertyPath, TypeInformation type) { - String trimmedPath = propertyPath.trim(); + var trimmedPath = propertyPath.trim(); List parts = trimmedPath.isEmpty() // ? Collections.emptyList() // : Arrays.asList(trimmedPath.split("\\.")); DefaultPersistentPropertyPath

path = DefaultPersistentPropertyPath.empty(); - Iterator iterator = parts.iterator(); - E current = context.getRequiredPersistentEntity(type); + var iterator = parts.iterator(); + var current = context.getRequiredPersistentEntity(type); while (iterator.hasNext()) { - String segment = iterator.next(); - final DefaultPersistentPropertyPath

currentPath = path; + var segment = iterator.next(); + final var currentPath = path; - Pair, E> pair = getPair(path, iterator, segment, current); + var pair = getPair(path, iterator, segment, current); if (pair == null) { - String source = StringUtils.collectionToDelimitedString(parts, "."); + var source = StringUtils.collectionToDelimitedString(parts, "."); throw new InvalidPersistentPropertyPath(source, type, segment, currentPath); } @@ -216,7 +215,7 @@ class PersistentPropertyPathFactory, P extends private Pair, E> getPair(DefaultPersistentPropertyPath

path, Iterator iterator, String segment, E entity) { - P property = entity.getPersistentProperty(segment); + var property = entity.getPersistentProperty(segment); if (property == null) { return null; @@ -228,13 +227,13 @@ class PersistentPropertyPathFactory, P extends private Collection> from(TypeInformation type, Predicate filter, Predicate

traversalGuard, DefaultPersistentPropertyPath

basePath) { - TypeInformation actualType = type.getActualType(); + var actualType = type.getActualType(); if (actualType == null) { return Collections.emptyList(); } - E entity = context.getRequiredPersistentEntity(actualType); + var entity = context.getRequiredPersistentEntity(actualType); return from(entity, filter, traversalGuard, basePath); } @@ -243,16 +242,16 @@ class PersistentPropertyPathFactory, P extends Set> properties = new HashSet<>(); - PropertyHandler

propertyTester = persistentProperty -> { + var propertyTester = (PropertyHandler

) persistentProperty -> { - TypeInformation typeInformation = persistentProperty.getTypeInformation(); - TypeInformation actualPropertyType = typeInformation.getActualType(); + var typeInformation = persistentProperty.getTypeInformation(); + var actualPropertyType = typeInformation.getActualType(); if (basePath.containsPropertyOfType(actualPropertyType)) { return; } - DefaultPersistentPropertyPath

currentPath = basePath.append(persistentProperty); + var currentPath = basePath.append(persistentProperty); if (filter.test(persistentProperty)) { properties.add(currentPath); @@ -265,7 +264,8 @@ class PersistentPropertyPathFactory, P extends entity.doWithProperties(propertyTester); - AssociationHandler

handler = association -> propertyTester.doWithPersistentProperty(association.getInverse()); + var handler = (AssociationHandler

) association -> propertyTester + .doWithPersistentProperty(association.getInverse()); entity.doWithAssociations(handler); return properties; @@ -304,12 +304,10 @@ class PersistentPropertyPathFactory, P extends return true; } - if (!(o instanceof TypeAndPath)) { + if (!(o instanceof TypeAndPath that)) { return false; } - TypeAndPath that = (TypeAndPath) o; - if (!ObjectUtils.nullSafeEquals(type, that.type)) { return false; } @@ -323,7 +321,7 @@ class PersistentPropertyPathFactory, P extends */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(type); + var result = ObjectUtils.nullSafeHashCode(type); result = 31 * result + ObjectUtils.nullSafeHashCode(path); return result; } @@ -364,7 +362,7 @@ class PersistentPropertyPathFactory, P extends List> sorted = new ArrayList<>(paths); - Collections.sort(sorted, SHORTEST_PATH.thenComparing(ShortestSegmentFirst.INSTANCE)); + sorted.sort(SHORTEST_PATH.thenComparing(ShortestSegmentFirst.INSTANCE)); return new DefaultPersistentPropertyPaths<>(type, sorted); } @@ -400,7 +398,7 @@ class PersistentPropertyPathFactory, P extends return false; } - String dotPath = path.toDotPath(); + var dotPath = path.toDotPath(); return stream().anyMatch(it -> dotPath.equals(it.toDotPath())); } @@ -423,7 +421,7 @@ class PersistentPropertyPathFactory, P extends Assert.notNull(predicate, "Predicate must not be null!"); - List> paths = this.stream() // + var paths = this.stream() // .filter(it -> !it.stream().anyMatch(predicate)) // .collect(Collectors.toList()); @@ -456,10 +454,10 @@ class PersistentPropertyPathFactory, P extends @SuppressWarnings("null") public int compare(PersistentPropertyPath left, PersistentPropertyPath right) { - Function, Integer> mapper = it -> it.getName().length(); + var mapper = (Function, Integer>) it -> it.getName().length(); - Stream leftNames = left.stream().map(mapper); - Stream rightNames = right.stream().map(mapper); + var leftNames = left.stream().map(mapper); + var rightNames = right.stream().map(mapper); return StreamUtils.zip(leftNames, rightNames, (l, r) -> l - r) // .filter(it -> it != 0) // diff --git a/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java b/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java index baa8999f8..a689f0319 100644 --- a/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java +++ b/src/main/java/org/springframework/data/mapping/model/AbstractPersistentProperty.java @@ -279,7 +279,7 @@ public abstract class AbstractPersistentProperty

@Override public Class getAssociationTargetType() { - TypeInformation result = getAssociationTargetTypeInformation(); + var result = getAssociationTargetTypeInformation(); return result != null ? result.getType() : null; } @@ -350,7 +350,7 @@ public abstract class AbstractPersistentProperty

if (isMap()) { - TypeInformation mapValueType = information.getMapValueType(); + var mapValueType = information.getMapValueType(); if (mapValueType != null) { return mapValueType.getType(); @@ -383,7 +383,7 @@ public abstract class AbstractPersistentProperty

protected TypeInformation getActualTypeInformation() { - TypeInformation targetType = associationTargetType.getNullable(); + var targetType = associationTargetType.getNullable(); return targetType == null ? information.getRequiredActualType() : targetType; } @@ -398,12 +398,10 @@ public abstract class AbstractPersistentProperty

return true; } - if (!(obj instanceof AbstractPersistentProperty)) { + if (!(obj instanceof AbstractPersistentProperty that)) { return false; } - AbstractPersistentProperty that = (AbstractPersistentProperty) obj; - return this.property.equals(that.property); } @@ -427,10 +425,10 @@ public abstract class AbstractPersistentProperty

private Set> detectEntityTypes(SimpleTypeHolder simpleTypes) { - TypeInformation typeToStartWith = getAssociationTargetTypeInformation(); + var typeToStartWith = getAssociationTargetTypeInformation(); typeToStartWith = typeToStartWith == null ? information : typeToStartWith; - Set> result = detectEntityTypes(typeToStartWith); + var result = detectEntityTypes(typeToStartWith); return result.stream() .filter(it -> !simpleTypes.isSimpleType(it.getType())) @@ -450,7 +448,7 @@ public abstract class AbstractPersistentProperty

result.addAll(detectEntityTypes(source.getComponentType())); } - TypeInformation actualType = source.getActualType(); + var actualType = source.getActualType(); if (source.equals(actualType)) { result.add(source); diff --git a/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java b/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java index ad0e0907c..843e96aa7 100644 --- a/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java +++ b/src/main/java/org/springframework/data/mapping/model/AnnotationBasedPersistentProperty.java @@ -64,7 +64,7 @@ public abstract class AnnotationBasedPersistentProperty

usePropertyAccess = Lazy.of(() -> { - AccessType accessType = findPropertyOrOwnerAnnotation(AccessType.class); + var accessType = findPropertyOrOwnerAnnotation(AccessType.class); return accessType != null && Type.PROPERTY.equals(accessType.value()) || super.usePropertyAccess(); }); @@ -105,7 +105,7 @@ public abstract class AnnotationBasedPersistentProperty

{ - for (Annotation annotation : it.getAnnotations()) { + for (var annotation : it.getAnnotations()) { - Class annotationType = annotation.annotationType(); + var annotationType = annotation.annotationType(); - Annotation mergedAnnotation = AnnotatedElementUtils.getMergedAnnotation(it, annotationType); + var mergedAnnotation = AnnotatedElementUtils.getMergedAnnotation(it, annotationType); validateAnnotation(mergedAnnotation, "Ambiguous mapping! Annotation %s configured " @@ -139,10 +139,10 @@ public abstract class AnnotationBasedPersistentProperty

{ - for (Annotation annotation : it.getAnnotations()) { + for (var annotation : it.getAnnotations()) { - Class annotationType = annotation.annotationType(); - Annotation mergedAnnotation = AnnotatedElementUtils.getMergedAnnotation(it, annotationType); + var annotationType = annotation.annotationType(); + var mergedAnnotation = AnnotatedElementUtils.getMergedAnnotation(it, annotationType); validateAnnotation(mergedAnnotation, "Ambiguous mapping! Annotation %s configured " + "on field %s and one of its accessor methods in class %s!", @@ -164,7 +164,7 @@ public abstract class AnnotationBasedPersistentProperty

annotationType = candidate.annotationType(); + var annotationType = candidate.annotationType(); if (!annotationType.getName().startsWith(SPRING_DATA_PACKAGE)) { return; @@ -251,7 +251,7 @@ public abstract class AnnotationBasedPersistentProperty

Optional doFindAnnotation(Class annotationType) { - Optional annotation = annotationCache.get(annotationType); + var annotation = annotationCache.get(annotationType); if (annotation != null) { return (Optional) annotation; @@ -274,7 +274,7 @@ public abstract class AnnotationBasedPersistentProperty

A findPropertyOrOwnerAnnotation(Class annotationType) { - A annotation = findAnnotation(annotationType); + var annotation = findAnnotation(annotationType); return annotation != null ? annotation : getOwner().findAnnotation(annotationType); } @@ -319,7 +319,7 @@ public abstract class AnnotationBasedPersistentProperty

> implement propertyCache.computeIfAbsent(property.getName(), key -> property); - P candidate = returnPropertyIfBetterIdPropertyCandidateOrNull(property); + var candidate = returnPropertyIfBetterIdPropertyCandidateOrNull(property); if (candidate != null) { this.idProperty = candidate; @@ -230,7 +230,7 @@ public class BasicPersistentEntity> implement if (property.isVersionProperty()) { - P versionProperty = this.versionProperty; + var versionProperty = this.versionProperty; if (versionProperty != null) { @@ -267,7 +267,7 @@ public class BasicPersistentEntity> implement return null; } - P idProperty = this.idProperty; + var idProperty = this.idProperty; if (idProperty != null) { throw new MappingException(String.format("Attempt to add id property %s but already have property %s registered " @@ -311,7 +311,7 @@ public class BasicPersistentEntity> implement private List

doFindPersistentProperty(Class annotationType) { - List

annotatedProperties = properties.stream() // + var annotatedProperties = properties.stream() // .filter(it -> it.isAnnotationPresent(annotationType)) // .collect(Collectors.toList()); @@ -356,7 +356,7 @@ public class BasicPersistentEntity> implement Assert.notNull(handler, "PropertyHandler must not be null!"); - for (P property : persistentPropertiesCache) { + for (var property : persistentPropertiesCache) { handler.doWithPersistentProperty(property); } } @@ -383,7 +383,7 @@ public class BasicPersistentEntity> implement Assert.notNull(handler, "Handler must not be null!"); - for (Association

association : associations) { + for (var association : associations) { handler.doWithAssociation(association); } } @@ -522,7 +522,7 @@ public class BasicPersistentEntity> implement @Override public Iterator

iterator() { - Iterator

iterator = properties.iterator(); + var iterator = properties.iterator(); return new Iterator

() { @@ -593,12 +593,13 @@ public class BasicPersistentEntity> implement */ private static Alias getAliasFromAnnotation(Class type) { - Optional typeAliasValue = Optional - .ofNullable(AnnotatedElementUtils.findMergedAnnotation(type, TypeAlias.class))// - .map(TypeAlias::value)// - .filter(StringUtils::hasText); + var typeAlias = AnnotatedElementUtils.findMergedAnnotation(type, TypeAlias.class); - return Alias.ofNullable(typeAliasValue.orElse(null)); + if (typeAlias != null && StringUtils.hasText(typeAlias.value())) { + return Alias.of(typeAlias.value()); + } + + return Alias.empty(); } /** diff --git a/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java b/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java index 5f49c81e7..fef66e24c 100644 --- a/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java +++ b/src/main/java/org/springframework/data/mapping/model/BeanWrapper.java @@ -19,10 +19,7 @@ import kotlin.reflect.KCallable; import kotlin.reflect.KParameter; import kotlin.reflect.KParameter.Kind; -import java.lang.reflect.Field; -import java.lang.reflect.Method; import java.util.LinkedHashMap; -import java.util.List; import java.util.Map; import org.springframework.data.mapping.MappingException; @@ -68,7 +65,7 @@ class BeanWrapper implements PersistentPropertyAccessor { if (property.isImmutable()) { - Method wither = property.getWither(); + var wither = property.getWither(); if (wither != null) { @@ -89,14 +86,14 @@ class BeanWrapper implements PersistentPropertyAccessor { if (!property.usePropertyAccess()) { - Field field = property.getRequiredField(); + var field = property.getRequiredField(); ReflectionUtils.makeAccessible(field); ReflectionUtils.setField(field, bean, value); return; } - Method setter = property.getRequiredSetter(); + var setter = property.getRequiredSetter(); ReflectionUtils.makeAccessible(setter); ReflectionUtils.invokeMethod(setter, bean, value); @@ -133,13 +130,13 @@ class BeanWrapper implements PersistentPropertyAccessor { if (!property.usePropertyAccess()) { - Field field = property.getRequiredField(); + var field = property.getRequiredField(); ReflectionUtils.makeAccessible(field); return ReflectionUtils.getField(field, bean); } - Method getter = property.getRequiredGetter(); + var getter = property.getRequiredGetter(); ReflectionUtils.makeAccessible(getter); return ReflectionUtils.invokeMethod(getter, bean); @@ -175,8 +172,8 @@ class BeanWrapper implements PersistentPropertyAccessor { */ static Object setProperty(PersistentProperty property, T bean, @Nullable Object value) { - Class type = property.getOwner().getType(); - KCallable copy = copyMethodCache.computeIfAbsent(type, it -> getCopyMethod(it, property)); + var type = property.getOwner().getType(); + var copy = copyMethodCache.computeIfAbsent(type, it -> getCopyMethod(it, property)); if (copy == null) { throw new UnsupportedOperationException(String.format( @@ -191,9 +188,9 @@ class BeanWrapper implements PersistentPropertyAccessor { Map args = new LinkedHashMap<>(2, 1); - List parameters = callable.getParameters(); + var parameters = callable.getParameters(); - for (KParameter parameter : parameters) { + for (var parameter : parameters) { if (parameter.getKind() == Kind.INSTANCE) { args.put(parameter, bean); diff --git a/src/main/java/org/springframework/data/mapping/model/CamelCaseSplittingFieldNamingStrategy.java b/src/main/java/org/springframework/data/mapping/model/CamelCaseSplittingFieldNamingStrategy.java index 2fc95b1b1..481493a6e 100644 --- a/src/main/java/org/springframework/data/mapping/model/CamelCaseSplittingFieldNamingStrategy.java +++ b/src/main/java/org/springframework/data/mapping/model/CamelCaseSplittingFieldNamingStrategy.java @@ -52,12 +52,12 @@ public class CamelCaseSplittingFieldNamingStrategy implements FieldNamingStrateg @Override public String getFieldName(PersistentProperty property) { - List parts = ParsingUtils.splitCamelCaseToLower(property.getName()); + var parts = ParsingUtils.splitCamelCaseToLower(property.getName()); List result = new ArrayList<>(); - for (String part : parts) { + for (var part : parts) { - String candidate = preparePart(part); + var candidate = preparePart(part); if (StringUtils.hasText(candidate)) { result.add(candidate); diff --git a/src/main/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiator.java b/src/main/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiator.java index d74391137..a92211f49 100644 --- a/src/main/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiator.java +++ b/src/main/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiator.java @@ -17,7 +17,6 @@ package org.springframework.data.mapping.model; import static org.springframework.asm.Opcodes.*; -import java.lang.reflect.Constructor; import java.lang.reflect.Modifier; import java.util.Arrays; import java.util.HashMap; @@ -80,7 +79,7 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { public , P extends PersistentProperty

> T createInstance(E entity, ParameterValueProvider

provider) { - EntityInstantiator instantiator = this.entityInstantiators.get(entity.getTypeInformation()); + var instantiator = this.entityInstantiators.get(entity.getTypeInformation()); if (instantiator == null) { instantiator = potentiallyCreateAndRegisterEntityInstantiator(entity); @@ -96,8 +95,8 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { private synchronized EntityInstantiator potentiallyCreateAndRegisterEntityInstantiator( PersistentEntity entity) { - Map, EntityInstantiator> map = this.entityInstantiators; - EntityInstantiator instantiator = map.get(entity.getTypeInformation()); + var map = this.entityInstantiators; + var instantiator = map.get(entity.getTypeInformation()); if (instantiator != null) { return instantiator; @@ -164,7 +163,7 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { return true; } - Class type = entity.getType(); + var type = entity.getType(); if (type.isInterface() // || type.isArray() // @@ -174,7 +173,7 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { return true; } - PreferredConstructor persistenceConstructor = entity.getPersistenceConstructor(); + var persistenceConstructor = entity.getPersistenceConstructor(); if (persistenceConstructor == null || Modifier.isPrivate(persistenceConstructor.getConstructor().getModifiers())) { return true; } @@ -245,7 +244,7 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { public , P extends PersistentProperty

> T createInstance(E entity, ParameterValueProvider

provider) { - Object[] params = extractInvocationArguments(entity.getPersistenceConstructor(), provider); + var params = extractInvocationArguments(entity.getPersistenceConstructor(), provider); try { return (T) instantiator.newInstance(params); @@ -269,9 +268,9 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { return allocateArguments(0); } - Object[] params = allocateArguments(constructor.getConstructor().getParameterCount()); + var params = allocateArguments(constructor.getConstructor().getParameterCount()); - int index = 0; + var index = 0; for (Parameter parameter : constructor.getParameters()) { params[index++] = provider.getParameterValue(parameter); } @@ -316,7 +315,7 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { public , P extends PersistentProperty

> T createInstance(E entity, ParameterValueProvider

provider) { - Object[] params = extractInvocationArguments(entity.getPersistenceConstructor(), provider); + var params = extractInvocationArguments(entity.getPersistenceConstructor(), provider); throw new MappingInstantiationException(entity, Arrays.asList(params), new BeanInstantiationException(typeToCreate, "Class is abstract")); @@ -382,9 +381,9 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { public Class generateCustomInstantiatorClass(PersistentEntity entity, @Nullable PreferredConstructor constructor) { - String className = generateClassName(entity); - Class type = entity.getType(); - ClassLoader classLoader = type.getClassLoader(); + var className = generateClassName(entity); + var type = entity.getType(); + var classLoader = type.getClassLoader(); if (ClassUtils.isPresent(className, classLoader)) { @@ -395,7 +394,7 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { } } - byte[] bytecode = generateBytecode(className, entity, constructor); + var bytecode = generateBytecode(className, entity, constructor); try { return ReflectUtils.defineClass(className, bytecode, classLoader, type.getProtectionDomain(), type); @@ -423,7 +422,7 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { public byte[] generateBytecode(String internalClassName, PersistentEntity entity, @Nullable PreferredConstructor constructor) { - ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS); + var cw = new ClassWriter(ClassWriter.COMPUTE_MAXS); cw.visit(Opcodes.V1_6, ACC_PUBLIC + ACC_SUPER, internalClassName.replace('.', '/'), null, JAVA_LANG_OBJECT, IMPLEMENTED_INTERFACES); @@ -439,7 +438,7 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { private void visitDefaultConstructor(ClassWriter cw) { - MethodVisitor mv = cw.visitMethod(ACC_PUBLIC, INIT, "()V", null, null); + var mv = cw.visitMethod(ACC_PUBLIC, INIT, "()V", null, null); mv.visitCode(); mv.visitVarInsn(ALOAD, 0); mv.visitMethodInsn(INVOKESPECIAL, JAVA_LANG_OBJECT, INIT, "()V", false); @@ -458,9 +457,9 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { private void visitCreateMethod(ClassWriter cw, PersistentEntity entity, @Nullable PreferredConstructor constructor) { - String entityTypeResourcePath = Type.getInternalName(entity.getType()); + var entityTypeResourcePath = Type.getInternalName(entity.getType()); - MethodVisitor mv = cw.visitMethod(ACC_PUBLIC + ACC_VARARGS, CREATE_METHOD_NAME, + var mv = cw.visitMethod(ACC_PUBLIC + ACC_VARARGS, CREATE_METHOD_NAME, "([Ljava/lang/Object;)Ljava/lang/Object;", null, null); mv.visitCode(); mv.visitTypeInsn(NEW, entityTypeResourcePath); @@ -468,11 +467,11 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { if (constructor != null) { - Constructor ctor = constructor.getConstructor(); - Class[] parameterTypes = ctor.getParameterTypes(); + var ctor = constructor.getConstructor(); + var parameterTypes = ctor.getParameterTypes(); List> parameters = constructor.getParameters(); - for (int i = 0; i < parameterTypes.length; i++) { + for (var i = 0; i < parameterTypes.length; i++) { mv.visitVarInsn(ALOAD, 1); @@ -483,7 +482,7 @@ class ClassGeneratingEntityInstantiator implements EntityInstantiator { if (parameterTypes[i].isPrimitive()) { mv.visitInsn(DUP); - String parameterName = parameters.size() > i ? parameters.get(i).getName() : null; + var parameterName = parameters.size() > i ? parameters.get(i).getName() : null; insertAssertNotNull(mv, parameterName == null ? String.format("at index %d", i) : parameterName); insertUnboxInsns(mv, Type.getType(parameterTypes[i]).toString().charAt(0), ""); diff --git a/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java b/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java index 57d58332a..33d103e8a 100644 --- a/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java +++ b/src/main/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactory.java @@ -48,7 +48,6 @@ import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.PersistentPropertyAccessor; import org.springframework.data.mapping.SimpleAssociationHandler; import org.springframework.data.mapping.SimplePropertyHandler; -import org.springframework.data.mapping.model.KotlinCopyMethod.KotlinCopyByProperty; import org.springframework.data.util.Optionals; import org.springframework.data.util.TypeInformation; import org.springframework.lang.Nullable; @@ -83,11 +82,11 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert @Override public PersistentPropertyAccessor getPropertyAccessor(PersistentEntity entity, T bean) { - Constructor constructor = constructorMap.get(entity); + var constructor = constructorMap.get(entity); if (constructor == null) { - Class> accessorClass = potentiallyCreateAndRegisterPersistentPropertyAccessorClass( + var accessorClass = potentiallyCreateAndRegisterPersistentPropertyAccessorClass( entity); constructor = accessorClass.getConstructors()[0]; @@ -96,7 +95,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert this.constructorMap = constructorMap; } - Object[] args = argumentCache.get(); + var args = argumentCache.get(); args[0] = bean; try { @@ -136,7 +135,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static boolean isTypeInjectable(PersistentEntity entity) { - Class type = entity.getType(); + var type = entity.getType(); return type.getClassLoader() != null && (type.getPackage() == null || !type.getPackage().getName().startsWith("java")) && ClassUtils.isPresent(PersistentPropertyAccessor.class.getName(), type.getClassLoader()) @@ -146,7 +145,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private boolean hasUniquePropertyHashCodes(PersistentEntity entity) { Set hashCodes = new HashSet<>(); - AtomicInteger propertyCount = new AtomicInteger(); + var propertyCount = new AtomicInteger(); entity.doWithProperties((SimplePropertyHandler) property -> { @@ -172,8 +171,8 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private synchronized Class> potentiallyCreateAndRegisterPersistentPropertyAccessorClass( PersistentEntity entity) { - Map, Class>> map = this.propertyAccessorClasses; - Class> propertyAccessorClass = map.get(entity.getTypeInformation()); + var map = this.propertyAccessorClasses; + var propertyAccessorClass = map.get(entity.getTypeInformation()); if (propertyAccessorClass != null) { return propertyAccessorClass; @@ -314,9 +313,9 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert */ static Class generateCustomAccessorClass(PersistentEntity entity) { - String className = generateClassName(entity); - Class type = entity.getType(); - ClassLoader classLoader = type.getClassLoader(); + var className = generateClassName(entity); + var type = entity.getType(); + var classLoader = type.getClassLoader(); if (ClassUtils.isPresent(className, classLoader)) { @@ -327,7 +326,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert } } - byte[] bytecode = generateBytecode(className.replace('.', '/'), entity); + var bytecode = generateBytecode(className.replace('.', '/'), entity); try { @@ -343,10 +342,10 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert */ static byte[] generateBytecode(String internalClassName, PersistentEntity entity) { - ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS); + var cw = new ClassWriter(ClassWriter.COMPUTE_MAXS); cw.visit(Opcodes.V1_6, ACC_PUBLIC + ACC_SUPER, internalClassName, null, JAVA_LANG_OBJECT, IMPLEMENTED_INTERFACES); - List> persistentProperties = getPersistentProperties(entity); + var persistentProperties = getPersistentProperties(entity); visitFields(entity, persistentProperties, cw); visitDefaultConstructor(entity, internalClassName, cw); @@ -393,7 +392,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert cw.visitField(ACC_PRIVATE, BEAN_FIELD, getAccessibleTypeReferenceName(entity), null, null).visitEnd(); - for (PersistentProperty property : persistentProperties) { + for (var property : persistentProperties) { if (property.isImmutable()) { if (generateMethodHandle(entity, property.getWither())) { @@ -443,7 +442,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert mv = cw.visitMethod(ACC_PUBLIC, INIT, String.format("(%s)V", getAccessibleTypeReferenceName(entity)), null, null); mv.visitCode(); - Label l0 = new Label(); + var l0 = new Label(); mv.visitLabel(l0); mv.visitVarInsn(ALOAD, 0); mv.visitMethodInsn(INVOKESPECIAL, JAVA_LANG_OBJECT, INIT, "()V", false); @@ -461,7 +460,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert mv.visitFieldInsn(PUTFIELD, internalClassName, BEAN_FIELD, getAccessibleTypeReferenceName(entity)); mv.visitInsn(RETURN); - Label l3 = new Label(); + var l3 = new Label(); mv.visitLabel(l3); mv.visitLocalVariable(THIS_REF, referenceName(internalClassName), null, l0, l3, 0); mv.visitLocalVariable(BEAN_FIELD, getAccessibleTypeReferenceName(entity), null, l0, l3, 1); @@ -490,10 +489,10 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static void visitStaticInitializer(PersistentEntity entity, List> persistentProperties, String internalClassName, ClassWriter cw) { - MethodVisitor mv = cw.visitMethod(ACC_STATIC, CLINIT, "()V", null, null); + var mv = cw.visitMethod(ACC_STATIC, CLINIT, "()V", null, null); mv.visitCode(); - Label l0 = new Label(); - Label l1 = new Label(); + var l0 = new Label(); + var l1 = new Label(); mv.visitLabel(l0); // lookup = MethodHandles.lookup() @@ -501,9 +500,9 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert String.format("()%s", referenceName(JAVA_LANG_INVOKE_METHOD_HANDLES_LOOKUP)), false); mv.visitVarInsn(ASTORE, 0); - List> entityClasses = getPropertyDeclaratingClasses(persistentProperties); + var entityClasses = getPropertyDeclaratingClasses(persistentProperties); - for (Class entityClass : entityClasses) { + for (var entityClass : entityClasses) { mv.visitLdcInsn(entityClass.getName()); mv.visitMethodInsn(INVOKESTATIC, JAVA_LANG_CLASS, "forName", @@ -511,7 +510,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert mv.visitVarInsn(ASTORE, classVariableIndex5(entityClasses, entityClass)); } - for (PersistentProperty property : persistentProperties) { + for (var property : persistentProperties) { if (property.usePropertyAccess()) { @@ -544,9 +543,9 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert mv.visitLocalVariable("getter", referenceName(JAVA_LANG_REFLECT_METHOD), null, l0, l1, 3); mv.visitLocalVariable("wither", referenceName(JAVA_LANG_REFLECT_METHOD), null, l0, l1, 4); - for (Class entityClass : entityClasses) { + for (var entityClass : entityClasses) { - int index = classVariableIndex5(entityClasses, entityClass); + var index = classVariableIndex5(entityClasses, entityClass); mv.visitLocalVariable(String.format("class_%d", index), referenceName(JAVA_LANG_CLASS), null, l0, l1, index); } @@ -582,7 +581,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert List> entityClasses, String internalClassName) { // getter = .class.getDeclaredMethod() - Method getter = property.getGetter(); + var getter = property.getGetter(); if (getter != null) { @@ -634,7 +633,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert mv.visitInsn(DUP); mv.visitInsn(ICONST_0); - Class parameterType = method.getParameterTypes()[0]; + var parameterType = method.getParameterTypes()[0]; if (parameterType.isPrimitive()) { mv.visitFieldInsn(GETSTATIC, Type.getInternalName(autoboxType(method.getParameterTypes()[0])), "TYPE", @@ -677,7 +676,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert // field = .class.getDeclaredField() - Field field = property.getField(); + var field = property.getField(); if (field != null) { mv.visitVarInsn(ALOAD, classVariableIndex5(entityClasses, field.getDeclaringClass())); @@ -715,10 +714,10 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static void visitBeanGetter(PersistentEntity entity, String internalClassName, ClassWriter cw) { // public Object getBean() - MethodVisitor mv = cw.visitMethod(ACC_PUBLIC, "getBean", String.format("()%s", referenceName(JAVA_LANG_OBJECT)), + var mv = cw.visitMethod(ACC_PUBLIC, "getBean", String.format("()%s", referenceName(JAVA_LANG_OBJECT)), null, null); mv.visitCode(); - Label l0 = new Label(); + var l0 = new Label(); // return this.bean mv.visitLabel(l0); @@ -728,7 +727,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert mv.visitInsn(ARETURN); - Label l1 = new Label(); + var l1 = new Label(); mv.visitLabel(l1); mv.visitLocalVariable(THIS_REF, referenceName(internalClassName), null, l0, l1, 0); mv.visitMaxs(1, 1); @@ -759,13 +758,13 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static void visitGetProperty(PersistentEntity entity, List> persistentProperties, String internalClassName, ClassWriter cw) { - MethodVisitor mv = cw.visitMethod(ACC_PUBLIC, "getProperty", + var mv = cw.visitMethod(ACC_PUBLIC, "getProperty", "(Lorg/springframework/data/mapping/PersistentProperty;)Ljava/lang/Object;", "(Lorg/springframework/data/mapping/PersistentProperty<*>;)Ljava/lang/Object;", null); mv.visitCode(); - Label l0 = new Label(); - Label l1 = new Label(); + var l0 = new Label(); + var l1 = new Label(); mv.visitLabel(l0); // Assert.notNull(property) @@ -798,21 +797,21 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static void visitGetPropertySwitch(PersistentEntity entity, List> persistentProperties, String internalClassName, MethodVisitor mv) { - Map propertyStackMap = createPropertyStackMap(persistentProperties); + var propertyStackMap = createPropertyStackMap(persistentProperties); - int[] hashes = new int[propertyStackMap.size()]; - Label[] switchJumpLabels = new Label[propertyStackMap.size()]; + var hashes = new int[propertyStackMap.size()]; + var switchJumpLabels = new Label[propertyStackMap.size()]; List stackmap = new ArrayList<>(propertyStackMap.values()); Collections.sort(stackmap); - for (int i = 0; i < stackmap.size(); i++) { + for (var i = 0; i < stackmap.size(); i++) { - PropertyStackAddress propertyStackAddress = stackmap.get(i); + var propertyStackAddress = stackmap.get(i); hashes[i] = propertyStackAddress.hash; switchJumpLabels[i] = propertyStackAddress.label; } - Label dfltLabel = new Label(); + var dfltLabel = new Label(); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEINTERFACE, PERSISTENT_PROPERTY, "getName", @@ -820,7 +819,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert mv.visitMethodInsn(INVOKEVIRTUAL, JAVA_LANG_STRING, "hashCode", "()I", false); mv.visitLookupSwitchInsn(dfltLabel, hashes, switchJumpLabels); - for (PersistentProperty property : persistentProperties) { + for (var property : persistentProperties) { mv.visitLabel(propertyStackMap.get(property.getName()).label); mv.visitFrame(Opcodes.F_SAME, 0, null, 0, null); @@ -844,7 +843,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static void visitGetProperty0(PersistentEntity entity, PersistentProperty property, MethodVisitor mv, String internalClassName) { - Method getter = property.getGetter(); + var getter = property.getGetter(); if (property.usePropertyAccess() && getter != null) { if (generateMethodHandle(entity, getter)) { @@ -858,9 +857,9 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert // bean.get… mv.visitVarInsn(ALOAD, 2); - int invokeOpCode = INVOKEVIRTUAL; - Class declaringClass = getter.getDeclaringClass(); - boolean interfaceDefinition = declaringClass.isInterface(); + var invokeOpCode = INVOKEVIRTUAL; + var declaringClass = getter.getDeclaringClass(); + var interfaceDefinition = declaringClass.isInterface(); if (interfaceDefinition) { invokeOpCode = INVOKEINTERFACE; @@ -872,7 +871,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert } } else { - Field field = property.getRequiredField(); + var field = property.getRequiredField(); if (generateMethodHandle(entity, field)) { // $fieldGetter.invoke(bean) @@ -922,12 +921,12 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static void visitSetProperty(PersistentEntity entity, List> persistentProperties, String internalClassName, ClassWriter cw) { - MethodVisitor mv = cw.visitMethod(ACC_PUBLIC, "setProperty", + var mv = cw.visitMethod(ACC_PUBLIC, "setProperty", "(Lorg/springframework/data/mapping/PersistentProperty;Ljava/lang/Object;)V", "(Lorg/springframework/data/mapping/PersistentProperty<*>;Ljava/lang/Object;)V", null); mv.visitCode(); - Label l0 = new Label(); + var l0 = new Label(); mv.visitLabel(l0); visitAssertNotNull(mv); @@ -940,7 +939,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert visitSetPropertySwitch(entity, persistentProperties, internalClassName, mv); - Label l1 = new Label(); + var l1 = new Label(); mv.visitLabel(l1); visitThrowUnsupportedOperationException(mv, "No accessor to set property %s!"); @@ -962,20 +961,20 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static void visitSetPropertySwitch(PersistentEntity entity, List> persistentProperties, String internalClassName, MethodVisitor mv) { - Map propertyStackMap = createPropertyStackMap(persistentProperties); + var propertyStackMap = createPropertyStackMap(persistentProperties); - int[] hashes = new int[propertyStackMap.size()]; - Label[] switchJumpLabels = new Label[propertyStackMap.size()]; + var hashes = new int[propertyStackMap.size()]; + var switchJumpLabels = new Label[propertyStackMap.size()]; List stackmap = new ArrayList<>(propertyStackMap.values()); Collections.sort(stackmap); - for (int i = 0; i < stackmap.size(); i++) { - PropertyStackAddress propertyStackAddress = stackmap.get(i); + for (var i = 0; i < stackmap.size(); i++) { + var propertyStackAddress = stackmap.get(i); hashes[i] = propertyStackAddress.hash; switchJumpLabels[i] = propertyStackAddress.label; } - Label dfltLabel = new Label(); + var dfltLabel = new Label(); mv.visitVarInsn(ALOAD, 1); mv.visitMethodInsn(INVOKEINTERFACE, PERSISTENT_PROPERTY, "getName", @@ -983,7 +982,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert mv.visitMethodInsn(INVOKEVIRTUAL, JAVA_LANG_STRING, "hashCode", "()I", false); mv.visitLookupSwitchInsn(dfltLabel, hashes, switchJumpLabels); - for (PersistentProperty property : persistentProperties) { + for (var property : persistentProperties) { mv.visitLabel(propertyStackMap.get(property.getName()).label); mv.visitFrame(Opcodes.F_SAME, 0, null, 0, null); @@ -1006,8 +1005,8 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static void visitSetProperty0(PersistentEntity entity, PersistentProperty property, MethodVisitor mv, String internalClassName) { - Method setter = property.getSetter(); - Method wither = property.getWither(); + var setter = property.getSetter(); + var wither = property.getWither(); if (property.isImmutable()) { @@ -1085,7 +1084,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static void visitKotlinCopy(PersistentEntity entity, PersistentProperty property, MethodVisitor mv, String internalClassName) { - KotlinCopyMethod kotlinCopyMethod = KotlinCopyMethod.findCopyMethod(entity.getType()) + var kotlinCopyMethod = KotlinCopyMethod.findCopyMethod(entity.getType()) .orElseThrow(() -> new IllegalStateException( String.format("No usable .copy(…) method found in entity %s", entity.getType().getName()))); @@ -1101,17 +1100,17 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert visitInvokeMethodSingleArg(mv, kotlinCopyMethod.getPublicCopyMethod()); } else { - Method copy = kotlinCopyMethod.getSyntheticCopyMethod(); - Class[] parameterTypes = copy.getParameterTypes(); + var copy = kotlinCopyMethod.getSyntheticCopyMethod(); + var parameterTypes = copy.getParameterTypes(); // PersonWithId.copy$default..(bean, object, MASK, null) mv.visitVarInsn(ALOAD, 3); - KotlinCopyByProperty copyByProperty = kotlinCopyMethod.forProperty(property) + var copyByProperty = kotlinCopyMethod.forProperty(property) .orElseThrow(() -> new IllegalStateException( String.format("No usable .copy(…) method found for property %s", property))); - for (int i = 1; i < kotlinCopyMethod.getParameterCount(); i++) { + for (var i = 1; i < kotlinCopyMethod.getParameterCount(); i++) { if (copyByProperty.getParameterPosition() == i) { @@ -1130,7 +1129,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert mv.visitInsn(Opcodes.ACONST_NULL); - int invokeOpCode = getInvokeOp(copy, false); + var invokeOpCode = getInvokeOp(copy, false); mv.visitMethodInsn(invokeOpCode, Type.getInternalName(copy.getDeclaringClass()), copy.getName(), getArgumentSignature(copy), false); @@ -1190,7 +1189,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static void visitSetField(PersistentEntity entity, PersistentProperty property, MethodVisitor mv, String internalClassName) { - Field field = property.getField(); + var field = property.getField(); if (field != null) { if (generateSetterMethodHandle(entity, field)) { // $fieldSetter.invoke(bean, object) @@ -1205,7 +1204,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert mv.visitVarInsn(ALOAD, 3); mv.visitVarInsn(ALOAD, 2); - Class fieldType = field.getType(); + var fieldType = field.getType(); mv.visitTypeInsn(CHECKCAST, Type.getInternalName(autoboxType(fieldType))); autoboxIfNeeded(autoboxType(fieldType), fieldType, mv); @@ -1225,10 +1224,10 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert */ private static String getArgumentSignature(Method method) { - StringBuilder result = new StringBuilder("("); + var result = new StringBuilder("("); List argumentTypes = new ArrayList<>(); - for (Class parameterType : method.getParameterTypes()) { + for (var parameterType : method.getParameterTypes()) { result.append("%s"); argumentTypes.add(signatureTypeName(parameterType)); @@ -1324,7 +1323,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert if (isAccessible(entity)) { if (Modifier.isProtected(member.getModifiers()) || isDefault(member.getModifiers())) { - Package declaringPackage = member.getDeclaringClass().getPackage(); + var declaringPackage = member.getDeclaringClass().getPackage(); if (declaringPackage != null && !declaringPackage.equals(entity.getType().getPackage())) { return true; @@ -1353,15 +1352,15 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static void visitInvokeMethodSingleArg(MethodVisitor mv, Method method) { - Class[] parameterTypes = method.getParameterTypes(); - Class parameterType = parameterTypes[0]; - Class declaringClass = method.getDeclaringClass(); - boolean interfaceDefinition = declaringClass.isInterface(); + var parameterTypes = method.getParameterTypes(); + var parameterType = parameterTypes[0]; + var declaringClass = method.getDeclaringClass(); + var interfaceDefinition = declaringClass.isInterface(); mv.visitTypeInsn(CHECKCAST, Type.getInternalName(autoboxType(parameterType))); autoboxIfNeeded(autoboxType(parameterType), parameterType, mv); - int invokeOpCode = getInvokeOp(method, interfaceDefinition); + var invokeOpCode = getInvokeOp(method, interfaceDefinition); mv.visitMethodInsn(invokeOpCode, Type.getInternalName(method.getDeclaringClass()), method.getName(), String.format("(%s)%s", signatureTypeName(parameterType), signatureTypeName(method.getReturnType())), @@ -1370,7 +1369,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert private static int getInvokeOp(Method method, boolean interfaceDefinition) { - int invokeOpCode = Modifier.isStatic(method.getModifiers()) ? INVOKESTATIC : INVOKEVIRTUAL; + var invokeOpCode = Modifier.isStatic(method.getModifiers()) ? INVOKESTATIC : INVOKEVIRTUAL; if (interfaceDefinition) { invokeOpCode = INVOKEINTERFACE; @@ -1383,7 +1382,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert Map stackmap = new HashMap<>(); - for (PersistentProperty property : persistentProperties) { + for (var property : persistentProperties) { stackmap.put(property.getName(), new PropertyStackAddress(new Label(), property.getName().hashCode())); } return stackmap; @@ -1444,7 +1443,7 @@ public class ClassGeneratingPropertyAccessorFactory implements PersistentPropert */ private static boolean hasKotlinCopyMethod(PersistentProperty property) { - Class type = property.getOwner().getType(); + var type = property.getOwner().getType(); if (isAccessible(type) && KotlinDetector.isKotlinType(type)) { return KotlinCopyMethod.findCopyMethod(type).filter(it -> it.supportsProperty(property)).isPresent(); diff --git a/src/main/java/org/springframework/data/mapping/model/ConvertingPropertyAccessor.java b/src/main/java/org/springframework/data/mapping/model/ConvertingPropertyAccessor.java index d8157a683..2d121e5ef 100644 --- a/src/main/java/org/springframework/data/mapping/model/ConvertingPropertyAccessor.java +++ b/src/main/java/org/springframework/data/mapping/model/ConvertingPropertyAccessor.java @@ -70,7 +70,7 @@ public class ConvertingPropertyAccessor extends SimplePersistentPropertyPathA @Override public void setProperty(PersistentPropertyPath> path, @Nullable Object value) { - Object converted = convertIfNecessary(value, path.getRequiredLeafProperty().getType()); + var converted = convertIfNecessary(value, path.getRequiredLeafProperty().getType()); super.setProperty(path, converted); } diff --git a/src/main/java/org/springframework/data/mapping/model/DefaultSpELExpressionEvaluator.java b/src/main/java/org/springframework/data/mapping/model/DefaultSpELExpressionEvaluator.java index 4bc62922f..61e244555 100644 --- a/src/main/java/org/springframework/data/mapping/model/DefaultSpELExpressionEvaluator.java +++ b/src/main/java/org/springframework/data/mapping/model/DefaultSpELExpressionEvaluator.java @@ -18,7 +18,6 @@ package org.springframework.data.mapping.model; import org.springframework.data.mapping.PreferredConstructor.Parameter; import org.springframework.expression.EvaluationContext; -import org.springframework.expression.Expression; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.lang.Nullable; import org.springframework.util.Assert; @@ -51,7 +50,7 @@ public class DefaultSpELExpressionEvaluator implements SpELExpressionEvaluator { @SuppressWarnings("unchecked") public T evaluate(String expression) { - Expression parseExpression = factory.getParser().parseExpression(expression); + var parseExpression = factory.getParser().parseExpression(expression); return (T) parseExpression.getValue(factory.getEvaluationContext(source)); } } diff --git a/src/main/java/org/springframework/data/mapping/model/EntityInstantiators.java b/src/main/java/org/springframework/data/mapping/model/EntityInstantiators.java index 535e50181..2a2d707ed 100644 --- a/src/main/java/org/springframework/data/mapping/model/EntityInstantiators.java +++ b/src/main/java/org/springframework/data/mapping/model/EntityInstantiators.java @@ -87,13 +87,13 @@ public class EntityInstantiators { public EntityInstantiator getInstantiatorFor(PersistentEntity entity) { Assert.notNull(entity, "Entity must not be null!"); - Class type = entity.getType(); + var type = entity.getType(); if (!customInstantiators.containsKey(type)) { return fallback; } - EntityInstantiator instantiator = customInstantiators.get(entity.getType()); + var instantiator = customInstantiators.get(entity.getType()); return instantiator == null ? fallback : instantiator; } } diff --git a/src/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessor.java b/src/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessor.java index cd1c65ab2..dd800e185 100644 --- a/src/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessor.java +++ b/src/main/java/org/springframework/data/mapping/model/InstantiationAwarePropertyAccessor.java @@ -19,10 +19,8 @@ import java.util.function.Function; import org.springframework.core.KotlinDetector; import org.springframework.data.annotation.PersistenceConstructor; -import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.PersistentPropertyAccessor; -import org.springframework.data.mapping.PreferredConstructor; import org.springframework.data.mapping.PreferredConstructor.Parameter; import org.springframework.lang.Nullable; import org.springframework.util.Assert; @@ -76,8 +74,8 @@ public class InstantiationAwarePropertyAccessor implements PersistentProperty @Override public void setProperty(PersistentProperty property, @Nullable Object value) { - PersistentEntity owner = property.getOwner(); - PersistentPropertyAccessor delegate = delegateFunction.apply(this.bean); + var owner = property.getOwner(); + var delegate = delegateFunction.apply(this.bean); if (!property.isImmutable() || property.getWither() != null || KotlinDetector.isKotlinType(owner.getType())) { @@ -87,7 +85,7 @@ public class InstantiationAwarePropertyAccessor implements PersistentProperty return; } - PreferredConstructor constructor = owner.getPersistenceConstructor(); + var constructor = owner.getPersistenceConstructor(); if (constructor == null) { throw new IllegalStateException(String.format(NO_SETTER_OR_CONSTRUCTOR, property.getName(), owner.getType())); @@ -106,7 +104,7 @@ public class InstantiationAwarePropertyAccessor implements PersistentProperty } }); - EntityInstantiator instantiator = instantiators.getInstantiatorFor(owner); + var instantiator = instantiators.getInstantiatorFor(owner); this.bean = (T) instantiator.createInstance(owner, new ParameterValueProvider() { diff --git a/src/main/java/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiator.java b/src/main/java/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiator.java index 3c1b4f89a..2b4ca7a2b 100644 --- a/src/main/java/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiator.java +++ b/src/main/java/org/springframework/data/mapping/model/KotlinClassGeneratingEntityInstantiator.java @@ -49,16 +49,16 @@ class KotlinClassGeneratingEntityInstantiator extends ClassGeneratingEntityInsta @Override protected EntityInstantiator doCreateEntityInstantiator(PersistentEntity entity) { - PreferredConstructor constructor = entity.getPersistenceConstructor(); + var constructor = entity.getPersistenceConstructor(); if (KotlinReflectionUtils.isSupportedKotlinClass(entity.getType()) && constructor != null) { - PreferredConstructor defaultConstructor = new DefaultingKotlinConstructorResolver(entity) + var defaultConstructor = new DefaultingKotlinConstructorResolver(entity) .getDefaultConstructor(); if (defaultConstructor != null) { - ObjectInstantiator instantiator = createObjectInstantiator(entity, defaultConstructor); + var instantiator = createObjectInstantiator(entity, defaultConstructor); return new DefaultingKotlinClassInstantiatorAdapter(instantiator, constructor); } @@ -81,8 +81,8 @@ class KotlinClassGeneratingEntityInstantiator extends ClassGeneratingEntityInsta @SuppressWarnings("unchecked") DefaultingKotlinConstructorResolver(PersistentEntity entity) { - Constructor hit = resolveDefaultConstructor(entity); - PreferredConstructor persistenceConstructor = entity.getPersistenceConstructor(); + var hit = resolveDefaultConstructor(entity); + var persistenceConstructor = entity.getPersistenceConstructor(); if (hit != null && persistenceConstructor != null) { this.defaultConstructor = new PreferredConstructor<>(hit, @@ -95,16 +95,16 @@ class KotlinClassGeneratingEntityInstantiator extends ClassGeneratingEntityInsta @Nullable private static Constructor resolveDefaultConstructor(PersistentEntity entity) { - PreferredConstructor persistenceConstructor = entity.getPersistenceConstructor(); + var persistenceConstructor = entity.getPersistenceConstructor(); if (persistenceConstructor == null) { return null; } Constructor hit = null; - Constructor constructor = persistenceConstructor.getConstructor(); + var constructor = persistenceConstructor.getConstructor(); - for (Constructor candidate : entity.getType().getDeclaredConstructors()) { + for (var candidate : entity.getType().getDeclaredConstructors()) { // use only synthetic constructors if (!candidate.isSynthetic()) { @@ -113,15 +113,15 @@ class KotlinClassGeneratingEntityInstantiator extends ClassGeneratingEntityInsta // candidates must contain at least two additional parameters (int, DefaultConstructorMarker). // Number of defaulting masks derives from the original constructor arg count - int syntheticParameters = KotlinDefaultMask.getMaskCount(constructor.getParameterCount()) + var syntheticParameters = KotlinDefaultMask.getMaskCount(constructor.getParameterCount()) + /* DefaultConstructorMarker */ 1; if (constructor.getParameterCount() + syntheticParameters != candidate.getParameterCount()) { continue; } - java.lang.reflect.Parameter[] constructorParameters = constructor.getParameters(); - java.lang.reflect.Parameter[] candidateParameters = candidate.getParameters(); + var constructorParameters = constructor.getParameters(); + var candidateParameters = candidate.getParameters(); if (!candidateParameters[candidateParameters.length - 1].getType().getName() .equals("kotlin.jvm.internal.DefaultConstructorMarker")) { @@ -177,7 +177,7 @@ class KotlinClassGeneratingEntityInstantiator extends ClassGeneratingEntityInsta DefaultingKotlinClassInstantiatorAdapter(ObjectInstantiator instantiator, PreferredConstructor constructor) { - KFunction kotlinConstructor = ReflectJvmMapping.getKotlinFunction(constructor.getConstructor()); + var kotlinConstructor = ReflectJvmMapping.getKotlinFunction(constructor.getConstructor()); if (kotlinConstructor == null) { throw new IllegalArgumentException( @@ -199,7 +199,7 @@ class KotlinClassGeneratingEntityInstantiator extends ClassGeneratingEntityInsta public , P extends PersistentProperty

> T createInstance(E entity, ParameterValueProvider

provider) { - Object[] params = extractInvocationArguments(entity.getPersistenceConstructor(), provider); + var params = extractInvocationArguments(entity.getPersistenceConstructor(), provider); try { return (T) instantiator.newInstance(params); @@ -215,25 +215,25 @@ class KotlinClassGeneratingEntityInstantiator extends ClassGeneratingEntityInsta throw new IllegalArgumentException("PreferredConstructor must not be null!"); } - Object[] params = allocateArguments(synthetic.getParameterCount() + var params = allocateArguments(synthetic.getParameterCount() + KotlinDefaultMask.getMaskCount(synthetic.getParameterCount()) + /* DefaultConstructorMarker */1); - int userParameterCount = kParameters.size(); + var userParameterCount = kParameters.size(); - List> parameters = preferredConstructor.getParameters(); + var parameters = preferredConstructor.getParameters(); // Prepare user-space arguments - for (int i = 0; i < userParameterCount; i++) { + for (var i = 0; i < userParameterCount; i++) { - Parameter parameter = parameters.get(i); + var parameter = parameters.get(i); params[i] = provider.getParameterValue(parameter); } - KotlinDefaultMask defaultMask = KotlinDefaultMask.from(constructor, it -> { + var defaultMask = KotlinDefaultMask.from(constructor, it -> { - int index = kParameters.indexOf(it); + var index = kParameters.indexOf(it); - Parameter parameter = parameters.get(index); - Class type = parameter.getType().getType(); + var parameter = parameters.get(index); + var type = parameter.getType().getType(); if (it.isOptional() && params[index] == null) { if (type.isPrimitive()) { @@ -247,9 +247,9 @@ class KotlinClassGeneratingEntityInstantiator extends ClassGeneratingEntityInsta return true; }); - int[] defaulting = defaultMask.getDefaulting(); + var defaulting = defaultMask.getDefaulting(); // append nullability masks to creation arguments - for (int i = 0; i < defaulting.length; i++) { + for (var i = 0; i < defaulting.length; i++) { params[userParameterCount + i] = defaulting[i]; } diff --git a/src/main/java/org/springframework/data/mapping/model/KotlinCopyMethod.java b/src/main/java/org/springframework/data/mapping/model/KotlinCopyMethod.java index ca1b42688..7112cc5d5 100644 --- a/src/main/java/org/springframework/data/mapping/model/KotlinCopyMethod.java +++ b/src/main/java/org/springframework/data/mapping/model/KotlinCopyMethod.java @@ -16,7 +16,6 @@ package org.springframework.data.mapping.model; import kotlin.jvm.JvmClassMappingKt; -import kotlin.reflect.KClass; import kotlin.reflect.KFunction; import kotlin.reflect.KParameter; import kotlin.reflect.KParameter.Kind; @@ -26,7 +25,6 @@ import kotlin.reflect.jvm.ReflectJvmMapping; import java.lang.reflect.Method; import java.lang.reflect.Modifier; -import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -78,13 +76,13 @@ class KotlinCopyMethod { Assert.notNull(type, "Type must not be null!"); - Optional syntheticCopyMethod = findSyntheticCopyMethod(type); + var syntheticCopyMethod = findSyntheticCopyMethod(type); if (!syntheticCopyMethod.isPresent()) { return Optional.empty(); } - Optional publicCopyMethod = syntheticCopyMethod.flatMap(KotlinCopyMethod::findPublicCopyMethod); + var publicCopyMethod = syntheticCopyMethod.flatMap(KotlinCopyMethod::findPublicCopyMethod); return publicCopyMethod.map(method -> new KotlinCopyMethod(method, syntheticCopyMethod.get())); } @@ -123,7 +121,7 @@ class KotlinCopyMethod { */ Optional forProperty(PersistentProperty property) { - int index = KotlinCopyByProperty.findIndex(copyFunction, property.getName()); + var index = KotlinCopyByProperty.findIndex(copyFunction, property.getName()); if (index == -1) { return Optional.empty(); @@ -149,9 +147,9 @@ class KotlinCopyMethod { return false; } - Class[] parameterTypes = publicCopyMethod.getParameterTypes(); + var parameterTypes = publicCopyMethod.getParameterTypes(); - for (int i = 0; i < parameterTypes.length; i++) { + for (var i = 0; i < parameterTypes.length; i++) { if (!parameterTypes[i].equals(persistentProperties.get(i).getType())) { return false; } @@ -162,16 +160,16 @@ class KotlinCopyMethod { private static Optional findPublicCopyMethod(Method defaultKotlinMethod) { - Class type = defaultKotlinMethod.getDeclaringClass(); - KClass kotlinClass = JvmClassMappingKt.getKotlinClass(type); + var type = defaultKotlinMethod.getDeclaringClass(); + var kotlinClass = JvmClassMappingKt.getKotlinClass(type); - KFunction primaryConstructor = KClasses.getPrimaryConstructor(kotlinClass); + var primaryConstructor = KClasses.getPrimaryConstructor(kotlinClass); if (primaryConstructor == null) { return Optional.empty(); } - List constructorArguments = getComponentArguments(primaryConstructor); + var constructorArguments = getComponentArguments(primaryConstructor); return Arrays.stream(type.getDeclaredMethods()).filter(it -> it.getName().equals("copy") // && !it.isSynthetic() // @@ -180,7 +178,7 @@ class KotlinCopyMethod { && it.getParameterCount() == constructorArguments.size()) // .filter(it -> { - KFunction kotlinFunction = ReflectJvmMapping.getKotlinFunction(it); + var kotlinFunction = ReflectJvmMapping.getKotlinFunction(it); if (kotlinFunction == null) { return false; @@ -192,10 +190,10 @@ class KotlinCopyMethod { private static boolean parameterMatches(List constructorArguments, KFunction kotlinFunction) { - boolean foundInstance = false; - int constructorArgIndex = 0; + var foundInstance = false; + var constructorArgIndex = 0; - for (KParameter parameter : kotlinFunction.getParameters()) { + for (var parameter : kotlinFunction.getParameters()) { if (parameter.getKind() == Kind.INSTANCE) { foundInstance = true; @@ -206,7 +204,7 @@ class KotlinCopyMethod { return false; } - KParameter constructorParameter = constructorArguments.get(constructorArgIndex); + var constructorParameter = constructorArguments.get(constructorArgIndex); if (constructorParameter.getName() == null || !constructorParameter.getName().equals(parameter.getName()) || !constructorParameter.getType().equals(parameter.getType())) { @@ -221,8 +219,8 @@ class KotlinCopyMethod { private static Optional findSyntheticCopyMethod(Class type) { - KClass kotlinClass = JvmClassMappingKt.getKotlinClass(type); - KFunction primaryConstructor = KClasses.getPrimaryConstructor(kotlinClass); + var kotlinClass = JvmClassMappingKt.getKotlinClass(type); + var primaryConstructor = KClasses.getPrimaryConstructor(kotlinClass); if (primaryConstructor == null) { return Optional.empty(); @@ -242,9 +240,9 @@ class KotlinCopyMethod { */ private static boolean matchesPrimaryConstructor(Class[] parameterTypes, KFunction primaryConstructor) { - List constructorArguments = getComponentArguments(primaryConstructor); + var constructorArguments = getComponentArguments(primaryConstructor); - int defaultingArgs = KotlinDefaultMask.from(primaryConstructor, kParameter -> false).getDefaulting().length; + var defaultingArgs = KotlinDefaultMask.from(primaryConstructor, kParameter -> false).getDefaulting().length; if (parameterTypes.length != 1 /* $this */ + constructorArguments.size() + defaultingArgs + 1 /* object marker */) { return false; @@ -255,9 +253,9 @@ class KotlinCopyMethod { return false; } - for (int i = 0; i < constructorArguments.size(); i++) { + for (var i = 0; i < constructorArguments.size(); i++) { - KParameter kParameter = constructorArguments.get(i); + var kParameter = constructorArguments.get(i); if (!isAssignableFrom(parameterTypes[i + 1], kParameter.getType())) { return false; @@ -276,9 +274,9 @@ class KotlinCopyMethod { private static boolean isAssignableFrom(Class target, KType source) { - Type parameterType = ReflectJvmMapping.getJavaType(source); + var parameterType = ReflectJvmMapping.getJavaType(source); - Class rawClass = ResolvableType.forType(parameterType).getRawClass(); + var rawClass = ResolvableType.forType(parameterType).getRawClass(); return rawClass == null || target.isAssignableFrom(rawClass); } @@ -302,7 +300,7 @@ class KotlinCopyMethod { static int findIndex(KFunction function, String parameterName) { - for (KParameter parameter : function.getParameters()) { + for (var parameter : function.getParameters()) { if (parameterName.equals(parameter.getName())) { return parameter.getIndex(); } diff --git a/src/main/java/org/springframework/data/mapping/model/KotlinDefaultMask.java b/src/main/java/org/springframework/data/mapping/model/KotlinDefaultMask.java index 7db4d2a2e..b806aa643 100644 --- a/src/main/java/org/springframework/data/mapping/model/KotlinDefaultMask.java +++ b/src/main/java/org/springframework/data/mapping/model/KotlinDefaultMask.java @@ -45,7 +45,7 @@ public class KotlinDefaultMask { */ public void forEach(IntConsumer maskCallback) { - for (int i : defaulting) { + for (var i : defaulting) { maskCallback.accept(i); } } @@ -71,12 +71,12 @@ public class KotlinDefaultMask { public static KotlinDefaultMask from(KFunction function, Predicate isPresent) { List masks = new ArrayList<>(); - int index = 0; - int mask = 0; + var index = 0; + var mask = 0; - List parameters = function.getParameters(); + var parameters = function.getParameters(); - for (KParameter parameter : parameters) { + for (var parameter : parameters) { if (index != 0 && index % Integer.SIZE == 0) { masks.add(mask); diff --git a/src/main/java/org/springframework/data/mapping/model/MappingInstantiationException.java b/src/main/java/org/springframework/data/mapping/model/MappingInstantiationException.java index 6ac1494d6..7cbae3037 100644 --- a/src/main/java/org/springframework/data/mapping/model/MappingInstantiationException.java +++ b/src/main/java/org/springframework/data/mapping/model/MappingInstantiationException.java @@ -15,7 +15,6 @@ */ package org.springframework.data.mapping.model; -import kotlin.reflect.KFunction; import kotlin.reflect.jvm.ReflectJvmMapping; import java.lang.reflect.Constructor; @@ -87,7 +86,7 @@ public class MappingInstantiationException extends RuntimeException { Optional> constructor = Optional.ofNullable(it.getPersistenceConstructor()); List toStringArgs = new ArrayList<>(arguments.size()); - for (Object o : arguments) { + for (var o : arguments) { toStringArgs.add(ObjectUtils.nullSafeToString(o)); } @@ -100,11 +99,11 @@ public class MappingInstantiationException extends RuntimeException { private static String toString(PreferredConstructor preferredConstructor) { - Constructor constructor = preferredConstructor.getConstructor(); + var constructor = preferredConstructor.getConstructor(); if (KotlinReflectionUtils.isSupportedKotlinClass(constructor.getDeclaringClass())) { - KFunction kotlinFunction = ReflectJvmMapping.getKotlinFunction(constructor); + var kotlinFunction = ReflectJvmMapping.getKotlinFunction(constructor); if (kotlinFunction != null) { return kotlinFunction.toString(); diff --git a/src/main/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.java b/src/main/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.java index 8bd4c4ea6..5345e4026 100644 --- a/src/main/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.java +++ b/src/main/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategy.java @@ -53,7 +53,7 @@ class PersistentEntityIsNewStrategy implements IsNewStrategy { ? entity.getRequiredVersionProperty().getType() // : entity.hasIdProperty() ? entity.getRequiredIdProperty().getType() : null; - Class type = valueType; + var type = valueType; if (type != null && type.isPrimitive()) { @@ -93,7 +93,7 @@ class PersistentEntityIsNewStrategy implements IsNewStrategy { @Override public boolean isNew(Object entity) { - Object value = valueLookup.apply(entity); + var value = valueLookup.apply(entity); if (value == null) { return true; diff --git a/src/main/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProvider.java b/src/main/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProvider.java index 8e155ae6d..a54807be1 100644 --- a/src/main/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProvider.java +++ b/src/main/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProvider.java @@ -18,7 +18,6 @@ package org.springframework.data.mapping.model; import org.springframework.data.mapping.MappingException; import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.mapping.PersistentProperty; -import org.springframework.data.mapping.PreferredConstructor; import org.springframework.data.mapping.PreferredConstructor.Parameter; import org.springframework.lang.Nullable; @@ -52,19 +51,19 @@ public class PersistentEntityParameterValueProvider

T getParameterValue(Parameter parameter) { - PreferredConstructor constructor = entity.getPersistenceConstructor(); + var constructor = entity.getPersistenceConstructor(); if (constructor != null && constructor.isEnclosingClassParameter(parameter)) { return (T) parent; } - String name = parameter.getName(); + var name = parameter.getName(); if (name == null) { throw new MappingException(String.format("Parameter %s does not have a name!", parameter)); } - P property = entity.getPersistentProperty(name); + var property = entity.getPersistentProperty(name); if (property == null) { throw new MappingException( diff --git a/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java b/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java index 09d4fa243..bf9691faf 100644 --- a/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java +++ b/src/main/java/org/springframework/data/mapping/model/PreferredConstructorDiscoverer.java @@ -16,11 +16,9 @@ package org.springframework.data.mapping.model; import kotlin.jvm.JvmClassMappingKt; -import kotlin.reflect.KFunction; import kotlin.reflect.full.KClasses; import kotlin.reflect.jvm.ReflectJvmMapping; -import java.lang.annotation.Annotation; import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.Arrays; @@ -113,7 +111,7 @@ public interface PreferredConstructorDiscoverer> candidates = new ArrayList<>(); Constructor noArg = null; - for (Constructor candidate : rawOwningType.getDeclaredConstructors()) { + for (var candidate : rawOwningType.getDeclaredConstructors()) { // Synthetic constructors should not be considered if (candidate.isSynthetic()) { @@ -164,14 +162,14 @@ public interface PreferredConstructorDiscoverer { - KFunction primaryConstructor = KClasses + var primaryConstructor = KClasses .getPrimaryConstructor(JvmClassMappingKt.getKotlinClass(type.getType())); if (primaryConstructor == null) { return DEFAULT.discover(type, entity); } - Constructor javaConstructor = ReflectJvmMapping.getJavaConstructor(primaryConstructor); + var javaConstructor = ReflectJvmMapping.getJavaConstructor(primaryConstructor); return javaConstructor != null ? buildPreferredConstructor(javaConstructor, type, entity) : null; }); @@ -209,17 +207,17 @@ public interface PreferredConstructorDiscoverer((Constructor) constructor); } - List> parameterTypes = typeInformation.getParameterTypes(constructor); - String[] parameterNames = PARAMETER_NAME_DISCOVERER.getParameterNames(constructor); + var parameterTypes = typeInformation.getParameterTypes(constructor); + var parameterNames = PARAMETER_NAME_DISCOVERER.getParameterNames(constructor); Parameter[] parameters = new Parameter[parameterTypes.size()]; - Annotation[][] parameterAnnotations = constructor.getParameterAnnotations(); + var parameterAnnotations = constructor.getParameterAnnotations(); - for (int i = 0; i < parameterTypes.size(); i++) { + for (var i = 0; i < parameterTypes.size(); i++) { - String name = parameterNames == null || parameterNames.length <= i ? null : parameterNames[i]; - TypeInformation type = parameterTypes.get(i); - Annotation[] annotations = parameterAnnotations[i]; + var name = parameterNames == null || parameterNames.length <= i ? null : parameterNames[i]; + var type = parameterTypes.get(i); + var annotations = parameterAnnotations[i]; parameters[i] = new Parameter(name, type, annotations, entity); } diff --git a/src/main/java/org/springframework/data/mapping/model/Property.java b/src/main/java/org/springframework/data/mapping/model/Property.java index 23d0710cb..941f2cce0 100644 --- a/src/main/java/org/springframework/data/mapping/model/Property.java +++ b/src/main/java/org/springframework/data/mapping/model/Property.java @@ -223,12 +223,10 @@ public class Property { return true; } - if (!(obj instanceof Property)) { + if (!(obj instanceof Property that)) { return false; } - Property that = (Property) obj; - return this.field.isPresent() ? this.field.equals(that.field) : this.descriptor.equals(that.descriptor); } @@ -278,8 +276,8 @@ public class Property { private static Optional findWither(TypeInformation owner, String propertyName, Class rawType) { - AtomicReference resultHolder = new AtomicReference<>(); - String methodName = String.format("with%s", StringUtils.capitalize(propertyName)); + var resultHolder = new AtomicReference(); + var methodName = String.format("with%s", StringUtils.capitalize(propertyName)); ReflectionUtils.doWithMethods(owner.getType(), it -> { @@ -288,7 +286,7 @@ public class Property { } }, it -> isMethodWithSingleParameterOfType(it, methodName, rawType)); - Method method = resultHolder.get(); + var method = resultHolder.get(); return method != null ? Optional.of(method) : Optional.empty(); } diff --git a/src/main/java/org/springframework/data/mapping/model/ReflectionEntityInstantiator.java b/src/main/java/org/springframework/data/mapping/model/ReflectionEntityInstantiator.java index e4335134a..55ecd879a 100644 --- a/src/main/java/org/springframework/data/mapping/model/ReflectionEntityInstantiator.java +++ b/src/main/java/org/springframework/data/mapping/model/ReflectionEntityInstantiator.java @@ -44,15 +44,15 @@ enum ReflectionEntityInstantiator implements EntityInstantiator { public , P extends PersistentProperty

> T createInstance(E entity, ParameterValueProvider

provider) { - PreferredConstructor constructor = entity.getPersistenceConstructor(); + var constructor = entity.getPersistenceConstructor(); if (constructor == null) { try { Class clazz = entity.getType(); if (clazz.isArray()) { - Class ctype = clazz; - int dims = 0; + var ctype = clazz; + var dims = 0; while (ctype.isArray()) { ctype = ctype.getComponentType(); dims++; @@ -65,10 +65,10 @@ enum ReflectionEntityInstantiator implements EntityInstantiator { throw new MappingInstantiationException(entity, Collections.emptyList(), e); } } - int parameterCount = constructor.getConstructor().getParameterCount(); + var parameterCount = constructor.getConstructor().getParameterCount(); - Object[] params = parameterCount == 0 ? EMPTY_ARGS : new Object[parameterCount]; - int i = 0; + var params = parameterCount == 0 ? EMPTY_ARGS : new Object[parameterCount]; + var i = 0; for (Parameter parameter : constructor.getParameters()) { params[i++] = provider.getParameterValue(parameter); } diff --git a/src/main/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessor.java b/src/main/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessor.java index bbd2ca03b..60b807164 100644 --- a/src/main/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessor.java +++ b/src/main/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessor.java @@ -24,6 +24,7 @@ import java.util.stream.Collectors; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; + import org.springframework.core.CollectionFactory; import org.springframework.data.mapping.AccessOptions; import org.springframework.data.mapping.AccessOptions.GetOptions; @@ -31,7 +32,6 @@ import org.springframework.data.mapping.AccessOptions.GetOptions.GetNulls; import org.springframework.data.mapping.AccessOptions.SetOptions; import org.springframework.data.mapping.AccessOptions.SetOptions.SetNulls; import org.springframework.data.mapping.MappingException; -import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.PersistentPropertyAccessor; import org.springframework.data.mapping.PersistentPropertyPath; @@ -97,7 +97,7 @@ class SimplePersistentPropertyPathAccessor implements PersistentPropertyPathA public Object getProperty(PersistentPropertyPath> path, GetOptions options) { Object bean = getBean(); - Object current = bean; + var current = bean; if (path.isEmpty()) { return bean; @@ -109,8 +109,8 @@ class SimplePersistentPropertyPathAccessor implements PersistentPropertyPathA return handleNull(path, options.getNullValues().toNullHandling()); } - PersistentEntity> entity = property.getOwner(); - PersistentPropertyAccessor accessor = entity.getPropertyAccessor(current); + var entity = property.getOwner(); + var accessor = entity.getPropertyAccessor(current); current = accessor.getProperty(property); } @@ -148,18 +148,18 @@ class SimplePersistentPropertyPathAccessor implements PersistentPropertyPathA Assert.notNull(path, "PersistentPropertyPath must not be null!"); Assert.isTrue(!path.isEmpty(), "PersistentPropertyPath must not be empty!"); - PersistentPropertyPath> parentPath = path.getParentPath(); - PersistentProperty leafProperty = path.getRequiredLeafProperty(); + var parentPath = path.getParentPath(); + var leafProperty = path.getRequiredLeafProperty(); if (!options.propagate(parentPath.getLeafProperty())) { return; } - GetOptions lookupOptions = options.getNullHandling() != REJECT + var lookupOptions = options.getNullHandling() != REJECT ? DEFAULT_GET_OPTIONS.withNullValues(GetNulls.EARLY_RETURN) : DEFAULT_GET_OPTIONS; - Object parent = parentPath.isEmpty() ? getBean() : getProperty(parentPath, lookupOptions); + var parent = parentPath.isEmpty() ? getBean() : getProperty(parentPath, lookupOptions); if (parent == null) { handleNull(path, options.getNullHandling()); @@ -172,7 +172,7 @@ class SimplePersistentPropertyPathAccessor implements PersistentPropertyPathA return; } - PersistentProperty parentProperty = parentPath.getRequiredLeafProperty(); + var parentProperty = parentPath.getRequiredLeafProperty(); Object newValue; @@ -196,7 +196,7 @@ class SimplePersistentPropertyPathAccessor implements PersistentPropertyPathA return; } - Map result = CollectionFactory.createApproximateMap(source, source.size()); + var result = CollectionFactory.createApproximateMap(source, source.size()); for (Entry entry : source.entrySet()) { result.put(entry.getKey(), setValue(entry.getValue(), leafProperty, value)); @@ -225,14 +225,14 @@ class SimplePersistentPropertyPathAccessor implements PersistentPropertyPathA return null; } - String nullIntermediateMessage = "Cannot lookup property %s on null intermediate! Original path was: %s on %s."; + var nullIntermediateMessage = "Cannot lookup property %s on null intermediate! Original path was: %s on %s."; if (SetNulls.SKIP_AND_LOG.equals(handling)) { logger.info(nullIntermediateMessage); return null; } - PersistentPropertyPath> parentPath = path.getParentPath(); + var parentPath = path.getParentPath(); throw new MappingException(String.format(nullIntermediateMessage, parentPath.getLeafProperty(), path.toDotPath(), getBean().getClass().getName())); @@ -249,7 +249,7 @@ class SimplePersistentPropertyPathAccessor implements PersistentPropertyPathA */ private static Object setValue(Object parent, PersistentProperty property, @Nullable Object newValue) { - PersistentPropertyAccessor accessor = property.getAccessorForOwner(parent); + var accessor = property.getAccessorForOwner(parent); accessor.setProperty(property, newValue); return accessor.getBean(); } @@ -269,7 +269,7 @@ class SimplePersistentPropertyPathAccessor implements PersistentPropertyPathA Assert.notNull(property, "Property must not be null!"); Assert.notNull(type, "Type must not be null!"); - Object value = getProperty(property); + var value = getProperty(property); if (value == null) { return null; diff --git a/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java b/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java index 42094fbec..cc0e53760 100644 --- a/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java +++ b/src/main/java/org/springframework/data/mapping/model/SimpleTypeHolder.java @@ -21,7 +21,6 @@ import java.util.Date; import java.util.HashSet; import java.util.Locale; import java.util.Map; -import java.util.Map.Entry; import java.util.Set; import java.util.WeakHashMap; @@ -123,7 +122,7 @@ public class SimpleTypeHolder { private void registerCachePositives(Map, Boolean> source) { - for (Entry, Boolean> entry : source.entrySet()) { + for (var entry : source.entrySet()) { if (!entry.getValue()) { continue; @@ -143,8 +142,8 @@ public class SimpleTypeHolder { Assert.notNull(type, "Type must not be null!"); - Map, Boolean> localSimpleTypes = this.simpleTypes; - Boolean isSimpleType = localSimpleTypes.get(type); + var localSimpleTypes = this.simpleTypes; + var isSimpleType = localSimpleTypes.get(type); if (Object.class.equals(type) || Enum.class.isAssignableFrom(type)) { return true; @@ -154,13 +153,13 @@ public class SimpleTypeHolder { return isSimpleType; } - String typeName = type.getName(); + var typeName = type.getName(); if (typeName.startsWith("java.lang") || type.getName().startsWith("java.time") || typeName.equals("kotlin.Unit")) { return true; } - for (Class simpleType : localSimpleTypes.keySet()) { + for (var simpleType : localSimpleTypes.keySet()) { if (simpleType.isAssignableFrom(type)) { diff --git a/src/main/java/org/springframework/data/mapping/model/SpELContext.java b/src/main/java/org/springframework/data/mapping/model/SpELContext.java index ea8010727..8440d6338 100644 --- a/src/main/java/org/springframework/data/mapping/model/SpELContext.java +++ b/src/main/java/org/springframework/data/mapping/model/SpELContext.java @@ -100,7 +100,7 @@ public class SpELContext { */ public EvaluationContext getEvaluationContext(Object source) { - StandardEvaluationContext evaluationContext = new StandardEvaluationContext(source); + var evaluationContext = new StandardEvaluationContext(source); evaluationContext.addPropertyAccessor(accessor); if (factory != null) { diff --git a/src/main/java/org/springframework/data/mapping/model/SpELExpressionParameterValueProvider.java b/src/main/java/org/springframework/data/mapping/model/SpELExpressionParameterValueProvider.java index 390d74951..f663288f0 100644 --- a/src/main/java/org/springframework/data/mapping/model/SpELExpressionParameterValueProvider.java +++ b/src/main/java/org/springframework/data/mapping/model/SpELExpressionParameterValueProvider.java @@ -53,7 +53,7 @@ public class SpELExpressionParameterValueProvider

interfaceClass) { - Method[] methods = ReflectionUtils.getAllDeclaredMethods(interfaceClass); + var methods = ReflectionUtils.getAllDeclaredMethods(interfaceClass); - for (Method method : methods) { + for (var method : methods) { if (method.isDefault()) { return true; } @@ -74,21 +74,21 @@ public class DefaultMethodInvokingMethodInterceptor implements MethodInterceptor @Override public Object invoke(@SuppressWarnings("null") MethodInvocation invocation) throws Throwable { - Method method = invocation.getMethod(); + var method = invocation.getMethod(); if (!method.isDefault()) { return invocation.proceed(); } - Object[] arguments = invocation.getArguments(); - Object proxy = ((ProxyMethodInvocation) invocation).getProxy(); + var arguments = invocation.getArguments(); + var proxy = ((ProxyMethodInvocation) invocation).getProxy(); return getMethodHandle(method).bindTo(proxy).invokeWithArguments(arguments); } private MethodHandle getMethodHandle(Method method) throws Exception { - MethodHandle handle = methodHandleCache.get(method); + var handle = methodHandleCache.get(method); if (handle == null) { @@ -139,7 +139,7 @@ public class DefaultMethodInvokingMethodInterceptor implements MethodInterceptor private Lookup getLookup(Class declaringClass, Method privateLookupIn) { - Lookup lookup = MethodHandles.lookup(); + var lookup = MethodHandles.lookup(); try { return (Lookup) privateLookupIn.invoke(MethodHandles.class, declaringClass, lookup); @@ -168,7 +168,7 @@ public class DefaultMethodInvokingMethodInterceptor implements MethodInterceptor throw new IllegalStateException("Could not obtain MethodHandles.lookup constructor!"); } - Constructor constructor = this.constructor.get(); + var constructor = this.constructor.get(); return constructor.newInstance(method.getDeclaringClass()).unreflectSpecial(method, method.getDeclaringClass()); } @@ -212,7 +212,7 @@ public class DefaultMethodInvokingMethodInterceptor implements MethodInterceptor private static MethodHandle doLookup(Method method, Lookup lookup) throws NoSuchMethodException, IllegalAccessException { - MethodType methodType = MethodType.methodType(method.getReturnType(), method.getParameterTypes()); + var methodType = MethodType.methodType(method.getReturnType(), method.getParameterTypes()); if (Modifier.isStatic(method.getModifiers())) { return lookup.findStatic(method.getDeclaringClass(), method.getName(), methodType); @@ -243,7 +243,7 @@ public class DefaultMethodInvokingMethodInterceptor implements MethodInterceptor */ public static MethodHandleLookup getMethodHandleLookup() { - for (MethodHandleLookup it : MethodHandleLookup.values()) { + for (var it : MethodHandleLookup.values()) { if (it.isAvailable()) { return it; @@ -258,7 +258,7 @@ public class DefaultMethodInvokingMethodInterceptor implements MethodInterceptor try { - Constructor constructor = Lookup.class.getDeclaredConstructor(Class.class); + var constructor = Lookup.class.getDeclaredConstructor(Class.class); ReflectionUtils.makeAccessible(constructor); return constructor; diff --git a/src/main/java/org/springframework/data/projection/DefaultProjectionInformation.java b/src/main/java/org/springframework/data/projection/DefaultProjectionInformation.java index 4426f3320..b5a19bdb5 100644 --- a/src/main/java/org/springframework/data/projection/DefaultProjectionInformation.java +++ b/src/main/java/org/springframework/data/projection/DefaultProjectionInformation.java @@ -17,7 +17,6 @@ package org.springframework.data.projection; import java.beans.PropertyDescriptor; import java.io.IOException; -import java.lang.reflect.Method; import java.util.Arrays; import java.util.Comparator; import java.util.List; @@ -34,7 +33,6 @@ import org.springframework.beans.BeanUtils; import org.springframework.core.log.LogMessage; import org.springframework.core.type.MethodMetadata; import org.springframework.data.type.MethodsMetadata; -import org.springframework.data.type.classreading.MethodsMetadataReader; import org.springframework.data.type.classreading.MethodsMetadataReaderFactory; import org.springframework.data.util.StreamUtils; import org.springframework.util.Assert; @@ -117,7 +115,7 @@ class DefaultProjectionInformation implements ProjectionInformation { */ private static boolean hasDefaultGetter(PropertyDescriptor descriptor) { - Method method = descriptor.getReadMethod(); + var method = descriptor.getReadMethod(); return method != null && method.isDefault(); } @@ -167,13 +165,13 @@ class DefaultProjectionInformation implements ProjectionInformation { */ private Stream collectDescriptors() { - Stream allButDefaultGetters = Arrays.stream(BeanUtils.getPropertyDescriptors(type)) // + var allButDefaultGetters = Arrays.stream(BeanUtils.getPropertyDescriptors(type)) // .filter(it -> !hasDefaultGetter(it)); - Stream ownDescriptors = metadata.map(it -> filterAndOrder(allButDefaultGetters, it)) + var ownDescriptors = metadata.map(it -> filterAndOrder(allButDefaultGetters, it)) .orElse(allButDefaultGetters); - Stream superTypeDescriptors = metadata.map(this::fromMetadata) // + var superTypeDescriptors = metadata.map(this::fromMetadata) // .orElseGet(this::fromType) // .flatMap(it -> new PropertyDescriptorSource(it).collectDescriptors()); @@ -191,7 +189,7 @@ class DefaultProjectionInformation implements ProjectionInformation { private static Stream filterAndOrder(Stream source, MethodsMetadata metadata) { - Map orderedMethods = getMethodOrder(metadata); + var orderedMethods = getMethodOrder(metadata); if (orderedMethods.isEmpty()) { return source; @@ -232,8 +230,8 @@ class DefaultProjectionInformation implements ProjectionInformation { try { - MethodsMetadataReaderFactory factory = new MethodsMetadataReaderFactory(type.getClassLoader()); - MethodsMetadataReader metadataReader = factory.getMetadataReader(ClassUtils.getQualifiedName(type)); + var factory = new MethodsMetadataReaderFactory(type.getClassLoader()); + var metadataReader = factory.getMetadataReader(ClassUtils.getQualifiedName(type)); return Optional.of(metadataReader.getMethodsMetadata()); @@ -268,7 +266,7 @@ class DefaultProjectionInformation implements ProjectionInformation { */ private static Map getMethodOrder(MethodsMetadata metadata) { - List methods = metadata.getMethods() // + var methods = metadata.getMethods() // .stream() // .map(MethodMetadata::getMethodName) // .distinct() // diff --git a/src/main/java/org/springframework/data/projection/MapAccessingMethodInterceptor.java b/src/main/java/org/springframework/data/projection/MapAccessingMethodInterceptor.java index d86404057..126c6a9f0 100644 --- a/src/main/java/org/springframework/data/projection/MapAccessingMethodInterceptor.java +++ b/src/main/java/org/springframework/data/projection/MapAccessingMethodInterceptor.java @@ -15,7 +15,6 @@ */ package org.springframework.data.projection; -import java.lang.reflect.Method; import java.util.Map; import org.aopalliance.intercept.MethodInterceptor; @@ -50,13 +49,13 @@ class MapAccessingMethodInterceptor implements MethodInterceptor { @Override public Object invoke(@SuppressWarnings("null") MethodInvocation invocation) throws Throwable { - Method method = invocation.getMethod(); + var method = invocation.getMethod(); if (ReflectionUtils.isObjectMethod(method)) { return invocation.proceed(); } - Accessor accessor = new Accessor(method); + var accessor = new Accessor(method); if (accessor.isGetter()) { return map.get(accessor.getPropertyName()); diff --git a/src/main/java/org/springframework/data/projection/ProjectingMethodInterceptor.java b/src/main/java/org/springframework/data/projection/ProjectingMethodInterceptor.java index e0b2c8a99..f19071cb4 100644 --- a/src/main/java/org/springframework/data/projection/ProjectingMethodInterceptor.java +++ b/src/main/java/org/springframework/data/projection/ProjectingMethodInterceptor.java @@ -70,11 +70,11 @@ class ProjectingMethodInterceptor implements MethodInterceptor { public Object invoke(@SuppressWarnings("null") @NonNull MethodInvocation invocation) throws Throwable { TypeInformation type = ClassTypeInformation.fromReturnTypeOf(invocation.getMethod()); - TypeInformation resultType = type; - TypeInformation typeToReturn = type; + var resultType = type; + var typeToReturn = type; - Object result = delegate.invoke(invocation); - boolean applyWrapper = false; + var result = delegate.invoke(invocation); + var applyWrapper = false; if (NullableWrapperConverters.supports(type.getType()) && (result == null || !NullableWrapperConverters.supports(result.getClass()))) { @@ -98,7 +98,7 @@ class ProjectingMethodInterceptor implements MethodInterceptor { return null; } - Class targetType = type.getType(); + var targetType = type.getType(); if (type.isCollectionLike() && !ClassUtils.isPrimitiveArray(targetType)) { return projectCollectionElements(asCollection(result), type); @@ -127,9 +127,9 @@ class ProjectingMethodInterceptor implements MethodInterceptor { */ private Object projectCollectionElements(Collection sources, TypeInformation type) { - Class rawType = type.getType(); - TypeInformation componentType = type.getComponentType(); - Collection result = CollectionFactory.createCollection(rawType.isArray() ? List.class : rawType, + var rawType = type.getType(); + var componentType = type.getComponentType(); + var result = CollectionFactory.createCollection(rawType.isArray() ? List.class : rawType, componentType != null ? componentType.getType() : null, sources.size()); for (Object source : sources) { @@ -153,7 +153,7 @@ class ProjectingMethodInterceptor implements MethodInterceptor { */ private Map projectMapValues(Map sources, TypeInformation type) { - Map result = CollectionFactory.createMap(type.getType(), sources.size()); + var result = CollectionFactory.createMap(type.getType(), sources.size()); for (Entry source : sources.entrySet()) { result.put(source.getKey(), getProjection(source.getValue(), type.getRequiredMapValueType().getType())); diff --git a/src/main/java/org/springframework/data/projection/PropertyAccessingMethodInterceptor.java b/src/main/java/org/springframework/data/projection/PropertyAccessingMethodInterceptor.java index 7dd62085f..8e3e876cc 100644 --- a/src/main/java/org/springframework/data/projection/PropertyAccessingMethodInterceptor.java +++ b/src/main/java/org/springframework/data/projection/PropertyAccessingMethodInterceptor.java @@ -57,13 +57,13 @@ class PropertyAccessingMethodInterceptor implements MethodInterceptor { @Override public Object invoke(@SuppressWarnings("null") MethodInvocation invocation) throws Throwable { - Method method = invocation.getMethod(); + var method = invocation.getMethod(); if (ReflectionUtils.isObjectMethod(method)) { return invocation.proceed(); } - PropertyDescriptor descriptor = BeanUtils.findPropertyForMethod(method); + var descriptor = BeanUtils.findPropertyForMethod(method); if (descriptor == null) { throw new IllegalStateException("Invoked method is not a property accessor!"); diff --git a/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java b/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java index 25bbb5604..e43571bf7 100644 --- a/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java +++ b/src/main/java/org/springframework/data/projection/ProxyProjectionFactory.java @@ -111,7 +111,7 @@ class ProxyProjectionFactory implements ProjectionFactory, BeanClassLoaderAware return (T) source; } - ProxyFactory factory = new ProxyFactory(); + var factory = new ProxyFactory(); factory.setTarget(source); factory.setOpaque(true); factory.setInterfaces(projectionType, TargetAware.class); @@ -178,7 +178,7 @@ class ProxyProjectionFactory implements ProjectionFactory, BeanClassLoaderAware */ private MethodInterceptor getMethodInterceptor(Object source, Class projectionType) { - MethodInterceptor propertyInvocationInterceptor = getFactoryFor(source, projectionType) + var propertyInvocationInterceptor = getFactoryFor(source, projectionType) .createMethodInterceptor(source, projectionType); return new ProjectingMethodInterceptor(this, @@ -194,7 +194,7 @@ class ProxyProjectionFactory implements ProjectionFactory, BeanClassLoaderAware */ private MethodInterceptorFactory getFactoryFor(Object source, Class projectionType) { - for (MethodInterceptorFactory factory : factories) { + for (var factory : factories) { if (factory.supports(source, projectionType)) { return factory; } diff --git a/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java b/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java index 23a86a843..e41db025f 100644 --- a/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java +++ b/src/main/java/org/springframework/data/projection/SpelAwareProxyProjectionFactory.java @@ -16,11 +16,11 @@ package org.springframework.data.projection; import java.beans.PropertyDescriptor; -import java.lang.reflect.Method; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import org.aopalliance.intercept.MethodInterceptor; + import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.BeanFactoryAware; @@ -95,7 +95,7 @@ public class SpelAwareProxyProjectionFactory extends ProxyProjectionFactory impl Assert.notNull(type, "Type must not be null!"); - AnnotationDetectionMethodCallback callback = new AnnotationDetectionMethodCallback<>(Value.class); + var callback = new AnnotationDetectionMethodCallback(Value.class); ReflectionUtils.doWithMethods(type, callback); return callback.hasFoundAnnotation(); @@ -118,7 +118,7 @@ public class SpelAwareProxyProjectionFactory extends ProxyProjectionFactory impl return false; } - Method readMethod = descriptor.getReadMethod(); + var readMethod = descriptor.getReadMethod(); if (readMethod == null) { return false; diff --git a/src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java b/src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java index d2ee3c19d..37d79dcd1 100644 --- a/src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java +++ b/src/main/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptor.java @@ -15,7 +15,6 @@ */ package org.springframework.data.projection; -import java.lang.reflect.Method; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -28,7 +27,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.expression.BeanFactoryResolver; import org.springframework.context.expression.MapAccessor; import org.springframework.core.annotation.AnnotationUtils; -import org.springframework.data.annotation.PersistenceConstructor; import org.springframework.expression.EvaluationContext; import org.springframework.expression.Expression; import org.springframework.expression.ParserContext; @@ -78,7 +76,7 @@ class SpelEvaluatingMethodInterceptor implements MethodInterceptor { Assert.notNull(parser, "SpelExpressionParser must not be null!"); Assert.notNull(targetInterface, "Target interface must not be null!"); - StandardEvaluationContext evaluationContext = new StandardEvaluationContext(); + var evaluationContext = new StandardEvaluationContext(); if (target instanceof Map) { evaluationContext.addPropertyAccessor(new MapAccessor()); @@ -109,9 +107,9 @@ class SpelEvaluatingMethodInterceptor implements MethodInterceptor { Map expressions = new HashMap<>(); - for (Method method : targetInterface.getMethods()) { + for (var method : targetInterface.getMethods()) { - Value value = AnnotationUtils.findAnnotation(method, Value.class); + var value = AnnotationUtils.findAnnotation(method, Value.class); if (value == null) { continue; } @@ -134,7 +132,7 @@ class SpelEvaluatingMethodInterceptor implements MethodInterceptor { @Override public Object invoke(@SuppressWarnings("null") MethodInvocation invocation) throws Throwable { - Expression expression = expressions.get(invocation.getMethod().hashCode()); + var expression = expressions.get(invocation.getMethod().hashCode()); if (expression == null) { return delegate.invoke(invocation); @@ -181,12 +179,10 @@ class SpelEvaluatingMethodInterceptor implements MethodInterceptor { return true; } - if (!(o instanceof TargetWrapper)) { + if (!(o instanceof TargetWrapper that)) { return false; } - TargetWrapper that = (TargetWrapper) o; - if (!ObjectUtils.nullSafeEquals(target, that.target)) { return false; } @@ -200,7 +196,7 @@ class SpelEvaluatingMethodInterceptor implements MethodInterceptor { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(target); + var result = ObjectUtils.nullSafeHashCode(target); result = 31 * result + ObjectUtils.nullSafeHashCode(args); return result; } diff --git a/src/main/java/org/springframework/data/querydsl/QSort.java b/src/main/java/org/springframework/data/querydsl/QSort.java index e64840436..236255188 100644 --- a/src/main/java/org/springframework/data/querydsl/QSort.java +++ b/src/main/java/org/springframework/data/querydsl/QSort.java @@ -165,7 +165,7 @@ public class QSort extends Sort implements Serializable { */ private static String preparePropertyPath(Path path) { - Path root = path.getRoot(); + var root = path.getRoot(); return root == null || path.equals(root) ? path.toString() : path.toString().substring(root.toString().length() + 1); diff --git a/src/main/java/org/springframework/data/querydsl/QuerydslUtils.java b/src/main/java/org/springframework/data/querydsl/QuerydslUtils.java index cad88bf47..2a4e3fb16 100644 --- a/src/main/java/org/springframework/data/querydsl/QuerydslUtils.java +++ b/src/main/java/org/springframework/data/querydsl/QuerydslUtils.java @@ -19,7 +19,6 @@ import org.springframework.lang.Nullable; import org.springframework.util.StringUtils; import com.querydsl.core.types.Path; -import com.querydsl.core.types.PathMetadata; import com.querydsl.core.types.PathType; /** @@ -58,8 +57,8 @@ public abstract class QuerydslUtils { return tail; } - PathMetadata metadata = path.getMetadata(); - Path parent = metadata.getParent(); + var metadata = path.getMetadata(); + var parent = metadata.getParent(); if (parent == null) { return tail; @@ -69,7 +68,7 @@ public abstract class QuerydslUtils { return toDotPath(parent, tail); } - Object element = metadata.getElement(); + var element = metadata.getElement(); if (element == null || !StringUtils.hasText(element.toString())) { return toDotPath(parent, tail); diff --git a/src/main/java/org/springframework/data/querydsl/SimpleEntityPathResolver.java b/src/main/java/org/springframework/data/querydsl/SimpleEntityPathResolver.java index 2daba925e..c3ba14974 100644 --- a/src/main/java/org/springframework/data/querydsl/SimpleEntityPathResolver.java +++ b/src/main/java/org/springframework/data/querydsl/SimpleEntityPathResolver.java @@ -64,11 +64,11 @@ public class SimpleEntityPathResolver implements EntityPathResolver { @SuppressWarnings("unchecked") public EntityPath createPath(Class domainClass) { - String pathClassName = getQueryClassName(domainClass); + var pathClassName = getQueryClassName(domainClass); try { - Class pathClass = ClassUtils.forName(pathClassName, domainClass.getClassLoader()); + var pathClass = ClassUtils.forName(pathClassName, domainClass.getClassLoader()); return getStaticFieldOfType(pathClass)// .map(it -> (EntityPath) ReflectionUtils.getField(it, null))// @@ -88,17 +88,17 @@ public class SimpleEntityPathResolver implements EntityPathResolver { */ private Optional getStaticFieldOfType(Class type) { - for (Field field : type.getDeclaredFields()) { + for (var field : type.getDeclaredFields()) { - boolean isStatic = Modifier.isStatic(field.getModifiers()); - boolean hasSameType = type.equals(field.getType()); + var isStatic = Modifier.isStatic(field.getModifiers()); + var hasSameType = type.equals(field.getType()); if (isStatic && hasSameType) { return Optional.of(field); } } - Class superclass = type.getSuperclass(); + var superclass = type.getSuperclass(); return Object.class.equals(superclass) ? Optional.empty() : getStaticFieldOfType(superclass); } @@ -110,8 +110,8 @@ public class SimpleEntityPathResolver implements EntityPathResolver { */ private String getQueryClassName(Class domainClass) { - String simpleClassName = ClassUtils.getShortName(domainClass); - String packageName = domainClass.getPackage().getName(); + var simpleClassName = ClassUtils.getShortName(domainClass); + var packageName = domainClass.getPackage().getName(); return String.format("%s%s.Q%s%s", packageName, querySuffix, getClassBase(simpleClassName), domainClass.getSimpleName()); @@ -125,7 +125,7 @@ public class SimpleEntityPathResolver implements EntityPathResolver { */ private String getClassBase(String shortName) { - String[] parts = shortName.split("\\."); + var parts = shortName.split("\\."); return parts.length < 2 ? "" : parts[0] + "_"; } diff --git a/src/main/java/org/springframework/data/querydsl/binding/PropertyPathInformation.java b/src/main/java/org/springframework/data/querydsl/binding/PropertyPathInformation.java index 2d74c8720..bde4bf397 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/PropertyPathInformation.java +++ b/src/main/java/org/springframework/data/querydsl/binding/PropertyPathInformation.java @@ -16,8 +16,6 @@ package org.springframework.data.querydsl.binding; import java.beans.PropertyDescriptor; -import java.lang.reflect.Field; -import java.util.Optional; import org.springframework.beans.BeanUtils; import org.springframework.data.mapping.PropertyPath; @@ -38,13 +36,7 @@ import com.querydsl.core.types.dsl.CollectionPathBase; * @author Mark Paluch * @since 1.13 */ -class PropertyPathInformation implements PathInformation { - - private final PropertyPath path; - - private PropertyPathInformation(PropertyPath path) { - this.path = path; - } +record PropertyPathInformation(PropertyPath path) implements PathInformation { /** * Creates a new {@link PropertyPathInformation} for the given path and type. @@ -133,32 +125,26 @@ class PropertyPathInformation implements PathInformation { */ @Override public Path reifyPath(EntityPathResolver resolver) { - return reifyPath(resolver, path, Optional.empty()); + return reifyPath(resolver, path, null); } - private static Path reifyPath(EntityPathResolver resolver, PropertyPath path, Optional> base) { + @SuppressWarnings("ConstantConditions") + private static Path reifyPath(EntityPathResolver resolver, PropertyPath path, @Nullable Path base) { - Optional> map = base.filter(it -> it instanceof CollectionPathBase).map(CollectionPathBase.class::cast)// - .map(CollectionPathBase::any)// - .map(Path.class::cast)// - .map(it -> reifyPath(resolver, path, Optional.of(it))); + if (base instanceof CollectionPathBase) { + return reifyPath(resolver, path, (Path) ((CollectionPathBase) base).any()); + } - return map.orElseGet(() -> { + var entityPath = base != null ? base : resolver.createPath(path.getOwningType().getType()); - Path entityPath = base.orElseGet(() -> resolver.createPath(path.getOwningType().getType())); + var field = ReflectionUtils.findField(entityPath.getClass(), path.getSegment()); + var value = ReflectionUtils.getField(field, entityPath); - Field field = org.springframework.data.util.ReflectionUtils.findRequiredField(entityPath.getClass(), - path.getSegment()); - Object value = ReflectionUtils.getField(field, entityPath); + if (path.hasNext()) { + return reifyPath(resolver, path.next(), (Path) value); + } - PropertyPath next = path.next(); - - if (next != null) { - return reifyPath(resolver, next, Optional.of((Path) value)); - } - - return (Path) value; - }); + return (Path) value; } /* @@ -172,11 +158,10 @@ class PropertyPathInformation implements PathInformation { return true; } - if (!(o instanceof PathInformation)) { + if (!(o instanceof PathInformation that)) { return false; } - PathInformation that = (PathInformation) o; return ObjectUtils.nullSafeEquals(getRootParentType(), that.getRootParentType()) && ObjectUtils.nullSafeEquals(toDotPath(), that.toDotPath()); } @@ -187,7 +172,7 @@ class PropertyPathInformation implements PathInformation { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(getRootParentType()); + var result = ObjectUtils.nullSafeHashCode(getRootParentType()); result = 31 * result + ObjectUtils.nullSafeHashCode(toDotPath()); return result; } diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindings.java b/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindings.java index 52aba2a9e..7dd79290f 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindings.java +++ b/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindings.java @@ -128,7 +128,7 @@ public class QuerydslBindings { Assert.notEmpty(paths, "At least one path has to be provided!"); - for (Path path : paths) { + for (var path : paths) { this.denyList.add(toDotPath(Optional.of(path))); } } @@ -142,7 +142,7 @@ public class QuerydslBindings { Assert.notEmpty(paths, "At least one path has to be provided!"); - for (Path path : paths) { + for (var path : paths) { this.allowList.add(toDotPath(Optional.of(path))); } } @@ -204,11 +204,11 @@ public class QuerydslBindings { Assert.notNull(path, "PropertyPath must not be null!"); - PathAndBinding pathAndBinding = (PathAndBinding) pathSpecs.get(createKey(path)); + var pathAndBinding = (PathAndBinding) pathSpecs.get(createKey(path)); if (pathAndBinding != null) { - Optional> binding = pathAndBinding.getBinding(); + var binding = pathAndBinding.getBinding(); if (binding.isPresent()) { return binding; @@ -251,7 +251,7 @@ public class QuerydslBindings { } // fully-qualified path lookup - String key = createKey(type, path); + var key = createKey(type, path); if (pathSpecs.containsKey(key)) { return pathSpecs.get(key).getPath()// .map(QuerydslPathInformation::of)// @@ -303,9 +303,9 @@ public class QuerydslBindings { */ private boolean isPathVisible(PathInformation path) { - List segments = Arrays.asList(path.toDotPath().split("\\.")); + var segments = Arrays.asList(path.toDotPath().split("\\.")); - for (int i = 1; i <= segments.size(); i++) { + for (var i = 1; i <= segments.size(); i++) { if (!isPathVisible(StringUtils.collectionToDelimitedString(segments.subList(0, i), "."))) { @@ -354,7 +354,7 @@ public class QuerydslBindings { private static String fromRootPath(Path path) { - Path rootPath = path.getMetadata().getRootPath(); + var rootPath = path.getMetadata().getRootPath(); if (rootPath == null) { throw new IllegalStateException(String.format("Couldn't find root path on path %s!", path)); @@ -485,7 +485,7 @@ public class QuerydslBindings { super.registerBinding(binding); - String dotPath = toDotPath(binding.getPath()); + var dotPath = toDotPath(binding.getPath()); if (alias != null) { QuerydslBindings.this.pathSpecs.put(alias, binding); @@ -584,10 +584,9 @@ public class QuerydslBindings { if (this == o) { return true; } - if (!(o instanceof PathAndBinding)) { + if (!(o instanceof PathAndBinding that)) { return false; } - PathAndBinding that = (PathAndBinding) o; if (!ObjectUtils.nullSafeEquals(path, that.path)) { return false; } @@ -600,7 +599,7 @@ public class QuerydslBindings { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(path); + var result = ObjectUtils.nullSafeHashCode(path); result = 31 * result + ObjectUtils.nullSafeHashCode(binding); return result; } diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactory.java b/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactory.java index b936e5e8e..5ff2c4105 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactory.java +++ b/src/main/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactory.java @@ -15,7 +15,6 @@ */ package org.springframework.data.querydsl.binding; -import java.util.List; import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; @@ -129,9 +128,9 @@ public class QuerydslBindingsFactory implements ApplicationContextAware { Assert.notNull(customizer, "Customizer must not be null!"); Assert.notNull(domainType, "Domain type must not be null!"); - EntityPath path = verifyEntityPathPresent(domainType); + var path = verifyEntityPathPresent(domainType); - QuerydslBindings bindings = new QuerydslBindings(); + var bindings = new QuerydslBindings(); defaultCustomizer.customize(bindings, path); findCustomizerForDomainType(customizer, domainType.getType()).customize(bindings, path); @@ -171,11 +170,11 @@ public class QuerydslBindingsFactory implements ApplicationContextAware { private QuerydslBinderCustomizer> getDefaultQuerydslBinderCustomizer( AutowireCapableBeanFactory beanFactory) { - List customizers = beanFactory + var customizers = beanFactory .getBeanProvider(QuerydslBinderCustomizerDefaults.class).stream().collect(Collectors.toList()); return (bindings, root) -> { - for (QuerydslBinderCustomizerDefaults querydslBinderCustomizerDefaults : customizers) { + for (var querydslBinderCustomizerDefaults : customizers) { querydslBinderCustomizerDefaults.customize(bindings, root); } }; diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java b/src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java index bd14af9c8..cb4fec491 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java +++ b/src/main/java/org/springframework/data/querydsl/binding/QuerydslDefaultBinding.java @@ -59,7 +59,7 @@ class QuerydslDefaultBinding implements MultiValueBinding if (path instanceof CollectionPathBase) { - BooleanBuilder builder = new BooleanBuilder(); + var builder = new BooleanBuilder(); for (Object element : value) { builder.and(((CollectionPathBase) path).contains(element)); @@ -68,15 +68,13 @@ class QuerydslDefaultBinding implements MultiValueBinding return Optional.of(builder.getValue()); } - if (path instanceof SimpleExpression) { - - SimpleExpression expression = (SimpleExpression) path; + if (path instanceof SimpleExpression expression) { if (value.size() > 1) { return Optional.of(expression.in(value)); } - Object object = value.iterator().next(); + var object = value.iterator().next(); return Optional.of(object == null // ? expression.isNull() // diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslPathInformation.java b/src/main/java/org/springframework/data/querydsl/binding/QuerydslPathInformation.java index 67a0f2da4..4b91ad9e0 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/QuerydslPathInformation.java +++ b/src/main/java/org/springframework/data/querydsl/binding/QuerydslPathInformation.java @@ -69,7 +69,7 @@ class QuerydslPathInformation implements PathInformation { @Override public Class getLeafParentType() { - Path parent = path.getMetadata().getParent(); + var parent = path.getMetadata().getParent(); if (parent == null) { throw new IllegalStateException(String.format("Could not obtain metadata for parent node of %s!", path)); @@ -125,11 +125,10 @@ class QuerydslPathInformation implements PathInformation { return true; } - if (!(o instanceof PathInformation)) { + if (!(o instanceof PathInformation that)) { return false; } - PathInformation that = (PathInformation) o; return ObjectUtils.nullSafeEquals(getRootParentType(), that.getRootParentType()) && ObjectUtils.nullSafeEquals(toDotPath(), that.toDotPath()); } @@ -140,7 +139,7 @@ class QuerydslPathInformation implements PathInformation { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(getRootParentType()); + var result = ObjectUtils.nullSafeHashCode(getRootParentType()); result = 31 * result + ObjectUtils.nullSafeHashCode(toDotPath()); return result; } diff --git a/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java b/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java index 2c0182e28..0c42be570 100644 --- a/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java +++ b/src/main/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilder.java @@ -15,13 +15,11 @@ */ package org.springframework.data.querydsl.binding; -import java.beans.PropertyDescriptor; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.Map.Entry; import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; @@ -86,32 +84,32 @@ public class QuerydslPredicateBuilder { Assert.notNull(bindings, "Context must not be null!"); - BooleanBuilder builder = new BooleanBuilder(); + var builder = new BooleanBuilder(); if (values.isEmpty()) { return getPredicate(builder); } - for (Entry> entry : values.entrySet()) { + for (var entry : values.entrySet()) { if (isSingleElementCollectionWithoutText(entry.getValue())) { continue; } - String path = entry.getKey(); + var path = entry.getKey(); if (!bindings.isPathAvailable(path, type)) { continue; } - PathInformation propertyPath = bindings.getPropertyPath(path, type); + var propertyPath = bindings.getPropertyPath(path, type); if (propertyPath == null) { continue; } - Collection value = convertToPropertyPathSpecificType(entry.getValue(), propertyPath); - Optional predicate = invokeBinding(propertyPath, bindings, value); + var value = convertToPropertyPathSpecificType(entry.getValue(), propertyPath); + var predicate = invokeBinding(propertyPath, bindings, value); predicate.ifPresent(builder::and); } @@ -142,7 +140,7 @@ public class QuerydslPredicateBuilder { private Optional invokeBinding(PathInformation dotPath, QuerydslBindings bindings, Collection values) { - Path path = getPath(dotPath, bindings); + var path = getPath(dotPath, bindings); return bindings.getBindingForPath(dotPath).orElse(defaultBinding).bind(path, values); } @@ -158,7 +156,7 @@ public class QuerydslPredicateBuilder { */ private Path getPath(PathInformation path, QuerydslBindings bindings) { - Optional> resolvedPath = bindings.getExistingPath(path); + var resolvedPath = bindings.getExistingPath(path); return resolvedPath.orElseGet(() -> paths.computeIfAbsent(path, it -> it.reifyPath(resolver))); } @@ -174,7 +172,7 @@ public class QuerydslPredicateBuilder { */ private Collection convertToPropertyPathSpecificType(List source, PathInformation path) { - Class targetType = path.getLeafType(); + var targetType = path.getLeafType(); if (source.isEmpty() || isSingleElementCollectionWithoutText(source)) { return Collections.emptyList(); @@ -182,7 +180,7 @@ public class QuerydslPredicateBuilder { Collection target = new ArrayList<>(source.size()); - for (String value : source) { + for (var value : source) { target.add(conversionService.canConvert(String.class, targetType) ? conversionService.convert(value, TypeDescriptor.forObject(value), getTargetTypeDescriptor(path)) @@ -201,12 +199,12 @@ public class QuerydslPredicateBuilder { */ private static TypeDescriptor getTargetTypeDescriptor(PathInformation path) { - PropertyDescriptor descriptor = path.getLeafPropertyDescriptor(); + var descriptor = path.getLeafPropertyDescriptor(); - Class owningType = path.getLeafParentType(); - String leafProperty = path.getLeafProperty(); + var owningType = path.getLeafParentType(); + var leafProperty = path.getLeafProperty(); - TypeDescriptor result = descriptor == null // + var result = descriptor == null // ? TypeDescriptor .nested(org.springframework.data.util.ReflectionUtils.findRequiredField(owningType, leafProperty), 0) : TypeDescriptor @@ -238,7 +236,7 @@ public class QuerydslPredicateBuilder { */ private static Predicate getPredicate(BooleanBuilder builder) { - Predicate predicate = builder.getValue(); + var predicate = builder.getValue(); return predicate == null ? new BooleanBuilder() : predicate; } } diff --git a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java index 0a9c26960..1ca901e31 100644 --- a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java +++ b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryBean.java @@ -35,7 +35,6 @@ import java.util.Optional; import java.util.Set; import java.util.function.Supplier; import java.util.stream.Collectors; -import java.util.stream.Stream; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -43,7 +42,6 @@ import org.apache.commons.logging.LogFactory; import org.springframework.core.annotation.AnnotationUtils; import org.springframework.core.log.LogMessage; import org.springframework.data.repository.config.CustomRepositoryImplementationDetector; -import org.springframework.data.repository.config.RepositoryFragmentConfiguration; import org.springframework.data.repository.core.support.RepositoryComposition.RepositoryFragments; import org.springframework.data.repository.core.support.RepositoryFactorySupport; import org.springframework.data.repository.core.support.RepositoryFragment; @@ -147,7 +145,7 @@ public abstract class CdiRepositoryBean implements Bean, PassivationCapabl List qualifierNames = new ArrayList<>(qualifiers.size()); - for (Annotation qualifier : qualifiers) { + for (var qualifier : qualifiers) { qualifierNames.add(qualifier.annotationType().getName()); } @@ -193,7 +191,7 @@ public abstract class CdiRepositoryBean implements Bean, PassivationCapabl */ @SuppressWarnings("unchecked") protected S getDependencyInstance(Bean bean, Class type) { - CreationalContext creationalContext = beanManager.createCreationalContext(bean); + var creationalContext = beanManager.createCreationalContext(bean); return (S) beanManager.getReference(bean, type, creationalContext); } @@ -210,7 +208,7 @@ public abstract class CdiRepositoryBean implements Bean, PassivationCapabl */ public final T create(@SuppressWarnings("null") CreationalContext creationalContext) { - T repoInstance = this.repoInstance; + var repoInstance = this.repoInstance; if (repoInstance != null) { logger.debug(LogMessage.format("Returning eagerly created CDI repository instance for %s.", repositoryType.getName())); @@ -336,10 +334,10 @@ public abstract class CdiRepositoryBean implements Bean, PassivationCapabl */ protected T create(Supplier factorySupplier, Class repositoryType) { - CdiRepositoryConfiguration configuration = lookupConfiguration(beanManager, qualifiers); - RepositoryFragments repositoryFragments = getRepositoryFragments(repositoryType, configuration); + var configuration = lookupConfiguration(beanManager, qualifiers); + var repositoryFragments = getRepositoryFragments(repositoryType, configuration); - RepositoryFactorySupport factory = factorySupplier.get(); + var factory = factorySupplier.get(); applyConfiguration(factory, configuration); @@ -357,7 +355,7 @@ public abstract class CdiRepositoryBean implements Bean, PassivationCapabl Assert.notNull(repositoryType, "Repository type must not be null!"); - CdiRepositoryConfiguration cdiRepositoryConfiguration = lookupConfiguration(beanManager, qualifiers); + var cdiRepositoryConfiguration = lookupConfiguration(beanManager, qualifiers); return getRepositoryFragments(repositoryType, cdiRepositoryConfiguration); } @@ -365,14 +363,14 @@ public abstract class CdiRepositoryBean implements Bean, PassivationCapabl private RepositoryFragments getRepositoryFragments(Class repositoryType, CdiRepositoryConfiguration cdiRepositoryConfiguration) { - Optional> customImplementationBean = getCustomImplementationBean(repositoryType, + var customImplementationBean = getCustomImplementationBean(repositoryType, cdiRepositoryConfiguration); Optional customImplementation = customImplementationBean.map(this::getDependencyInstance); - List> repositoryFragments = findRepositoryFragments(repositoryType, + var repositoryFragments = findRepositoryFragments(repositoryType, cdiRepositoryConfiguration); - RepositoryFragments customImplementationFragment = customImplementation // + var customImplementationFragment = customImplementation // .map(RepositoryFragments::just) // .orElseGet(RepositoryFragments::empty); @@ -384,14 +382,14 @@ public abstract class CdiRepositoryBean implements Bean, PassivationCapabl private List> findRepositoryFragments(Class repositoryType, CdiRepositoryConfiguration cdiRepositoryConfiguration) { - Stream fragmentConfigurations = context + var fragmentConfigurations = context .getRepositoryFragments(cdiRepositoryConfiguration, repositoryType); return fragmentConfigurations.flatMap(it -> { - Class interfaceClass = (Class) lookupFragmentInterface(repositoryType, it.getInterfaceName()); - Class implementationClass = context.loadClass(it.getClassName()); - Optional> bean = getBean(implementationClass, beanManager, qualifiers); + var interfaceClass = (Class) lookupFragmentInterface(repositoryType, it.getInterfaceName()); + var implementationClass = context.loadClass(it.getClassName()); + var bean = getBean(implementationClass, beanManager, qualifiers); return Optionals.toStream(bean.map(this::getDependencyInstance) // .map(implementation -> RepositoryFragment.implemented(interfaceClass, implementation))); // @@ -483,7 +481,7 @@ public abstract class CdiRepositoryBean implements Bean, PassivationCapabl } private static Annotation[] getQualifiersArray(Set qualifiers) { - return qualifiers.toArray(new Annotation[qualifiers.size()]); + return qualifiers.toArray(new Annotation[0]); } /* diff --git a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryContext.java b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryContext.java index 84c8ee20f..9d8b5ea92 100644 --- a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryContext.java +++ b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryContext.java @@ -30,7 +30,6 @@ import org.springframework.core.type.filter.TypeFilter; import org.springframework.data.repository.config.CustomRepositoryImplementationDetector; import org.springframework.data.repository.config.FragmentMetadata; import org.springframework.data.repository.config.ImplementationDetectionConfiguration; -import org.springframework.data.repository.config.ImplementationLookupConfiguration; import org.springframework.data.repository.config.RepositoryFragmentConfiguration; import org.springframework.data.util.Optionals; import org.springframework.data.util.Streamable; @@ -114,7 +113,7 @@ public class CdiRepositoryContext { Stream getRepositoryFragments(CdiRepositoryConfiguration configuration, Class repositoryInterface) { - CdiImplementationDetectionConfiguration config = new CdiImplementationDetectionConfiguration(configuration, + var config = new CdiImplementationDetectionConfiguration(configuration, metadataReaderFactory); return metdata.getFragmentInterfaces(repositoryInterface.getName()) // @@ -135,9 +134,9 @@ public class CdiRepositoryContext { ImplementationDetectionConfiguration configuration = new CdiImplementationDetectionConfiguration( cdiRepositoryConfiguration, metadataReaderFactory); - ImplementationLookupConfiguration lookup = configuration.forFragment(repositoryType.getName()); + var lookup = configuration.forFragment(repositoryType.getName()); - Optional beanDefinition = detector.detectCustomImplementation(lookup); + var beanDefinition = detector.detectCustomImplementation(lookup); return beanDefinition.map(this::loadBeanClass); } @@ -145,8 +144,8 @@ public class CdiRepositoryContext { private Optional detectRepositoryFragmentConfiguration(String fragmentInterfaceName, CdiImplementationDetectionConfiguration config) { - ImplementationLookupConfiguration lookup = config.forFragment(fragmentInterfaceName); - Optional beanDefinition = detector.detectCustomImplementation(lookup); + var lookup = config.forFragment(fragmentInterfaceName); + var beanDefinition = detector.detectCustomImplementation(lookup); return beanDefinition.map(bd -> new RepositoryFragmentConfiguration(fragmentInterfaceName, bd)); } @@ -154,7 +153,7 @@ public class CdiRepositoryContext { @Nullable private Class loadBeanClass(AbstractBeanDefinition definition) { - String beanClassName = definition.getBeanClassName(); + var beanClassName = definition.getBeanClassName(); return beanClassName == null ? null : loadClass(beanClassName); } diff --git a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupport.java b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupport.java index 32c90c2f8..de7bef30e 100644 --- a/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupport.java +++ b/src/main/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupport.java @@ -19,7 +19,6 @@ import jakarta.enterprise.event.Observes; import jakarta.enterprise.inject.Any; import jakarta.enterprise.inject.Default; import jakarta.enterprise.inject.spi.AfterDeploymentValidation; -import jakarta.enterprise.inject.spi.AnnotatedType; import jakarta.enterprise.inject.spi.BeanManager; import jakarta.enterprise.inject.spi.Extension; import jakarta.enterprise.inject.spi.ProcessAnnotatedType; @@ -73,13 +72,13 @@ public abstract class CdiRepositoryExtensionSupport implements Extension { */ protected void processAnnotatedType(@Observes ProcessAnnotatedType processAnnotatedType) { - AnnotatedType annotatedType = processAnnotatedType.getAnnotatedType(); - Class repositoryType = annotatedType.getJavaClass(); + var annotatedType = processAnnotatedType.getAnnotatedType(); + var repositoryType = annotatedType.getJavaClass(); if (isRepository(repositoryType)) { // Determine the qualifiers of the repository type. - Set qualifiers = getQualifiers(repositoryType); + var qualifiers = getQualifiers(repositoryType); if (logger.isDebugEnabled()) { logger.debug( @@ -98,10 +97,10 @@ public abstract class CdiRepositoryExtensionSupport implements Extension { */ private boolean isRepository(Class type) { - boolean isInterface = type.isInterface(); - boolean extendsRepository = Repository.class.isAssignableFrom(type); - boolean isAnnotated = isAnnotatedWith(type, RepositoryDefinition.class); - boolean excludedByAnnotation = isAnnotatedDirectlyWith(type, NoRepositoryBean.class); + var isInterface = type.isInterface(); + var extendsRepository = Repository.class.isAssignableFrom(type); + var isAnnotated = isAnnotatedWith(type, RepositoryDefinition.class); + var excludedByAnnotation = isAnnotatedDirectlyWith(type, NoRepositoryBean.class); return isInterface && (extendsRepository || isAnnotated) && !excludedByAnnotation; } @@ -112,9 +111,9 @@ public abstract class CdiRepositoryExtensionSupport implements Extension { private Set getQualifiers(final Class type) { Set qualifiers = new HashSet<>(); - Annotation[] annotations = type.getAnnotations(); - for (Annotation annotation : annotations) { - Class annotationType = annotation.annotationType(); + var annotations = type.getAnnotations(); + for (var annotation : annotations) { + var annotationType = annotation.annotationType(); if (isAnnotatedWith(annotationType, Qualifier.class)) { qualifiers.add(annotation); } @@ -139,7 +138,7 @@ public abstract class CdiRepositoryExtensionSupport implements Extension { */ void afterDeploymentValidation(@Observes AfterDeploymentValidation event, BeanManager manager) { - for (CdiRepositoryBean bean : eagerRepositories) { + for (var bean : eagerRepositories) { logger.debug(LogMessage.format("Eagerly instantiating CDI repository bean for %s.", bean.getBeanClass())); bean.initialize(); @@ -164,7 +163,7 @@ public abstract class CdiRepositoryExtensionSupport implements Extension { */ protected void registerBean(CdiRepositoryBean bean) { - Class repositoryInterface = bean.getBeanClass(); + var repositoryInterface = bean.getBeanClass(); if (isAnnotatedWith(repositoryInterface, Eager.class)) { this.eagerRepositories.add(bean); diff --git a/src/main/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSource.java b/src/main/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSource.java index 839035a36..171912c91 100644 --- a/src/main/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSource.java +++ b/src/main/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSource.java @@ -20,7 +20,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; -import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.regex.Pattern; @@ -115,7 +114,7 @@ public class AnnotationRepositoryConfigurationSource extends RepositoryConfigura Assert.notNull(annotation, "Annotation must not be null!"); Assert.notNull(resourceLoader, "ResourceLoader must not be null!"); - Map annotationAttributes = metadata.getAnnotationAttributes(annotation.getName()); + var annotationAttributes = metadata.getAnnotationAttributes(annotation.getName()); if (annotationAttributes == null) { throw new IllegalStateException(String.format("Unable to obtain annotation attributes for %s!", annotation)); @@ -134,14 +133,14 @@ public class AnnotationRepositoryConfigurationSource extends RepositoryConfigura */ public Streamable getBasePackages() { - String[] value = attributes.getStringArray("value"); - String[] basePackages = attributes.getStringArray(BASE_PACKAGES); - Class[] basePackageClasses = attributes.getClassArray(BASE_PACKAGE_CLASSES); + var value = attributes.getStringArray("value"); + var basePackages = attributes.getStringArray(BASE_PACKAGES); + var basePackageClasses = attributes.getClassArray(BASE_PACKAGE_CLASSES); // Default configuration - return package of annotated class if (value.length == 0 && basePackages.length == 0 && basePackageClasses.length == 0) { - String className = configMetadata.getClassName(); + var className = configMetadata.getClassName(); return Streamable.of(ClassUtils.getPackageName(className)); } @@ -149,9 +148,9 @@ public class AnnotationRepositoryConfigurationSource extends RepositoryConfigura packages.addAll(Arrays.asList(value)); packages.addAll(Arrays.asList(basePackages)); - Arrays.stream(basePackageClasses)// - .map(ClassUtils::getPackageName)// - .forEach(it -> packages.add(it)); + for (var c : basePackageClasses) { + packages.add(ClassUtils.getPackageName(c)); + } return Streamable.of(packages); } @@ -227,7 +226,7 @@ public class AnnotationRepositoryConfigurationSource extends RepositoryConfigura return Optional.empty(); } - Class repositoryBaseClass = attributes.getClass(REPOSITORY_BASE_CLASS); + var repositoryBaseClass = attributes.getClass(REPOSITORY_BASE_CLASS); return DefaultRepositoryBaseClass.class.equals(repositoryBaseClass) ? Optional.empty() : Optional.of(repositoryBaseClass.getName()); } @@ -279,7 +278,7 @@ public class AnnotationRepositoryConfigurationSource extends RepositoryConfigura throw new IllegalArgumentException(String.format("No attribute named %s found!", name)); } - Object value = attributes.get(name); + var value = attributes.get(name); if (value == null) { return Optional.empty(); @@ -289,7 +288,7 @@ public class AnnotationRepositoryConfigurationSource extends RepositoryConfigura () -> String.format("Attribute value for %s is of type %s but was expected to be of type %s!", name, value.getClass(), type)); - Object result = String.class.isInstance(value) // + var result = value instanceof String // ? StringUtils.hasText((String) value) ? value : null // : value; @@ -326,15 +325,15 @@ public class AnnotationRepositoryConfigurationSource extends RepositoryConfigura @Override public String getResourceDescription() { - String simpleClassName = ClassUtils.getShortName(configMetadata.getClassName()); - String annoationClassName = ClassUtils.getShortName(enableAnnotationMetadata.getClassName()); + var simpleClassName = ClassUtils.getShortName(configMetadata.getClassName()); + var annoationClassName = ClassUtils.getShortName(enableAnnotationMetadata.getClassName()); return String.format("@%s declared on %s", annoationClassName, simpleClassName); } private Streamable parseFilters(String attributeName) { - AnnotationAttributes[] filters = attributes.getAnnotationArray(attributeName); + var filters = attributes.getAnnotationArray(attributeName); return Streamable.of(() -> Arrays.stream(filters).flatMap(it -> typeFiltersFor(it).stream())); } @@ -348,7 +347,7 @@ public class AnnotationRepositoryConfigurationSource extends RepositoryConfigura */ private Optional getNullDefaultedAttribute(String attributeName) { - String attribute = attributes.getString(attributeName); + var attribute = attributes.getString(attributeName); return StringUtils.hasText(attribute) ? Optional.of(attribute) : Optional.empty(); } @@ -364,13 +363,13 @@ public class AnnotationRepositoryConfigurationSource extends RepositoryConfigura List typeFilters = new ArrayList<>(); FilterType filterType = filterAttributes.getEnum("type"); - for (Class filterClass : filterAttributes.getClassArray("value")) { + for (var filterClass : filterAttributes.getClassArray("value")) { switch (filterType) { case ANNOTATION: Assert.isAssignable(Annotation.class, filterClass, "An error occured when processing a @ComponentScan " + "ANNOTATION type filter: "); @SuppressWarnings("unchecked") - Class annoClass = (Class) filterClass; + var annoClass = (Class) filterClass; typeFilters.add(new AnnotationTypeFilter(annoClass)); break; case ASSIGNABLE_TYPE: @@ -386,9 +385,9 @@ public class AnnotationRepositoryConfigurationSource extends RepositoryConfigura } } - for (String expression : getPatterns(filterAttributes)) { + for (var expression : getPatterns(filterAttributes)) { - String rawName = filterType.toString(); + var rawName = filterType.toString(); if ("REGEX".equals(rawName)) { typeFilters.add(new RegexPatternTypeFilter(Pattern.compile(expression))); diff --git a/src/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java b/src/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java index 118bce701..e27a9d5c9 100644 --- a/src/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java +++ b/src/main/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetector.java @@ -102,7 +102,7 @@ public class CustomRepositoryImplementationDetector { Assert.notNull(lookup, "ImplementationLookupConfiguration must not be null!"); - Set definitions = implementationCandidates.getOptional() + var definitions = implementationCandidates.getOptional() .orElseGet(() -> findCandidateBeanDefinitions(lookup)).stream() // .filter(lookup::matches) // .collect(StreamUtils.toUnmodifiableSet()); @@ -116,9 +116,9 @@ public class CustomRepositoryImplementationDetector { private Set findCandidateBeanDefinitions(ImplementationDetectionConfiguration config) { - String postfix = config.getImplementationPostfix(); + var postfix = config.getImplementationPostfix(); - ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(false, + var provider = new ClassPathScanningCandidateComponentProvider(false, environment); provider.setResourceLoader(resourceLoader); provider.setResourcePattern(String.format(CUSTOM_IMPLEMENTATION_RESOURCE_PATTERN, postfix)); @@ -135,7 +135,7 @@ public class CustomRepositoryImplementationDetector { private static Optional throwAmbiguousCustomImplementationException( Collection definitions) { - String implementationNames = definitions.stream()// + var implementationNames = definitions.stream()// .map(BeanDefinition::getBeanClassName)// .collect(Collectors.joining(", ")); diff --git a/src/main/java/org/springframework/data/repository/config/DefaultImplementationLookupConfiguration.java b/src/main/java/org/springframework/data/repository/config/DefaultImplementationLookupConfiguration.java index 410169116..75b1627bb 100644 --- a/src/main/java/org/springframework/data/repository/config/DefaultImplementationLookupConfiguration.java +++ b/src/main/java/org/springframework/data/repository/config/DefaultImplementationLookupConfiguration.java @@ -135,14 +135,14 @@ class DefaultImplementationLookupConfiguration implements ImplementationLookupCo Assert.notNull(definition, "BeanDefinition must not be null!"); - String beanClassName = definition.getBeanClassName(); + var beanClassName = definition.getBeanClassName(); if (beanClassName == null || isExcluded(beanClassName, getExcludeFilters())) { return false; } - String beanPackage = ClassUtils.getPackageName(beanClassName); - String localName = getLocalName(beanClassName); + var beanPackage = ClassUtils.getPackageName(beanClassName); + var localName = getLocalName(beanClassName); return localName.equals(getImplementationClassName()) // && getBasePackages().stream().anyMatch(beanPackage::startsWith); @@ -150,7 +150,7 @@ class DefaultImplementationLookupConfiguration implements ImplementationLookupCo private String getLocalName(String className) { - String shortName = ClassUtils.getShortName(className); + var shortName = ClassUtils.getShortName(className); return shortName.substring(shortName.lastIndexOf('.') + 1); } @@ -158,7 +158,7 @@ class DefaultImplementationLookupConfiguration implements ImplementationLookupCo try { - MetadataReader reader = getMetadataReaderFactory().getMetadataReader(beanClassName); + var reader = getMetadataReaderFactory().getMetadataReader(beanClassName); return filters.stream().anyMatch(it -> matches(it, reader)); } catch (IOException o_O) { return true; diff --git a/src/main/java/org/springframework/data/repository/config/FragmentMetadata.java b/src/main/java/org/springframework/data/repository/config/FragmentMetadata.java index 7d5ca67f1..b11fe27fe 100644 --- a/src/main/java/org/springframework/data/repository/config/FragmentMetadata.java +++ b/src/main/java/org/springframework/data/repository/config/FragmentMetadata.java @@ -66,7 +66,7 @@ public class FragmentMetadata { Assert.hasText(interfaceName, "Interface name must not be null or empty!"); - AnnotationMetadata metadata = getAnnotationMetadata(interfaceName); + var metadata = getAnnotationMetadata(interfaceName); return !metadata.hasAnnotation(NoRepositoryBean.class.getName()); } diff --git a/src/main/java/org/springframework/data/repository/config/ImplementationDetectionConfiguration.java b/src/main/java/org/springframework/data/repository/config/ImplementationDetectionConfiguration.java index 96b908329..d52e2f62e 100644 --- a/src/main/java/org/springframework/data/repository/config/ImplementationDetectionConfiguration.java +++ b/src/main/java/org/springframework/data/repository/config/ImplementationDetectionConfiguration.java @@ -70,7 +70,7 @@ public interface ImplementationDetectionConfiguration { Assert.notNull(definition, "BeanDefinition must not be null!"); - String beanName = definition.getBeanClassName(); + var beanName = definition.getBeanClassName(); if (beanName == null) { throw new IllegalStateException("Cannot generate bean name for BeanDefinition without bean class name!"); diff --git a/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionBuilder.java b/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionBuilder.java index dcd572cd9..d8c297bb8 100644 --- a/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionBuilder.java +++ b/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionBuilder.java @@ -17,7 +17,6 @@ package org.springframework.data.repository.config; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.config.PropertiesFactoryBean; -import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.data.repository.core.NamedQueries; import org.springframework.data.repository.core.support.PropertiesBasedNamedQueries; @@ -67,22 +66,22 @@ public class NamedQueriesBeanDefinitionBuilder { */ public BeanDefinition build(@Nullable Object source) { - BeanDefinitionBuilder properties = BeanDefinitionBuilder.rootBeanDefinition(PropertiesFactoryBean.class); + var properties = BeanDefinitionBuilder.rootBeanDefinition(PropertiesFactoryBean.class); - String locationsToUse = StringUtils.hasText(locations) ? locations : defaultLocation; + var locationsToUse = StringUtils.hasText(locations) ? locations : defaultLocation; properties.addPropertyValue("locations", locationsToUse); if (!StringUtils.hasText(locations)) { properties.addPropertyValue("ignoreResourceNotFound", true); } - AbstractBeanDefinition propertiesDefinition = properties.getBeanDefinition(); + var propertiesDefinition = properties.getBeanDefinition(); propertiesDefinition.setSource(source); - BeanDefinitionBuilder namedQueries = BeanDefinitionBuilder.rootBeanDefinition(PropertiesBasedNamedQueries.class); + var namedQueries = BeanDefinitionBuilder.rootBeanDefinition(PropertiesBasedNamedQueries.class); namedQueries.addConstructorArgValue(propertiesDefinition); - AbstractBeanDefinition namedQueriesDefinition = namedQueries.getBeanDefinition(); + var namedQueriesDefinition = namedQueries.getBeanDefinition(); namedQueriesDefinition.setSource(source); return namedQueriesDefinition; diff --git a/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionParser.java b/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionParser.java index 7a4aa6838..a22acb112 100644 --- a/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionParser.java +++ b/src/main/java/org/springframework/data/repository/config/NamedQueriesBeanDefinitionParser.java @@ -19,7 +19,6 @@ import java.util.Properties; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.config.PropertiesFactoryBean; -import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.xml.BeanDefinitionParser; import org.springframework.beans.factory.xml.ParserContext; @@ -59,20 +58,20 @@ public class NamedQueriesBeanDefinitionParser implements BeanDefinitionParser { @NonNull public BeanDefinition parse(Element element, ParserContext parserContext) { - BeanDefinitionBuilder properties = BeanDefinitionBuilder.rootBeanDefinition(PropertiesFactoryBean.class); + var properties = BeanDefinitionBuilder.rootBeanDefinition(PropertiesFactoryBean.class); properties.addPropertyValue("locations", getDefaultedLocation(element)); if (isDefaultLocation(element)) { properties.addPropertyValue("ignoreResourceNotFound", true); } - AbstractBeanDefinition propertiesDefinition = properties.getBeanDefinition(); + var propertiesDefinition = properties.getBeanDefinition(); propertiesDefinition.setSource(parserContext.extractSource(element)); - BeanDefinitionBuilder namedQueries = BeanDefinitionBuilder.rootBeanDefinition(PropertiesBasedNamedQueries.class); + var namedQueries = BeanDefinitionBuilder.rootBeanDefinition(PropertiesBasedNamedQueries.class); namedQueries.addConstructorArgValue(propertiesDefinition); - AbstractBeanDefinition namedQueriesDefinition = namedQueries.getBeanDefinition(); + var namedQueriesDefinition = namedQueries.getBeanDefinition(); namedQueriesDefinition.setSource(parserContext.extractSource(element)); return namedQueriesDefinition; @@ -96,7 +95,7 @@ public class NamedQueriesBeanDefinitionParser implements BeanDefinitionParser { */ private String getDefaultedLocation(Element element) { - String locations = element.getAttribute(ATTRIBUTE); + var locations = element.getAttribute(ATTRIBUTE); return StringUtils.hasText(locations) ? locations : defaultLocation; } } diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java index 1a86b29d2..a87f6231e 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionBuilder.java @@ -15,14 +15,13 @@ */ package org.springframework.data.repository.config; -import java.util.List; import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.springframework.beans.factory.support.AbstractBeanDefinition; + import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.core.env.Environment; @@ -94,7 +93,7 @@ class RepositoryBeanDefinitionBuilder { Assert.notNull(registry, "BeanDefinitionRegistry must not be null!"); Assert.notNull(resourceLoader, "ResourceLoader must not be null!"); - BeanDefinitionBuilder builder = BeanDefinitionBuilder + var builder = BeanDefinitionBuilder .rootBeanDefinition(configuration.getRepositoryFactoryBeanClassName()); builder.getRawBeanDefinition().setSource(configuration.getSource()); @@ -107,7 +106,7 @@ class RepositoryBeanDefinitionBuilder { configuration.getRepositoryBaseClassName()// .ifPresent(it -> builder.addPropertyValue("repositoryBaseClass", it)); - NamedQueriesBeanDefinitionBuilder definitionBuilder = new NamedQueriesBeanDefinitionBuilder( + var definitionBuilder = new NamedQueriesBeanDefinitionBuilder( extension.getDefaultNamedQueryLocation()); configuration.getNamedQueriesLocation().ifPresent(definitionBuilder::setLocations); @@ -118,10 +117,10 @@ class RepositoryBeanDefinitionBuilder { builder.addDependsOn(it); }); - BeanDefinitionBuilder fragmentsBuilder = BeanDefinitionBuilder + var fragmentsBuilder = BeanDefinitionBuilder .rootBeanDefinition(RepositoryFragmentsFactoryBean.class); - List fragmentBeanNames = registerRepositoryFragmentsImplementation(configuration) // + var fragmentBeanNames = registerRepositoryFragmentsImplementation(configuration) // .map(RepositoryFragmentConfiguration::getFragmentBeanName) // .collect(Collectors.toList()); @@ -135,16 +134,16 @@ class RepositoryBeanDefinitionBuilder { private Optional registerCustomImplementation(RepositoryConfiguration configuration) { - ImplementationLookupConfiguration lookup = configuration.toLookupConfiguration(metadataReaderFactory); + var lookup = configuration.toLookupConfiguration(metadataReaderFactory); - String beanName = lookup.getImplementationBeanName(); + var beanName = lookup.getImplementationBeanName(); // Already a bean configured? if (registry.containsBeanDefinition(beanName)) { return Optional.of(beanName); } - Optional beanDefinition = implementationDetector.detectCustomImplementation(lookup); + var beanDefinition = implementationDetector.detectCustomImplementation(lookup); return beanDefinition.map(it -> { @@ -163,7 +162,7 @@ class RepositoryBeanDefinitionBuilder { private Stream registerRepositoryFragmentsImplementation( RepositoryConfiguration configuration) { - ImplementationDetectionConfiguration config = configuration + var config = configuration .toImplementationDetectionConfiguration(metadataReaderFactory); return fragmentMetadata.getFragmentInterfaces(configuration.getRepositoryInterface()) // @@ -176,8 +175,8 @@ class RepositoryBeanDefinitionBuilder { private Optional detectRepositoryFragmentConfiguration(String fragmentInterface, ImplementationDetectionConfiguration config) { - ImplementationLookupConfiguration lookup = config.forFragment(fragmentInterface); - Optional beanDefinition = implementationDetector.detectCustomImplementation(lookup); + var lookup = config.forFragment(fragmentInterface); + var beanDefinition = implementationDetector.detectCustomImplementation(lookup); return beanDefinition.map(bd -> new RepositoryFragmentConfiguration(fragmentInterface, bd)); } @@ -185,7 +184,7 @@ class RepositoryBeanDefinitionBuilder { private void potentiallyRegisterFragmentImplementation(RepositoryConfiguration repositoryConfiguration, RepositoryFragmentConfiguration fragmentConfiguration) { - String beanName = fragmentConfiguration.getImplementationBeanName(); + var beanName = fragmentConfiguration.getImplementationBeanName(); // Already a bean configured? if (registry.containsBeanDefinition(beanName)) { @@ -207,7 +206,7 @@ class RepositoryBeanDefinitionBuilder { private void potentiallyRegisterRepositoryFragment(RepositoryConfiguration configuration, RepositoryFragmentConfiguration fragmentConfiguration) { - String beanName = fragmentConfiguration.getFragmentBeanName(); + var beanName = fragmentConfiguration.getFragmentBeanName(); // Already a bean configured? if (registry.containsBeanDefinition(beanName)) { @@ -218,7 +217,7 @@ class RepositoryBeanDefinitionBuilder { logger.debug("Registering repository fragment: " + beanName); } - BeanDefinitionBuilder fragmentBuilder = BeanDefinitionBuilder.rootBeanDefinition(RepositoryFragment.class, + var fragmentBuilder = BeanDefinitionBuilder.rootBeanDefinition(RepositoryFragment.class, "implemented"); fragmentBuilder.addConstructorArgValue(fragmentConfiguration.getInterfaceName()); diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionParser.java b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionParser.java index 355df2cc9..4f3b55b31 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionParser.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionParser.java @@ -18,17 +18,14 @@ package org.springframework.data.repository.config; import static org.springframework.beans.factory.support.BeanDefinitionReaderUtils.*; import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.beans.factory.parsing.BeanComponentDefinition; import org.springframework.beans.factory.parsing.ReaderContext; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.beans.factory.xml.BeanDefinitionParser; import org.springframework.beans.factory.xml.ParserContext; -import org.springframework.beans.factory.xml.XmlReaderContext; -import org.springframework.core.env.Environment; -import org.springframework.core.io.ResourceLoader; import org.springframework.data.config.ConfigurationUtils; import org.springframework.lang.Nullable; import org.springframework.util.Assert; + import org.w3c.dom.Element; /** @@ -60,22 +57,22 @@ public class RepositoryBeanDefinitionParser implements BeanDefinitionParser { @Nullable public BeanDefinition parse(Element element, ParserContext parser) { - XmlReaderContext readerContext = parser.getReaderContext(); + var readerContext = parser.getReaderContext(); try { - ResourceLoader resourceLoader = ConfigurationUtils.getRequiredResourceLoader(readerContext); - Environment environment = readerContext.getEnvironment(); - BeanDefinitionRegistry registry = parser.getRegistry(); + var resourceLoader = ConfigurationUtils.getRequiredResourceLoader(readerContext); + var environment = readerContext.getEnvironment(); + var registry = parser.getRegistry(); - XmlRepositoryConfigurationSource configSource = new XmlRepositoryConfigurationSource(element, parser, + var configSource = new XmlRepositoryConfigurationSource(element, parser, environment); - RepositoryConfigurationDelegate delegate = new RepositoryConfigurationDelegate(configSource, resourceLoader, + var delegate = new RepositoryConfigurationDelegate(configSource, resourceLoader, environment); RepositoryConfigurationUtils.exposeRegistration(extension, registry, configSource); - for (BeanComponentDefinition definition : delegate.registerRepositoriesIn(registry, extension)) { + for (var definition : delegate.registerRepositoriesIn(registry, extension)) { readerContext.fireComponentRegistered(definition); } @@ -100,7 +97,7 @@ public class RepositoryBeanDefinitionParser implements BeanDefinitionParser { */ protected static boolean hasBean(Class type, BeanDefinitionRegistry registry) { - String name = String.format("%s%s0", type.getName(), GENERATED_BEAN_NAME_SEPARATOR); + var name = String.format("%s%s0", type.getName(), GENERATED_BEAN_NAME_SEPARATOR); return registry.containsBeanDefinition(name); } } diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupport.java b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupport.java index d07cd303c..722f7dfae 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupport.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupport.java @@ -94,13 +94,13 @@ public abstract class RepositoryBeanDefinitionRegistrarSupport return; } - AnnotationRepositoryConfigurationSource configurationSource = new AnnotationRepositoryConfigurationSource(metadata, + var configurationSource = new AnnotationRepositoryConfigurationSource(metadata, getAnnotation(), resourceLoader, environment, registry, generator); - RepositoryConfigurationExtension extension = getExtension(); + var extension = getExtension(); RepositoryConfigurationUtils.exposeRegistration(extension, registry, configurationSource); - RepositoryConfigurationDelegate delegate = new RepositoryConfigurationDelegate(configurationSource, resourceLoader, + var delegate = new RepositoryConfigurationDelegate(configurationSource, resourceLoader, environment); delegate.registerRepositoriesIn(registry, extension); diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryBeanNameGenerator.java b/src/main/java/org/springframework/data/repository/config/RepositoryBeanNameGenerator.java index eeebe0ea1..4b0fb5521 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryBeanNameGenerator.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryBeanNameGenerator.java @@ -18,7 +18,6 @@ package org.springframework.data.repository.config; import org.springframework.beans.factory.annotation.AnnotatedBeanDefinition; import org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition; import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.beans.factory.support.BeanNameGenerator; import org.springframework.context.annotation.AnnotationBeanNameGenerator; @@ -69,7 +68,7 @@ class RepositoryBeanNameGenerator { */ public String generateBeanName(BeanDefinition definition) { - AnnotatedBeanDefinition beanDefinition = definition instanceof AnnotatedBeanDefinition // + var beanDefinition = definition instanceof AnnotatedBeanDefinition // ? (AnnotatedBeanDefinition) definition // : new AnnotatedGenericBeanDefinition(getRepositoryInterfaceFrom(definition)); @@ -86,14 +85,14 @@ class RepositoryBeanNameGenerator { */ private Class getRepositoryInterfaceFrom(BeanDefinition beanDefinition) { - ValueHolder argumentValue = beanDefinition.getConstructorArgumentValues().getArgumentValue(0, Class.class); + var argumentValue = beanDefinition.getConstructorArgumentValues().getArgumentValue(0, Class.class); if (argumentValue == null) { throw new IllegalStateException( String.format("Failed to obtain first constructor parameter value of BeanDefinition %s!", beanDefinition)); } - Object value = argumentValue.getValue(); + var value = argumentValue.getValue(); if (value == null) { diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryComponentProvider.java b/src/main/java/org/springframework/data/repository/config/RepositoryComponentProvider.java index 2f3ca9a2d..9f6ba3f28 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryComponentProvider.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryComponentProvider.java @@ -107,9 +107,9 @@ class RepositoryComponentProvider extends ClassPathScanningCandidateComponentPro @Override protected boolean isCandidateComponent(AnnotatedBeanDefinition beanDefinition) { - boolean isNonRepositoryInterface = !ClassUtils.isGenericRepositoryInterface(beanDefinition.getBeanClassName()); - boolean isTopLevelType = !beanDefinition.getMetadata().hasEnclosingClass(); - boolean isConsiderNestedRepositories = isConsiderNestedRepositoryInterfaces(); + var isNonRepositoryInterface = !ClassUtils.isGenericRepositoryInterface(beanDefinition.getBeanClassName()); + var isTopLevelType = !beanDefinition.getMetadata().hasEnclosingClass(); + var isConsiderNestedRepositories = isConsiderNestedRepositoryInterfaces(); return isNonRepositoryInterface && (isTopLevelType || isConsiderNestedRepositories); } @@ -120,9 +120,9 @@ class RepositoryComponentProvider extends ClassPathScanningCandidateComponentPro @Override public Set findCandidateComponents(String basePackage) { - Set candidates = super.findCandidateComponents(basePackage); + var candidates = super.findCandidateComponents(basePackage); - for (BeanDefinition candidate : candidates) { + for (var candidate : candidates) { if (candidate instanceof AnnotatedBeanDefinition) { AnnotationConfigUtils.processCommonDefinitionAnnotations((AnnotatedBeanDefinition) candidate); } @@ -214,7 +214,7 @@ class RepositoryComponentProvider extends ClassPathScanningCandidateComponentPro public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) throws IOException { - for (TypeFilter filter : delegates) { + for (var filter : delegates) { if (!filter.match(metadataReader, metadataReaderFactory)) { return false; } diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationDelegate.java b/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationDelegate.java index 28f1501e4..039c8dc7e 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationDelegate.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationDelegate.java @@ -17,7 +17,6 @@ package org.springframework.data.repository.config; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -25,12 +24,11 @@ import java.util.stream.Collectors; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; + import org.springframework.beans.factory.config.ConfigurableBeanFactory; import org.springframework.beans.factory.config.DependencyDescriptor; import org.springframework.beans.factory.parsing.BeanComponentDefinition; -import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.AutowireCandidateResolver; -import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.context.annotation.ContextAnnotationAutowireCandidateResolver; @@ -42,7 +40,6 @@ import org.springframework.core.io.ResourceLoader; import org.springframework.core.io.support.SpringFactoriesLoader; import org.springframework.core.log.LogMessage; import org.springframework.core.metrics.ApplicationStartup; -import org.springframework.core.metrics.StartupStep; import org.springframework.data.repository.core.support.RepositoryFactorySupport; import org.springframework.lang.Nullable; import org.springframework.util.Assert; @@ -87,7 +84,7 @@ public class RepositoryConfigurationDelegate { ResourceLoader resourceLoader, Environment environment) { this.isXml = configurationSource instanceof XmlRepositoryConfigurationSource; - boolean isAnnotation = configurationSource instanceof AnnotationRepositoryConfigurationSource; + var isAnnotation = configurationSource instanceof AnnotationRepositoryConfigurationSource; Assert.isTrue(isXml || isAnnotation, "Configuration source must either be an Xml- or an AnnotationBasedConfigurationSource!"); @@ -135,11 +132,11 @@ public class RepositoryConfigurationDelegate { extension.registerBeansForRoot(registry, configurationSource); - RepositoryBeanDefinitionBuilder builder = new RepositoryBeanDefinitionBuilder(registry, extension, + var builder = new RepositoryBeanDefinitionBuilder(registry, extension, configurationSource, resourceLoader, environment); List definitions = new ArrayList<>(); - StopWatch watch = new StopWatch(); + var watch = new StopWatch(); if (logger.isDebugEnabled()) { logger.debug(LogMessage.format("Scanning for %s repositories in packages %s.", // @@ -147,15 +144,15 @@ public class RepositoryConfigurationDelegate { configurationSource.getBasePackages().stream().collect(Collectors.joining(", ")))); } - ApplicationStartup startup = getStartup(registry); - StartupStep repoScan = startup.start("spring.data.repository.scanning"); + var startup = getStartup(registry); + var repoScan = startup.start("spring.data.repository.scanning"); repoScan.tag("dataModule", extension.getModuleName()); repoScan.tag("basePackages", () -> configurationSource.getBasePackages().stream().collect(Collectors.joining(", "))); watch.start(); - Collection> configurations = extension + var configurations = extension .getRepositoryConfigurations(configurationSource, resourceLoader, inMultiStoreMode); Map> configurationsByRepositoryName = new HashMap<>(configurations.size()); @@ -164,7 +161,7 @@ public class RepositoryConfigurationDelegate { configurationsByRepositoryName.put(configuration.getRepositoryInterface(), configuration); - BeanDefinitionBuilder definitionBuilder = builder.build(configuration); + var definitionBuilder = builder.build(configuration); extension.postProcess(definitionBuilder, configurationSource); @@ -174,10 +171,10 @@ public class RepositoryConfigurationDelegate { extension.postProcess(definitionBuilder, (AnnotationRepositoryConfigurationSource) configurationSource); } - AbstractBeanDefinition beanDefinition = definitionBuilder.getBeanDefinition(); + var beanDefinition = definitionBuilder.getBeanDefinition(); beanDefinition.setResourceDescription(configuration.getResourceDescription()); - String beanName = configurationSource.generateBeanName(beanDefinition); + var beanName = configurationSource.generateBeanName(beanDefinition); if (logger.isTraceEnabled()) { logger.trace(LogMessage.format(REPOSITORY_REGISTRATION, extension.getModuleName(), beanName, configuration.getRepositoryInterface(), @@ -220,8 +217,8 @@ public class RepositoryConfigurationDelegate { return; } - DefaultListableBeanFactory beanFactory = DefaultListableBeanFactory.class.cast(registry); - AutowireCandidateResolver resolver = beanFactory.getAutowireCandidateResolver(); + var beanFactory = DefaultListableBeanFactory.class.cast(registry); + var resolver = beanFactory.getAutowireCandidateResolver(); if (!Arrays.asList(ContextAnnotationAutowireCandidateResolver.class, LazyRepositoryInjectionPointResolver.class) .contains(resolver.getClass())) { @@ -255,7 +252,7 @@ public class RepositoryConfigurationDelegate { */ private boolean multipleStoresDetected() { - boolean multipleModulesFound = SpringFactoriesLoader + var multipleModulesFound = SpringFactoriesLoader .loadFactoryNames(RepositoryFactorySupport.class, resourceLoader.getClassLoader()).size() > 1; if (multipleModulesFound) { @@ -318,15 +315,15 @@ public class RepositoryConfigurationDelegate { @Override protected boolean isLazy(DependencyDescriptor descriptor) { - Class type = descriptor.getDependencyType(); + var type = descriptor.getDependencyType(); - RepositoryConfiguration configuration = configurations.get(type.getName()); + var configuration = configurations.get(type.getName()); if (configuration == null) { return super.isLazy(descriptor); } - boolean lazyInit = configuration.isLazyInit(); + var lazyInit = configuration.isLazyInit(); if (lazyInit) { logger.debug(LogMessage.format("Creating lazy injection proxy for %s…", configuration.getRepositoryInterface())); diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupport.java b/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupport.java index 1b633b652..6a6ab8be1 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupport.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupport.java @@ -89,10 +89,10 @@ public abstract class RepositoryConfigurationExtensionSupport implements Reposit Set> result = new HashSet<>(); - for (BeanDefinition candidate : configSource.getCandidates(loader)) { + for (var candidate : configSource.getCandidates(loader)) { - RepositoryConfiguration configuration = getRepositoryConfiguration(candidate, configSource); - Class repositoryInterface = loadRepositoryInterface(configuration, + var configuration = getRepositoryConfiguration(candidate, configSource); + var repositoryInterface = loadRepositoryInterface(configuration, getConfigurationInspectionClassLoader(loader)); if (repositoryInterface == null) { @@ -100,9 +100,9 @@ public abstract class RepositoryConfigurationExtensionSupport implements Reposit continue; } - RepositoryMetadata metadata = AbstractRepositoryMetadata.getMetadata(repositoryInterface); + var metadata = AbstractRepositoryMetadata.getMetadata(repositoryInterface); - boolean qualifiedForImplementation = !strictMatchesOnly || configSource.usesExplicitFilters() + var qualifiedForImplementation = !strictMatchesOnly || configSource.usesExplicitFilters() || isStrictRepositoryCandidate(metadata); if (qualifiedForImplementation && useRepositoryConfiguration(metadata)) { @@ -204,7 +204,7 @@ public abstract class RepositoryConfigurationExtensionSupport implements Reposit bean.setSource(source); - String beanName = generateBeanName(bean, registry); + var beanName = generateBeanName(bean, registry); registry.registerBeanDefinition(beanName, bean); return beanName; @@ -227,7 +227,7 @@ public abstract class RepositoryConfigurationExtensionSupport implements Reposit return; } - AbstractBeanDefinition bean = supplier.get(); + var bean = supplier.get(); bean.setSource(source); registry.registerBeanDefinition(beanName, bean); @@ -250,7 +250,7 @@ public abstract class RepositoryConfigurationExtensionSupport implements Reposit return; } - AbstractBeanDefinition definition = supplier.get(); + var definition = supplier.get(); definition.setSource(source); definition.setLazyInit(true); @@ -267,7 +267,7 @@ public abstract class RepositoryConfigurationExtensionSupport implements Reposit */ public static boolean hasBean(Class type, BeanDefinitionRegistry registry) { - String name = String.format("%s%s0", type.getName(), GENERATED_BEAN_NAME_SEPARATOR); + var name = String.format("%s%s0", type.getName(), GENERATED_BEAN_NAME_SEPARATOR); return registry.containsBeanDefinition(name); } @@ -302,9 +302,9 @@ public abstract class RepositoryConfigurationExtensionSupport implements Reposit return false; } - Collection> types = getIdentifyingTypes(); - Collection> annotations = getIdentifyingAnnotations(); - String moduleName = getModuleName(); + var types = getIdentifyingTypes(); + var annotations = getIdentifyingAnnotations(); + var moduleName = getModuleName(); if (types.isEmpty() && annotations.isEmpty()) { if (!noMultiStoreSupport) { @@ -314,23 +314,23 @@ public abstract class RepositoryConfigurationExtensionSupport implements Reposit } } - Class repositoryInterface = metadata.getRepositoryInterface(); + var repositoryInterface = metadata.getRepositoryInterface(); - for (Class type : types) { + for (var type : types) { if (type.isAssignableFrom(repositoryInterface)) { return true; } } - Class domainType = metadata.getDomainType(); + var domainType = metadata.getDomainType(); - for (Class annotationType : annotations) { + for (var annotationType : annotations) { if (AnnotationUtils.findAnnotation(domainType, annotationType) != null) { return true; } } - String message = String.format(MULTI_STORE_DROPPED, moduleName, repositoryInterface, moduleName); + var message = String.format(MULTI_STORE_DROPPED, moduleName, repositoryInterface, moduleName); if (!annotations.isEmpty()) { message = message.concat(" consider annotating your entities with one of these annotations: ") // @@ -384,7 +384,7 @@ public abstract class RepositoryConfigurationExtensionSupport implements Reposit private Class loadRepositoryInterface(RepositoryConfiguration configuration, @Nullable ClassLoader classLoader) { - String repositoryInterface = configuration.getRepositoryInterface(); + var repositoryInterface = configuration.getRepositoryInterface(); try { return org.springframework.util.ClassUtils.forName(repositoryInterface, classLoader); diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSourceSupport.java b/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSourceSupport.java index d70819cad..efb963cbc 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSourceSupport.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationSourceSupport.java @@ -69,12 +69,12 @@ public abstract class RepositoryConfigurationSourceSupport implements Repository @Override public Streamable getCandidates(ResourceLoader loader) { - RepositoryComponentProvider scanner = new RepositoryComponentProvider(getIncludeFilters(), registry); + var scanner = new RepositoryComponentProvider(getIncludeFilters(), registry); scanner.setConsiderNestedRepositoryInterfaces(shouldConsiderNestedRepositories()); scanner.setEnvironment(environment); scanner.setResourceLoader(loader); - getExcludeFilters().forEach(it -> scanner.addExcludeFilter(it)); + getExcludeFilters().forEach(scanner::addExcludeFilter); return Streamable.of(() -> getBasePackages().stream()// .flatMap(it -> scanner.findCandidateComponents(it).stream())); diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationUtils.java b/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationUtils.java index 98c33e6a5..661f6e464 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationUtils.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryConfigurationUtils.java @@ -47,15 +47,15 @@ public interface RepositoryConfigurationUtils { Assert.notNull(registry, "BeanDefinitionRegistry must not be null!"); Assert.notNull(configurationSource, "RepositoryConfigurationSource must not be null!"); - Class extensionType = extension.getClass(); - String beanName = extensionType.getName().concat(GENERATED_BEAN_NAME_SEPARATOR).concat("0"); + var extensionType = extension.getClass(); + var beanName = extensionType.getName().concat(GENERATED_BEAN_NAME_SEPARATOR).concat("0"); if (registry.containsBeanDefinition(beanName)) { return; } // Register extension as bean to indicate repository parsing and registration has happened - RootBeanDefinition definition = new RootBeanDefinition(extensionType); + var definition = new RootBeanDefinition(extensionType); definition.setSource(configurationSource.getSource()); definition.setRole(AbstractBeanDefinition.ROLE_INFRASTRUCTURE); definition.setLazyInit(true); diff --git a/src/main/java/org/springframework/data/repository/config/RepositoryFragmentConfiguration.java b/src/main/java/org/springframework/data/repository/config/RepositoryFragmentConfiguration.java index 40f8f36eb..655f6193c 100644 --- a/src/main/java/org/springframework/data/repository/config/RepositoryFragmentConfiguration.java +++ b/src/main/java/org/springframework/data/repository/config/RepositoryFragmentConfiguration.java @@ -115,11 +115,10 @@ public final class RepositoryFragmentConfiguration { return true; } - if (!(o instanceof RepositoryFragmentConfiguration)) { + if (!(o instanceof RepositoryFragmentConfiguration that)) { return false; } - RepositoryFragmentConfiguration that = (RepositoryFragmentConfiguration) o; if (!ObjectUtils.nullSafeEquals(interfaceName, that.interfaceName)) { return false; } @@ -137,7 +136,7 @@ public final class RepositoryFragmentConfiguration { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(interfaceName); + var result = ObjectUtils.nullSafeHashCode(interfaceName); result = 31 * result + ObjectUtils.nullSafeHashCode(className); result = 31 * result + ObjectUtils.nullSafeHashCode(beanDefinition); return result; diff --git a/src/main/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParser.java b/src/main/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParser.java index 249a6992d..8cb7f443b 100644 --- a/src/main/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParser.java +++ b/src/main/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParser.java @@ -42,7 +42,7 @@ public class ResourceReaderRepositoryPopulatorBeanDefinitionParser extends Abstr @Override protected String getBeanClassName(Element element) { - String name = element.getLocalName(); + var name = element.getLocalName(); if ("unmarshaller-populator".equals(name)) { return UnmarshallerRepositoryPopulatorFactoryBean.class.getName(); @@ -60,7 +60,7 @@ public class ResourceReaderRepositoryPopulatorBeanDefinitionParser extends Abstr @Override protected void doParse(Element element, BeanDefinitionBuilder builder) { - String localName = element.getLocalName(); + var localName = element.getLocalName(); builder.addPropertyValue("resources", element.getAttribute("locations")); @@ -79,7 +79,7 @@ public class ResourceReaderRepositoryPopulatorBeanDefinitionParser extends Abstr */ private static void parseJsonPopulator(Element element, BeanDefinitionBuilder builder) { - String objectMapperRef = element.getAttribute("object-mapper-ref"); + var objectMapperRef = element.getAttribute("object-mapper-ref"); if (StringUtils.hasText(objectMapperRef)) { builder.addPropertyReference("mapper", objectMapperRef); @@ -94,7 +94,7 @@ public class ResourceReaderRepositoryPopulatorBeanDefinitionParser extends Abstr */ private static void parseXmlPopulator(Element element, BeanDefinitionBuilder builder) { - String unmarshallerRefName = element.getAttribute("unmarshaller-ref"); + var unmarshallerRefName = element.getAttribute("unmarshaller-ref"); if (StringUtils.hasText(unmarshallerRefName)) { builder.addPropertyReference("unmarshaller", unmarshallerRefName); diff --git a/src/main/java/org/springframework/data/repository/config/SelectionSet.java b/src/main/java/org/springframework/data/repository/config/SelectionSet.java index 68fd8cb86..0667dc94b 100644 --- a/src/main/java/org/springframework/data/repository/config/SelectionSet.java +++ b/src/main/java/org/springframework/data/repository/config/SelectionSet.java @@ -60,7 +60,7 @@ class SelectionSet { */ Optional uniqueResult() { - Optional uniqueResult = findUniqueResult(); + var uniqueResult = findUniqueResult(); return uniqueResult.isPresent() ? uniqueResult : fallback.apply(collection); } diff --git a/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java b/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java index c999b00d3..b76236519 100644 --- a/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java +++ b/src/main/java/org/springframework/data/repository/config/XmlRepositoryConfigurationSource.java @@ -80,7 +80,7 @@ public class XmlRepositoryConfigurationSource extends RepositoryConfigurationSou this.element = element; this.context = context; - TypeFilterParser parser = new TypeFilterParser(context.getReaderContext()); + var parser = new TypeFilterParser(context.getReaderContext()); this.includeFilters = parser.parseTypeFilters(element, Type.INCLUDE); this.excludeFilters = parser.parseTypeFilters(element, Type.EXCLUDE); } @@ -100,7 +100,7 @@ public class XmlRepositoryConfigurationSource extends RepositoryConfigurationSou */ public Streamable getBasePackages() { - String attribute = element.getAttribute(BASE_PACKAGE); + var attribute = element.getAttribute(BASE_PACKAGE); return Streamable.of(StringUtils.delimitedListToStringArray(attribute, ",", " ")); } @@ -183,7 +183,7 @@ public class XmlRepositoryConfigurationSource extends RepositoryConfigurationSou private Optional getNullDefaultedAttribute(Element element, String attributeName) { - String attribute = element.getAttribute(attributeName); + var attribute = element.getAttribute(attributeName); return StringUtils.hasText(attribute) ? Optional.of(attribute) : Optional.empty(); } @@ -203,8 +203,8 @@ public class XmlRepositoryConfigurationSource extends RepositoryConfigurationSou @Override public Optional getAttribute(String name) { - String xmlAttributeName = ParsingUtils.reconcatenateCamelCase(name, "-"); - String attribute = element.getAttribute(xmlAttributeName); + var xmlAttributeName = ParsingUtils.reconcatenateCamelCase(name, "-"); + var attribute = element.getAttribute(xmlAttributeName); return StringUtils.hasText(attribute) ? Optional.of(attribute) : Optional.empty(); } @@ -238,7 +238,7 @@ public class XmlRepositoryConfigurationSource extends RepositoryConfigurationSou @Override public BootstrapMode getBootstrapMode() { - String attribute = element.getAttribute(BOOTSTRAP_MODE); + var attribute = element.getAttribute(BOOTSTRAP_MODE); return StringUtils.hasText(attribute) // ? BootstrapMode.valueOf(attribute.toUpperCase(Locale.US)) // @@ -253,7 +253,7 @@ public class XmlRepositoryConfigurationSource extends RepositoryConfigurationSou @NonNull public String getResourceDescription() { - Object source = getSource(); + var source = getSource(); return source == null ? "" : source.toString(); } diff --git a/src/main/java/org/springframework/data/repository/core/EntityInformation.java b/src/main/java/org/springframework/data/repository/core/EntityInformation.java index 53c236326..7762a23a3 100644 --- a/src/main/java/org/springframework/data/repository/core/EntityInformation.java +++ b/src/main/java/org/springframework/data/repository/core/EntityInformation.java @@ -56,7 +56,7 @@ public interface EntityInformation extends EntityMetadata { Assert.notNull(entity, "Entity must not be null!"); - ID id = getId(entity); + var id = getId(entity); if (id != null) { return id; diff --git a/src/main/java/org/springframework/data/repository/core/support/AbstractEntityInformation.java b/src/main/java/org/springframework/data/repository/core/support/AbstractEntityInformation.java index 7ada9d16a..68df66e13 100644 --- a/src/main/java/org/springframework/data/repository/core/support/AbstractEntityInformation.java +++ b/src/main/java/org/springframework/data/repository/core/support/AbstractEntityInformation.java @@ -43,8 +43,8 @@ public abstract class AbstractEntityInformation implements EntityInformat */ public boolean isNew(T entity) { - ID id = getId(entity); - Class idType = getIdType(); + var id = getId(entity); + var idType = getIdType(); if (!idType.isPrimitive()) { return id == null; diff --git a/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java b/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java index 23d806cc5..367bda4f1 100644 --- a/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java +++ b/src/main/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadata.java @@ -18,7 +18,6 @@ package org.springframework.data.repository.core.support; import java.lang.reflect.Method; import java.util.Arrays; import java.util.Collections; -import java.util.List; import java.util.Set; import org.springframework.core.KotlinDetector; @@ -90,7 +89,7 @@ public abstract class AbstractRepositoryMetadata implements RepositoryMetadata { if (KotlinDetector.isKotlinType(method.getDeclaringClass()) && KotlinReflectionUtils.isSuspend(method)) { // the last parameter is Continuation or Continuation> - List> types = typeInformation.getParameterTypes(method); + var types = typeInformation.getParameterTypes(method); returnType = types.get(types.size() - 1).getComponentType(); } @@ -107,7 +106,7 @@ public abstract class AbstractRepositoryMetadata implements RepositoryMetadata { */ public Class getReturnedDomainClass(Method method) { - TypeInformation returnType = getReturnType(method); + var returnType = getReturnType(method); return QueryExecutionConverters.unwrapWrapperTypes(ReactiveWrapperConverters.unwrapWrapperTypes(returnType)) .getType(); diff --git a/src/main/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadata.java b/src/main/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadata.java index e7b5cf426..0a450f26d 100644 --- a/src/main/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadata.java +++ b/src/main/java/org/springframework/data/repository/core/support/AnnotationRepositoryMetadata.java @@ -73,7 +73,7 @@ public class AnnotationRepositoryMetadata extends AbstractRepositoryMetadata { private Class resolveIdType(Class repositoryInterface) { - RepositoryDefinition annotation = AnnotationUtils.findAnnotation(repositoryInterface, RepositoryDefinition.class); + var annotation = AnnotationUtils.findAnnotation(repositoryInterface, RepositoryDefinition.class); if (annotation == null || annotation.idClass() == null) { throw new IllegalArgumentException(String.format("Could not resolve id type of %s!", repositoryInterface)); @@ -84,7 +84,7 @@ public class AnnotationRepositoryMetadata extends AbstractRepositoryMetadata { private Class resolveDomainType(Class repositoryInterface) { - RepositoryDefinition annotation = AnnotationUtils.findAnnotation(repositoryInterface, RepositoryDefinition.class); + var annotation = AnnotationUtils.findAnnotation(repositoryInterface, RepositoryDefinition.class); if (annotation == null || annotation.domainClass() == null) { throw new IllegalArgumentException(String.format("Could not resolve domain type of %s!", repositoryInterface)); diff --git a/src/main/java/org/springframework/data/repository/core/support/DefaultCrudMethods.java b/src/main/java/org/springframework/data/repository/core/support/DefaultCrudMethods.java index 87e609c20..85c26f233 100644 --- a/src/main/java/org/springframework/data/repository/core/support/DefaultCrudMethods.java +++ b/src/main/java/org/springframework/data/repository/core/support/DefaultCrudMethods.java @@ -112,7 +112,7 @@ public class DefaultCrudMethods implements CrudMethods { Pair.of(DELETE_BY_ID, Object.class), // Pair.of(DELETE, Iterable.class)); - Class repositoryInterface = metadata.getRepositoryInterface(); + var repositoryInterface = metadata.getRepositoryInterface(); return source// .flatMap(it -> toStream(findMethod(repositoryInterface, it.getFirst(), it.getSecond())))// @@ -133,14 +133,14 @@ public class DefaultCrudMethods implements CrudMethods { */ private static Optional selectMostSuitableFindAllMethod(RepositoryMetadata metadata) { - Class repositoryInterface = metadata.getRepositoryInterface(); + var repositoryInterface = metadata.getRepositoryInterface(); - Supplier> withPageableOrSort = () -> Stream.of(Pageable.class, Sort.class)// + var withPageableOrSort = (Supplier>) () -> Stream.of(Pageable.class, Sort.class)// .flatMap(it -> toStream(findMethod(repositoryInterface, FIND_ALL, it)))// .flatMap(it -> toStream(getMostSpecificMethod(it, repositoryInterface)))// .findFirst(); - Supplier> withoutParameter = () -> findMethod(repositoryInterface, FIND_ALL)// + var withoutParameter = (Supplier>) () -> findMethod(repositoryInterface, FIND_ALL)// .flatMap(it -> getMostSpecificMethod(it, repositoryInterface)); return firstNonEmpty(withPageableOrSort, withoutParameter); diff --git a/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryInformation.java b/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryInformation.java index 9527cdd8a..38f78b016 100644 --- a/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryInformation.java +++ b/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryInformation.java @@ -113,7 +113,7 @@ class DefaultRepositoryInformation implements RepositoryInformation { return methodCache.get(method); } - Method result = composition.findMethod(method).orElse(method); + var result = composition.findMethod(method).orElse(method); if (!result.equals(method)) { return cacheAndReturn(method, result); @@ -141,7 +141,7 @@ class DefaultRepositoryInformation implements RepositoryInformation { Set result = new HashSet<>(); - for (Method method : getRepositoryInterface().getMethods()) { + for (var method : getRepositoryInterface().getMethods()) { method = ClassUtils.getMostSpecificMethod(method, getRepositoryInterface()); if (isQueryMethodCandidate(method)) { result.add(method); @@ -211,14 +211,14 @@ class DefaultRepositoryInformation implements RepositoryInformation { @Override public boolean hasCustomMethod() { - Class repositoryInterface = getRepositoryInterface(); + var repositoryInterface = getRepositoryInterface(); // No detection required if no typing interface was configured if (isGenericRepositoryInterface(repositoryInterface)) { return false; } - for (Method method : repositoryInterface.getMethods()) { + for (var method : repositoryInterface.getMethods()) { if (isCustomMethod(method) && !isBaseClassMethod(method)) { return true; } diff --git a/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadata.java b/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadata.java index f0855ee3f..c75c42eb8 100644 --- a/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadata.java +++ b/src/main/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadata.java @@ -49,7 +49,7 @@ public class DefaultRepositoryMetadata extends AbstractRepositoryMetadata { super(repositoryInterface); Assert.isTrue(Repository.class.isAssignableFrom(repositoryInterface), MUST_BE_A_REPOSITORY); - List> arguments = ClassTypeInformation.from(repositoryInterface) // + var arguments = ClassTypeInformation.from(repositoryInterface) // .getRequiredSuperTypeInformation(Repository.class)// .getTypeArguments(); diff --git a/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java b/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java index 433839310..cdda0f916 100644 --- a/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java +++ b/src/main/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessor.java @@ -65,7 +65,7 @@ public class EventPublishingRepositoryProxyPostProcessor implements RepositoryPr @Override public void postProcess(ProxyFactory factory, RepositoryInformation repositoryInformation) { - EventPublishingMethod method = EventPublishingMethod.of(repositoryInformation.getDomainType()); + var method = EventPublishingMethod.of(repositoryInformation.getDomainType()); if (method == null) { return; @@ -105,13 +105,13 @@ public class EventPublishingRepositoryProxyPostProcessor implements RepositoryPr @Nullable public Object invoke(MethodInvocation invocation) throws Throwable { - Object result = invocation.proceed(); + var result = invocation.proceed(); if (!isEventPublishingMethod(invocation.getMethod())) { return result; } - Object[] arguments = invocation.getArguments(); + var arguments = invocation.getArguments(); eventMethod.publishEventsFrom(arguments[0], publisher); @@ -168,13 +168,13 @@ public class EventPublishingRepositoryProxyPostProcessor implements RepositoryPr Assert.notNull(type, "Type must not be null!"); - EventPublishingMethod eventPublishingMethod = cache.get(type); + var eventPublishingMethod = cache.get(type); if (eventPublishingMethod != null) { return eventPublishingMethod.orNull(); } - EventPublishingMethod result = from(type, getDetector(type, DomainEvents.class), + var result = from(type, getDetector(type, DomainEvents.class), () -> getDetector(type, AfterDomainEventPublication.class)); cache.put(type, result); @@ -194,13 +194,13 @@ public class EventPublishingRepositoryProxyPostProcessor implements RepositoryPr return; } - for (Object aggregateRoot : asCollection(object)) { + for (var aggregateRoot : asCollection(object)) { if (!type.isInstance(aggregateRoot)) { continue; } - for (Object event : asCollection(ReflectionUtils.invokeMethod(publishingMethod, aggregateRoot))) { + for (var event : asCollection(ReflectionUtils.invokeMethod(publishingMethod, aggregateRoot))) { publisher.publishEvent(event); } @@ -223,7 +223,7 @@ public class EventPublishingRepositoryProxyPostProcessor implements RepositoryPr private static AnnotationDetectionMethodCallback getDetector(Class type, Class annotation) { - AnnotationDetectionMethodCallback callback = new AnnotationDetectionMethodCallback<>(annotation); + var callback = new AnnotationDetectionMethodCallback(annotation); ReflectionUtils.doWithMethods(type, callback); return callback; @@ -244,7 +244,7 @@ public class EventPublishingRepositoryProxyPostProcessor implements RepositoryPr return EventPublishingMethod.NONE; } - Method eventMethod = publishing.getRequiredMethod(); + var eventMethod = publishing.getRequiredMethod(); ReflectionUtils.makeAccessible(eventMethod); return new EventPublishingMethod(type, eventMethod, getClearingMethod(clearing.get())); @@ -263,7 +263,7 @@ public class EventPublishingRepositoryProxyPostProcessor implements RepositoryPr return null; } - Method method = clearing.getRequiredMethod(); + var method = clearing.getRequiredMethod(); ReflectionUtils.makeAccessible(method); return method; diff --git a/src/main/java/org/springframework/data/repository/core/support/MethodInvocationValidator.java b/src/main/java/org/springframework/data/repository/core/support/MethodInvocationValidator.java index ec261ef4a..76204a269 100644 --- a/src/main/java/org/springframework/data/repository/core/support/MethodInvocationValidator.java +++ b/src/main/java/org/springframework/data/repository/core/support/MethodInvocationValidator.java @@ -71,8 +71,8 @@ public class MethodInvocationValidator implements MethodInterceptor { @Override public Object invoke(@SuppressWarnings("null") MethodInvocation invocation) throws Throwable { - Method method = invocation.getMethod(); - Nullability nullability = nullabilityCache.get(method); + var method = invocation.getMethod(); + var nullability = nullabilityCache.get(method); if (nullability == null) { @@ -80,9 +80,9 @@ public class MethodInvocationValidator implements MethodInterceptor { nullabilityCache.put(method, nullability); } - Object[] arguments = invocation.getArguments(); + var arguments = invocation.getArguments(); - for (int i = 0; i < method.getParameterCount(); i++) { + for (var i = 0; i < method.getParameterCount(); i++) { if (nullability.isNullableParameter(i)) { continue; @@ -95,7 +95,7 @@ public class MethodInvocationValidator implements MethodInterceptor { } } - Object result = invocation.proceed(); + var result = invocation.proceed(); if (result == null && !nullability.isNullableReturn()) { throw new EmptyResultDataAccessException("Result must not be null!", 1); @@ -118,13 +118,13 @@ public class MethodInvocationValidator implements MethodInterceptor { static Nullability of(Method method, ParameterNameDiscoverer discoverer) { - boolean nullableReturn = isNullableParameter(new MethodParameter(method, -1)); - boolean[] nullableParameters = new boolean[method.getParameterCount()]; - MethodParameter[] methodParameters = new MethodParameter[method.getParameterCount()]; + var nullableReturn = isNullableParameter(new MethodParameter(method, -1)); + var nullableParameters = new boolean[method.getParameterCount()]; + var methodParameters = new MethodParameter[method.getParameterCount()]; - for (int i = 0; i < method.getParameterCount(); i++) { + for (var i = 0; i < method.getParameterCount(); i++) { - MethodParameter parameter = new MethodParameter(method, i); + var parameter = new MethodParameter(method, i); parameter.initParameterNameDiscovery(discoverer); nullableParameters[i] = isNullableParameter(parameter); methodParameters[i] = parameter; @@ -135,7 +135,7 @@ public class MethodInvocationValidator implements MethodInterceptor { String getMethodParameterName(int index) { - String parameterName = methodParameters[index].getParameterName(); + var parameterName = methodParameters[index].getParameterName(); if (parameterName == null) { parameterName = String.format("of type %s at index %d", @@ -183,12 +183,10 @@ public class MethodInvocationValidator implements MethodInterceptor { return true; } - if (!(o instanceof Nullability)) { + if (!(o instanceof Nullability that)) { return false; } - Nullability that = (Nullability) o; - if (nullableReturn != that.nullableReturn) { return false; } @@ -206,7 +204,7 @@ public class MethodInvocationValidator implements MethodInterceptor { */ @Override public int hashCode() { - int result = (nullableReturn ? 1 : 0); + var result = (nullableReturn ? 1 : 0); result = 31 * result + ObjectUtils.nullSafeHashCode(nullableParameters); result = 31 * result + ObjectUtils.nullSafeHashCode(methodParameters); return result; diff --git a/src/main/java/org/springframework/data/repository/core/support/MethodLookup.java b/src/main/java/org/springframework/data/repository/core/support/MethodLookup.java index 58b175357..21c283eab 100644 --- a/src/main/java/org/springframework/data/repository/core/support/MethodLookup.java +++ b/src/main/java/org/springframework/data/repository/core/support/MethodLookup.java @@ -119,11 +119,10 @@ public interface MethodLookup { return true; } - if (!(o instanceof InvokedMethod)) { + if (!(o instanceof InvokedMethod that)) { return false; } - InvokedMethod that = (InvokedMethod) o; return ObjectUtils.nullSafeEquals(method, that.method); } diff --git a/src/main/java/org/springframework/data/repository/core/support/MethodLookups.java b/src/main/java/org/springframework/data/repository/core/support/MethodLookups.java index 595252d88..198329a7e 100644 --- a/src/main/java/org/springframework/data/repository/core/support/MethodLookups.java +++ b/src/main/java/org/springframework/data/repository/core/support/MethodLookups.java @@ -15,7 +15,6 @@ */ package org.springframework.data.repository.core.support; -import java.lang.reflect.GenericDeclaration; import java.lang.reflect.Method; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; @@ -56,7 +55,7 @@ interface MethodLookups { */ static MethodLookup direct() { - MethodPredicate direct = (invoked, candidate) -> candidate.getName().equals(invoked.getName()) + var direct = (MethodPredicate) (invoked, candidate) -> candidate.getName().equals(invoked.getName()) && candidate.getParameterCount() == invoked.getParameterCount() && Arrays.equals(candidate.getParameterTypes(), invoked.getParameterTypes()); @@ -132,7 +131,7 @@ interface MethodLookups { @Override public List getLookups() { - MethodPredicate detailedComparison = (invoked, candidate) -> Optional.of(candidate) + var detailedComparison = (MethodPredicate) (invoked, candidate) -> Optional.of(candidate) .filter(baseClassMethod -> baseClassMethod.getName().equals(invoked.getName()))// Right name .filter(baseClassMethod -> baseClassMethod.getParameterCount() == invoked.getParameterCount()) .filter(baseClassMethod -> parametersMatch(invoked.getMethod(), baseClassMethod))// All parameters match @@ -152,7 +151,7 @@ interface MethodLookups { */ protected boolean matchesGenericType(TypeVariable variable, ResolvableType parameterType) { - GenericDeclaration declaration = variable.getGenericDeclaration(); + var declaration = variable.getGenericDeclaration(); if (declaration instanceof Class) { @@ -160,13 +159,13 @@ interface MethodLookups { return true; } - Type boundType = variable.getBounds()[0]; - String referenceName = boundType instanceof TypeVariable ? boundType.toString() : variable.toString(); + var boundType = variable.getBounds()[0]; + var referenceName = boundType instanceof TypeVariable ? boundType.toString() : variable.toString(); return DOMAIN_TYPE_NAME.equals(referenceName) && parameterType.isAssignableFrom(entityType); } - for (Type type : variable.getBounds()) { + for (var type : variable.getBounds()) { if (ResolvableType.forType(type).isAssignableFrom(parameterType)) { return true; } @@ -185,16 +184,16 @@ interface MethodLookups { */ private boolean parametersMatch(Method invokedMethod, Method candidate) { - Class[] methodParameterTypes = invokedMethod.getParameterTypes(); - Type[] genericTypes = candidate.getGenericParameterTypes(); - Class[] types = candidate.getParameterTypes(); + var methodParameterTypes = invokedMethod.getParameterTypes(); + var genericTypes = candidate.getGenericParameterTypes(); + var types = candidate.getParameterTypes(); - for (int i = 0; i < genericTypes.length; i++) { + for (var i = 0; i < genericTypes.length; i++) { - Type genericType = genericTypes[i]; - Class type = types[i]; - MethodParameter parameter = new MethodParameter(invokedMethod, i).withContainingClass(repositoryInterface); - Class parameterType = parameter.getParameterType(); + var genericType = genericTypes[i]; + var type = types[i]; + var parameter = new MethodParameter(invokedMethod, i).withContainingClass(repositoryInterface); + var parameterType = parameter.getParameterType(); if (genericType instanceof TypeVariable) { @@ -241,7 +240,7 @@ interface MethodLookups { @Override public List getLookups() { - MethodPredicate convertibleComparison = (invokedMethod, candidate) -> { + var convertibleComparison = (MethodPredicate) (invokedMethod, candidate) -> { List>> suppliers = new ArrayList<>(); @@ -253,7 +252,8 @@ interface MethodLookups { return suppliers.stream().anyMatch(supplier -> supplier.get().isPresent()); }; - MethodPredicate detailedComparison = (invokedMethod, candidate) -> getMethodCandidate(invokedMethod, candidate, + var detailedComparison = (MethodPredicate) (invokedMethod, candidate) -> getMethodCandidate(invokedMethod, + candidate, matchParameterOrComponentType(repositoryMetadata.getRepositoryInterface())).isPresent(); return Arrays.asList(convertibleComparison, detailedComparison); @@ -272,9 +272,9 @@ interface MethodLookups { return (parameterCriteria) -> { - Class parameterType = parameterCriteria.getDeclared().withContainingClass(repositoryInterface) + var parameterType = parameterCriteria.getDeclared().withContainingClass(repositoryInterface) .getParameterType(); - Type genericType = parameterCriteria.getGenericBaseType(); + var genericType = parameterCriteria.getGenericBaseType(); if (genericType instanceof TypeVariable) { @@ -449,12 +449,10 @@ interface MethodLookups { return true; } - if (!(o instanceof ParameterOverrideCriteria)) { + if (!(o instanceof ParameterOverrideCriteria that)) { return false; } - ParameterOverrideCriteria that = (ParameterOverrideCriteria) o; - if (!ObjectUtils.nullSafeEquals(declared, that.declared)) { return false; } @@ -468,7 +466,7 @@ interface MethodLookups { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(declared); + var result = ObjectUtils.nullSafeHashCode(declared); result = 31 * result + ObjectUtils.nullSafeHashCode(base); return result; } diff --git a/src/main/java/org/springframework/data/repository/core/support/PropertiesBasedNamedQueries.java b/src/main/java/org/springframework/data/repository/core/support/PropertiesBasedNamedQueries.java index 6af3bf08b..d93e6ba29 100644 --- a/src/main/java/org/springframework/data/repository/core/support/PropertiesBasedNamedQueries.java +++ b/src/main/java/org/springframework/data/repository/core/support/PropertiesBasedNamedQueries.java @@ -56,7 +56,7 @@ public class PropertiesBasedNamedQueries implements NamedQueries { Assert.hasText(queryName, "Query name must not be null or empty!"); - String query = properties.getProperty(queryName); + var query = properties.getProperty(queryName); if (query == null) { throw new IllegalArgumentException(String.format(NO_QUERY_FOUND, queryName)); diff --git a/src/main/java/org/springframework/data/repository/core/support/QueryExecutionResultHandler.java b/src/main/java/org/springframework/data/repository/core/support/QueryExecutionResultHandler.java index 874d6d418..096af834b 100644 --- a/src/main/java/org/springframework/data/repository/core/support/QueryExecutionResultHandler.java +++ b/src/main/java/org/springframework/data/repository/core/support/QueryExecutionResultHandler.java @@ -72,15 +72,15 @@ class QueryExecutionResultHandler { return result; } - ReturnTypeDescriptor descriptor = getOrCreateReturnTypeDescriptor(method); + var descriptor = getOrCreateReturnTypeDescriptor(method); return postProcessInvocationResult(result, 0, descriptor); } private ReturnTypeDescriptor getOrCreateReturnTypeDescriptor(Method method) { - Map descriptorCache = this.descriptorCache; - ReturnTypeDescriptor descriptor = descriptorCache.get(method); + var descriptorCache = this.descriptorCache; + var descriptor = descriptorCache.get(method); if (descriptor == null) { @@ -116,13 +116,13 @@ class QueryExecutionResultHandler { @Nullable Object postProcessInvocationResult(@Nullable Object result, int nestingLevel, ReturnTypeDescriptor descriptor) { - TypeDescriptor returnTypeDescriptor = descriptor.getReturnTypeDescriptor(nestingLevel); + var returnTypeDescriptor = descriptor.getReturnTypeDescriptor(nestingLevel); if (returnTypeDescriptor == null) { return result; } - Class expectedReturnType = returnTypeDescriptor.getType(); + var expectedReturnType = returnTypeDescriptor.getType(); result = unwrapOptional(result); @@ -138,7 +138,7 @@ class QueryExecutionResultHandler { if (result != null) { - TypeDescriptor source = TypeDescriptor.valueOf(result.getClass()); + var source = TypeDescriptor.valueOf(result.getClass()); if (conversionRequired(source, returnTypeDescriptor)) { return conversionService.convert(result, returnTypeDescriptor); @@ -154,15 +154,15 @@ class QueryExecutionResultHandler { if (result instanceof Collection) { - TypeDescriptor elementDescriptor = descriptor.getReturnTypeDescriptor(nestingLevel + 1); - boolean requiresConversion = requiresConversion((Collection) result, expectedReturnType, elementDescriptor); + var elementDescriptor = descriptor.getReturnTypeDescriptor(nestingLevel + 1); + var requiresConversion = requiresConversion((Collection) result, expectedReturnType, elementDescriptor); if (!requiresConversion) { return result; } } - TypeDescriptor resultDescriptor = TypeDescriptor.forObject(result); + var resultDescriptor = TypeDescriptor.forObject(result); return conversionService.canConvert(resultDescriptor, returnTypeDescriptor) ? conversionService.convert(result, returnTypeDescriptor) : result; @@ -185,7 +185,7 @@ class QueryExecutionResultHandler { return false; } - Class type = elementDescriptor.getType(); + var type = elementDescriptor.getType(); for (Object o : collection) { diff --git a/src/main/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptor.java b/src/main/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptor.java index c06a5e565..b55ca02d5 100644 --- a/src/main/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptor.java +++ b/src/main/java/org/springframework/data/repository/core/support/QueryExecutorMethodInterceptor.java @@ -112,7 +112,7 @@ class QueryExecutorMethodInterceptor implements MethodInterceptor { for (QueryCreationListener listener : queryPostProcessors) { - ResolvableType typeArgument = ResolvableType.forClass(QueryCreationListener.class, listener.getClass()) + var typeArgument = ResolvableType.forClass(QueryCreationListener.class, listener.getClass()) .getGeneric(0); if (typeArgument != null && typeArgument.isAssignableFrom(ResolvableType.forClass(query.getClass()))) { @@ -129,9 +129,9 @@ class QueryExecutorMethodInterceptor implements MethodInterceptor { @Nullable public Object invoke(@SuppressWarnings("null") MethodInvocation invocation) throws Throwable { - Method method = invocation.getMethod(); + var method = invocation.getMethod(); - QueryExecutionConverters.ExecutionAdapter executionAdapter = QueryExecutionConverters // + var executionAdapter = QueryExecutionConverters // .getExecutionAdapter(method.getReturnType()); if (executionAdapter == null) { @@ -145,11 +145,11 @@ class QueryExecutorMethodInterceptor implements MethodInterceptor { @Nullable private Object doInvoke(MethodInvocation invocation) throws Throwable { - Method method = invocation.getMethod(); + var method = invocation.getMethod(); if (hasQueryFor(method)) { - RepositoryMethodInvoker invocationMetadata = invocationMetadataCache.get(method); + var invocationMetadata = invocationMetadataCache.get(method); if (invocationMetadata == null) { invocationMetadata = RepositoryMethodInvoker.forRepositoryQuery(method, queries.get(method)); diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryComposition.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryComposition.java index c64ed0e6d..3d19291ff 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryComposition.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryComposition.java @@ -31,7 +31,6 @@ import java.util.stream.Stream; import org.springframework.data.repository.core.RepositoryMetadata; import org.springframework.data.repository.core.support.MethodLookup.InvokedMethod; -import org.springframework.data.repository.core.support.MethodLookup.MethodPredicate; import org.springframework.data.repository.core.support.RepositoryInvocationMulticaster.NoOpRepositoryInvocationMulticaster; import org.springframework.data.repository.util.ReactiveWrapperConverters; import org.springframework.data.repository.util.ReactiveWrappers; @@ -71,15 +70,15 @@ public class RepositoryComposition { if (ReactiveWrappers.isAvailable()) { - Class[] parameterTypes = method.getParameterTypes(); + var parameterTypes = method.getParameterTypes(); - Object[] converted = new Object[args.length]; - for (int i = 0; i < args.length; i++) { + var converted = new Object[args.length]; + for (var i = 0; i < args.length; i++) { - Object value = args[i]; - Object convertedArg = value; + var value = args[i]; + var convertedArg = value; - Class parameterType = parameterTypes.length > i ? parameterTypes[i] : null; + var parameterType = parameterTypes.length > i ? parameterTypes[i] : null; if (value != null && parameterType != null) { if (!parameterType.isAssignableFrom(value.getClass()) @@ -274,7 +273,7 @@ public class RepositoryComposition { */ Object invoke(RepositoryInvocationMulticaster listener, Method method, Object[] args) throws Throwable { - Method methodToCall = getMethod(method); + var methodToCall = getMethod(method); if (methodToCall == null) { throw new IllegalArgumentException(String.format("No fragment found for method %s", method)); @@ -317,7 +316,7 @@ public class RepositoryComposition { fragments.stream().forEach(it -> it.getImplementation() // .orElseThrow(() -> { - Class repositoryInterface = metadata != null ? metadata.getRepositoryInterface() : Object.class; + var repositoryInterface = metadata != null ? metadata.getRepositoryInterface() : Object.class; return new FragmentNotImplementedException(String.format("Fragment %s used in %s has no implementation.", ClassUtils.getQualifiedName(it.getSignatureContributor()), ClassUtils.getQualifiedName(repositoryInterface)), repositoryInterface, it); @@ -335,11 +334,10 @@ public class RepositoryComposition { return true; } - if (!(o instanceof RepositoryComposition)) { + if (!(o instanceof RepositoryComposition that)) { return false; } - RepositoryComposition that = (RepositoryComposition) o; return ObjectUtils.nullSafeEquals(fragments, that.fragments); } @@ -510,14 +508,14 @@ public class RepositoryComposition { Object invoke(Class repositoryInterface, RepositoryInvocationMulticaster listener, Method invokedMethod, Method methodToCall, Object[] args) throws Throwable { - RepositoryFragment fragment = fragmentCache.computeIfAbsent(methodToCall, this::findImplementationFragment); - Optional optional = fragment.getImplementation(); + var fragment = fragmentCache.computeIfAbsent(methodToCall, this::findImplementationFragment); + var optional = fragment.getImplementation(); if (!optional.isPresent()) { throw new IllegalArgumentException(String.format("No implementation found for method %s", methodToCall)); } - RepositoryMethodInvoker repositoryMethodInvoker = invocationMetadataCache.get(invokedMethod); + var repositoryMethodInvoker = invocationMetadataCache.get(invokedMethod); if (repositoryMethodInvoker == null) { @@ -541,9 +539,9 @@ public class RepositoryComposition { private static Method findMethod(InvokedMethod invokedMethod, MethodLookup lookup, Supplier> methodStreamSupplier) { - for (MethodPredicate methodPredicate : lookup.getLookups()) { + for (var methodPredicate : lookup.getLookups()) { - Optional resolvedMethod = methodStreamSupplier.get() + var resolvedMethod = methodStreamSupplier.get() .filter(it -> methodPredicate.test(invokedMethod, it)) // .findFirst(); @@ -585,12 +583,10 @@ public class RepositoryComposition { return true; } - if (!(o instanceof RepositoryFragments)) { + if (!(o instanceof RepositoryFragments that)) { return false; } - RepositoryFragments that = (RepositoryFragments) o; - if (!ObjectUtils.nullSafeEquals(fragmentCache, that.fragmentCache)) { return false; } @@ -608,7 +604,7 @@ public class RepositoryComposition { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(fragmentCache); + var result = ObjectUtils.nullSafeHashCode(fragmentCache); result = 31 * result + ObjectUtils.nullSafeHashCode(invocationMetadataCache); result = 31 * result + ObjectUtils.nullSafeHashCode(fragments); return result; diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java index 16972a642..c4dade15f 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupport.java @@ -237,7 +237,7 @@ public abstract class RepositoryFactoryBeanSupport, */ public RepositoryInformation getRepositoryInformation() { - RepositoryFragments fragments = customImplementation.map(RepositoryFragments::just)// + var fragments = customImplementation.map(RepositoryFragments::just)// .orElse(RepositoryFragments.empty()); return factory.getRepositoryInformation(repositoryMetadata, fragments); @@ -309,11 +309,11 @@ public abstract class RepositoryFactoryBeanSupport, this.repositoryFactoryCustomizers.forEach(customizer -> customizer.customize(this.factory)); - RepositoryFragments customImplementationFragment = customImplementation // + var customImplementationFragment = customImplementation // .map(RepositoryFragments::just) // .orElseGet(RepositoryFragments::empty); - RepositoryFragments repositoryFragmentsToUse = this.repositoryFragments // + var repositoryFragmentsToUse = this.repositoryFragments // .orElseGet(RepositoryFragments::empty) // .append(customImplementationFragment); diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java index 744d7db1a..758bc973b 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryFactorySupport.java @@ -15,7 +15,6 @@ */ package org.springframework.data.repository.core.support; -import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; @@ -282,29 +281,29 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, Assert.notNull(repositoryInterface, "Repository interface must not be null!"); Assert.notNull(fragments, "RepositoryFragments must not be null!"); - ApplicationStartup applicationStartup = getStartup(); + var applicationStartup = getStartup(); - StartupStep repositoryInit = onEvent(applicationStartup, "spring.data.repository.init", repositoryInterface); + var repositoryInit = onEvent(applicationStartup, "spring.data.repository.init", repositoryInterface); repositoryBaseClass.ifPresent(it -> repositoryInit.tag("baseClass", it.getName())); - StartupStep repositoryMetadataStep = onEvent(applicationStartup, "spring.data.repository.metadata", + var repositoryMetadataStep = onEvent(applicationStartup, "spring.data.repository.metadata", repositoryInterface); - RepositoryMetadata metadata = getRepositoryMetadata(repositoryInterface); + var metadata = getRepositoryMetadata(repositoryInterface); repositoryMetadataStep.end(); - StartupStep repositoryCompositionStep = onEvent(applicationStartup, "spring.data.repository.composition", + var repositoryCompositionStep = onEvent(applicationStartup, "spring.data.repository.composition", repositoryInterface); repositoryCompositionStep.tag("fragment.count", String.valueOf(fragments.size())); - RepositoryComposition composition = getRepositoryComposition(metadata, fragments); - RepositoryInformation information = getRepositoryInformation(metadata, composition); + var composition = getRepositoryComposition(metadata, fragments); + var information = getRepositoryInformation(metadata, composition); repositoryCompositionStep.tag("fragments", () -> { - StringBuilder fragmentsTag = new StringBuilder(); + var fragmentsTag = new StringBuilder(); - for (RepositoryFragment fragment : composition.getFragments()) { + for (var fragment : composition.getFragments()) { if (fragmentsTag.length() > 0) { fragmentsTag.append(";"); @@ -319,19 +318,19 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, repositoryCompositionStep.end(); - StartupStep repositoryTargetStep = onEvent(applicationStartup, "spring.data.repository.target", + var repositoryTargetStep = onEvent(applicationStartup, "spring.data.repository.target", repositoryInterface); - Object target = getTargetRepository(information); + var target = getTargetRepository(information); repositoryTargetStep.tag("target", target.getClass().getName()); repositoryTargetStep.end(); - RepositoryComposition compositionToUse = composition.append(RepositoryFragment.implemented(target)); + var compositionToUse = composition.append(RepositoryFragment.implemented(target)); validate(information, compositionToUse); // Create proxy - StartupStep repositoryProxyStep = onEvent(applicationStartup, "spring.data.repository.proxy", repositoryInterface); - ProxyFactory result = new ProxyFactory(); + var repositoryProxyStep = onEvent(applicationStartup, "spring.data.repository.proxy", repositoryInterface); + var result = new ProxyFactory(); result.setTarget(target); result.setInterfaces(repositoryInterface, Repository.class, TransactionalProxy.class); @@ -342,11 +341,11 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, result.addAdvisor(ExposeInvocationInterceptor.ADVISOR); if (!postProcessors.isEmpty()) { - StartupStep repositoryPostprocessorsStep = onEvent(applicationStartup, "spring.data.repository.postprocessors", + var repositoryPostprocessorsStep = onEvent(applicationStartup, "spring.data.repository.postprocessors", repositoryInterface); postProcessors.forEach(processor -> { - StartupStep singlePostProcessor = onEvent(applicationStartup, "spring.data.repository.postprocessor", + var singlePostProcessor = onEvent(applicationStartup, "spring.data.repository.postprocessor", repositoryInterface); singlePostProcessor.tag("type", processor.getClass().getName()); processor.postProcess(result, information); @@ -367,7 +366,7 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, result.addAdvice( new ImplementationMethodExecutionInterceptor(information, compositionToUse, methodInvocationListeners)); - T repository = (T) result.getProxy(classLoader); + var repository = (T) result.getProxy(classLoader); repositoryProxyStep.end(); repositoryInit.end(); @@ -389,7 +388,7 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, */ protected ProjectionFactory getProjectionFactory(ClassLoader classLoader, BeanFactory beanFactory) { - SpelAwareProxyProjectionFactory factory = new SpelAwareProxyProjectionFactory(); + var factory = new SpelAwareProxyProjectionFactory(); factory.setBeanClassLoader(classLoader); factory.setBeanFactory(beanFactory); @@ -431,8 +430,8 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, Assert.notNull(metadata, "RepositoryMetadata must not be null!"); Assert.notNull(fragments, "RepositoryFragments must not be null!"); - RepositoryComposition composition = getRepositoryComposition(metadata); - RepositoryFragments repositoryAspects = getRepositoryFragments(metadata); + var composition = getRepositoryComposition(metadata); + var repositoryAspects = getRepositoryFragments(metadata); return composition.append(fragments).append(repositoryAspects); } @@ -447,11 +446,11 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, private RepositoryInformation getRepositoryInformation(RepositoryMetadata metadata, RepositoryComposition composition) { - RepositoryInformationCacheKey cacheKey = new RepositoryInformationCacheKey(metadata, composition); + var cacheKey = new RepositoryInformationCacheKey(metadata, composition); return repositoryInformationCache.computeIfAbsent(cacheKey, key -> { - Class baseClass = repositoryBaseClass.orElse(getRepositoryBaseClass(metadata)); + var baseClass = repositoryBaseClass.orElse(getRepositoryBaseClass(metadata)); return new DefaultRepositoryInformation(metadata, baseClass, composition); }); @@ -539,7 +538,7 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, protected final R getTargetRepositoryViaReflection(RepositoryInformation information, Object... constructorArguments) { - Class baseClass = information.getRepositoryBaseClass(); + var baseClass = information.getRepositoryBaseClass(); return instantiateClass(baseClass, constructorArguments); } @@ -573,7 +572,7 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, @SuppressWarnings("unchecked") protected final R instantiateClass(Class baseClass, Object... constructorArguments) { - Optional> constructor = ReflectionUtils.findConstructor(baseClass, constructorArguments); + var constructor = ReflectionUtils.findConstructor(baseClass, constructorArguments); return constructor.map(it -> (R) BeanUtils.instantiateClass(it, constructorArguments)) .orElseThrow(() -> new IllegalStateException(String.format( @@ -586,7 +585,7 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, try { - ApplicationStartup applicationStartup = beanFactory != null ? beanFactory.getBean(ApplicationStartup.class) + var applicationStartup = beanFactory != null ? beanFactory.getBean(ApplicationStartup.class) : ApplicationStartup.DEFAULT; return applicationStartup != null ? applicationStartup : ApplicationStartup.DEFAULT; @@ -597,7 +596,7 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, private StartupStep onEvent(ApplicationStartup applicationStartup, String name, Class repositoryInterface) { - StartupStep step = applicationStartup.start(name); + var step = applicationStartup.start(name); return step.tag("repository", repositoryInterface.getName()); } @@ -632,8 +631,8 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, @Override public Object invoke(@SuppressWarnings("null") MethodInvocation invocation) throws Throwable { - Method method = invocation.getMethod(); - Object[] arguments = invocation.getArguments(); + var method = invocation.getMethod(); + var arguments = invocation.getArguments(); try { return composition.invoke(invocationMulticaster, method, arguments); @@ -716,10 +715,9 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, if (this == o) { return true; } - if (!(o instanceof RepositoryInformationCacheKey)) { + if (!(o instanceof RepositoryInformationCacheKey that)) { return false; } - RepositoryInformationCacheKey that = (RepositoryInformationCacheKey) o; if (compositionHash != that.compositionHash) { return false; } @@ -732,7 +730,7 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(repositoryInterfaceName); + var result = ObjectUtils.nullSafeHashCode(repositoryInterfaceName); result = 31 * result + (int) (compositionHash ^ (compositionHash >>> 32)); return result; } @@ -793,7 +791,7 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, public static void validate(RepositoryComposition composition, Class source, RepositoryInformation repositoryInformation) { - Class repositoryInterface = repositoryInformation.getRepositoryInterface(); + var repositoryInterface = repositoryInformation.getRepositoryInterface(); if (repositoryInformation.hasCustomMethod()) { if (composition.isEmpty()) { @@ -807,9 +805,9 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, composition.validateImplementation(); } - for (Map.Entry, String> entry : WELL_KNOWN_EXECUTORS.entrySet()) { + for (var entry : WELL_KNOWN_EXECUTORS.entrySet()) { - Class executorInterface = entry.getKey(); + var executorInterface = entry.getKey(); if (!executorInterface.isAssignableFrom(repositoryInterface)) { continue; } @@ -827,7 +825,7 @@ public abstract class RepositoryFactorySupport implements BeanClassLoaderAware, private static boolean containsFragmentImplementation(RepositoryComposition composition, Class executorInterface) { - for (RepositoryFragment fragment : composition.getFragments()) { + for (var fragment : composition.getFragments()) { if (fragment.getImplementation().filter(executorInterface::isInstance).isPresent()) { return true; diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryFragment.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryFragment.java index e47044743..1cdf0f61d 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryFragment.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryFragment.java @@ -165,11 +165,10 @@ public interface RepositoryFragment { return true; } - if (!(o instanceof StructuralRepositoryFragment)) { + if (!(o instanceof StructuralRepositoryFragment that)) { return false; } - StructuralRepositoryFragment that = (StructuralRepositoryFragment) o; return ObjectUtils.nullSafeEquals(interfaceOrImplementation, that.interfaceOrImplementation); } @@ -262,12 +261,10 @@ public interface RepositoryFragment { return true; } - if (!(o instanceof ImplementedRepositoryFragment)) { + if (!(o instanceof ImplementedRepositoryFragment that)) { return false; } - ImplementedRepositoryFragment that = (ImplementedRepositoryFragment) o; - if (!ObjectUtils.nullSafeEquals(interfaceClass, that.interfaceClass)) { return false; } @@ -285,7 +282,7 @@ public interface RepositoryFragment { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(interfaceClass); + var result = ObjectUtils.nullSafeHashCode(interfaceClass); result = 31 * result + ObjectUtils.nullSafeHashCode(implementation); result = 31 * result + ObjectUtils.nullSafeHashCode(optionalImplementation); return result; diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryInvocationMulticaster.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryInvocationMulticaster.java index 0ceab8f2b..47cb13e66 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryInvocationMulticaster.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryInvocationMulticaster.java @@ -72,7 +72,7 @@ interface RepositoryInvocationMulticaster { @Override public void notifyListeners(Method method, Object[] args, RepositoryMethodInvocation result) { - for (RepositoryMethodInvocationListener methodInvocationListener : methodInvocationListeners) { + for (var methodInvocationListener : methodInvocationListeners) { methodInvocationListener.afterInvocation(result); } } diff --git a/src/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvoker.java b/src/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvoker.java index 1474c1258..2cb044ae0 100644 --- a/src/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvoker.java +++ b/src/main/java/org/springframework/data/repository/core/support/RepositoryMethodInvoker.java @@ -16,7 +16,6 @@ package org.springframework.data.repository.core.support; import kotlin.coroutines.Continuation; -import kotlin.reflect.KFunction; import kotlinx.coroutines.reactive.AwaitKt; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -129,12 +128,12 @@ abstract class RepositoryMethodInvoker { private Object doInvoke(Class repositoryInterface, RepositoryInvocationMulticaster multicaster, Object[] args) throws Exception { - RepositoryMethodInvocationCaptor invocationResultCaptor = RepositoryMethodInvocationCaptor + var invocationResultCaptor = RepositoryMethodInvocationCaptor .captureInvocationOn(repositoryInterface); try { - Object result = invokable.invoke(args); + var result = invokable.invoke(args); if (result != null && ReactiveWrappers.supports(result.getClass())) { return new ReactiveInvocationListenerDecorator().decorate(repositoryInterface, multicaster, args, result); @@ -167,7 +166,7 @@ abstract class RepositoryMethodInvoker { Continuation continuation = (Continuation) args[args.length - 1]; args[args.length - 1] = null; - RepositoryMethodInvocationCaptor invocationResultCaptor = RepositoryMethodInvocationCaptor + var invocationResultCaptor = RepositoryMethodInvocationCaptor .captureInvocationOn(repositoryInterface); try { @@ -280,7 +279,7 @@ abstract class RepositoryMethodInvoker { * We're invoking a method without Continuation as we expect the method to return any sort of reactive type, * therefore we need to strip the Continuation parameter. */ - Object[] invocationArguments = new Object[args.length - 1]; + var invocationArguments = new Object[args.length - 1]; System.arraycopy(args, 0, invocationArguments, 0, invocationArguments.length); return baseClassMethod.invoke(instance, invocationArguments); @@ -331,16 +330,16 @@ abstract class RepositoryMethodInvoker { baseClassMethod.getParameterCount()); } - KFunction declaredFunction = KotlinDetector.isKotlinType(declaredMethod.getDeclaringClass()) + var declaredFunction = KotlinDetector.isKotlinType(declaredMethod.getDeclaringClass()) ? KotlinReflectionUtils.findKotlinFunction(declaredMethod) : null; - KFunction baseClassFunction = KotlinDetector.isKotlinType(baseClassMethod.getDeclaringClass()) + var baseClassFunction = KotlinDetector.isKotlinType(baseClassMethod.getDeclaringClass()) ? KotlinReflectionUtils.findKotlinFunction(baseClassMethod) : null; - boolean suspendedDeclaredMethod = declaredFunction != null && declaredFunction.isSuspend(); - boolean suspendedBaseClassMethod = baseClassFunction != null && baseClassFunction.isSuspend(); - boolean reactiveBaseClassMethod = !suspendedBaseClassMethod + var suspendedDeclaredMethod = declaredFunction != null && declaredFunction.isSuspend(); + var suspendedBaseClassMethod = baseClassFunction != null && baseClassFunction.isSuspend(); + var reactiveBaseClassMethod = !suspendedBaseClassMethod && ReactiveWrapperConverters.supports(baseClassMethod.getReturnType()); return new CoroutineAdapterInformation(suspendedDeclaredMethod, suspendedBaseClassMethod, diff --git a/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java b/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java index d875a5200..ca3b8a4c6 100644 --- a/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java +++ b/src/main/java/org/springframework/data/repository/core/support/TransactionalRepositoryFactoryBeanSupport.java @@ -77,15 +77,15 @@ public abstract class TransactionalRepositoryFactoryBeanSupport userClass = targetClass == null ? targetClass : ProxyUtils.getUserClass(targetClass); + var userClass = targetClass == null ? targetClass : ProxyUtils.getUserClass(targetClass); // The method may be on an interface, but we need attributes from the target class. // If the target class is null, the method will be unchanged. - Method specificMethod = ClassUtils.getMostSpecificMethod(method, userClass); + var specificMethod = ClassUtils.getMostSpecificMethod(method, userClass); // If we are dealing with method with generic parameters, find the original method. specificMethod = BridgeMethodResolver.findBridgedMethod(specificMethod); @@ -178,7 +178,7 @@ class TransactionalRepositoryProxyPostProcessor implements RepositoryProxyPostPr // Fallback to implementation class transaction settings of nothing found // return findTransactionAttribute(method); - Method targetClassMethod = repositoryInformation.getTargetClassMethod(method); + var targetClassMethod = repositoryInformation.getTargetClassMethod(method); if (targetClassMethod.equals(method)) { return null; diff --git a/src/main/java/org/springframework/data/repository/init/AbstractRepositoryPopulatorFactoryBean.java b/src/main/java/org/springframework/data/repository/init/AbstractRepositoryPopulatorFactoryBean.java index d03710224..39508466e 100644 --- a/src/main/java/org/springframework/data/repository/init/AbstractRepositoryPopulatorFactoryBean.java +++ b/src/main/java/org/springframework/data/repository/init/AbstractRepositoryPopulatorFactoryBean.java @@ -78,7 +78,7 @@ public abstract class AbstractRepositoryPopulatorFactoryBean @Override protected ResourceReaderRepositoryPopulator createInstance() { - ResourceReaderRepositoryPopulator initializer = new ResourceReaderRepositoryPopulator(getResourceReader()); + var initializer = new ResourceReaderRepositoryPopulator(getResourceReader()); initializer.setResources(resources); if (context != null) { @@ -96,7 +96,7 @@ public abstract class AbstractRepositoryPopulatorFactoryBean */ public void onApplicationEvent(ContextRefreshedEvent event) { - RepositoryPopulator populator = this.populator; + var populator = this.populator; if (populator == null) { throw new IllegalStateException("RepositoryPopulator was not properly initialized!"); @@ -104,7 +104,7 @@ public abstract class AbstractRepositoryPopulatorFactoryBean if (event.getApplicationContext().equals(context)) { - Repositories repositories = new Repositories(event.getApplicationContext()); + var repositories = new Repositories(event.getApplicationContext()); populator.populate(repositories); } } diff --git a/src/main/java/org/springframework/data/repository/init/Jackson2ResourceReader.java b/src/main/java/org/springframework/data/repository/init/Jackson2ResourceReader.java index 588b89c0f..4f3e1ea56 100644 --- a/src/main/java/org/springframework/data/repository/init/Jackson2ResourceReader.java +++ b/src/main/java/org/springframework/data/repository/init/Jackson2ResourceReader.java @@ -18,9 +18,7 @@ package org.springframework.data.repository.init; import static com.fasterxml.jackson.databind.DeserializationFeature.*; import java.io.IOException; -import java.io.InputStream; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import org.springframework.core.io.Resource; @@ -85,16 +83,16 @@ public class Jackson2ResourceReader implements ResourceReader { Assert.notNull(resource, "Resource must not be null!"); - InputStream stream = resource.getInputStream(); - JsonNode node = mapper.readerFor(JsonNode.class).readTree(stream); + var stream = resource.getInputStream(); + var node = mapper.readerFor(JsonNode.class).readTree(stream); if (node.isArray()) { - Iterator elements = node.elements(); + var elements = node.elements(); List result = new ArrayList<>(); while (elements.hasNext()) { - JsonNode element = elements.next(); + var element = elements.next(); result.add(readSingle(element, classLoader)); } @@ -113,14 +111,14 @@ public class Jackson2ResourceReader implements ResourceReader { */ private Object readSingle(JsonNode node, @Nullable ClassLoader classLoader) throws IOException { - JsonNode typeNode = node.findValue(typeKey); + var typeNode = node.findValue(typeKey); if (typeNode == null) { throw new IllegalArgumentException(String.format("Could not find type for type key '%s'!", typeKey)); } - String typeName = typeNode.asText(); - Class type = ClassUtils.resolveClassName(typeName, classLoader); + var typeName = typeNode.asText(); + var type = ClassUtils.resolveClassName(typeName, classLoader); return mapper.readerFor(type).readValue(node); } diff --git a/src/main/java/org/springframework/data/repository/init/RepositoriesPopulatedEvent.java b/src/main/java/org/springframework/data/repository/init/RepositoriesPopulatedEvent.java index 4aa1b1c1e..6694957c8 100644 --- a/src/main/java/org/springframework/data/repository/init/RepositoriesPopulatedEvent.java +++ b/src/main/java/org/springframework/data/repository/init/RepositoriesPopulatedEvent.java @@ -83,7 +83,7 @@ public class RepositoriesPopulatedEvent extends ApplicationEvent { return false; } - RepositoriesPopulatedEvent that = (RepositoriesPopulatedEvent) obj; + var that = (RepositoriesPopulatedEvent) obj; return this.source.equals(that.source) && this.repositories.equals(that.repositories); } @@ -94,7 +94,7 @@ public class RepositoriesPopulatedEvent extends ApplicationEvent { @Override public int hashCode() { - int result = 17; + var result = 17; result += 31 * source.hashCode(); result += 31 * repositories.hashCode(); diff --git a/src/main/java/org/springframework/data/repository/init/ResourceReaderRepositoryPopulator.java b/src/main/java/org/springframework/data/repository/init/ResourceReaderRepositoryPopulator.java index a07511bbe..54e3e1408 100644 --- a/src/main/java/org/springframework/data/repository/init/ResourceReaderRepositoryPopulator.java +++ b/src/main/java/org/springframework/data/repository/init/ResourceReaderRepositoryPopulator.java @@ -22,6 +22,7 @@ import java.util.Collections; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; + import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationEventPublisherAware; import org.springframework.core.io.Resource; @@ -29,7 +30,6 @@ import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.core.io.support.ResourcePatternResolver; import org.springframework.data.repository.support.DefaultRepositoryInvokerFactory; import org.springframework.data.repository.support.Repositories; -import org.springframework.data.repository.support.RepositoryInvoker; import org.springframework.data.repository.support.RepositoryInvokerFactory; import org.springframework.lang.Nullable; import org.springframework.util.Assert; @@ -116,11 +116,11 @@ public class ResourceReaderRepositoryPopulator implements RepositoryPopulator, A RepositoryInvokerFactory invokerFactory = new DefaultRepositoryInvokerFactory(repositories); - for (Resource resource : resources) { + for (var resource : resources) { logger.info(String.format("Reading resource: %s", resource)); - Object result = readObjectFrom(resource); + var result = readObjectFrom(resource); if (result instanceof Collection) { for (Object element : (Collection) result) { @@ -162,7 +162,7 @@ public class ResourceReaderRepositoryPopulator implements RepositoryPopulator, A */ private void persist(Object object, RepositoryInvokerFactory invokerFactory) { - RepositoryInvoker invoker = invokerFactory.getInvokerFor(object.getClass()); + var invoker = invokerFactory.getInvokerFor(object.getClass()); logger.debug(String.format("Persisting %s using repository %s", object, invoker)); invoker.invokeSave(object); } diff --git a/src/main/java/org/springframework/data/repository/init/UnmarshallerRepositoryPopulatorFactoryBean.java b/src/main/java/org/springframework/data/repository/init/UnmarshallerRepositoryPopulatorFactoryBean.java index 5483df8bf..8af1aaaeb 100644 --- a/src/main/java/org/springframework/data/repository/init/UnmarshallerRepositoryPopulatorFactoryBean.java +++ b/src/main/java/org/springframework/data/repository/init/UnmarshallerRepositoryPopulatorFactoryBean.java @@ -45,7 +45,7 @@ public class UnmarshallerRepositoryPopulatorFactoryBean extends AbstractReposito @Override protected ResourceReader getResourceReader() { - Unmarshaller unmarshaller = this.unmarshaller; + var unmarshaller = this.unmarshaller; if (unmarshaller == null) { throw new IllegalStateException("No Unmarshaller configured!"); diff --git a/src/main/java/org/springframework/data/repository/init/UnmarshallingResourceReader.java b/src/main/java/org/springframework/data/repository/init/UnmarshallingResourceReader.java index 1b45b2e82..ecb284b19 100644 --- a/src/main/java/org/springframework/data/repository/init/UnmarshallingResourceReader.java +++ b/src/main/java/org/springframework/data/repository/init/UnmarshallingResourceReader.java @@ -47,7 +47,7 @@ public class UnmarshallingResourceReader implements ResourceReader { Assert.notNull(resource, "Resource must not be null!"); - StreamSource source = new StreamSource(resource.getInputStream()); + var source = new StreamSource(resource.getInputStream()); return unmarshaller.unmarshal(source); } } diff --git a/src/main/java/org/springframework/data/repository/query/ExtensionAwareQueryMethodEvaluationContextProvider.java b/src/main/java/org/springframework/data/repository/query/ExtensionAwareQueryMethodEvaluationContextProvider.java index c31640386..8c1227196 100644 --- a/src/main/java/org/springframework/data/repository/query/ExtensionAwareQueryMethodEvaluationContextProvider.java +++ b/src/main/java/org/springframework/data/repository/query/ExtensionAwareQueryMethodEvaluationContextProvider.java @@ -24,7 +24,6 @@ import org.springframework.data.spel.ExpressionDependencies; import org.springframework.data.spel.ExtensionAwareEvaluationContextProvider; import org.springframework.data.spel.spi.EvaluationContextExtension; import org.springframework.expression.EvaluationContext; -import org.springframework.expression.spel.support.StandardEvaluationContext; import org.springframework.util.Assert; import org.springframework.util.StringUtils; @@ -75,7 +74,7 @@ public class ExtensionAwareQueryMethodEvaluationContextProvider implements Query @Override public > EvaluationContext getEvaluationContext(T parameters, Object[] parameterValues) { - StandardEvaluationContext evaluationContext = delegate.getEvaluationContext(parameterValues); + var evaluationContext = delegate.getEvaluationContext(parameterValues); evaluationContext.setVariables(collectVariables(parameters, parameterValues)); @@ -90,7 +89,7 @@ public class ExtensionAwareQueryMethodEvaluationContextProvider implements Query public > EvaluationContext getEvaluationContext(T parameters, Object[] parameterValues, ExpressionDependencies dependencies) { - StandardEvaluationContext evaluationContext = delegate.getEvaluationContext(parameterValues, dependencies); + var evaluationContext = delegate.getEvaluationContext(parameterValues, dependencies); evaluationContext.setVariables(collectVariables(parameters, parameterValues)); diff --git a/src/main/java/org/springframework/data/repository/query/Parameter.java b/src/main/java/org/springframework/data/repository/query/Parameter.java index fc21c9073..2d30e354a 100644 --- a/src/main/java/org/springframework/data/repository/query/Parameter.java +++ b/src/main/java/org/springframework/data/repository/query/Parameter.java @@ -17,7 +17,6 @@ package org.springframework.data.repository.query; import static java.lang.String.*; -import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -33,7 +32,6 @@ import org.springframework.data.repository.util.QueryExecutionConverters; import org.springframework.data.repository.util.ReactiveWrapperConverters; import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.Lazy; -import org.springframework.data.util.TypeInformation; import org.springframework.util.Assert; /** @@ -80,7 +78,7 @@ public class Parameter { this.parameterType = potentiallyUnwrapParameterType(parameter); this.isDynamicProjectionParameter = isDynamicProjectionParameter(parameter); this.name = TYPES.contains(parameter.getParameterType()) ? Lazy.of(Optional.empty()) : Lazy.of(() -> { - Param annotation = parameter.getParameterAnnotation(Param.class); + var annotation = parameter.getParameterAnnotation(Param.class); return Optional.ofNullable(annotation == null ? parameter.getParameterName() : annotation.value()); }); } @@ -213,21 +211,21 @@ public class Parameter { */ private static boolean isDynamicProjectionParameter(MethodParameter parameter) { - Method method = parameter.getMethod(); + var method = parameter.getMethod(); if (method == null) { throw new IllegalStateException(String.format("Method parameter %s is not backed by a method!", parameter)); } - ClassTypeInformation ownerType = ClassTypeInformation.from(parameter.getDeclaringClass()); - TypeInformation parameterTypes = ownerType.getParameterTypes(method).get(parameter.getParameterIndex()); + var ownerType = ClassTypeInformation.from(parameter.getDeclaringClass()); + var parameterTypes = ownerType.getParameterTypes(method).get(parameter.getParameterIndex()); if (!parameterTypes.getType().equals(Class.class)) { return false; } - TypeInformation bound = parameterTypes.getTypeArguments().get(0); - TypeInformation returnType = ClassTypeInformation.fromReturnTypeOf(method); + var bound = parameterTypes.getTypeArguments().get(0); + var returnType = ClassTypeInformation.fromReturnTypeOf(method); return bound .equals(QueryExecutionConverters.unwrapWrapperTypes(ReactiveWrapperConverters.unwrapWrapperTypes(returnType))); @@ -265,7 +263,7 @@ public class Parameter { */ private static Class potentiallyUnwrapParameterType(MethodParameter parameter) { - Class originalType = parameter.getParameterType(); + var originalType = parameter.getParameterType(); if (isWrapped(parameter) && shouldUnwrap(parameter)) { return ResolvableType.forMethodParameter(parameter).getGeneric(0).resolve(Object.class); diff --git a/src/main/java/org/springframework/data/repository/query/Parameters.java b/src/main/java/org/springframework/data/repository/query/Parameters.java index ca121e0a2..e3467e163 100644 --- a/src/main/java/org/springframework/data/repository/query/Parameters.java +++ b/src/main/java/org/springframework/data/repository/query/Parameters.java @@ -66,20 +66,20 @@ public abstract class Parameters, T extends Parameter Assert.notNull(method, "Method must not be null!"); - int parameterCount = method.getParameterCount(); + var parameterCount = method.getParameterCount(); this.parameters = new ArrayList<>(parameterCount); this.dynamicProjectionIndex = -1; - int pageableIndex = -1; - int sortIndex = -1; + var pageableIndex = -1; + var sortIndex = -1; - for (int i = 0; i < parameterCount; i++) { + for (var i = 0; i < parameterCount; i++) { - MethodParameter methodParameter = new MethodParameter(method, i); + var methodParameter = new MethodParameter(method, i); methodParameter.initParameterNameDiscovery(PARAMETER_NAME_DISCOVERER); - T parameter = createParameter(methodParameter); + var parameter = createParameter(methodParameter); if (parameter.isSpecialParameter() && parameter.isNamedParameter()) { throw new IllegalArgumentException(PARAM_ON_SPECIAL); @@ -116,13 +116,13 @@ public abstract class Parameters, T extends Parameter this.parameters = new ArrayList<>(originals.size()); - int pageableIndexTemp = -1; - int sortIndexTemp = -1; - int dynamicProjectionTemp = -1; + var pageableIndexTemp = -1; + var sortIndexTemp = -1; + var dynamicProjectionTemp = -1; - for (int i = 0; i < originals.size(); i++) { + for (var i = 0; i < originals.size(); i++) { - T original = originals.get(i); + var original = originals.get(i); this.parameters.add(original); pageableIndexTemp = original.isPageable() ? i : -1; @@ -140,7 +140,7 @@ public abstract class Parameters, T extends Parameter List bindables = new ArrayList<>(); - for (T candidate : this) { + for (var candidate : this) { if (candidate.isBindable()) { bindables.add(candidate); @@ -306,10 +306,10 @@ public abstract class Parameters, T extends Parameter */ private void assertEitherAllParamAnnotatedOrNone() { - boolean nameFound = false; - int index = 0; + var nameFound = false; + var index = 0; - for (T parameter : this.getBindableParameters()) { + for (var parameter : this.getBindableParameters()) { if (parameter.isNamedParameter()) { Assert.isTrue(nameFound || index == 0, ALL_OR_NOTHING); diff --git a/src/main/java/org/springframework/data/repository/query/ParametersParameterAccessor.java b/src/main/java/org/springframework/data/repository/query/ParametersParameterAccessor.java index c1ccbe5c6..4daa69131 100644 --- a/src/main/java/org/springframework/data/repository/query/ParametersParameterAccessor.java +++ b/src/main/java/org/springframework/data/repository/query/ParametersParameterAccessor.java @@ -53,7 +53,7 @@ public class ParametersParameterAccessor implements ParameterAccessor { if (requiresUnwrapping(values)) { this.values = new Object[values.length]; - for (int i = 0; i < values.length; i++) { + for (var i = 0; i < values.length; i++) { this.values[i] = QueryExecutionConverters.unwrap(values[i]); } } else { @@ -63,7 +63,7 @@ public class ParametersParameterAccessor implements ParameterAccessor { private static boolean requiresUnwrapping(Object[] values) { - for (Object value : values) { + for (var value : values) { if (value != null && (QueryExecutionConverters.supports(value.getClass()) || ReactiveWrapperConverters.supports(value.getClass()))) { return true; @@ -102,7 +102,7 @@ public class ParametersParameterAccessor implements ParameterAccessor { return Pageable.unpaged(); } - Pageable pageable = (Pageable) values[parameters.getPageableIndex()]; + var pageable = (Pageable) values[parameters.getPageableIndex()]; return pageable == null ? Pageable.unpaged() : pageable; } @@ -116,7 +116,7 @@ public class ParametersParameterAccessor implements ParameterAccessor { if (parameters.hasSortParameter()) { - Sort sort = (Sort) values[parameters.getSortIndex()]; + var sort = (Sort) values[parameters.getSortIndex()]; return sort == null ? Sort.unsorted() : sort; } diff --git a/src/main/java/org/springframework/data/repository/query/QueryMethod.java b/src/main/java/org/springframework/data/repository/query/QueryMethod.java index 4ce0d2528..4b2711c27 100644 --- a/src/main/java/org/springframework/data/repository/query/QueryMethod.java +++ b/src/main/java/org/springframework/data/repository/query/QueryMethod.java @@ -104,8 +104,8 @@ public class QueryMethod { this.domainClass = Lazy.of(() -> { - Class repositoryDomainClass = metadata.getDomainType(); - Class methodDomainClass = metadata.getReturnedDomainClass(method); + var repositoryDomainClass = metadata.getDomainType(); + var methodDomainClass = metadata.getReturnedDomainClass(method); return repositoryDomainClass == null || repositoryDomainClass.isAssignableFrom(methodDomainClass) ? methodDomainClass @@ -264,7 +264,7 @@ public class QueryMethod { return false; } - Class returnType = metadata.getReturnType(method).getType(); + var returnType = metadata.getReturnType(method).getType(); if (QueryExecutionConverters.supports(returnType) && !QueryExecutionConverters.isSingleValue(returnType)) { return true; @@ -279,13 +279,13 @@ public class QueryMethod { private static Class potentiallyUnwrapReturnTypeFor(RepositoryMetadata metadata, Method method) { - TypeInformation returnType = metadata.getReturnType(method); + var returnType = metadata.getReturnType(method); if (QueryExecutionConverters.supports(returnType.getType()) || ReactiveWrapperConverters.supports(returnType.getType())) { // unwrap only one level to handle cases like Future> correctly. - TypeInformation componentType = returnType.getComponentType(); + var componentType = returnType.getComponentType(); if (componentType == null) { throw new IllegalStateException( @@ -309,7 +309,7 @@ public class QueryMethod { ? returnType.getRequiredComponentType() // : returnType; - for (Class type : types) { + for (var type : types) { if (type.isAssignableFrom(returnType.getType())) { return; } diff --git a/src/main/java/org/springframework/data/repository/query/ReactiveExtensionAwareQueryMethodEvaluationContextProvider.java b/src/main/java/org/springframework/data/repository/query/ReactiveExtensionAwareQueryMethodEvaluationContextProvider.java index b679792e2..c99bf47d3 100644 --- a/src/main/java/org/springframework/data/repository/query/ReactiveExtensionAwareQueryMethodEvaluationContextProvider.java +++ b/src/main/java/org/springframework/data/repository/query/ReactiveExtensionAwareQueryMethodEvaluationContextProvider.java @@ -75,7 +75,7 @@ public class ReactiveExtensionAwareQueryMethodEvaluationContextProvider @Override public > EvaluationContext getEvaluationContext(T parameters, Object[] parameterValues) { - EvaluationContext evaluationContext = delegate.getEvaluationContext(parameterValues); + var evaluationContext = delegate.getEvaluationContext(parameterValues); if (evaluationContext instanceof StandardEvaluationContext) { ((StandardEvaluationContext) evaluationContext).setVariables( @@ -93,7 +93,7 @@ public class ReactiveExtensionAwareQueryMethodEvaluationContextProvider public > EvaluationContext getEvaluationContext(T parameters, Object[] parameterValues, ExpressionDependencies dependencies) { - EvaluationContext evaluationContext = delegate.getEvaluationContext(parameterValues, dependencies); + var evaluationContext = delegate.getEvaluationContext(parameterValues, dependencies); if (evaluationContext instanceof StandardEvaluationContext) { ((StandardEvaluationContext) evaluationContext).setVariables( @@ -111,7 +111,7 @@ public class ReactiveExtensionAwareQueryMethodEvaluationContextProvider public > Mono getEvaluationContextLater(T parameters, Object[] parameterValues) { - Mono evaluationContext = delegate.getEvaluationContextLater(parameterValues); + var evaluationContext = delegate.getEvaluationContextLater(parameterValues); return evaluationContext .doOnNext(it -> it.setVariables( @@ -127,7 +127,7 @@ public class ReactiveExtensionAwareQueryMethodEvaluationContextProvider public > Mono getEvaluationContextLater(T parameters, Object[] parameterValues, ExpressionDependencies dependencies) { - Mono evaluationContext = delegate.getEvaluationContextLater(parameterValues, + var evaluationContext = delegate.getEvaluationContextLater(parameterValues, dependencies); return evaluationContext diff --git a/src/main/java/org/springframework/data/repository/query/ResultProcessor.java b/src/main/java/org/springframework/data/repository/query/ResultProcessor.java index 12419c02b..6e7142790 100644 --- a/src/main/java/org/springframework/data/repository/query/ResultProcessor.java +++ b/src/main/java/org/springframework/data/repository/query/ResultProcessor.java @@ -96,7 +96,7 @@ public class ResultProcessor { Assert.notNull(accessor, "Parameter accessor must not be null!"); - Class projection = accessor.findDynamicProjection(); + var projection = accessor.findDynamicProjection(); return projection == null // ? this // @@ -141,16 +141,15 @@ public class ResultProcessor { Assert.notNull(preparingConverter, "Preparing converter must not be null!"); - ChainingConverter converter = ChainingConverter.of(type.getReturnedType(), preparingConverter).and(this.converter); + var converter = ChainingConverter.of(type.getReturnedType(), preparingConverter).and(this.converter); if (source instanceof Slice && (method.isPageQuery() || method.isSliceQuery())) { return (T) ((Slice) source).map(converter::convert); } - if (source instanceof Collection && method.isCollectionQuery()) { + if (source instanceof Collection collection && method.isCollectionQuery()) { - Collection collection = (Collection) source; - Collection target = createCollectionFor(collection); + var target = createCollectionFor(collection); for (Object columns : collection) { target.add(type.isInstance(columns) ? columns : converter.convert(columns)); @@ -172,7 +171,7 @@ public class ResultProcessor { private ResultProcessor withType(Class type) { - ReturnedType returnedType = ReturnedType.of(type, method.getDomainClass(), factory); + var returnedType = ReturnedType.of(type, method.getDomainClass(), factory); return new ResultProcessor(method, converter.withType(returnedType), factory, returnedType); } @@ -223,7 +222,7 @@ public class ResultProcessor { return source; } - Object intermediate = ChainingConverter.this.convert(source); + var intermediate = ChainingConverter.this.convert(source); return intermediate == null || targetType.isInstance(intermediate) ? intermediate : converter.convert(intermediate); @@ -304,7 +303,7 @@ public class ResultProcessor { @Override public Object convert(Object source) { - Class targetType = type.getReturnedType(); + var targetType = type.getReturnedType(); if (targetType.isInterface()) { return factory.createProjection(targetType, getProjectionTarget(source)); @@ -328,7 +327,7 @@ public class ResultProcessor { private static Map toMap(Collection values, List names) { - int i = 0; + var i = 0; Map result = new HashMap<>(values.size()); for (Object element : values) { diff --git a/src/main/java/org/springframework/data/repository/query/ReturnedType.java b/src/main/java/org/springframework/data/repository/query/ReturnedType.java index af93e97a7..1c6dda0fb 100644 --- a/src/main/java/org/springframework/data/repository/query/ReturnedType.java +++ b/src/main/java/org/springframework/data/repository/query/ReturnedType.java @@ -15,7 +15,6 @@ */ package org.springframework.data.repository.query; -import java.beans.PropertyDescriptor; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -203,7 +202,7 @@ public abstract class ReturnedType { List properties = new ArrayList<>(); - for (PropertyDescriptor descriptor : information.getInputProperties()) { + for (var descriptor : information.getInputProperties()) { if (!properties.contains(descriptor.getName())) { properties.add(descriptor.getName()); } @@ -368,12 +367,10 @@ public abstract class ReturnedType { return true; } - if (!(o instanceof CacheKey)) { + if (!(o instanceof CacheKey cacheKey)) { return false; } - CacheKey cacheKey = (CacheKey) o; - if (projectionFactoryHashCode != cacheKey.projectionFactoryHashCode) { return false; } @@ -391,7 +388,7 @@ public abstract class ReturnedType { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(returnedType); + var result = ObjectUtils.nullSafeHashCode(returnedType); result = 31 * result + ObjectUtils.nullSafeHashCode(domainType); result = 31 * result + projectionFactoryHashCode; return result; diff --git a/src/main/java/org/springframework/data/repository/query/SpelEvaluator.java b/src/main/java/org/springframework/data/repository/query/SpelEvaluator.java index 4e1a034ef..e613c8660 100644 --- a/src/main/java/org/springframework/data/repository/query/SpelEvaluator.java +++ b/src/main/java/org/springframework/data/repository/query/SpelEvaluator.java @@ -21,8 +21,6 @@ import java.util.stream.Collectors; import org.springframework.data.repository.query.SpelQueryContext.SpelExtractor; import org.springframework.data.spel.ExpressionDependencies; -import org.springframework.expression.EvaluationContext; -import org.springframework.expression.Expression; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.lang.Nullable; import org.springframework.util.Assert; @@ -81,8 +79,8 @@ public class SpelEvaluator { @Nullable private Object getSpElValue(String expressionString, Object[] values) { - Expression expression = PARSER.parseExpression(expressionString); - EvaluationContext evaluationContext = evaluationContextProvider.getEvaluationContext(parameters, values, + var expression = PARSER.parseExpression(expressionString); + var evaluationContext = evaluationContextProvider.getEvaluationContext(parameters, values, ExpressionDependencies.discover(expression)); return expression.getValue(evaluationContext); diff --git a/src/main/java/org/springframework/data/repository/query/SpelQueryContext.java b/src/main/java/org/springframework/data/repository/query/SpelQueryContext.java index ac2bec03b..da600be68 100644 --- a/src/main/java/org/springframework/data/repository/query/SpelQueryContext.java +++ b/src/main/java/org/springframework/data/repository/query/SpelQueryContext.java @@ -24,7 +24,6 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.function.BiFunction; -import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Stream; @@ -185,12 +184,12 @@ public class SpelQueryContext { Assert.notNull(query, "Query must not be null"); Map expressions = new HashMap<>(); - Matcher matcher = SPEL_PATTERN.matcher(query); - StringBuilder resultQuery = new StringBuilder(); - QuotationMap quotedAreas = new QuotationMap(query); + var matcher = SPEL_PATTERN.matcher(query); + var resultQuery = new StringBuilder(); + var quotedAreas = new QuotationMap(query); - int expressionCounter = 0; - int matchedUntil = 0; + var expressionCounter = 0; + var matchedUntil = 0; while (matcher.find()) { @@ -200,11 +199,11 @@ public class SpelQueryContext { } else { - String spelExpression = matcher.group(EXPRESSION_GROUP_INDEX); - String prefix = matcher.group(PREFIX_GROUP_INDEX); + var spelExpression = matcher.group(EXPRESSION_GROUP_INDEX); + var prefix = matcher.group(PREFIX_GROUP_INDEX); - String parameterName = parameterNameSource.apply(expressionCounter, spelExpression); - String replacement = replacementSource.apply(prefix, parameterName); + var parameterName = parameterNameSource.apply(expressionCounter, spelExpression); + var replacement = replacementSource.apply(prefix, parameterName); resultQuery.append(query, matchedUntil, matcher.start()); resultQuery.append(replacement); @@ -288,11 +287,11 @@ public class SpelQueryContext { } Character inQuotation = null; - int start = 0; + var start = 0; - for (int i = 0; i < query.length(); i++) { + for (var i = 0; i < query.length(); i++) { - char currentChar = query.charAt(i); + var currentChar = query.charAt(i); if (QUOTING_CHARACTERS.contains(currentChar)) { diff --git a/src/main/java/org/springframework/data/repository/query/parser/AbstractQueryCreator.java b/src/main/java/org/springframework/data/repository/query/parser/AbstractQueryCreator.java index 346a8a36e..1807fd652 100644 --- a/src/main/java/org/springframework/data/repository/query/parser/AbstractQueryCreator.java +++ b/src/main/java/org/springframework/data/repository/query/parser/AbstractQueryCreator.java @@ -22,7 +22,6 @@ import java.util.Optional; import org.springframework.data.domain.Sort; import org.springframework.data.repository.query.ParameterAccessor; import org.springframework.data.repository.query.ParametersParameterAccessor; -import org.springframework.data.repository.query.parser.PartTree.OrPart; import org.springframework.lang.Nullable; import org.springframework.util.Assert; @@ -106,17 +105,17 @@ public abstract class AbstractQueryCreator { private S createCriteria(PartTree tree) { S base = null; - Iterator iterator = parameters.map(ParameterAccessor::iterator).orElse(Collections.emptyIterator()); + var iterator = parameters.map(ParameterAccessor::iterator).orElse(Collections.emptyIterator()); - for (OrPart node : tree) { + for (var node : tree) { - Iterator parts = node.iterator(); + var parts = node.iterator(); if (!parts.hasNext()) { throw new IllegalStateException(String.format("No part found in PartTree %s!", tree)); } - S criteria = create(parts.next(), iterator); + var criteria = create(parts.next(), iterator); while (parts.hasNext()) { criteria = and(parts.next(), criteria, iterator); diff --git a/src/main/java/org/springframework/data/repository/query/parser/OrderBySource.java b/src/main/java/org/springframework/data/repository/query/parser/OrderBySource.java index a47f78415..85eaa5c36 100644 --- a/src/main/java/org/springframework/data/repository/query/parser/OrderBySource.java +++ b/src/main/java/org/springframework/data/repository/query/parser/OrderBySource.java @@ -21,7 +21,6 @@ import java.util.HashSet; import java.util.List; import java.util.Optional; import java.util.Set; -import java.util.regex.Matcher; import java.util.regex.Pattern; import org.springframework.data.domain.Sort; @@ -75,16 +74,16 @@ class OrderBySource { return; } - for (String part : clause.split(BLOCK_SPLIT)) { + for (var part : clause.split(BLOCK_SPLIT)) { - Matcher matcher = DIRECTION_SPLIT.matcher(part); + var matcher = DIRECTION_SPLIT.matcher(part); if (!matcher.find()) { throw new IllegalArgumentException(String.format(INVALID_ORDER_SYNTAX, part)); } - String propertyString = matcher.group(1); - String directionString = matcher.group(2); + var propertyString = matcher.group(1); + var directionString = matcher.group(2); // No property, but only a direction keyword if (DIRECTION_KEYWORDS.contains(propertyString) && directionString == null) { @@ -109,7 +108,7 @@ class OrderBySource { return domainClass.map(type -> { - PropertyPath propertyPath = PropertyPath.from(propertySource, type); + var propertyPath = PropertyPath.from(propertySource, type); return direction.map(it -> new Order(it, propertyPath.toDotPath())) .orElseGet(() -> Order.by(propertyPath.toDotPath())); diff --git a/src/main/java/org/springframework/data/repository/query/parser/Part.java b/src/main/java/org/springframework/data/repository/query/parser/Part.java index dd9933cce..199f2a6e9 100644 --- a/src/main/java/org/springframework/data/repository/query/parser/Part.java +++ b/src/main/java/org/springframework/data/repository/query/parser/Part.java @@ -22,7 +22,6 @@ import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.regex.Matcher; import java.util.regex.Pattern; import org.springframework.data.mapping.PropertyPath; @@ -71,7 +70,7 @@ public class Part { Assert.hasText(source, "Part source must not be null or empty!"); Assert.notNull(clazz, "Type must not be null!"); - String partToUse = detectAndSetIgnoreCase(source); + var partToUse = detectAndSetIgnoreCase(source); if (alwaysIgnoreCase && ignoreCase != IgnoreCaseType.ALWAYS) { this.ignoreCase = IgnoreCaseType.WHEN_POSSIBLE; @@ -83,8 +82,8 @@ public class Part { private String detectAndSetIgnoreCase(String part) { - Matcher matcher = IGNORE_CASE.matcher(part); - String result = part; + var matcher = IGNORE_CASE.matcher(part); + var result = part; if (matcher.find()) { ignoreCase = IgnoreCaseType.ALWAYS; @@ -141,12 +140,10 @@ public class Part { return true; } - if (!(o instanceof Part)) { + if (!(o instanceof Part part)) { return false; } - Part part = (Part) o; - if (!ObjectUtils.nullSafeEquals(propertyPath, part.propertyPath)) { return false; } @@ -164,7 +161,7 @@ public class Part { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(propertyPath); + var result = ObjectUtils.nullSafeHashCode(propertyPath); result = 31 * result + ObjectUtils.nullSafeHashCode(type); result = 31 * result + ObjectUtils.nullSafeHashCode(ignoreCase); return result; @@ -212,7 +209,7 @@ public class Part { static { List allKeywords = new ArrayList<>(); - for (Type type : ALL) { + for (var type : ALL) { allKeywords.addAll(type.keywords); } ALL_KEYWORDS = Collections.unmodifiableList(allKeywords); @@ -248,7 +245,7 @@ public class Part { */ public static Part.Type fromProperty(String rawProperty) { - for (Part.Type type : ALL) { + for (var type : ALL) { if (type.supports(rawProperty)) { return type; } @@ -275,7 +272,7 @@ public class Part { */ protected boolean supports(String property) { - for (String keyword : keywords) { + for (var keyword : keywords) { if (property.endsWith(keyword)) { return true; } @@ -302,9 +299,9 @@ public class Part { */ public String extractProperty(String part) { - String candidate = Introspector.decapitalize(part); + var candidate = Introspector.decapitalize(part); - for (String keyword : keywords) { + for (var keyword : keywords) { if (candidate.endsWith(keyword)) { return candidate.substring(0, candidate.length() - keyword.length()); } diff --git a/src/main/java/org/springframework/data/repository/query/parser/PartTree.java b/src/main/java/org/springframework/data/repository/query/parser/PartTree.java index 3112d806e..0ba1890ef 100644 --- a/src/main/java/org/springframework/data/repository/query/parser/PartTree.java +++ b/src/main/java/org/springframework/data/repository/query/parser/PartTree.java @@ -19,7 +19,6 @@ import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.Optional; -import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -85,7 +84,7 @@ public class PartTree implements Streamable { Assert.notNull(source, "Source must not be null"); Assert.notNull(domainClass, "Domain class must not be null"); - Matcher matcher = PREFIX_TEMPLATE.matcher(source); + var matcher = PREFIX_TEMPLATE.matcher(source); if (!matcher.find()) { this.subject = new Subject(Optional.empty()); @@ -221,7 +220,7 @@ public class PartTree implements Streamable { */ private static String[] split(String text, String keyword) { - Pattern pattern = Pattern.compile(String.format(KEYWORD_TEMPLATE, keyword)); + var pattern = Pattern.compile(String.format(KEYWORD_TEMPLATE, keyword)); return pattern.split(text); } @@ -242,7 +241,7 @@ public class PartTree implements Streamable { */ OrPart(String source, Class domainClass, boolean alwaysIgnoreCase) { - String[] split = split(source, "And"); + var split = split(source, "And"); this.children = Arrays.stream(split)// .filter(StringUtils::hasText)// @@ -307,7 +306,7 @@ public class PartTree implements Streamable { return subject.map(it -> { - Matcher grp = LIMITED_QUERY_TEMPLATE.matcher(it); + var grp = LIMITED_QUERY_TEMPLATE.matcher(it); if (!grp.find()) { return null; @@ -372,7 +371,7 @@ public class PartTree implements Streamable { public Predicate(String predicate, Class domainClass) { - String[] parts = split(detectAndSetAllIgnoreCase(predicate), ORDER_BY); + var parts = split(detectAndSetAllIgnoreCase(predicate), ORDER_BY); if (parts.length > 2) { throw new IllegalArgumentException("OrderBy must not be used more than once in a method name!"); @@ -389,7 +388,7 @@ public class PartTree implements Streamable { private String detectAndSetAllIgnoreCase(String predicate) { - Matcher matcher = ALL_IGNORE_CASE.matcher(predicate); + var matcher = ALL_IGNORE_CASE.matcher(predicate); if (matcher.find()) { alwaysIgnoreCase = true; diff --git a/src/main/java/org/springframework/data/repository/support/AnnotationAttribute.java b/src/main/java/org/springframework/data/repository/support/AnnotationAttribute.java index 4267630a5..d23e058e6 100644 --- a/src/main/java/org/springframework/data/repository/support/AnnotationAttribute.java +++ b/src/main/java/org/springframework/data/repository/support/AnnotationAttribute.java @@ -71,7 +71,7 @@ class AnnotationAttribute { public Optional getValueFrom(MethodParameter parameter) { Assert.notNull(parameter, "MethodParameter must not be null!"); - Annotation annotation = parameter.getParameterAnnotation(annotationType); + var annotation = parameter.getParameterAnnotation(annotationType); return Optional.ofNullable(annotation).map(this::getValueFrom); } @@ -85,7 +85,7 @@ class AnnotationAttribute { public Optional getValueFrom(AnnotatedElement annotatedElement) { Assert.notNull(annotatedElement, "Annotated element must not be null!"); - Annotation annotation = annotatedElement.getAnnotation(annotationType); + var annotation = annotatedElement.getAnnotation(annotationType); return Optional.ofNullable(annotation).map(it -> getValueFrom(annotation)); } diff --git a/src/main/java/org/springframework/data/repository/support/CrudRepositoryInvoker.java b/src/main/java/org/springframework/data/repository/support/CrudRepositoryInvoker.java index 0fcd13c87..afe2d15c3 100644 --- a/src/main/java/org/springframework/data/repository/support/CrudRepositoryInvoker.java +++ b/src/main/java/org/springframework/data/repository/support/CrudRepositoryInvoker.java @@ -22,7 +22,6 @@ import org.springframework.core.convert.ConversionService; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.repository.CrudRepository; -import org.springframework.data.repository.core.CrudMethods; import org.springframework.data.repository.core.RepositoryMetadata; /** @@ -55,7 +54,7 @@ class CrudRepositoryInvoker extends ReflectionRepositoryInvoker { super(repository, metadata, conversionService); - CrudMethods crudMethods = metadata.getCrudMethods(); + var crudMethods = metadata.getCrudMethods(); this.customSaveMethod = isRedeclaredMethod(crudMethods.getSaveMethod()); this.customFindOneMethod = isRedeclaredMethod(crudMethods.getFindOneMethod()); diff --git a/src/main/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactory.java b/src/main/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactory.java index 68b7b49cd..5c43f19ce 100644 --- a/src/main/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactory.java +++ b/src/main/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactory.java @@ -18,7 +18,6 @@ package org.springframework.data.repository.support; import static org.springframework.data.util.Optionals.*; import java.util.Map; -import java.util.Optional; import java.util.concurrent.ConcurrentHashMap; import org.springframework.core.convert.ConversionService; @@ -87,8 +86,8 @@ public class DefaultRepositoryInvokerFactory implements RepositoryInvokerFactory */ private RepositoryInvoker prepareInvokers(Class domainType) { - Optional information = repositories.getRepositoryInformationFor(domainType); - Optional repository = repositories.getRepositoryFor(domainType); + var information = repositories.getRepositoryInformationFor(domainType); + var repository = repositories.getRepositoryFor(domainType); return mapIfAllPresent(information, repository, this::createInvoker)// .orElseThrow( diff --git a/src/main/java/org/springframework/data/repository/support/DomainClassConverter.java b/src/main/java/org/springframework/data/repository/support/DomainClassConverter.java index ad14afd0f..97bbba40b 100644 --- a/src/main/java/org/springframework/data/repository/support/DomainClassConverter.java +++ b/src/main/java/org/springframework/data/repository/support/DomainClassConverter.java @@ -27,7 +27,6 @@ import org.springframework.core.convert.converter.ConditionalGenericConverter; import org.springframework.core.convert.converter.ConverterRegistry; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.core.EntityInformation; -import org.springframework.data.repository.core.RepositoryInformation; import org.springframework.data.util.Lazy; import org.springframework.lang.NonNull; import org.springframework.lang.Nullable; @@ -109,7 +108,7 @@ public class DomainClassConverter { - Repositories repositories = new Repositories(context); + var repositories = new Repositories(context); this.toEntityConverter = Optional.of(new ToEntityConverter(repositories, conversionService)); this.toIdConverter = Optional.of(new ToIdConverter(repositories, conversionService)); @@ -169,11 +168,11 @@ public class DomainClassConverter domainType = targetType.getType(); - RepositoryInvoker invoker = repositoryInvokerFactory.getInvokerFor(domainType); - RepositoryInformation information = repositories.getRequiredRepositoryInformation(domainType); + var domainType = targetType.getType(); + var invoker = repositoryInvokerFactory.getInvokerFor(domainType); + var information = repositories.getRequiredRepositoryInformation(domainType); - Object id = conversionService.convert(source, information.getIdType()); + var id = conversionService.convert(source, information.getIdType()); return id == null ? null : invoker.invokeFindById(id).orElse(null); } @@ -189,17 +188,17 @@ public class DomainClassConverter domainType = targetType.getType(); + var domainType = targetType.getType(); if (!repositories.hasRepositoryFor(domainType)) { return false; } - Optional repositoryInformation = repositories.getRepositoryInformationFor(domainType); + var repositoryInformation = repositories.getRepositoryInformationFor(domainType); return repositoryInformation.map(it -> { - Class rawIdType = it.getIdType(); + var rawIdType = it.getIdType(); return sourceType.equals(TypeDescriptor.valueOf(rawIdType)) || conversionService.canConvert(sourceType.getType(), rawIdType); @@ -251,7 +250,7 @@ public class DomainClassConverter domainType = sourceType.getType(); + var domainType = sourceType.getType(); EntityInformation entityInformation = repositories.getEntityInformationFor(domainType); @@ -269,17 +268,17 @@ public class DomainClassConverter domainType = sourceType.getType(); + var domainType = sourceType.getType(); if (!repositories.hasRepositoryFor(domainType)) { return false; } - Optional information = repositories.getRepositoryInformationFor(domainType); + var information = repositories.getRepositoryInformationFor(domainType); return information.map(it -> { - Class rawIdType = it.getIdType(); + var rawIdType = it.getIdType(); return targetType.equals(TypeDescriptor.valueOf(rawIdType)) || conversionService.canConvert(rawIdType, targetType.getType()); diff --git a/src/main/java/org/springframework/data/repository/support/MethodParameters.java b/src/main/java/org/springframework/data/repository/support/MethodParameters.java index 4b6e6039a..6f32c893a 100644 --- a/src/main/java/org/springframework/data/repository/support/MethodParameters.java +++ b/src/main/java/org/springframework/data/repository/support/MethodParameters.java @@ -62,7 +62,7 @@ class MethodParameters { Assert.notNull(method, "Method must not be null!"); this.parameters = new ArrayList<>(); - for (int i = 0; i < method.getParameterCount(); i++) { + for (var i = 0; i < method.getParameterCount(); i++) { MethodParameter parameter = new AnnotationNamingMethodParameter(method, i, namingAnnotation); parameter.initParameterNameDiscovery(discoverer); diff --git a/src/main/java/org/springframework/data/repository/support/PagingAndSortingRepositoryInvoker.java b/src/main/java/org/springframework/data/repository/support/PagingAndSortingRepositoryInvoker.java index 1c606acb9..b5cf7eb65 100644 --- a/src/main/java/org/springframework/data/repository/support/PagingAndSortingRepositoryInvoker.java +++ b/src/main/java/org/springframework/data/repository/support/PagingAndSortingRepositoryInvoker.java @@ -22,7 +22,6 @@ import org.springframework.core.convert.ConversionService; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.repository.PagingAndSortingRepository; -import org.springframework.data.repository.core.CrudMethods; import org.springframework.data.repository.core.RepositoryMetadata; /** @@ -50,7 +49,7 @@ class PagingAndSortingRepositoryInvoker extends CrudRepositoryInvoker { super(repository, metadata, conversionService); - CrudMethods crudMethods = metadata.getCrudMethods(); + var crudMethods = metadata.getCrudMethods(); this.repository = repository; this.customFindAll = isRedeclaredMethod(crudMethods.getFindAllMethod()); diff --git a/src/main/java/org/springframework/data/repository/support/ReflectionRepositoryInvoker.java b/src/main/java/org/springframework/data/repository/support/ReflectionRepositoryInvoker.java index fa64c2fe7..1f0715c18 100644 --- a/src/main/java/org/springframework/data/repository/support/ReflectionRepositoryInvoker.java +++ b/src/main/java/org/springframework/data/repository/support/ReflectionRepositoryInvoker.java @@ -117,7 +117,7 @@ class ReflectionRepositoryInvoker implements RepositoryInvoker { @Override public T invokeSave(T object) { - Method method = methods.getSaveMethod()// + var method = methods.getSaveMethod()// .orElseThrow(() -> new IllegalStateException("Repository doesn't have a save-method declared!")); return invokeForNonNullResult(method, object); @@ -139,7 +139,7 @@ class ReflectionRepositoryInvoker implements RepositoryInvoker { @Override public Optional invokeFindById(Object id) { - Method method = methods.getFindOneMethod()// + var method = methods.getFindOneMethod()// .orElseThrow(() -> new IllegalStateException("Repository doesn't have a find-one-method declared!")); return returnAsOptional(invoke(method, convertId(id))); @@ -163,7 +163,7 @@ class ReflectionRepositoryInvoker implements RepositoryInvoker { Assert.notNull(id, "Identifier must not be null!"); - Method method = methods.getDeleteMethod() + var method = methods.getDeleteMethod() .orElseThrow(() -> new IllegalStateException("Repository doesn't have a delete-method declared!")); if (method.getName().endsWith("ById")) { @@ -194,19 +194,19 @@ class ReflectionRepositoryInvoker implements RepositoryInvoker { private Object[] prepareParameters(Method method, MultiValueMap rawParameters, Pageable pageable, Sort sort) { - List parameters = new MethodParameters(method, Optional.of(PARAM_ANNOTATION)).getParameters(); + var parameters = new MethodParameters(method, Optional.of(PARAM_ANNOTATION)).getParameters(); if (parameters.isEmpty()) { return new Object[0]; } - Object[] result = new Object[parameters.size()]; - Sort sortToUse = pageable.getSortOr(sort); + var result = new Object[parameters.size()]; + var sortToUse = pageable.getSortOr(sort); - for (int i = 0; i < result.length; i++) { + for (var i = 0; i < result.length; i++) { - MethodParameter param = parameters.get(i); - Class targetType = param.getParameterType(); + var param = parameters.get(i); + var targetType = param.getParameterType(); if (Pageable.class.isAssignableFrom(targetType)) { result[i] = pageable; @@ -214,13 +214,13 @@ class ReflectionRepositoryInvoker implements RepositoryInvoker { result[i] = sortToUse; } else { - String parameterName = param.getParameterName(); + var parameterName = param.getParameterName(); if (!StringUtils.hasText(parameterName)) { throw new IllegalArgumentException(String.format(NAME_NOT_FOUND, ClassUtils.getQualifiedMethodName(method))); } - Object value = unwrapSingleElement(rawParameters.get(parameterName)); + var value = unwrapSingleElement(rawParameters.get(parameterName)); result[i] = targetType.isInstance(value) ? value : convert(value, param); } @@ -290,7 +290,7 @@ class ReflectionRepositoryInvoker implements RepositoryInvoker { return id; } - Object result = conversionService.convert(id, idType); + var result = conversionService.convert(id, idType); if (result == null) { throw new IllegalStateException( @@ -302,14 +302,14 @@ class ReflectionRepositoryInvoker implements RepositoryInvoker { protected Iterable invokeFindAllReflectively(Pageable pageable) { - Method method = methods.getFindAllMethod() + var method = methods.getFindAllMethod() .orElseThrow(() -> new IllegalStateException("Repository doesn't have a find-all-method declared!")); if (method.getParameterCount() == 0) { return invokeForNonNullResult(method); } - Class[] types = method.getParameterTypes(); + var types = method.getParameterTypes(); if (Pageable.class.isAssignableFrom(types[0])) { return invokeForNonNullResult(method, pageable); @@ -320,7 +320,7 @@ class ReflectionRepositoryInvoker implements RepositoryInvoker { protected Iterable invokeFindAllReflectively(Sort sort) { - Method method = methods.getFindAllMethod() + var method = methods.getFindAllMethod() .orElseThrow(() -> new IllegalStateException("Repository doesn't have a find-all-method declared!")); if (method.getParameterCount() == 0) { diff --git a/src/main/java/org/springframework/data/repository/support/Repositories.java b/src/main/java/org/springframework/data/repository/support/Repositories.java index e3316aded..4d231f1f6 100644 --- a/src/main/java/org/springframework/data/repository/support/Repositories.java +++ b/src/main/java/org/springframework/data/repository/support/Repositories.java @@ -91,7 +91,7 @@ public class Repositories implements Iterable> { private void populateRepositoryFactoryInformation(ListableBeanFactory factory) { - for (String name : BeanFactoryUtils.beanNamesForTypeIncludingAncestors(factory, RepositoryFactoryInformation.class, + for (var name : BeanFactoryUtils.beanNamesForTypeIncludingAncestors(factory, RepositoryFactoryInformation.class, false, false)) { cacheRepositoryFactory(name); } @@ -100,19 +100,19 @@ public class Repositories implements Iterable> { @SuppressWarnings("rawtypes") private synchronized void cacheRepositoryFactory(String name) { - RepositoryFactoryInformation repositoryFactoryInformation = beanFactory.get().getBean(name, + var repositoryFactoryInformation = beanFactory.get().getBean(name, RepositoryFactoryInformation.class); - Class domainType = ClassUtils + var domainType = ClassUtils .getUserClass(repositoryFactoryInformation.getRepositoryInformation().getDomainType()); - RepositoryInformation information = repositoryFactoryInformation.getRepositoryInformation(); - Set> alternativeDomainTypes = information.getAlternativeDomainTypes(); + var information = repositoryFactoryInformation.getRepositoryInformation(); + var alternativeDomainTypes = information.getAlternativeDomainTypes(); Set> typesToRegister = new HashSet<>(alternativeDomainTypes.size() + 1); typesToRegister.add(domainType); typesToRegister.addAll(alternativeDomainTypes); - for (Class type : typesToRegister) { + for (var type : typesToRegister) { cacheFirstOrPrimary(type, repositoryFactoryInformation, BeanFactoryUtils.transformedBeanName(name)); } } @@ -128,7 +128,7 @@ public class Repositories implements Iterable> { Assert.notNull(domainClass, DOMAIN_TYPE_MUST_NOT_BE_NULL); - Class userClass = domainTypeMapping.get(ProxyUtils.getUserClass(domainClass)); + var userClass = domainTypeMapping.get(ProxyUtils.getUserClass(domainClass)); return repositoryFactoryInfos.containsKey(userClass); } @@ -144,8 +144,8 @@ public class Repositories implements Iterable> { Assert.notNull(domainClass, DOMAIN_TYPE_MUST_NOT_BE_NULL); - Class userClass = domainTypeMapping.get(ProxyUtils.getUserClass(domainClass)); - Optional repositoryBeanName = Optional.ofNullable(repositoryBeanNames.get(userClass)); + var userClass = domainTypeMapping.get(ProxyUtils.getUserClass(domainClass)); + var repositoryBeanName = Optional.ofNullable(repositoryBeanNames.get(userClass)); return beanFactory.flatMap(it -> repositoryBeanName.map(it::getBean)); } @@ -163,8 +163,8 @@ public class Repositories implements Iterable> { Assert.notNull(domainClass, DOMAIN_TYPE_MUST_NOT_BE_NULL); - Class userType = domainTypeMapping.get(ProxyUtils.getUserClass(domainClass)); - RepositoryFactoryInformation repositoryInfo = repositoryFactoryInfos.get(userType); + var userType = domainTypeMapping.get(ProxyUtils.getUserClass(domainClass)); + var repositoryInfo = repositoryFactoryInfos.get(userType); if (repositoryInfo != null) { return repositoryInfo; @@ -206,7 +206,7 @@ public class Repositories implements Iterable> { Assert.notNull(domainClass, DOMAIN_TYPE_MUST_NOT_BE_NULL); - RepositoryFactoryInformation information = getRepositoryFactoryInfoFor(domainClass); + var information = getRepositoryFactoryInfoFor(domainClass); return information == EMPTY_REPOSITORY_FACTORY_INFO ? Optional.empty() : Optional.of(information.getRepositoryInformation()); } @@ -293,7 +293,7 @@ public class Repositories implements Iterable> { if (repositoryBeanNames.containsKey(type)) { - Optional factoryToUse = this.beanFactory.map(it -> { + var factoryToUse = this.beanFactory.map(it -> { if (it instanceof ConfigurableListableBeanFactory) { return (ConfigurableListableBeanFactory) it; @@ -306,7 +306,7 @@ public class Repositories implements Iterable> { return null; }); - Boolean presentAndPrimary = factoryToUse.map(it -> it.getMergedBeanDefinition(name)) // + var presentAndPrimary = factoryToUse.map(it -> it.getMergedBeanDefinition(name)) // .map(BeanDefinition::isPrimary) // .orElse(false); @@ -331,13 +331,13 @@ public class Repositories implements Iterable> { Assert.notNull(domainType, "Domain type must not be null!"); - Set> declaredTypes = repositoryBeanNames.keySet(); + var declaredTypes = repositoryBeanNames.keySet(); if (declaredTypes.contains(domainType)) { return domainType; } - for (Class declaredType : declaredTypes) { + for (var declaredType : declaredTypes) { if (declaredType.isAssignableFrom(domainType)) { return declaredType; } diff --git a/src/main/java/org/springframework/data/repository/util/ClassUtils.java b/src/main/java/org/springframework/data/repository/util/ClassUtils.java index 626388e0b..f3857c03f 100644 --- a/src/main/java/org/springframework/data/repository/util/ClassUtils.java +++ b/src/main/java/org/springframework/data/repository/util/ClassUtils.java @@ -72,7 +72,7 @@ public abstract class ClassUtils { public static void ifPresent(String className, @Nullable ClassLoader classLoader, Consumer> action) { try { - Class theClass = org.springframework.util.ClassUtils.forName(className, classLoader); + var theClass = org.springframework.util.ClassUtils.forName(className, classLoader); action.accept(theClass); } catch (IllegalAccessError err) { throw new IllegalStateException( @@ -112,8 +112,8 @@ public abstract class ClassUtils { */ public static int getNumberOfOccurences(Method method, Class type) { - int result = 0; - for (Class clazz : method.getParameterTypes()) { + var result = 0; + for (var clazz : method.getParameterTypes()) { if (type.equals(clazz)) { result++; } @@ -134,7 +134,7 @@ public abstract class ClassUtils { Assert.notNull(method, "Method must not be null!"); Assert.notEmpty(types, "Types must not be null or empty!"); - TypeInformation returnType = getEffectivelyReturnedTypeFrom(method); + var returnType = getEffectivelyReturnedTypeFrom(method); Arrays.stream(types)// .filter(it -> it.isAssignableFrom(returnType.getType()))// diff --git a/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java b/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java index cd7e74db4..63f30356c 100644 --- a/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java +++ b/src/main/java/org/springframework/data/repository/util/QueryExecutionConverters.java @@ -124,7 +124,7 @@ public abstract class QueryExecutionConverters { return supportsCache.computeIfAbsent(type, key -> { - for (WrapperType candidate : WRAPPER_TYPES) { + for (var candidate : WRAPPER_TYPES) { if (candidate.getType().isAssignableFrom(key)) { return true; } @@ -148,7 +148,7 @@ public abstract class QueryExecutionConverters { return NullableWrapperConverters.supportsUnwrapping(type); } - for (WrapperType candidate : UNWRAPPER_TYPES) { + for (var candidate : UNWRAPPER_TYPES) { if (candidate.getType().isAssignableFrom(type)) { return true; } @@ -163,7 +163,7 @@ public abstract class QueryExecutionConverters { return NullableWrapperConverters.isSingleValue(type); } - for (WrapperType candidate : WRAPPER_TYPES) { + for (var candidate : WRAPPER_TYPES) { if (candidate.getType().isAssignableFrom(type)) { return candidate.isSingleValue(); } @@ -219,9 +219,9 @@ public abstract class QueryExecutionConverters { return source; } - for (Converter converter : UNWRAPPERS) { + for (var converter : UNWRAPPERS) { - Object result = converter.convert(source); + var result = converter.convert(source); if (result != source) { return result; @@ -241,9 +241,9 @@ public abstract class QueryExecutionConverters { Assert.notNull(type, "type must not be null"); - Class rawType = type.getType(); + var rawType = type.getType(); - boolean needToUnwrap = type.isCollectionLike() // + var needToUnwrap = type.isCollectionLike() // || Slice.class.isAssignableFrom(rawType) // || GeoResults.class.isAssignableFrom(rawType) // || rawType.isArray() // @@ -330,8 +330,8 @@ public abstract class QueryExecutionConverters { return null; } - org.springframework.data.util.NullableWrapper wrapper = (NullableWrapper) source; - Object value = wrapper.getValue(); + var wrapper = (NullableWrapper) source; + var value = wrapper.getValue(); // TODO: Add Recursive conversion once we move to Spring 4 return value == null ? nullValue : wrap(value); @@ -513,12 +513,10 @@ public abstract class QueryExecutionConverters { return true; } - if (!(o instanceof WrapperType)) { + if (!(o instanceof WrapperType that)) { return false; } - WrapperType that = (WrapperType) o; - if (!ObjectUtils.nullSafeEquals(type, that.type)) { return false; } @@ -532,7 +530,7 @@ public abstract class QueryExecutionConverters { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(type); + var result = ObjectUtils.nullSafeHashCode(type); result = 31 * result + ObjectUtils.nullSafeHashCode(cardinality); return result; } diff --git a/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java b/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java index 8de61e956..ce157e8b3 100644 --- a/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java +++ b/src/main/java/org/springframework/data/repository/util/ReactiveWrapperConverters.java @@ -28,7 +28,6 @@ import java.util.function.Function; import org.reactivestreams.Publisher; -import org.springframework.core.ReactiveAdapter; import org.springframework.core.ReactiveAdapterRegistry; import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.TypeDescriptor; @@ -147,7 +146,7 @@ public abstract class ReactiveWrapperConverters { Assert.notNull(type, "type must not be null"); - Class rawType = type.getType(); + var rawType = type.getType(); return supports(rawType) ? unwrapWrapperTypes(type.getRequiredComponentType()) : type; } @@ -521,10 +520,10 @@ public abstract class ReactiveWrapperConverters { public Converter getConverter(Class targetType) { return source -> { - Publisher publisher = source instanceof Publisher ? (Publisher) source + var publisher = source instanceof Publisher ? (Publisher) source : RegistryHolder.REACTIVE_ADAPTER_REGISTRY.getAdapter(Publisher.class, source).toPublisher(source); - ReactiveAdapter adapter = RegistryHolder.REACTIVE_ADAPTER_REGISTRY.getAdapter(targetType); + var adapter = RegistryHolder.REACTIVE_ADAPTER_REGISTRY.getAdapter(targetType); return (T) adapter.fromPublisher(publisher); }; diff --git a/src/main/java/org/springframework/data/repository/util/ReactiveWrappers.java b/src/main/java/org/springframework/data/repository/util/ReactiveWrappers.java index 85a498039..ae69a2bcb 100644 --- a/src/main/java/org/springframework/data/repository/util/ReactiveWrappers.java +++ b/src/main/java/org/springframework/data/repository/util/ReactiveWrappers.java @@ -21,8 +21,6 @@ import reactor.core.publisher.Mono; import java.util.Arrays; import java.util.Optional; -import org.springframework.core.ReactiveAdapter; -import org.springframework.core.ReactiveAdapterRegistry; import org.springframework.core.ReactiveTypeDescriptor; import org.springframework.data.util.ProxyUtils; import org.springframework.data.util.ReflectionUtils; @@ -205,13 +203,13 @@ public abstract class ReactiveWrappers { Assert.notNull(type, "Wrapper type must not be null!"); - ReactiveAdapterRegistry adapterRegistry = ReactiveWrapperConverters.RegistryHolder.REACTIVE_ADAPTER_REGISTRY; + var adapterRegistry = ReactiveWrapperConverters.RegistryHolder.REACTIVE_ADAPTER_REGISTRY; if (adapterRegistry == null) { return Optional.empty(); } - ReactiveAdapter adapter = adapterRegistry.getAdapter(type); + var adapter = adapterRegistry.getAdapter(type); if (adapter != null && adapter.getDescriptor().isDeferred()) { return Optional.of(adapter.getDescriptor()); } diff --git a/src/main/java/org/springframework/data/repository/util/VavrCollections.java b/src/main/java/org/springframework/data/repository/util/VavrCollections.java index e4e56d2d9..30e83be30 100644 --- a/src/main/java/org/springframework/data/repository/util/VavrCollections.java +++ b/src/main/java/org/springframework/data/repository/util/VavrCollections.java @@ -117,7 +117,7 @@ class VavrCollections { @Override public Object convert(@Nullable Object source, TypeDescriptor sourceDescriptor, TypeDescriptor targetDescriptor) { - Class targetType = targetDescriptor.getType(); + var targetType = targetDescriptor.getType(); if (io.vavr.collection.Seq.class.isAssignableFrom(targetType)) { return io.vavr.collection.List.ofAll((Iterable) source); diff --git a/src/main/java/org/springframework/data/spel/EvaluationContextExtensionInformation.java b/src/main/java/org/springframework/data/spel/EvaluationContextExtensionInformation.java index f470cf4eb..1aaaef658 100644 --- a/src/main/java/org/springframework/data/spel/EvaluationContextExtensionInformation.java +++ b/src/main/java/org/springframework/data/spel/EvaluationContextExtensionInformation.java @@ -17,7 +17,6 @@ package org.springframework.data.spel; import static org.springframework.data.util.StreamUtils.*; -import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; @@ -74,7 +73,7 @@ class EvaluationContextExtensionInformation { Assert.notNull(type, "Extension type must not be null!"); - Class rootObjectType = org.springframework.data.util.ReflectionUtils.findRequiredMethod(type, "getRootObject") + var rootObjectType = org.springframework.data.util.ReflectionUtils.findRequiredMethod(type, "getRootObject") .getReturnType(); this.rootObjectInformation = Optional @@ -221,8 +220,8 @@ class EvaluationContextExtensionInformation { return false; } - boolean methodStatic = Modifier.isStatic(method.getModifiers()); - boolean staticMatch = staticOnly ? methodStatic : !methodStatic; + var methodStatic = Modifier.isStatic(method.getModifiers()); + var staticMatch = staticOnly ? methodStatic : !methodStatic; return Modifier.isPublic(method.getModifiers()) && staticMatch; } @@ -234,8 +233,8 @@ class EvaluationContextExtensionInformation { @Override public boolean matches(Field field) { - boolean fieldStatic = Modifier.isStatic(field.getModifiers()); - boolean staticMatch = staticOnly ? fieldStatic : !fieldStatic; + var fieldStatic = Modifier.isStatic(field.getModifiers()); + var staticMatch = staticOnly ? fieldStatic : !fieldStatic; return Modifier.isPublic(field.getModifiers()) && staticMatch; } @@ -274,7 +273,7 @@ class EvaluationContextExtensionInformation { return; } - Streamable descriptors = Streamable.of(BeanUtils.getPropertyDescriptors(type)); + var descriptors = Streamable.of(BeanUtils.getPropertyDescriptors(type)); ReflectionUtils.doWithMethods(type, method -> { @@ -343,7 +342,7 @@ class EvaluationContextExtensionInformation { return true; } - for (Field field : fields) { + for (var field : fields) { if (field.getName().equals(dependency.getSymbol())) { return true; } diff --git a/src/main/java/org/springframework/data/spel/ExpressionDependencies.java b/src/main/java/org/springframework/data/spel/ExpressionDependencies.java index 82cd59422..f63ffde78 100644 --- a/src/main/java/org/springframework/data/spel/ExpressionDependencies.java +++ b/src/main/java/org/springframework/data/spel/ExpressionDependencies.java @@ -138,7 +138,7 @@ public class ExpressionDependencies implements Streamable extensions) { - StandardEvaluationContext context = new StandardEvaluationContext(); + var context = new StandardEvaluationContext(); if (beanFactory != null) { context.setBeanResolver(new BeanFactoryResolver(beanFactory)); } - ExtensionAwarePropertyAccessor accessor = new ExtensionAwarePropertyAccessor(extensions); + var accessor = new ExtensionAwarePropertyAccessor(extensions); context.addPropertyAccessor(accessor); context.addPropertyAccessor(new ReflectivePropertyAccessor()); @@ -152,9 +150,8 @@ public class ExtensionAwareEvaluationContextProvider implements EvaluationContex for (ExtensionIdAware candidate : getExtensions()) { - if (candidate instanceof EvaluationContextExtension) { + if (candidate instanceof EvaluationContextExtension extension) { - EvaluationContextExtension extension = (EvaluationContextExtension) candidate; if (extensionFilter.test(getOrCreateInformation(extension))) { extensionsToUse.add(extension); } @@ -337,14 +334,12 @@ public class ExtensionAwareEvaluationContextProvider implements EvaluationContex */ private TypedValue lookupPropertyFrom(EvaluationContextExtensionAdapter extension, String name) { - Object value = extension.getProperties().get(name); + var value = extension.getProperties().get(name); - if (!(value instanceof Function)) { + if (!(value instanceof Function function)) { return new TypedValue(value); } - Function function = (Function) value; - try { return new TypedValue(function.invoke(new Object[0])); } catch (Exception e) { @@ -412,9 +407,9 @@ public class ExtensionAwareEvaluationContextProvider implements EvaluationContex Assert.notNull(extension, "Extension must not be null!"); Assert.notNull(information, "Extension information must not be null!"); - Optional target = Optional.ofNullable(extension.getRootObject()); - ExtensionTypeInformation extensionTypeInformation = information.getExtensionTypeInformation(); - RootObjectInformation rootObjectInformation = information.getRootObjectInformation(target); + var target = Optional.ofNullable(extension.getRootObject()); + var extensionTypeInformation = information.getExtensionTypeInformation(); + var rootObjectInformation = information.getRootObjectInformation(target); functions.addAll(extension.getFunctions()); functions.addAll(rootObjectInformation.getFunctions(target)); diff --git a/src/main/java/org/springframework/data/spel/Functions.java b/src/main/java/org/springframework/data/spel/Functions.java index ab4c18113..556f509c4 100644 --- a/src/main/java/org/springframework/data/spel/Functions.java +++ b/src/main/java/org/springframework/data/spel/Functions.java @@ -20,7 +20,6 @@ import java.util.List; import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; -import java.util.stream.Stream; import org.springframework.core.convert.TypeDescriptor; import org.springframework.data.spel.spi.Function; @@ -47,7 +46,7 @@ class Functions { newFunctions.forEach((n, f) -> { - List currentElements = get(n); + var currentElements = get(n); if (!contains(currentElements, f)) { functions.add(n, f); @@ -59,7 +58,7 @@ class Functions { newFunctions.forEach((k, list) -> { - List currentElements = get(k); + var currentElements = get(k); list.stream() // .filter(f -> !contains(currentElements, f)) // @@ -83,10 +82,10 @@ class Functions { */ Optional get(String name, List argumentTypes) { - Stream candidates = get(name).stream() // + var candidates = get(name).stream() // .filter(f -> f.supports(argumentTypes)); - List collect = candidates.collect(Collectors.toList()); + var collect = candidates.collect(Collectors.toList()); return bestMatch(collect, argumentTypes); } @@ -105,7 +104,7 @@ class Functions { return Optional.of(candidates.get(0)); } - Optional exactMatch = candidates.stream().filter(f -> f.supportsExact(argumentTypes)).findFirst(); + var exactMatch = candidates.stream().filter(f -> f.supportsExact(argumentTypes)).findFirst(); if (!exactMatch.isPresent()) { throw new IllegalStateException(createErrorMessage(candidates, argumentTypes)); @@ -116,7 +115,7 @@ class Functions { private static String createErrorMessage(List candidates, List argumentTypes) { - String argumentTypeString = argumentTypes.stream()// + var argumentTypeString = argumentTypes.stream()// .map(TypeDescriptor::getName)// .collect(Collectors.joining(",")); diff --git a/src/main/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProvider.java b/src/main/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProvider.java index ed0f62b0f..e0ab2640f 100644 --- a/src/main/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProvider.java +++ b/src/main/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProvider.java @@ -114,14 +114,13 @@ public class ReactiveExtensionAwareEvaluationContextProvider implements Reactive private Mono> getExtensions( Predicate extensionFilter) { - Collection extensions = evaluationContextProvider.getExtensions(); + var extensions = evaluationContextProvider.getExtensions(); return Flux.fromIterable(extensions).concatMap(it -> { - if (it instanceof EvaluationContextExtension) { + if (it instanceof EvaluationContextExtension extension) { - EvaluationContextExtension extension = (EvaluationContextExtension) it; - EvaluationContextExtensionInformation information = evaluationContextProvider.getOrCreateInformation(extension); + var information = evaluationContextProvider.getOrCreateInformation(extension); if (extensionFilter.test(information)) { return Mono.just(extension); @@ -130,16 +129,15 @@ public class ReactiveExtensionAwareEvaluationContextProvider implements Reactive return Mono.empty(); } - if (it instanceof ReactiveEvaluationContextExtension) { + if (it instanceof ReactiveEvaluationContextExtension extension) { - ReactiveEvaluationContextExtension extension = (ReactiveEvaluationContextExtension) it; - ResolvableType actualType = getExtensionType(it); + var actualType = getExtensionType(it); if (actualType.equals(ResolvableType.NONE) || actualType.isAssignableFrom(GENERIC_EXTENSION_TYPE)) { return extension.getExtension(); } - EvaluationContextExtensionInformation information = evaluationContextProvider + var information = evaluationContextProvider .getOrCreateInformation((Class) actualType.getRawClass()); if (extensionFilter.test(information)) { diff --git a/src/main/java/org/springframework/data/spel/spi/Function.java b/src/main/java/org/springframework/data/spel/spi/Function.java index e33eae38c..5bfda6f31 100644 --- a/src/main/java/org/springframework/data/spel/spi/Function.java +++ b/src/main/java/org/springframework/data/spel/spi/Function.java @@ -82,23 +82,23 @@ public class Function { return method.invoke(target, arguments); } - Class[] types = method.getParameterTypes(); - Class tailType = types[types.length - 1]; + var types = method.getParameterTypes(); + var tailType = types[types.length - 1]; if (tailType.isArray()) { List argumentsToUse = new ArrayList<>(types.length); // Add all arguments up until the last one - for (int i = 0; i < types.length - 1; i++) { + for (var i = 0; i < types.length - 1; i++) { argumentsToUse.add(arguments[i]); } // Gather all other arguments into an array of the tail type - Object[] varargs = (Object[]) Array.newInstance(tailType.getComponentType(), arguments.length - types.length + 1); - int count = 0; + var varargs = (Object[]) Array.newInstance(tailType.getComponentType(), arguments.length - types.length + 1); + var count = 0; - for (int i = types.length - 1; i < arguments.length; i++) { + for (var i = types.length - 1; i < arguments.length; i++) { varargs[count++] = arguments[i]; } diff --git a/src/main/java/org/springframework/data/support/ExampleMatcherAccessor.java b/src/main/java/org/springframework/data/support/ExampleMatcherAccessor.java index a2740fd9f..38b981786 100644 --- a/src/main/java/org/springframework/data/support/ExampleMatcherAccessor.java +++ b/src/main/java/org/springframework/data/support/ExampleMatcherAccessor.java @@ -19,7 +19,6 @@ import java.util.Collection; import org.springframework.data.domain.ExampleMatcher; import org.springframework.data.domain.ExampleMatcher.PropertySpecifier; -import org.springframework.data.domain.ExampleMatcher.StringMatcher; /** * Accessor for the {@link ExampleMatcher} to use in modules that support query by example (QBE) querying. @@ -87,8 +86,8 @@ public class ExampleMatcherAccessor { return matcher.getDefaultStringMatcher(); } - ExampleMatcher.PropertySpecifier specifier = getPropertySpecifier(path); - StringMatcher stringMatcher = specifier.getStringMatcher(); + var specifier = getPropertySpecifier(path); + var stringMatcher = specifier.getStringMatcher(); return stringMatcher != null ? stringMatcher : matcher.getDefaultStringMatcher(); } @@ -138,8 +137,8 @@ public class ExampleMatcherAccessor { return matcher.isIgnoreCaseEnabled(); } - ExampleMatcher.PropertySpecifier specifier = getPropertySpecifier(path); - Boolean ignoreCase = specifier.getIgnoreCase(); + var specifier = getPropertySpecifier(path); + var ignoreCase = specifier.getIgnoreCase(); return ignoreCase != null ? ignoreCase : matcher.isIgnoreCaseEnabled(); } diff --git a/src/main/java/org/springframework/data/transaction/ChainedTransactionManager.java b/src/main/java/org/springframework/data/transaction/ChainedTransactionManager.java index 2496cc997..17812913f 100644 --- a/src/main/java/org/springframework/data/transaction/ChainedTransactionManager.java +++ b/src/main/java/org/springframework/data/transaction/ChainedTransactionManager.java @@ -21,10 +21,10 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; + import org.springframework.lang.Nullable; import org.springframework.transaction.CannotCreateTransactionException; import org.springframework.transaction.HeuristicCompletionException; @@ -107,7 +107,7 @@ public class ChainedTransactionManager implements PlatformTransactionManager { */ public MultiTransactionStatus getTransaction(@Nullable TransactionDefinition definition) throws TransactionException { - MultiTransactionStatus mts = new MultiTransactionStatus(transactionManagers.get(0)); + var mts = new MultiTransactionStatus(transactionManagers.get(0)); if (definition == null) { return mts; @@ -120,15 +120,15 @@ public class ChainedTransactionManager implements PlatformTransactionManager { try { - for (PlatformTransactionManager transactionManager : transactionManagers) { + for (var transactionManager : transactionManagers) { mts.registerTransactionManager(definition, transactionManager); } } catch (Exception ex) { - Map transactionStatuses = mts.getTransactionStatuses(); + var transactionStatuses = mts.getTransactionStatuses(); - for (PlatformTransactionManager transactionManager : transactionManagers) { + for (var transactionManager : transactionManagers) { try { if (transactionStatuses.get(transactionManager) != null) { transactionManager.rollback(transactionStatuses.get(transactionManager)); @@ -154,13 +154,13 @@ public class ChainedTransactionManager implements PlatformTransactionManager { */ public void commit(TransactionStatus status) throws TransactionException { - MultiTransactionStatus multiTransactionStatus = (MultiTransactionStatus) status; + var multiTransactionStatus = (MultiTransactionStatus) status; - boolean commit = true; + var commit = true; Exception commitException = null; PlatformTransactionManager commitExceptionTransactionManager = null; - for (PlatformTransactionManager transactionManager : reverse(transactionManagers)) { + for (var transactionManager : reverse(transactionManagers)) { if (commit) { @@ -189,8 +189,8 @@ public class ChainedTransactionManager implements PlatformTransactionManager { } if (commitException != null) { - boolean firstTransactionManagerFailed = commitExceptionTransactionManager == getLastTransactionManager(); - int transactionState = firstTransactionManagerFailed ? HeuristicCompletionException.STATE_ROLLED_BACK + var firstTransactionManagerFailed = commitExceptionTransactionManager == getLastTransactionManager(); + var transactionState = firstTransactionManagerFailed ? HeuristicCompletionException.STATE_ROLLED_BACK : HeuristicCompletionException.STATE_MIXED; throw new HeuristicCompletionException(transactionState, commitException); } @@ -205,9 +205,9 @@ public class ChainedTransactionManager implements PlatformTransactionManager { Exception rollbackException = null; PlatformTransactionManager rollbackExceptionTransactionManager = null; - MultiTransactionStatus multiTransactionStatus = (MultiTransactionStatus) status; + var multiTransactionStatus = (MultiTransactionStatus) status; - for (PlatformTransactionManager transactionManager : reverse(transactionManagers)) { + for (var transactionManager : reverse(transactionManagers)) { try { multiTransactionStatus.rollback(transactionManager); } catch (Exception ex) { diff --git a/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java b/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java index 398a286ba..06091a4f4 100644 --- a/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java +++ b/src/main/java/org/springframework/data/transaction/MultiTransactionStatus.java @@ -70,7 +70,7 @@ class MultiTransactionStatus implements TransactionStatus { } public void commit(PlatformTransactionManager transactionManager) { - TransactionStatus transactionStatus = getTransactionStatus(transactionManager); + var transactionStatus = getTransactionStatus(transactionManager); transactionManager.commit(transactionStatus); } @@ -120,7 +120,7 @@ class MultiTransactionStatus implements TransactionStatus { * @see org.springframework.transaction.TransactionStatus#setRollbackOnly() */ public void setRollbackOnly() { - for (TransactionStatus ts : transactionStatuses.values()) { + for (var ts : transactionStatuses.values()) { ts.setRollbackOnly(); } } @@ -131,9 +131,9 @@ class MultiTransactionStatus implements TransactionStatus { */ public Object createSavepoint() throws TransactionException { - SavePoints savePoints = new SavePoints(); + var savePoints = new SavePoints(); - for (TransactionStatus transactionStatus : transactionStatuses.values()) { + for (var transactionStatus : transactionStatuses.values()) { savePoints.save(transactionStatus); } return savePoints; @@ -144,7 +144,7 @@ class MultiTransactionStatus implements TransactionStatus { * @see org.springframework.transaction.SavepointManager#rollbackToSavepoint(java.lang.Object) */ public void rollbackToSavepoint(Object savepoint) throws TransactionException { - SavePoints savePoints = (SavePoints) savepoint; + var savePoints = (SavePoints) savepoint; savePoints.rollback(); } @@ -161,7 +161,7 @@ class MultiTransactionStatus implements TransactionStatus { * @see org.springframework.transaction.TransactionStatus#flush() */ public void flush() { - for (TransactionStatus transactionStatus : transactionStatuses.values()) { + for (var transactionStatus : transactionStatuses.values()) { transactionStatus.flush(); } } @@ -185,12 +185,12 @@ class MultiTransactionStatus implements TransactionStatus { } private void save(TransactionStatus transactionStatus) { - Object savepoint = transactionStatus.createSavepoint(); + var savepoint = transactionStatus.createSavepoint(); addSavePoint(transactionStatus, savepoint); } public void rollback() { - for (TransactionStatus transactionStatus : savepoints.keySet()) { + for (var transactionStatus : savepoints.keySet()) { transactionStatus.rollbackToSavepoint(savepointFor(transactionStatus)); } } @@ -200,7 +200,7 @@ class MultiTransactionStatus implements TransactionStatus { } public void release() { - for (TransactionStatus transactionStatus : savepoints.keySet()) { + for (var transactionStatus : savepoints.keySet()) { transactionStatus.releaseSavepoint(savepointFor(transactionStatus)); } } diff --git a/src/main/java/org/springframework/data/type/classreading/DefaultMethodsMetadataReader.java b/src/main/java/org/springframework/data/type/classreading/DefaultMethodsMetadataReader.java index 45bcfa31f..b431aaaeb 100644 --- a/src/main/java/org/springframework/data/type/classreading/DefaultMethodsMetadataReader.java +++ b/src/main/java/org/springframework/data/type/classreading/DefaultMethodsMetadataReader.java @@ -53,7 +53,7 @@ class DefaultMethodsMetadataReader implements MethodsMetadataReader { DefaultMethodsMetadataReader(Resource resource, @Nullable ClassLoader classLoader) throws IOException { - MethodsMetadataReadingVisitor visitor = new MethodsMetadataReadingVisitor(classLoader); + var visitor = new MethodsMetadataReadingVisitor(classLoader); createClassReader(resource).accept(visitor, ClassReader.SKIP_DEBUG); this.resource = resource; @@ -131,7 +131,7 @@ class DefaultMethodsMetadataReader implements MethodsMetadataReader { return super.visitMethod(access, name, desc, signature, exceptions); } - MethodMetadataReadingVisitor visitor = new MethodMetadataReadingVisitor(name, access, getClassName(), + var visitor = new MethodMetadataReadingVisitor(name, access, getClassName(), Type.getReturnType(desc).getClassName(), this.classLoader, this.methodMetadataSet); this.methodMetadataSet.add(visitor); diff --git a/src/main/java/org/springframework/data/util/AnnotatedTypeScanner.java b/src/main/java/org/springframework/data/util/AnnotatedTypeScanner.java index d73c8882a..2c22f3c9e 100644 --- a/src/main/java/org/springframework/data/util/AnnotatedTypeScanner.java +++ b/src/main/java/org/springframework/data/util/AnnotatedTypeScanner.java @@ -21,7 +21,6 @@ import java.util.HashSet; import java.util.Set; import org.springframework.beans.factory.annotation.AnnotatedBeanDefinition; -import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.EnvironmentAware; import org.springframework.context.ResourceLoaderAware; import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider; @@ -102,20 +101,20 @@ public class AnnotatedTypeScanner implements ResourceLoaderAware, EnvironmentAwa provider.setEnvironment(environment); } - for (Class annotationType : annotationTypess) { + for (var annotationType : annotationTypess) { provider.addIncludeFilter(new AnnotationTypeFilter(annotationType, true, considerInterfaces)); } Set> types = new HashSet<>(); - ResourceLoader loader = resourceLoader; - ClassLoader classLoader = loader == null ? null : loader.getClassLoader(); + var loader = resourceLoader; + var classLoader = loader == null ? null : loader.getClassLoader(); - for (String basePackage : basePackages) { + for (var basePackage : basePackages) { - for (BeanDefinition definition : provider.findCandidateComponents(basePackage)) { + for (var definition : provider.findCandidateComponents(basePackage)) { - String beanClassName = definition.getBeanClassName(); + var beanClassName = definition.getBeanClassName(); if (beanClassName == null) { throw new IllegalStateException( diff --git a/src/main/java/org/springframework/data/util/AnnotationDetectionFieldCallback.java b/src/main/java/org/springframework/data/util/AnnotationDetectionFieldCallback.java index 2d8270b14..72b28d164 100755 --- a/src/main/java/org/springframework/data/util/AnnotationDetectionFieldCallback.java +++ b/src/main/java/org/springframework/data/util/AnnotationDetectionFieldCallback.java @@ -83,7 +83,7 @@ public class AnnotationDetectionFieldCallback implements FieldCallback { */ public Field getRequiredField() { - Field field = this.field; + var field = this.field; if (field == null) { throw new IllegalStateException(String.format("No field found for annotation %s!", annotationType)); @@ -100,7 +100,7 @@ public class AnnotationDetectionFieldCallback implements FieldCallback { @Nullable public Class getType() { - Field field = this.field; + var field = this.field; return field == null ? null : field.getType(); } @@ -127,7 +127,7 @@ public class AnnotationDetectionFieldCallback implements FieldCallback { Assert.notNull(source, "Source object must not be null!"); - Field field = this.field; + var field = this.field; if (field == null) { return null; diff --git a/src/main/java/org/springframework/data/util/AnnotationDetectionMethodCallback.java b/src/main/java/org/springframework/data/util/AnnotationDetectionMethodCallback.java index 61612c0aa..a8b12d9fd 100644 --- a/src/main/java/org/springframework/data/util/AnnotationDetectionMethodCallback.java +++ b/src/main/java/org/springframework/data/util/AnnotationDetectionMethodCallback.java @@ -78,7 +78,7 @@ public class AnnotationDetectionMethodCallback implements */ public Method getRequiredMethod() { - Method method = this.foundMethod; + var method = this.foundMethod; if (method == null) { throw new IllegalStateException(String.format("No method with annotation %s found!", annotationType)); @@ -115,7 +115,7 @@ public class AnnotationDetectionMethodCallback implements return; } - A foundAnnotation = AnnotatedElementUtils.findMergedAnnotation(method, annotationType); + var foundAnnotation = AnnotatedElementUtils.findMergedAnnotation(method, annotationType); if (foundAnnotation != null) { diff --git a/src/main/java/org/springframework/data/util/BeanLookup.java b/src/main/java/org/springframework/data/util/BeanLookup.java index 45c40b920..a36a9eb42 100644 --- a/src/main/java/org/springframework/data/util/BeanLookup.java +++ b/src/main/java/org/springframework/data/util/BeanLookup.java @@ -15,8 +15,6 @@ */ package org.springframework.data.util; -import java.util.Map; - import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.ListableBeanFactory; import org.springframework.beans.factory.NoUniqueBeanDefinitionException; @@ -63,7 +61,7 @@ public abstract class BeanLookup { @Nullable private static T lookupBean(Class type, ListableBeanFactory beanFactory) { - Map names = beanFactory.getBeansOfType(type, false, false); + var names = beanFactory.getBeansOfType(type, false, false); switch (names.size()) { diff --git a/src/main/java/org/springframework/data/util/ClassTypeInformation.java b/src/main/java/org/springframework/data/util/ClassTypeInformation.java index de575ad66..2ba8e0c89 100644 --- a/src/main/java/org/springframework/data/util/ClassTypeInformation.java +++ b/src/main/java/org/springframework/data/util/ClassTypeInformation.java @@ -25,7 +25,6 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Map.Entry; import java.util.Set; import org.springframework.core.GenericTypeResolver; @@ -112,17 +111,17 @@ public class ClassTypeInformation extends TypeDiscoverer { visited.add(type); } - Map source = GenericTypeResolver.getTypeVariableMap(type); + var source = GenericTypeResolver.getTypeVariableMap(type); Map, Type> map = new HashMap<>(source.size()); - for (Entry entry : source.entrySet()) { + for (var entry : source.entrySet()) { - Type value = entry.getValue(); + var value = entry.getValue(); map.put(entry.getKey(), entry.getValue()); if (value instanceof Class) { - for (Entry, Type> nestedEntry : getTypeVariableMap((Class) value, visited).entrySet()) { + for (var nestedEntry : getTypeVariableMap((Class) value, visited).entrySet()) { if (!map.containsKey(nestedEntry.getKey())) { map.put(nestedEntry.getKey(), nestedEntry.getValue()); } diff --git a/src/main/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapper.java b/src/main/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapper.java index 2d750367a..135d4bb4c 100644 --- a/src/main/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapper.java +++ b/src/main/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapper.java @@ -17,8 +17,6 @@ package org.springframework.data.util; import static org.springframework.util.ReflectionUtils.*; -import java.lang.reflect.Field; - import org.springframework.beans.BeanWrapperImpl; import org.springframework.beans.NotReadablePropertyException; import org.springframework.beans.NotWritablePropertyException; @@ -52,7 +50,7 @@ public class DirectFieldAccessFallbackBeanWrapper extends BeanWrapperImpl { return super.getPropertyValue(propertyName); } catch (NotReadablePropertyException e) { - Field field = findField(getWrappedClass(), propertyName); + var field = findField(getWrappedClass(), propertyName); if (field == null) { throw new NotReadablePropertyException(getWrappedClass(), propertyName, @@ -75,7 +73,7 @@ public class DirectFieldAccessFallbackBeanWrapper extends BeanWrapperImpl { super.setPropertyValue(propertyName, value); } catch (NotWritablePropertyException e) { - Field field = findField(getWrappedClass(), propertyName); + var field = findField(getWrappedClass(), propertyName); if (field == null) { throw new NotWritablePropertyException(getWrappedClass(), propertyName, diff --git a/src/main/java/org/springframework/data/util/GenericArrayTypeInformation.java b/src/main/java/org/springframework/data/util/GenericArrayTypeInformation.java index 0c6f6bd06..ac371c80e 100644 --- a/src/main/java/org/springframework/data/util/GenericArrayTypeInformation.java +++ b/src/main/java/org/springframework/data/util/GenericArrayTypeInformation.java @@ -17,7 +17,6 @@ package org.springframework.data.util; import java.lang.reflect.Array; import java.lang.reflect.GenericArrayType; -import java.lang.reflect.Type; import org.springframework.lang.NonNull; @@ -61,7 +60,7 @@ class GenericArrayTypeInformation extends ParentTypeAwareTypeInformation { @NonNull protected TypeInformation doGetComponentType() { - Type componentType = type.getGenericComponentType(); + var componentType = type.getGenericComponentType(); return createInfo(componentType); } diff --git a/src/main/java/org/springframework/data/util/KotlinReflectionUtils.java b/src/main/java/org/springframework/data/util/KotlinReflectionUtils.java index f4c6c15c5..dd854abc4 100644 --- a/src/main/java/org/springframework/data/util/KotlinReflectionUtils.java +++ b/src/main/java/org/springframework/data/util/KotlinReflectionUtils.java @@ -17,11 +17,9 @@ package org.springframework.data.util; import kotlin.jvm.JvmClassMappingKt; import kotlin.reflect.KCallable; -import kotlin.reflect.KClass; import kotlin.reflect.KFunction; import kotlin.reflect.KMutableProperty; import kotlin.reflect.KProperty; -import kotlin.reflect.KType; import kotlin.reflect.jvm.KTypesJvm; import kotlin.reflect.jvm.ReflectJvmMapping; @@ -78,7 +76,7 @@ public final class KotlinReflectionUtils { return false; } - KClass kotlinClass = JvmClassMappingKt.getKotlinClass(type); + var kotlinClass = JvmClassMappingKt.getKotlinClass(type); return kotlinClass.isData(); } @@ -92,7 +90,7 @@ public final class KotlinReflectionUtils { @Nullable public static KFunction findKotlinFunction(Method method) { - KFunction kotlinFunction = ReflectJvmMapping.getKotlinFunction(method); + var kotlinFunction = ReflectJvmMapping.getKotlinFunction(method); // Fallback to own lookup because there's no public Kotlin API for that kind of lookup until // https://youtrack.jetbrains.com/issue/KT-20768 gets resolved. @@ -108,7 +106,7 @@ public final class KotlinReflectionUtils { */ public static boolean isSuspend(Method method) { - KFunction invokedFunction = KotlinDetector.isKotlinType(method.getDeclaringClass()) ? findKotlinFunction(method) + var invokedFunction = KotlinDetector.isKotlinType(method.getDeclaringClass()) ? findKotlinFunction(method) : null; return invokedFunction != null && invokedFunction.isSuspend(); @@ -122,7 +120,7 @@ public final class KotlinReflectionUtils { */ public static Class getReturnType(Method method) { - KFunction kotlinFunction = KotlinReflectionUtils.findKotlinFunction(method); + var kotlinFunction = KotlinReflectionUtils.findKotlinFunction(method); if (kotlinFunction == null) { throw new IllegalArgumentException(String.format("Cannot resolve %s to a KFunction!", method)); @@ -140,13 +138,13 @@ public final class KotlinReflectionUtils { */ static boolean isNullable(MethodParameter parameter) { - Method method = parameter.getMethod(); + var method = parameter.getMethod(); if (method == null) { throw new IllegalStateException(String.format("Cannot obtain method from parameter %s!", parameter)); } - KFunction kotlinFunction = findKotlinFunction(method); + var kotlinFunction = findKotlinFunction(method); if (kotlinFunction == null) { throw new IllegalArgumentException(String.format("Cannot resolve %s to a Kotlin function!", parameter)); @@ -160,7 +158,7 @@ public final class KotlinReflectionUtils { // see https://github.com/spring-projects/spring-framework/issues/23991 if (kotlinFunction.getParameters().size() > parameter.getParameterIndex() + 1) { - KType type = parameter.getParameterIndex() == -1 // + var type = parameter.getParameterIndex() == -1 // ? kotlinFunction.getReturnType() // : kotlinFunction.getParameters().get(parameter.getParameterIndex() + 1).getType(); @@ -172,7 +170,7 @@ public final class KotlinReflectionUtils { private static boolean isLast(MethodParameter parameter) { - Method method = parameter.getMethod(); + var method = parameter.getMethod(); return method != null && parameter.getParameterIndex() == method.getParameterCount() - 1; } @@ -185,7 +183,7 @@ public final class KotlinReflectionUtils { */ private static Optional> findKFunction(Method method) { - KClass kotlinClass = JvmClassMappingKt.getKotlinClass(method.getDeclaringClass()); + var kotlinClass = JvmClassMappingKt.getKotlinClass(method.getDeclaringClass()); return kotlinClass.getMembers() // .stream() // @@ -196,15 +194,13 @@ public final class KotlinReflectionUtils { private static Stream> toKFunctionStream(KCallable it) { - if (it instanceof KMutableProperty) { + if (it instanceof KMutableProperty property) { - KMutableProperty property = (KMutableProperty) it; return Stream.of(property.getGetter(), property.getSetter()); } - if (it instanceof KProperty) { + if (it instanceof KProperty property) { - KProperty property = (KProperty) it; return Stream.of(property.getGetter()); } @@ -217,7 +213,7 @@ public final class KotlinReflectionUtils { private static boolean isSame(KFunction function, Method method) { - Method javaMethod = ReflectJvmMapping.getJavaMethod(function); + var javaMethod = ReflectJvmMapping.getJavaMethod(function); return javaMethod != null && javaMethod.equals(method); } diff --git a/src/main/java/org/springframework/data/util/Lazy.java b/src/main/java/org/springframework/data/util/Lazy.java index 410a602c9..a34fa3636 100644 --- a/src/main/java/org/springframework/data/util/Lazy.java +++ b/src/main/java/org/springframework/data/util/Lazy.java @@ -109,7 +109,7 @@ public class Lazy implements Supplier { */ public T get() { - T value = getNullable(); + var value = getNullable(); if (value == null) { throw new IllegalStateException("Expected lazy evaluation to yield a non-null value but got null!"); @@ -164,7 +164,7 @@ public class Lazy implements Supplier { @Nullable public T orElse(@Nullable T value) { - T nullable = getNullable(); + var nullable = getNullable(); return nullable == null ? value : nullable; } @@ -181,7 +181,7 @@ public class Lazy implements Supplier { Assert.notNull(supplier, "Default value supplier must not be null!"); - T value = getNullable(); + var value = getNullable(); return value == null ? supplier.get() : value; } @@ -242,12 +242,10 @@ public class Lazy implements Supplier { return true; } - if (!(o instanceof Lazy)) { + if (!(o instanceof Lazy lazy)) { return false; } - Lazy lazy = (Lazy) o; - if (resolved != lazy.resolved) { return false; } @@ -266,7 +264,7 @@ public class Lazy implements Supplier { @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(supplier); + var result = ObjectUtils.nullSafeHashCode(supplier); result = 31 * result + ObjectUtils.nullSafeHashCode(value); result = 31 * result + (resolved ? 1 : 0); diff --git a/src/main/java/org/springframework/data/util/MethodInvocationRecorder.java b/src/main/java/org/springframework/data/util/MethodInvocationRecorder.java index 52a9b8cf5..8bcf2eb5c 100644 --- a/src/main/java/org/springframework/data/util/MethodInvocationRecorder.java +++ b/src/main/java/org/springframework/data/util/MethodInvocationRecorder.java @@ -83,9 +83,9 @@ public class MethodInvocationRecorder { @SuppressWarnings("unchecked") private Recorded create(Class type) { - RecordingMethodInterceptor interceptor = new RecordingMethodInterceptor(); + var interceptor = new RecordingMethodInterceptor(); - ProxyFactory proxyFactory = new ProxyFactory(); + var proxyFactory = new ProxyFactory(); proxyFactory.addAdvice(interceptor); if (!type.isInterface()) { @@ -95,7 +95,7 @@ public class MethodInvocationRecorder { proxyFactory.addInterface(type); } - T proxy = (T) proxyFactory.getProxy(type.getClassLoader()); + var proxy = (T) proxyFactory.getProxy(type.getClassLoader()); return new Recorded(proxy, new MethodInvocationRecorder(Optional.ofNullable(interceptor))); } @@ -116,23 +116,23 @@ public class MethodInvocationRecorder { @SuppressWarnings("null") public Object invoke(MethodInvocation invocation) throws Throwable { - Method method = invocation.getMethod(); - Object[] arguments = invocation.getArguments(); + var method = invocation.getMethod(); + var arguments = invocation.getArguments(); if (ReflectionUtils.isObjectMethod(method)) { return method.invoke(this, arguments); } - ResolvableType type = ResolvableType.forMethodReturnType(method); - Class rawType = type.resolve(Object.class); + var type = ResolvableType.forMethodReturnType(method); + var rawType = type.resolve(Object.class); if (Collection.class.isAssignableFrom(rawType)) { - Class clazz = type.getGeneric(0).resolve(Object.class); + var clazz = type.getGeneric(0).resolve(Object.class); - InvocationInformation information = registerInvocation(method, clazz); + var information = registerInvocation(method, clazz); - Collection collection = CollectionFactory.createCollection(rawType, 1); + var collection = CollectionFactory.createCollection(rawType, 1); collection.add(information.getCurrentInstance()); return collection; @@ -140,10 +140,10 @@ public class MethodInvocationRecorder { if (Map.class.isAssignableFrom(rawType)) { - Class clazz = type.getGeneric(1).resolve(Object.class); - InvocationInformation information = registerInvocation(method, clazz); + var clazz = type.getGeneric(1).resolve(Object.class); + var information = registerInvocation(method, clazz); - Map map = CollectionFactory.createMap(rawType, 1); + var map = CollectionFactory.createMap(rawType, 1); map.put("_key_", information.getCurrentInstance()); return map; @@ -158,8 +158,8 @@ public class MethodInvocationRecorder { private InvocationInformation registerInvocation(Method method, Class proxyType) { - Recorded create = Modifier.isFinal(proxyType.getModifiers()) ? new Unrecorded() : create(proxyType); - InvocationInformation information = new InvocationInformation(create, method); + var create = Modifier.isFinal(proxyType.getModifiers()) ? new Unrecorded() : create(proxyType); + var information = new InvocationInformation(create, method); return this.information = information; } @@ -187,14 +187,14 @@ public class MethodInvocationRecorder { Optional getPropertyPath(List strategies) { - Method invokedMethod = this.invokedMethod; + var invokedMethod = this.invokedMethod; if (invokedMethod == null) { return Optional.empty(); } - String propertyName = getPropertyName(invokedMethod, strategies); - Optional next = recorded.getPropertyPath(strategies); + var propertyName = getPropertyName(invokedMethod, strategies); + var next = recorded.getPropertyPath(strategies); return Optionals.firstNonEmpty(() -> next.map(it -> propertyName.concat(".").concat(it)), // () -> Optional.of(propertyName)); @@ -229,12 +229,10 @@ public class MethodInvocationRecorder { return true; } - if (!(o instanceof InvocationInformation)) { + if (!(o instanceof InvocationInformation that)) { return false; } - InvocationInformation that = (InvocationInformation) o; - if (!ObjectUtils.nullSafeEquals(recorded, that.recorded)) { return false; } @@ -249,7 +247,7 @@ public class MethodInvocationRecorder { @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(recorded); + var result = ObjectUtils.nullSafeHashCode(recorded); result = 31 * result + ObjectUtils.nullSafeHashCode(invokedMethod); @@ -289,8 +287,8 @@ public class MethodInvocationRecorder { private static String getPropertyName(Class type, String methodName) { - String pattern = getPatternFor(type); - String replaced = methodName.replaceFirst(pattern, ""); + var pattern = getPatternFor(type); + var replaced = methodName.replaceFirst(pattern, ""); return StringUtils.uncapitalize(replaced); } @@ -317,14 +315,14 @@ public class MethodInvocationRecorder { public Optional getPropertyPath(PropertyNameDetectionStrategy strategy) { - MethodInvocationRecorder recorder = this.recorder; + var recorder = this.recorder; return recorder == null ? Optional.empty() : recorder.getPropertyPath(Arrays.asList(strategy)); } public Optional getPropertyPath(List strategies) { - MethodInvocationRecorder recorder = this.recorder; + var recorder = this.recorder; return recorder == null ? Optional.empty() : recorder.getPropertyPath(strategies); } diff --git a/src/main/java/org/springframework/data/util/MultiValueMapCollector.java b/src/main/java/org/springframework/data/util/MultiValueMapCollector.java index 417a3959e..44ceaa111 100644 --- a/src/main/java/org/springframework/data/util/MultiValueMapCollector.java +++ b/src/main/java/org/springframework/data/util/MultiValueMapCollector.java @@ -74,7 +74,7 @@ class MultiValueMapCollector implements Collector { - for (K key : map2.keySet()) { + for (var key : map2.keySet()) { map1.addAll(key, map2.get(key)); } diff --git a/src/main/java/org/springframework/data/util/NullableUtils.java b/src/main/java/org/springframework/data/util/NullableUtils.java index 836ae3213..a66d23510 100644 --- a/src/main/java/org/springframework/data/util/NullableUtils.java +++ b/src/main/java/org/springframework/data/util/NullableUtils.java @@ -22,8 +22,6 @@ import java.lang.reflect.Method; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; -import java.util.List; -import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.function.Predicate; @@ -36,7 +34,6 @@ import org.springframework.core.annotation.MergedAnnotations; import org.springframework.lang.NonNullApi; import org.springframework.lang.Nullable; import org.springframework.util.ClassUtils; -import org.springframework.util.MultiValueMap; /** * Utility methods to introspect nullability rules declared in packages, classes and methods. @@ -132,9 +129,9 @@ public abstract class NullableUtils { */ public static boolean isNonNull(AnnotatedElement element, ElementType elementType) { - for (Annotation annotation : element.getAnnotations()) { + for (var annotation : element.getAnnotations()) { - boolean isNonNull = NON_NULL_ANNOTATION_CLASS.isPresent() ? isNonNull(annotation, elementType) + var isNonNull = NON_NULL_ANNOTATION_CLASS.isPresent() ? isNonNull(annotation, elementType) : NON_NULLABLE_ANNOTATIONS.contains(annotation.annotationType()); if (isNonNull) { @@ -151,7 +148,7 @@ public abstract class NullableUtils { return false; } - Class annotationClass = NON_NULL_ANNOTATION_CLASS.get(); + var annotationClass = NON_NULL_ANNOTATION_CLASS.get(); if (annotation.annotationType().equals(annotationClass)) { return true; @@ -186,9 +183,9 @@ public abstract class NullableUtils { private static boolean isExplicitNullable(Annotation[] annotations) { - for (Annotation annotation : annotations) { + for (var annotation : annotations) { - boolean isNullable = NON_NULL_ANNOTATION_CLASS.isPresent() ? isNullable(annotation) + var isNullable = NON_NULL_ANNOTATION_CLASS.isPresent() ? isNullable(annotation) : NULLABLE_ANNOTATIONS.contains(annotation.annotationType()); if (isNullable) { @@ -227,21 +224,21 @@ public abstract class NullableUtils { if (annotation.annotationType().getName().equals(metaAnnotationName)) { - Map attributes = AnnotationUtils.getAnnotationAttributes(annotation); + var attributes = AnnotationUtils.getAnnotationAttributes(annotation); return !attributes.isEmpty() && filter.test((T) attributes.get(attribute)); } - MultiValueMap attributes = AnnotatedElementUtils + var attributes = AnnotatedElementUtils .getAllAnnotationAttributes(annotation.annotationType(), metaAnnotationName); if (attributes == null || attributes.isEmpty()) { return false; } - List elementTypes = attributes.get(attribute); + var elementTypes = attributes.get(attribute); - for (Object value : elementTypes) { + for (var value : elementTypes) { if (filter.test((T) value)) { return true; diff --git a/src/main/java/org/springframework/data/util/NullableWrapper.java b/src/main/java/org/springframework/data/util/NullableWrapper.java index ce91012da..a3eee6982 100644 --- a/src/main/java/org/springframework/data/util/NullableWrapper.java +++ b/src/main/java/org/springframework/data/util/NullableWrapper.java @@ -47,7 +47,7 @@ public class NullableWrapper { */ public Class getValueType() { - Object value = this.value; + var value = this.value; return value == null ? Object.class : value.getClass(); } diff --git a/src/main/java/org/springframework/data/util/NullableWrapperConverters.java b/src/main/java/org/springframework/data/util/NullableWrapperConverters.java index 360fe9ef0..77ff3c07d 100644 --- a/src/main/java/org/springframework/data/util/NullableWrapperConverters.java +++ b/src/main/java/org/springframework/data/util/NullableWrapperConverters.java @@ -107,7 +107,7 @@ public abstract class NullableWrapperConverters { return supportsCache.computeIfAbsent(type, key -> { - for (WrapperType candidate : WRAPPER_TYPES) { + for (var candidate : WRAPPER_TYPES) { if (candidate.getType().isAssignableFrom(key)) { return true; } @@ -127,7 +127,7 @@ public abstract class NullableWrapperConverters { Assert.notNull(type, "Type must not be null!"); - for (WrapperType candidate : UNWRAPPER_TYPES) { + for (var candidate : UNWRAPPER_TYPES) { if (candidate.getType().isAssignableFrom(type)) { return true; } @@ -138,7 +138,7 @@ public abstract class NullableWrapperConverters { public static boolean isSingleValue(Class type) { - for (WrapperType candidate : WRAPPER_TYPES) { + for (var candidate : WRAPPER_TYPES) { if (candidate.getType().isAssignableFrom(type)) { return candidate.isSingleValue(); } @@ -184,9 +184,9 @@ public abstract class NullableWrapperConverters { return source; } - for (Converter converter : UNWRAPPERS) { + for (var converter : UNWRAPPERS) { - Object result = converter.convert(source); + var result = converter.convert(source); if (result != source) { return result; @@ -206,9 +206,9 @@ public abstract class NullableWrapperConverters { Assert.notNull(type, "type must not be null"); - Class rawType = type.getType(); + var rawType = type.getType(); - boolean needToUnwrap = supports(rawType) // + var needToUnwrap = supports(rawType) // || Stream.class.isAssignableFrom(rawType); return needToUnwrap ? unwrapActualType(type.getRequiredComponentType()) : type; @@ -267,8 +267,8 @@ public abstract class NullableWrapperConverters { return null; } - NullableWrapper wrapper = (NullableWrapper) source; - Object value = wrapper.getValue(); + var wrapper = (NullableWrapper) source; + var value = wrapper.getValue(); return value == null ? nullValue : wrap(value); } @@ -519,12 +519,10 @@ public abstract class NullableWrapperConverters { return true; } - if (!(o instanceof WrapperType)) { + if (!(o instanceof WrapperType that)) { return false; } - WrapperType that = (WrapperType) o; - if (!ObjectUtils.nullSafeEquals(type, that.type)) { return false; } @@ -538,7 +536,7 @@ public abstract class NullableWrapperConverters { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(type); + var result = ObjectUtils.nullSafeHashCode(type); result = 31 * result + ObjectUtils.nullSafeHashCode(cardinality); return result; } diff --git a/src/main/java/org/springframework/data/util/Pair.java b/src/main/java/org/springframework/data/util/Pair.java index 6d87f3595..222799f96 100644 --- a/src/main/java/org/springframework/data/util/Pair.java +++ b/src/main/java/org/springframework/data/util/Pair.java @@ -97,12 +97,10 @@ public final class Pair { return true; } - if (!(o instanceof Pair)) { + if (!(o instanceof Pair pair)) { return false; } - Pair pair = (Pair) o; - if (!ObjectUtils.nullSafeEquals(first, pair.first)) { return false; } @@ -116,7 +114,7 @@ public final class Pair { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(first); + var result = ObjectUtils.nullSafeHashCode(first); result = 31 * result + ObjectUtils.nullSafeHashCode(second); return result; } diff --git a/src/main/java/org/springframework/data/util/ParameterTypes.java b/src/main/java/org/springframework/data/util/ParameterTypes.java index 814efbb22..986121190 100644 --- a/src/main/java/org/springframework/data/util/ParameterTypes.java +++ b/src/main/java/org/springframework/data/util/ParameterTypes.java @@ -171,9 +171,9 @@ public class ParameterTypes { return false; } - Class[] parameterTypes = method.getParameterTypes(); + var parameterTypes = method.getParameterTypes(); - for (int i = 0; i < parameterTypes.length; i++) { + for (var i = 0; i < parameterTypes.length; i++) { if (parameterTypes[i] != types.get(i).getType()) { return false; } @@ -208,7 +208,7 @@ public class ParameterTypes { protected Optional withLastVarArgs() { - TypeDescriptor lastDescriptor = types.get(types.size() - 1); + var lastDescriptor = types.get(types.size() - 1); return lastDescriptor.isArray() // ? Optional.empty() // @@ -218,7 +218,7 @@ public class ParameterTypes { @SuppressWarnings("null") private ParameterTypes withVarArgs(TypeDescriptor descriptor) { - TypeDescriptor lastDescriptor = types.get(types.size() - 1); + var lastDescriptor = types.get(types.size() - 1); if (lastDescriptor.isArray() && lastDescriptor.getElementTypeDescriptor().equals(descriptor)) { return this; @@ -240,7 +240,7 @@ public class ParameterTypes { withLastVarArgs().ifPresent(alternatives::add); - ParameterTypes objectVarArgs = withVarArgs(OBJECT_DESCRIPTOR); + var objectVarArgs = withVarArgs(OBJECT_DESCRIPTOR); if (!alternatives.contains(objectVarArgs)) { alternatives.add(objectVarArgs); @@ -263,9 +263,9 @@ public class ParameterTypes { return false; } - Class[] parameterTypes = method.getParameterTypes(); + var parameterTypes = method.getParameterTypes(); - for (int i = 0; i < parameterTypes.length; i++) { + for (var i = 0; i < parameterTypes.length; i++) { if (!TypeUtils.isAssignable(parameterTypes[i], types.get(i).getType())) { return false; } @@ -289,12 +289,10 @@ public class ParameterTypes { return true; } - if (!(o instanceof ParameterTypes)) { + if (!(o instanceof ParameterTypes that)) { return false; } - ParameterTypes that = (ParameterTypes) o; - return ObjectUtils.nullSafeEquals(types, that.types); } @@ -359,7 +357,7 @@ public class ParameterTypes { return true; } - if (!(o instanceof ParentParameterTypes)) { + if (!(o instanceof ParentParameterTypes that)) { return false; } @@ -367,8 +365,6 @@ public class ParameterTypes { return false; } - ParentParameterTypes that = (ParentParameterTypes) o; - return ObjectUtils.nullSafeEquals(tail, that.tail); } @@ -379,7 +375,7 @@ public class ParameterTypes { @Override public int hashCode() { - int result = super.hashCode(); + var result = super.hashCode(); result = 31 * result + ObjectUtils.nullSafeHashCode(tail); diff --git a/src/main/java/org/springframework/data/util/ParameterizedTypeInformation.java b/src/main/java/org/springframework/data/util/ParameterizedTypeInformation.java index 832d2620f..f70c86945 100644 --- a/src/main/java/org/springframework/data/util/ParameterizedTypeInformation.java +++ b/src/main/java/org/springframework/data/util/ParameterizedTypeInformation.java @@ -69,7 +69,7 @@ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation if (Map.class.isAssignableFrom(getType())) { - Type[] arguments = type.getActualTypeArguments(); + var arguments = type.getActualTypeArguments(); if (arguments.length > 1) { return createInfo(arguments[1]); @@ -82,13 +82,13 @@ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation Optional.ofNullable(rawType.getGenericSuperclass()).ifPresent(supertypes::add); supertypes.addAll(Arrays.asList(rawType.getGenericInterfaces())); - Optional> result = supertypes.stream()// + var result = supertypes.stream()// .map(it -> Pair.of(it, resolveType(it)))// .filter(it -> Map.class.isAssignableFrom(it.getSecond()))// .> map(it -> { - ParameterizedType parameterizedSupertype = (ParameterizedType) it.getFirst(); - Type[] arguments = parameterizedSupertype.getActualTypeArguments(); + var parameterizedSupertype = (ParameterizedType) it.getFirst(); + var arguments = parameterizedSupertype.getActualTypeArguments(); return createInfo(arguments[1]); }).findFirst(); @@ -104,7 +104,7 @@ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation List> result = new ArrayList<>(); - for (Type argument : type.getActualTypeArguments()) { + for (var argument : type.getActualTypeArguments()) { result.add(createInfo(argument)); } @@ -122,17 +122,17 @@ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation return true; } - Class rawType = getType(); - Class rawTargetType = target.getType(); + var rawType = getType(); + var rawTargetType = target.getType(); if (!rawType.isAssignableFrom(rawTargetType)) { return false; } - TypeInformation otherTypeInformation = rawType.equals(rawTargetType) ? target + var otherTypeInformation = rawType.equals(rawTargetType) ? target : target.getSuperTypeInformation(rawType); - List> myParameters = getTypeArguments(); + var myParameters = getTypeArguments(); List> typeParameters = otherTypeInformation == null ? Collections.emptyList() : otherTypeInformation.getTypeArguments(); @@ -140,7 +140,7 @@ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation return false; } - for (int i = 0; i < myParameters.size(); i++) { + for (var i = 0; i < myParameters.size(); i++) { if (!myParameters.get(i).isAssignableFrom(typeParameters.get(i))) { return false; } @@ -157,7 +157,7 @@ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation @Nullable protected TypeInformation doGetComponentType() { - boolean isCustomMapImplementation = isMap() && !getType().equals(Map.class); + var isCustomMapImplementation = isMap() && !getType().equals(Map.class); if (isCustomMapImplementation) { return getRequiredSuperTypeInformation(Map.class).getComponentType(); @@ -178,7 +178,7 @@ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation return (TypeInformation) type; } - TypeInformation asSupertype = type.getSuperTypeInformation(getType()); + var asSupertype = type.getSuperTypeInformation(getType()); if (asSupertype == null || !ParameterizedTypeInformation.class.isInstance(asSupertype)) { return super.specialize(type); @@ -200,12 +200,10 @@ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation return true; } - if (!(obj instanceof ParameterizedTypeInformation)) { + if (!(obj instanceof ParameterizedTypeInformation that)) { return false; } - ParameterizedTypeInformation that = (ParameterizedTypeInformation) obj; - if (this.isResolved() && that.isResolved()) { return this.type.equals(that.type); } @@ -239,15 +237,15 @@ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation private boolean isResolvedCompletely() { - Type[] typeArguments = type.getActualTypeArguments(); + var typeArguments = type.getActualTypeArguments(); if (typeArguments.length == 0) { return false; } - for (Type typeArgument : typeArguments) { + for (var typeArgument : typeArguments) { - TypeInformation info = createInfo(typeArgument); + var info = createInfo(typeArgument); if (info instanceof ParameterizedTypeInformation) { if (!((ParameterizedTypeInformation) info).isResolvedCompletely()) { @@ -273,9 +271,9 @@ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation */ private static Map, Type> calculateTypeVariables(ParameterizedType type, TypeDiscoverer parent) { - Class resolvedType = parent.resolveType(type); + var resolvedType = parent.resolveType(type); TypeVariable[] typeParameters = resolvedType.getTypeParameters(); - Type[] arguments = type.getActualTypeArguments(); + var arguments = type.getActualTypeArguments(); Map, Type> localTypeVariables = new HashMap<>(parent.getTypeVariableMap()); @@ -300,7 +298,7 @@ class ParameterizedTypeInformation extends ParentTypeAwareTypeInformation return source; } - Type value = variables.get(source); + var value = variables.get(source); return value == null ? source : flattenTypeVariable(value, variables); } diff --git a/src/main/java/org/springframework/data/util/ParentTypeAwareTypeInformation.java b/src/main/java/org/springframework/data/util/ParentTypeAwareTypeInformation.java index 0acf1890e..1ef336b27 100644 --- a/src/main/java/org/springframework/data/util/ParentTypeAwareTypeInformation.java +++ b/src/main/java/org/springframework/data/util/ParentTypeAwareTypeInformation.java @@ -80,7 +80,7 @@ public abstract class ParentTypeAwareTypeInformation extends TypeDiscoverer that = (ParentTypeAwareTypeInformation) obj; + var that = (ParentTypeAwareTypeInformation) obj; return this.parent == null ? that.parent == null : this.parent.equals(that.parent); } diff --git a/src/main/java/org/springframework/data/util/ParsingUtils.java b/src/main/java/org/springframework/data/util/ParsingUtils.java index e6013e5da..f710d7bf5 100644 --- a/src/main/java/org/springframework/data/util/ParsingUtils.java +++ b/src/main/java/org/springframework/data/util/ParsingUtils.java @@ -80,10 +80,10 @@ public abstract class ParsingUtils { Assert.notNull(source, "Source string must not be null!"); - String[] parts = CAMEL_CASE.split(source); + var parts = CAMEL_CASE.split(source); List result = new ArrayList<>(parts.length); - for (String part : parts) { + for (var part : parts) { result.add(toLower ? part.toLowerCase() : part); } diff --git a/src/main/java/org/springframework/data/util/ProxyUtils.java b/src/main/java/org/springframework/data/util/ProxyUtils.java index 3e619f5c3..a2f4066ca 100644 --- a/src/main/java/org/springframework/data/util/ProxyUtils.java +++ b/src/main/java/org/springframework/data/util/ProxyUtils.java @@ -55,9 +55,9 @@ public abstract class ProxyUtils { return USER_TYPES.computeIfAbsent(type, it -> { - Class result = it; + var result = it; - for (ProxyDetector proxyDetector : DETECTORS) { + for (var proxyDetector : DETECTORS) { result = proxyDetector.getUserType(result); } diff --git a/src/main/java/org/springframework/data/util/ReflectionUtils.java b/src/main/java/org/springframework/data/util/ReflectionUtils.java index 8d778cce2..e90d8d436 100644 --- a/src/main/java/org/springframework/data/util/ReflectionUtils.java +++ b/src/main/java/org/springframework/data/util/ReflectionUtils.java @@ -63,7 +63,7 @@ public final class ReflectionUtils { public static T createInstanceIfPresent(String classname, T defaultInstance) { try { - Class type = ClassUtils.forName(classname, ClassUtils.getDefaultClassLoader()); + var type = ClassUtils.forName(classname, ClassUtils.getDefaultClassLoader()); return (T) BeanUtils.instantiateClass(type); } catch (Exception e) { return defaultInstance; @@ -190,12 +190,12 @@ public final class ReflectionUtils { Assert.notNull(type, "Type must not be null!"); Assert.notNull(filter, "Filter must not be null!"); - Class targetClass = type; + var targetClass = type; Field foundField = null; while (targetClass != Object.class) { - for (Field field : targetClass.getDeclaredFields()) { + for (var field : targetClass.getDeclaredFields()) { if (!filter.matches(field)) { continue; @@ -228,7 +228,7 @@ public final class ReflectionUtils { */ public static Field findRequiredField(Class type, String name) { - Field result = org.springframework.util.ReflectionUtils.findField(type, name); + var result = org.springframework.util.ReflectionUtils.findField(type, name); if (result == null) { throw new IllegalArgumentException(String.format("Unable to find field %s on %s!", name, type)); @@ -283,11 +283,11 @@ public final class ReflectionUtils { Assert.notNull(name, "Method name must not be null"); Method result = null; - Class searchType = type; + var searchType = type; while (searchType != null) { - Method[] methods = (searchType.isInterface() ? searchType.getMethods() + var methods = (searchType.isInterface() ? searchType.getMethods() : org.springframework.util.ReflectionUtils.getDeclaredMethods(searchType)); - for (Method method : methods) { + for (var method : methods) { if (name.equals(method.getName()) && hasSameParams(method, parameterTypes)) { if (result == null || result.isSynthetic() || result.isBridge()) { result = method; @@ -299,7 +299,7 @@ public final class ReflectionUtils { if (result == null) { - String parameterTypeNames = Arrays.stream(parameterTypes) // + var parameterTypeNames = Arrays.stream(parameterTypes) // .map(Object::toString) // .collect(Collectors.joining(", ")); @@ -326,7 +326,7 @@ public final class ReflectionUtils { Assert.notNull(method, "Method must not be null!"); Stream> returnType = Stream.of(method.getReturnType()); - Stream> parameterTypes = Arrays.stream(method.getParameterTypes()); + var parameterTypes = Arrays.stream(method.getParameterTypes()); return Stream.concat(returnType, parameterTypes); } @@ -350,7 +350,7 @@ public final class ReflectionUtils { .map(ResolvableType::getRawClass)// .collect(Collectors.toList()); - Method method = org.springframework.util.ReflectionUtils.findMethod(type, name, + var method = org.springframework.util.ReflectionUtils.findMethod(type, name, collect.toArray(new Class[collect.size()])); return Optional.ofNullable(method)// @@ -364,11 +364,11 @@ public final class ReflectionUtils { return false; } - int index = 0; + var index = 0; - for (Class argumentType : parameterTypes) { + for (var argumentType : parameterTypes) { - Object argument = arguments[index]; + var argument = arguments[index]; // Reject nulls for primitives if (argumentType.isPrimitive() && argument == null) { diff --git a/src/main/java/org/springframework/data/util/StreamUtils.java b/src/main/java/org/springframework/data/util/StreamUtils.java index f53a6736a..45a808ada 100644 --- a/src/main/java/org/springframework/data/util/StreamUtils.java +++ b/src/main/java/org/springframework/data/util/StreamUtils.java @@ -50,9 +50,9 @@ public interface StreamUtils { * @param iterator must not be {@literal null}. * @return */ - public static Stream createStreamFromIterator(Iterator iterator) { + static Stream createStreamFromIterator(Iterator iterator) { - Spliterator spliterator = Spliterators.spliteratorUnknownSize(iterator, Spliterator.NONNULL); + var spliterator = Spliterators.spliteratorUnknownSize(iterator, Spliterator.NONNULL); return StreamSupport.stream(spliterator, false); } @@ -64,7 +64,7 @@ public interface StreamUtils { * @return * @since 2.0 */ - public static Stream createStreamFromIterator(CloseableIterator iterator) { + static Stream createStreamFromIterator(CloseableIterator iterator) { Assert.notNull(iterator, "Iterator must not be null!"); @@ -76,7 +76,7 @@ public interface StreamUtils { * * @return will never be {@literal null}. */ - public static Collector> toUnmodifiableList() { + static Collector> toUnmodifiableList() { return collectingAndThen(toList(), Collections::unmodifiableList); } @@ -85,7 +85,7 @@ public interface StreamUtils { * * @return will never be {@literal null}. */ - public static Collector> toUnmodifiableSet() { + static Collector> toUnmodifiableSet() { return collectingAndThen(toSet(), Collections::unmodifiableSet); } @@ -95,7 +95,7 @@ public interface StreamUtils { * @param keyFunction {@link Function} to create a key from an element of the {@link java.util.stream.Stream} * @param valueFunction {@link Function} to create a value from an element of the {@link java.util.stream.Stream} */ - public static Collector, MultiValueMap> toMultiMap(Function keyFunction, + static Collector, MultiValueMap> toMultiMap(Function keyFunction, Function valueFunction) { return MultiValueMapCollector.of(keyFunction, valueFunction); } @@ -107,7 +107,7 @@ public interface StreamUtils { * @return a new {@link Stream} for the given value returning an empty {@link Stream} if the value is {@literal null}. * @since 2.0.6 */ - public static Stream fromNullable(@Nullable T source) { + static Stream fromNullable(@Nullable T source) { return source == null ? Stream.empty() : Stream.of(source); } @@ -122,18 +122,18 @@ public interface StreamUtils { * @return * @since 2.1 */ - public static Stream zip(Stream left, Stream right, BiFunction combiner) { + static Stream zip(Stream left, Stream right, BiFunction combiner) { Assert.notNull(left, "Left stream must not be null!"); Assert.notNull(right, "Right must not be null!"); Assert.notNull(combiner, "Combiner must not be null!"); - Spliterator lefts = left.spliterator(); - Spliterator rights = right.spliterator(); + var lefts = left.spliterator(); + var rights = right.spliterator(); - long size = Long.min(lefts.estimateSize(), rights.estimateSize()); - int characteristics = lefts.characteristics() & rights.characteristics(); - boolean parallel = left.isParallel() || right.isParallel(); + var size = Long.min(lefts.estimateSize(), rights.estimateSize()); + var characteristics = lefts.characteristics() & rights.characteristics(); + var parallel = left.isParallel() || right.isParallel(); return StreamSupport.stream(new AbstractSpliterator(size, characteristics) { @@ -141,16 +141,16 @@ public interface StreamUtils { @SuppressWarnings("null") public boolean tryAdvance(Consumer action) { - Sink leftSink = new Sink(); - Sink rightSink = new Sink(); + var leftSink = new Sink(); + var rightSink = new Sink(); - boolean leftAdvance = lefts.tryAdvance(leftSink); + var leftAdvance = lefts.tryAdvance(leftSink); if (!leftAdvance) { return false; } - boolean rightAdvance = rights.tryAdvance(rightSink); + var rightAdvance = rights.tryAdvance(rightSink); if (!rightAdvance) { return false; diff --git a/src/main/java/org/springframework/data/util/TypeDiscoverer.java b/src/main/java/org/springframework/data/util/TypeDiscoverer.java index 0bef50792..56fb23d65 100644 --- a/src/main/java/org/springframework/data/util/TypeDiscoverer.java +++ b/src/main/java/org/springframework/data/util/TypeDiscoverer.java @@ -17,10 +17,8 @@ package org.springframework.data.util; import java.beans.PropertyDescriptor; import java.lang.reflect.Constructor; -import java.lang.reflect.Field; import java.lang.reflect.GenericArrayType; import java.lang.reflect.Method; -import java.lang.reflect.Parameter; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; @@ -59,7 +57,7 @@ class TypeDiscoverer implements TypeInformation { static { - ClassLoader classLoader = TypeDiscoverer.class.getClassLoader(); + var classLoader = TypeDiscoverer.class.getClassLoader(); Set> mapTypes = new HashSet<>(); mapTypes.add(Map.class); @@ -127,15 +125,13 @@ class TypeDiscoverer implements TypeInformation { return ClassTypeInformation.from((Class) fieldType); } - if (fieldType instanceof ParameterizedType) { + if (fieldType instanceof ParameterizedType parameterizedType) { - ParameterizedType parameterizedType = (ParameterizedType) fieldType; return new ParameterizedTypeInformation(parameterizedType, this); } - if (fieldType instanceof TypeVariable) { + if (fieldType instanceof TypeVariable variable) { - TypeVariable variable = (TypeVariable) fieldType; return new TypeVariableTypeInformation(variable, this); } @@ -143,10 +139,9 @@ class TypeDiscoverer implements TypeInformation { return new GenericArrayTypeInformation((GenericArrayType) fieldType, this); } - if (fieldType instanceof WildcardType) { + if (fieldType instanceof WildcardType wildcardType) { - WildcardType wildcardType = (WildcardType) fieldType; - Type[] bounds = wildcardType.getLowerBounds(); + var bounds = wildcardType.getLowerBounds(); if (bounds.length > 0) { return createInfo(bounds[0]); @@ -186,7 +181,7 @@ class TypeDiscoverer implements TypeInformation { Assert.notNull(constructor, "Constructor must not be null!"); List> parameterTypes = new ArrayList<>(constructor.getParameterCount()); - for (Parameter parameter : constructor.getParameters()) { + for (var parameter : constructor.getParameters()) { parameterTypes.add(createInfo(parameter.getParameterizedType())); } return parameterTypes; @@ -199,14 +194,14 @@ class TypeDiscoverer implements TypeInformation { @Nullable public TypeInformation getProperty(String fieldname) { - int separatorIndex = fieldname.indexOf('.'); + var separatorIndex = fieldname.indexOf('.'); if (separatorIndex == -1) { return fieldTypes.computeIfAbsent(fieldname, this::getPropertyInformation).orElse(null); } - String head = fieldname.substring(0, separatorIndex); - TypeInformation info = getProperty(head); + var head = fieldname.substring(0, separatorIndex); + var info = getProperty(head); if (info == null) { return null; @@ -227,7 +222,7 @@ class TypeDiscoverer implements TypeInformation { private Optional> getPropertyInformation(String fieldname) { Class rawType = getType(); - Field field = ReflectionUtils.findField(rawType, fieldname); + var field = ReflectionUtils.findField(rawType, fieldname); if (field != null) { return Optional.of(createInfo(field.getGenericType())); @@ -245,7 +240,7 @@ class TypeDiscoverer implements TypeInformation { */ private static Optional findPropertyDescriptor(Class type, String fieldname) { - PropertyDescriptor descriptor = BeanUtils.getPropertyDescriptor(type, fieldname); + var descriptor = BeanUtils.getPropertyDescriptor(type, fieldname); if (descriptor != null) { return Optional.of(descriptor); @@ -270,7 +265,7 @@ class TypeDiscoverer implements TypeInformation { @Nullable private static Type getGenericType(PropertyDescriptor descriptor) { - Method method = descriptor.getReadMethod(); + var method = descriptor.getReadMethod(); if (method != null) { return method.getGenericReturnType(); @@ -282,7 +277,7 @@ class TypeDiscoverer implements TypeInformation { return null; } - Type[] parameterTypes = method.getGenericParameterTypes(); + var parameterTypes = method.getGenericParameterTypes(); return parameterTypes.length == 0 ? null : parameterTypes[0]; } @@ -333,9 +328,9 @@ class TypeDiscoverer implements TypeInformation { */ public boolean isMap() { - Class type = getType(); + var type = getType(); - for (Class mapType : MAP_TYPES) { + for (var mapType : MAP_TYPES) { if (mapType.isAssignableFrom(type)) { return true; } @@ -385,7 +380,7 @@ class TypeDiscoverer implements TypeInformation { @Nullable protected TypeInformation doGetComponentType() { - Class rawType = getType(); + var rawType = getType(); if (rawType.isArray()) { return createInfo(rawType.getComponentType()); @@ -403,7 +398,7 @@ class TypeDiscoverer implements TypeInformation { return getTypeArgument(rawType, 0); } - List> arguments = getTypeArguments(); + var arguments = getTypeArguments(); return arguments.size() > 0 ? arguments.get(0) : null; } @@ -449,7 +444,7 @@ class TypeDiscoverer implements TypeInformation { } List candidates = new ArrayList<>(); - Type genericSuperclass = rawType.getGenericSuperclass(); + var genericSuperclass = rawType.getGenericSuperclass(); if (genericSuperclass != null) { candidates.add(genericSuperclass); @@ -457,15 +452,15 @@ class TypeDiscoverer implements TypeInformation { candidates.addAll(Arrays.asList(rawType.getGenericInterfaces())); - for (Type candidate : candidates) { + for (var candidate : candidates) { - TypeInformation candidateInfo = createInfo(candidate); + var candidateInfo = createInfo(candidate); if (superType.equals(candidateInfo.getType())) { return candidateInfo; } else { - TypeInformation nestedSuperType = candidateInfo.getSuperTypeInformation(superType); + var nestedSuperType = candidateInfo.getSuperTypeInformation(superType); if (nestedSuperType != null) { return nestedSuperType; @@ -489,7 +484,7 @@ class TypeDiscoverer implements TypeInformation { */ public boolean isAssignableFrom(TypeInformation target) { - TypeInformation superTypeInformation = target.getSuperTypeInformation(getType()); + var superTypeInformation = target.getSuperTypeInformation(getType()); return superTypeInformation == null ? false : superTypeInformation.equals(this); } @@ -506,7 +501,7 @@ class TypeDiscoverer implements TypeInformation { Assert.isTrue(getType().isAssignableFrom(type.getType()), () -> String.format("%s must be assignable from %s", getType(), type.getType())); - List> typeArguments = getTypeArguments(); + var typeArguments = getTypeArguments(); return (TypeInformation) (typeArguments.isEmpty() // ? type // @@ -516,7 +511,7 @@ class TypeDiscoverer implements TypeInformation { @Nullable private TypeInformation getTypeArgument(Class bound, int index) { - Class[] arguments = GenericTypeResolver.resolveTypeArguments(getType(), bound); + var arguments = GenericTypeResolver.resolveTypeArguments(getType(), bound); if (arguments != null) { return createInfo(arguments[index]); @@ -529,9 +524,9 @@ class TypeDiscoverer implements TypeInformation { private Class getBaseType(Class[] candidates) { - Class type = getType(); + var type = getType(); - for (Class candidate : candidates) { + for (var candidate : candidates) { if (candidate.isAssignableFrom(type)) { return candidate; } @@ -563,7 +558,7 @@ class TypeDiscoverer implements TypeInformation { return false; } - TypeDiscoverer that = (TypeDiscoverer) obj; + var that = (TypeDiscoverer) obj; if (!this.type.equals(that.type)) { return false; @@ -627,9 +622,9 @@ class TypeDiscoverer implements TypeInformation { @Override public Type[] getActualTypeArguments() { - Type[] result = new Type[typeParameters.size()]; + var result = new Type[typeParameters.size()]; - for (int i = 0; i < typeParameters.size(); i++) { + for (var i = 0; i < typeParameters.size(); i++) { result[i] = typeParameters.get(i).getType(); } @@ -647,12 +642,10 @@ class TypeDiscoverer implements TypeInformation { return true; } - if (!(o instanceof SyntheticParamterizedType)) { + if (!(o instanceof SyntheticParamterizedType that)) { return false; } - SyntheticParamterizedType that = (SyntheticParamterizedType) o; - if (!ObjectUtils.nullSafeEquals(typeInformation, that.typeInformation)) { return false; } @@ -666,7 +659,7 @@ class TypeDiscoverer implements TypeInformation { */ @Override public int hashCode() { - int result = ObjectUtils.nullSafeHashCode(typeInformation); + var result = ObjectUtils.nullSafeHashCode(typeInformation); result = 31 * result + ObjectUtils.nullSafeHashCode(typeParameters); return result; } diff --git a/src/main/java/org/springframework/data/util/TypeInformation.java b/src/main/java/org/springframework/data/util/TypeInformation.java index f8d016275..ed15f5516 100644 --- a/src/main/java/org/springframework/data/util/TypeInformation.java +++ b/src/main/java/org/springframework/data/util/TypeInformation.java @@ -59,7 +59,7 @@ public interface TypeInformation { */ default TypeInformation getRequiredProperty(String property) { - TypeInformation typeInformation = getProperty(property); + var typeInformation = getProperty(property); if (typeInformation != null) { return typeInformation; @@ -97,7 +97,7 @@ public interface TypeInformation { */ default TypeInformation getRequiredComponentType() { - TypeInformation componentType = getComponentType(); + var componentType = getComponentType(); if (componentType != null) { return componentType; @@ -133,7 +133,7 @@ public interface TypeInformation { */ default TypeInformation getRequiredMapValueType() { - TypeInformation mapValueType = getMapValueType(); + var mapValueType = getMapValueType(); if (mapValueType != null) { return mapValueType; @@ -191,7 +191,7 @@ public interface TypeInformation { */ default TypeInformation getRequiredActualType() { - TypeInformation result = getActualType(); + var result = getActualType(); if (result == null) { throw new IllegalStateException( @@ -238,7 +238,7 @@ public interface TypeInformation { */ default TypeInformation getRequiredSuperTypeInformation(Class superType) { - TypeInformation result = getSuperTypeInformation(superType); + var result = getSuperTypeInformation(superType); if (result == null) { throw new IllegalArgumentException(String.format( diff --git a/src/main/java/org/springframework/data/util/TypeVariableTypeInformation.java b/src/main/java/org/springframework/data/util/TypeVariableTypeInformation.java index 7228ae243..7ce0ee26e 100644 --- a/src/main/java/org/springframework/data/util/TypeVariableTypeInformation.java +++ b/src/main/java/org/springframework/data/util/TypeVariableTypeInformation.java @@ -61,12 +61,10 @@ class TypeVariableTypeInformation extends ParentTypeAwareTypeInformation { return true; } - if (!(obj instanceof TypeVariableTypeInformation)) { + if (!(obj instanceof TypeVariableTypeInformation that)) { return false; } - TypeVariableTypeInformation that = (TypeVariableTypeInformation) obj; - return getType().equals(that.getType()); } @@ -77,7 +75,7 @@ class TypeVariableTypeInformation extends ParentTypeAwareTypeInformation { @Override public int hashCode() { - int result = 17; + var result = 17; result += 31 * nullSafeHashCode(getType()); diff --git a/src/main/java/org/springframework/data/util/Version.java b/src/main/java/org/springframework/data/util/Version.java index 997ea0b2c..91b0b9bd5 100644 --- a/src/main/java/org/springframework/data/util/Version.java +++ b/src/main/java/org/springframework/data/util/Version.java @@ -68,12 +68,12 @@ public class Version implements Comparable { Assert.hasText(version, "Version must not be null o empty!"); - String[] parts = version.trim().split("\\."); - int[] intParts = new int[parts.length]; + var parts = version.trim().split("\\."); + var intParts = new int[parts.length]; - for (int i = 0; i < parts.length; i++) { + for (var i = 0; i < parts.length; i++) { - String input = i == parts.length - 1 ? parts[i].replaceAll("\\D.*", "") : parts[i]; + var input = i == parts.length - 1 ? parts[i].replaceAll("\\D.*", "") : parts[i]; if (StringUtils.hasText(input)) { try { @@ -182,12 +182,10 @@ public class Version implements Comparable { return true; } - if (!(obj instanceof Version)) { + if (!(obj instanceof Version that)) { return false; } - Version that = (Version) obj; - return this.major == that.major && this.minor == that.minor && this.bugfix == that.bugfix && this.build == that.build; } @@ -199,7 +197,7 @@ public class Version implements Comparable { @Override public int hashCode() { - int result = 17; + var result = 17; result += 31 * major; result += 31 * minor; result += 31 * bugfix; diff --git a/src/main/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver.java b/src/main/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver.java index d1963de99..f87a1351e 100644 --- a/src/main/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver.java @@ -24,12 +24,10 @@ import java.util.List; import org.springframework.core.MethodParameter; import org.springframework.data.domain.Pageable; import org.springframework.hateoas.TemplateVariable; -import org.springframework.hateoas.TemplateVariable.VariableType; import org.springframework.hateoas.TemplateVariables; import org.springframework.hateoas.server.mvc.UriComponentsContributor; import org.springframework.lang.Nullable; import org.springframework.util.Assert; -import org.springframework.util.MultiValueMap; import org.springframework.web.util.UriComponents; import org.springframework.web.util.UriComponentsBuilder; @@ -77,24 +75,24 @@ public class HateoasPageableHandlerMethodArgumentResolver extends PageableHandle */ public TemplateVariables getPaginationTemplateVariables(MethodParameter parameter, UriComponents template) { - String pagePropertyName = getParameterNameToUse(getPageParameterName(), parameter); - String sizePropertyName = getParameterNameToUse(getSizeParameterName(), parameter); + var pagePropertyName = getParameterNameToUse(getPageParameterName(), parameter); + var sizePropertyName = getParameterNameToUse(getSizeParameterName(), parameter); List names = new ArrayList<>(); - MultiValueMap queryParameters = template.getQueryParams(); - boolean append = !queryParameters.isEmpty(); + var queryParameters = template.getQueryParams(); + var append = !queryParameters.isEmpty(); - for (String propertyName : Arrays.asList(pagePropertyName, sizePropertyName)) { + for (var propertyName : Arrays.asList(pagePropertyName, sizePropertyName)) { if (!queryParameters.containsKey(propertyName)) { - VariableType type = append ? REQUEST_PARAM_CONTINUED : REQUEST_PARAM; - String description = String.format("pagination.%s.description", propertyName); + var type = append ? REQUEST_PARAM_CONTINUED : REQUEST_PARAM; + var description = String.format("pagination.%s.description", propertyName); names.add(new TemplateVariable(propertyName, type, description)); } } - TemplateVariables pagingVariables = new TemplateVariables(names); + var pagingVariables = new TemplateVariables(names); return pagingVariables.concat(sortResolver.getSortTemplateVariables(parameter, template)); } @@ -107,20 +105,18 @@ public class HateoasPageableHandlerMethodArgumentResolver extends PageableHandle Assert.notNull(builder, "UriComponentsBuilder must not be null!"); - if (!(value instanceof Pageable)) { + if (!(value instanceof Pageable pageable)) { return; } - Pageable pageable = (Pageable) value; - if (pageable.isUnpaged()) { return; } - String pagePropertyName = getParameterNameToUse(getPageParameterName(), parameter); - String sizePropertyName = getParameterNameToUse(getSizeParameterName(), parameter); + var pagePropertyName = getParameterNameToUse(getPageParameterName(), parameter); + var sizePropertyName = getParameterNameToUse(getSizeParameterName(), parameter); - int pageNumber = pageable.getPageNumber(); + var pageNumber = pageable.getPageNumber(); builder.replaceQueryParam(pagePropertyName, isOneIndexedParameters() ? pageNumber + 1 : pageNumber); builder.replaceQueryParam(sizePropertyName, diff --git a/src/main/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolver.java b/src/main/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolver.java index 8528fa4b3..9fbcbf546 100644 --- a/src/main/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolver.java @@ -20,11 +20,9 @@ import static org.springframework.hateoas.TemplateVariable.VariableType.*; import org.springframework.core.MethodParameter; import org.springframework.data.domain.Sort; import org.springframework.hateoas.TemplateVariable; -import org.springframework.hateoas.TemplateVariable.VariableType; import org.springframework.hateoas.TemplateVariables; import org.springframework.hateoas.server.mvc.UriComponentsContributor; import org.springframework.lang.Nullable; -import org.springframework.util.MultiValueMap; import org.springframework.web.util.UriComponents; import org.springframework.web.util.UriComponentsBuilder; @@ -49,16 +47,16 @@ public class HateoasSortHandlerMethodArgumentResolver extends SortHandlerMethodA */ public TemplateVariables getSortTemplateVariables(MethodParameter parameter, UriComponents template) { - String sortParameter = getSortParameter(parameter); - MultiValueMap queryParameters = template.getQueryParams(); - boolean append = !queryParameters.isEmpty(); + var sortParameter = getSortParameter(parameter); + var queryParameters = template.getQueryParams(); + var append = !queryParameters.isEmpty(); if (queryParameters.containsKey(sortParameter)) { return TemplateVariables.NONE; } - String description = String.format("pagination.%s.description", sortParameter); - VariableType type = append ? REQUEST_PARAM_CONTINUED : REQUEST_PARAM; + var description = String.format("pagination.%s.description", sortParameter); + var type = append ? REQUEST_PARAM_CONTINUED : REQUEST_PARAM; return new TemplateVariables(new TemplateVariable(sortParameter, type, description)); } @@ -69,16 +67,15 @@ public class HateoasSortHandlerMethodArgumentResolver extends SortHandlerMethodA @Override public void enhance(UriComponentsBuilder builder, @Nullable MethodParameter parameter, @Nullable Object value) { - if (!(value instanceof Sort)) { + if (!(value instanceof Sort sort)) { return; } - Sort sort = (Sort) value; - String sortParameter = getSortParameter(parameter); + var sortParameter = getSortParameter(parameter); builder.replaceQueryParam(sortParameter); - for (String expression : foldIntoExpressions(sort)) { + for (var expression : foldIntoExpressions(sort)) { builder.queryParam(sortParameter, expression); } } diff --git a/src/main/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactory.java b/src/main/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactory.java index e218d71ac..ed71e5ca5 100644 --- a/src/main/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactory.java +++ b/src/main/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactory.java @@ -35,7 +35,6 @@ import org.springframework.core.annotation.AnnotationUtils; import org.springframework.data.projection.Accessor; import org.springframework.data.projection.MethodInterceptorFactory; import org.springframework.data.util.ClassTypeInformation; -import org.springframework.data.util.TypeInformation; import org.springframework.lang.Nullable; import org.springframework.util.Assert; @@ -87,7 +86,7 @@ public class JsonProjectingMethodInterceptorFactory implements MethodInterceptor Assert.notNull(jsonProvider, "JsonProvider must not be null!"); Assert.notNull(mappingProvider, "MappingProvider must not be null!"); - Configuration configuration = Configuration.builder()// + var configuration = Configuration.builder()// .options(Option.ALWAYS_RETURN_LIST) // .jsonProvider(jsonProvider) // .mappingProvider(mappingProvider) // @@ -103,7 +102,7 @@ public class JsonProjectingMethodInterceptorFactory implements MethodInterceptor @Override public MethodInterceptor createMethodInterceptor(Object source, Class targetType) { - DocumentContext context = InputStream.class.isInstance(source) ? this.context.parse((InputStream) source) + var context = InputStream.class.isInstance(source) ? this.context.parse((InputStream) source) : this.context.parse(source); return new InputMessageProjecting(context); @@ -132,7 +131,7 @@ public class JsonProjectingMethodInterceptorFactory implements MethodInterceptor */ private static boolean hasJsonPathAnnotation(Class type) { - for (Method method : type.getMethods()) { + for (var method : type.getMethods()) { if (AnnotationUtils.findAnnotation(method, org.springframework.data.web.JsonPath.class) != null) { return true; } @@ -157,32 +156,32 @@ public class JsonProjectingMethodInterceptorFactory implements MethodInterceptor @Override public Object invoke(MethodInvocation invocation) throws Throwable { - Method method = invocation.getMethod(); - TypeInformation returnType = ClassTypeInformation.fromReturnTypeOf(method); - ResolvableType type = ResolvableType.forMethodReturnType(method); - boolean isCollectionResult = Collection.class.isAssignableFrom(type.getRawClass()); + var method = invocation.getMethod(); + var returnType = ClassTypeInformation.fromReturnTypeOf(method); + var type = ResolvableType.forMethodReturnType(method); + var isCollectionResult = Collection.class.isAssignableFrom(type.getRawClass()); type = isCollectionResult ? type : ResolvableType.forClassWithGenerics(List.class, type); Iterable jsonPaths = getJsonPaths(method); - for (String jsonPath : jsonPaths) { + for (var jsonPath : jsonPaths) { try { if (returnType.getRequiredActualType().getType().isInterface()) { List result = context.read(jsonPath); - Object nested = result.isEmpty() ? null : result.get(0); + var nested = result.isEmpty() ? null : result.get(0); return isCollectionResult && !(nested instanceof Collection) ? result : nested; } - boolean definitePath = JsonPath.isPathDefinite(jsonPath); + var definitePath = JsonPath.isPathDefinite(jsonPath); type = isCollectionResult && definitePath ? ResolvableType.forClassWithGenerics(List.class, type) : type; - List result = (List) context.read(jsonPath, new ResolvableTypeRef(type)); + var result = (List) context.read(jsonPath, new ResolvableTypeRef(type)); if (isCollectionResult && definitePath) { result = (List) result.get(0); @@ -206,7 +205,7 @@ public class JsonProjectingMethodInterceptorFactory implements MethodInterceptor */ private static Collection getJsonPaths(Method method) { - org.springframework.data.web.JsonPath annotation = AnnotationUtils.findAnnotation(method, + var annotation = AnnotationUtils.findAnnotation(method, org.springframework.data.web.JsonPath.class); if (annotation != null) { diff --git a/src/main/java/org/springframework/data/web/MapDataBinder.java b/src/main/java/org/springframework/data/web/MapDataBinder.java index 145c22393..b23f04ddc 100644 --- a/src/main/java/org/springframework/data/web/MapDataBinder.java +++ b/src/main/java/org/springframework/data/web/MapDataBinder.java @@ -15,7 +15,6 @@ */ package org.springframework.data.web; -import java.beans.PropertyDescriptor; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -33,10 +32,8 @@ import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.TypeDescriptor; import org.springframework.data.mapping.PropertyPath; import org.springframework.data.mapping.PropertyReferenceException; -import org.springframework.data.util.TypeInformation; import org.springframework.expression.AccessException; import org.springframework.expression.EvaluationContext; -import org.springframework.expression.Expression; import org.springframework.expression.TypedValue; import org.springframework.expression.spel.SpelEvaluationException; import org.springframework.expression.spel.SpelParserConfiguration; @@ -81,7 +78,7 @@ class MapDataBinder extends WebDataBinder { @SuppressWarnings("unchecked") public Map getTarget() { - Object target = super.getTarget(); + var target = super.getTarget(); if (target == null) { throw new IllegalStateException("Target bean should never be null!"); @@ -176,15 +173,15 @@ class MapDataBinder extends WebDataBinder { throw new NotWritablePropertyException(type, propertyName); } - PropertyPath leafProperty = getPropertyPath(propertyName).getLeafProperty(); - TypeInformation owningType = leafProperty.getOwningType(); - TypeInformation propertyType = leafProperty.getTypeInformation(); + var leafProperty = getPropertyPath(propertyName).getLeafProperty(); + var owningType = leafProperty.getOwningType(); + var propertyType = leafProperty.getTypeInformation(); propertyType = propertyName.endsWith("]") ? propertyType.getActualType() : propertyType; if (propertyType != null && conversionRequired(value, propertyType.getType())) { - PropertyDescriptor descriptor = BeanUtils.getPropertyDescriptor(owningType.getType(), + var descriptor = BeanUtils.getPropertyDescriptor(owningType.getType(), leafProperty.getSegment()); if (descriptor == null) { @@ -192,8 +189,8 @@ class MapDataBinder extends WebDataBinder { leafProperty.getSegment(), owningType.getType())); } - MethodParameter methodParameter = new MethodParameter(descriptor.getReadMethod(), -1); - TypeDescriptor typeDescriptor = TypeDescriptor.nested(methodParameter, 0); + var methodParameter = new MethodParameter(descriptor.getReadMethod(), -1); + var typeDescriptor = TypeDescriptor.nested(methodParameter, 0); if (typeDescriptor == null) { throw new IllegalStateException( @@ -209,7 +206,7 @@ class MapDataBinder extends WebDataBinder { .withRootObject(map) // .build(); - Expression expression = PARSER.parseExpression(propertyName); + var expression = PARSER.parseExpression(propertyName); try { expression.setValue(context, value); @@ -229,7 +226,7 @@ class MapDataBinder extends WebDataBinder { private PropertyPath getPropertyPath(String propertyName) { - String plainPropertyPath = propertyName.replaceAll("\\[.*?\\]", ""); + var plainPropertyPath = propertyName.replaceAll("\\[.*?\\]", ""); return PropertyPath.from(plainPropertyPath, type); } @@ -281,13 +278,13 @@ class MapDataBinder extends WebDataBinder { return TypedValue.NULL; } - PropertyPath path = PropertyPath.from(name, type); + var path = PropertyPath.from(name, type); try { return super.read(context, target, name); } catch (AccessException o_O) { - Object emptyResult = path.isCollection() ? CollectionFactory.createCollection(List.class, 0) + var emptyResult = path.isCollection() ? CollectionFactory.createCollection(List.class, 0) : CollectionFactory.createMap(Map.class, 0); ((Map) target).put(name, emptyResult); @@ -307,9 +304,9 @@ class MapDataBinder extends WebDataBinder { */ private TypeDescriptor getDescriptor(PropertyPath path, Object emptyValue) { - Class actualPropertyType = path.getType(); + var actualPropertyType = path.getType(); - TypeDescriptor valueDescriptor = conversionService.canConvert(String.class, actualPropertyType) + var valueDescriptor = conversionService.canConvert(String.class, actualPropertyType) ? TypeDescriptor.valueOf(String.class) : TypeDescriptor.valueOf(HashMap.class); diff --git a/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolver.java b/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolver.java index 9c48918ed..f4702fc52 100644 --- a/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolver.java @@ -18,7 +18,6 @@ package org.springframework.data.web; import org.springframework.core.MethodParameter; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; -import org.springframework.data.domain.Sort; import org.springframework.lang.Nullable; import org.springframework.web.bind.support.WebDataBinderFactory; import org.springframework.web.context.request.NativeWebRequest; @@ -84,11 +83,11 @@ public class PageableHandlerMethodArgumentResolver extends PageableHandlerMethod public Pageable resolveArgument(MethodParameter methodParameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest, @Nullable WebDataBinderFactory binderFactory) { - String page = webRequest.getParameter(getParameterNameToUse(getPageParameterName(), methodParameter)); - String pageSize = webRequest.getParameter(getParameterNameToUse(getSizeParameterName(), methodParameter)); + var page = webRequest.getParameter(getParameterNameToUse(getPageParameterName(), methodParameter)); + var pageSize = webRequest.getParameter(getParameterNameToUse(getSizeParameterName(), methodParameter)); - Sort sort = sortResolver.resolveArgument(methodParameter, mavContainer, webRequest, binderFactory); - Pageable pageable = getPageable(methodParameter, page, pageSize); + var sort = sortResolver.resolveArgument(methodParameter, mavContainer, webRequest, binderFactory); + var pageable = getPageable(methodParameter, page, pageSize); if (sort.isSorted()) { return PageRequest.of(pageable.getPageNumber(), pageable.getPageSize(), sort); diff --git a/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverSupport.java b/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverSupport.java index 1bef083b7..09682ac99 100644 --- a/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverSupport.java +++ b/src/main/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverSupport.java @@ -17,13 +17,10 @@ package org.springframework.data.web; import static org.springframework.data.web.SpringDataAnnotationUtils.*; -import java.lang.reflect.Method; import java.util.Optional; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.core.MethodParameter; -import org.springframework.core.annotation.MergedAnnotation; -import org.springframework.core.annotation.MergedAnnotations; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; @@ -197,10 +194,10 @@ public abstract class PageableHandlerMethodArgumentResolverSupport { @Nullable String pageSizeString) { assertPageableUniqueness(methodParameter); - Optional defaultOrFallback = getDefaultFromAnnotationOrFallback(methodParameter).toOptional(); + var defaultOrFallback = getDefaultFromAnnotationOrFallback(methodParameter).toOptional(); - Optional page = parseAndApplyBoundaries(pageString, Integer.MAX_VALUE, true); - Optional pageSize = parseAndApplyBoundaries(pageSizeString, maxPageSize, false); + var page = parseAndApplyBoundaries(pageString, Integer.MAX_VALUE, true); + var pageSize = parseAndApplyBoundaries(pageSizeString, maxPageSize, false); if (!(page.isPresent() && pageSize.isPresent()) && !defaultOrFallback.isPresent()) { return Pageable.unpaged(); @@ -229,9 +226,9 @@ public abstract class PageableHandlerMethodArgumentResolverSupport { */ protected String getParameterNameToUse(String source, @Nullable MethodParameter parameter) { - StringBuilder builder = new StringBuilder(prefix); + var builder = new StringBuilder(prefix); - String value = SpringDataAnnotationUtils.getQualifier(parameter); + var value = SpringDataAnnotationUtils.getQualifier(parameter); if (StringUtils.hasLength(value)) { builder.append(value); @@ -243,7 +240,7 @@ public abstract class PageableHandlerMethodArgumentResolverSupport { private Pageable getDefaultFromAnnotationOrFallback(MethodParameter methodParameter) { - PageableDefault defaults = methodParameter.getParameterAnnotation(PageableDefault.class); + var defaults = methodParameter.getParameterAnnotation(PageableDefault.class); if (defaults != null) { return getDefaultPageRequestFrom(methodParameter, defaults); @@ -258,7 +255,7 @@ public abstract class PageableHandlerMethodArgumentResolverSupport { Integer defaultPageSize = getSpecificPropertyOrDefaultFromValue(defaults, "size"); if (defaultPageSize < 1) { - Method annotatedMethod = parameter.getMethod(); + var annotatedMethod = parameter.getMethod(); throw new IllegalStateException(String.format(INVALID_DEFAULT_PAGE_SIZE, annotatedMethod)); } @@ -285,7 +282,7 @@ public abstract class PageableHandlerMethodArgumentResolverSupport { } try { - int parsed = Integer.parseInt(parameter) - (oneIndexedParameters && shiftIndex ? 1 : 0); + var parsed = Integer.parseInt(parameter) - (oneIndexedParameters && shiftIndex ? 1 : 0); return Optional.of(parsed < 0 ? 0 : parsed > upper ? upper : parsed); } catch (NumberFormatException e) { return Optional.of(0); diff --git a/src/main/java/org/springframework/data/web/PagedResourcesAssembler.java b/src/main/java/org/springframework/data/web/PagedResourcesAssembler.java index 0e431be5a..4f0fefc4f 100644 --- a/src/main/java/org/springframework/data/web/PagedResourcesAssembler.java +++ b/src/main/java/org/springframework/data/web/PagedResourcesAssembler.java @@ -41,7 +41,6 @@ import org.springframework.lang.Nullable; import org.springframework.util.Assert; import org.springframework.web.servlet.support.ServletUriComponentsBuilder; import org.springframework.web.util.UriComponents; -import org.springframework.web.util.UriComponentsBuilder; /** * {@link RepresentationModelAssembler} to easily convert {@link Page} instances into {@link PagedModel}. @@ -172,10 +171,10 @@ public class PagedResourcesAssembler implements RepresentationModelAssembler< Assert.notNull(type, "Type must not be null!"); Assert.notNull(link, "Link must not be null!"); - PageMetadata metadata = asPageMetadata(page); + var metadata = asPageMetadata(page); - EmbeddedWrapper wrapper = wrappers.emptyCollectionOf(type); - List embedded = Collections.singletonList(wrapper); + var wrapper = wrappers.emptyCollectionOf(type); + var embedded = Collections.singletonList(wrapper); return addPaginationLinks(PagedModel.of(embedded, metadata), page, link); } @@ -206,20 +205,20 @@ public class PagedResourcesAssembler implements RepresentationModelAssembler< List resources = new ArrayList<>(page.getNumberOfElements()); - for (S element : page) { + for (var element : page) { resources.add(assembler.toModel(element)); } - PagedModel resource = createPagedModel(resources, asPageMetadata(page), page); + var resource = createPagedModel(resources, asPageMetadata(page), page); return addPaginationLinks(resource, page, link); } private PagedModel addPaginationLinks(PagedModel resources, Page page, Optional link) { - UriTemplate base = getUriTemplate(link); + var base = getUriTemplate(link); - boolean isNavigable = page.hasPrevious() || page.hasNext(); + var isNavigable = page.hasPrevious() || page.hasNext(); if (isNavigable || forceFirstAndLastRels) { resources.add(createLink(base, PageRequest.of(0, page.getSize(), page.getSort()), IanaLinkRelations.FIRST)); @@ -229,7 +228,7 @@ public class PagedResourcesAssembler implements RepresentationModelAssembler< resources.add(createLink(base, page.previousPageable(), IanaLinkRelations.PREV)); } - Link selfLink = link.map(Link::withSelfRel)// + var selfLink = link.map(Link::withSelfRel)// .orElseGet(() -> createLink(base, page.getPageable(), IanaLinkRelations.SELF)); resources.add(selfLink); @@ -240,7 +239,7 @@ public class PagedResourcesAssembler implements RepresentationModelAssembler< if (isNavigable || forceFirstAndLastRels) { - int lastIndex = page.getTotalPages() == 0 ? 0 : page.getTotalPages() - 1; + var lastIndex = page.getTotalPages() == 0 ? 0 : page.getTotalPages() - 1; resources .add(createLink(base, PageRequest.of(lastIndex, page.getSize(), page.getSort()), IanaLinkRelations.LAST)); @@ -270,7 +269,7 @@ public class PagedResourcesAssembler implements RepresentationModelAssembler< */ private Link createLink(UriTemplate base, Pageable pageable, LinkRelation relation) { - UriComponentsBuilder builder = fromUri(base.expand()); + var builder = fromUri(base.expand()); pageableResolver.enhance(builder, getMethodParameter(), pageable); return Link.of(UriTemplate.of(builder.build().toString()), relation); @@ -298,7 +297,7 @@ public class PagedResourcesAssembler implements RepresentationModelAssembler< Assert.notNull(page, "Page must not be null!"); - int number = pageableResolver.isOneIndexedParameters() ? page.getNumber() + 1 : page.getNumber(); + var number = pageableResolver.isOneIndexedParameters() ? page.getNumber() + 1 : page.getNumber(); return new PageMetadata(page.getSize(), number, page.getTotalElements(), page.getTotalPages()); } diff --git a/src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java b/src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java index 489a1ff98..6c23158f2 100644 --- a/src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolver.java @@ -15,9 +15,6 @@ */ package org.springframework.data.web; -import java.lang.reflect.Method; -import java.util.List; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -79,7 +76,7 @@ public class PagedResourcesAssemblerArgumentResolver implements HandlerMethodArg public Object resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest, @Nullable WebDataBinderFactory binderFactory) { - MethodParameter pageableParameter = findMatchingPageableParameter(parameter); + var pageableParameter = findMatchingPageableParameter(parameter); if (pageableParameter != null) { return new MethodParameterAwarePagedResourcesAssembler<>(pageableParameter, resolver, null); @@ -98,15 +95,15 @@ public class PagedResourcesAssemblerArgumentResolver implements HandlerMethodArg @Nullable private static MethodParameter findMatchingPageableParameter(MethodParameter parameter) { - Method method = parameter.getMethod(); + var method = parameter.getMethod(); if (method == null) { throw new IllegalArgumentException(String.format("Could not obtain method from parameter %s!", parameter)); } - MethodParameters parameters = MethodParameters.of(method); - List pageableParameters = parameters.getParametersOfType(Pageable.class); - Qualifier assemblerQualifier = parameter.getParameterAnnotation(Qualifier.class); + var parameters = MethodParameters.of(method); + var pageableParameters = parameters.getParametersOfType(Pageable.class); + var assemblerQualifier = parameter.getParameterAnnotation(Qualifier.class); if (pageableParameters.isEmpty()) { return null; @@ -114,8 +111,8 @@ public class PagedResourcesAssemblerArgumentResolver implements HandlerMethodArg if (pageableParameters.size() == 1) { - MethodParameter pageableParameter = pageableParameters.get(0); - MethodParameter matchingParameter = returnIfQualifiersMatch(pageableParameter, assemblerQualifier); + var pageableParameter = pageableParameters.get(0); + var matchingParameter = returnIfQualifiersMatch(pageableParameter, assemblerQualifier); if (matchingParameter == null) { logger.info(LogMessage.format(SUPERFLOUS_QUALIFIER, PagedResourcesAssembler.class.getSimpleName(), @@ -129,9 +126,9 @@ public class PagedResourcesAssemblerArgumentResolver implements HandlerMethodArg throw new IllegalStateException(PARAMETER_AMBIGUITY); } - for (MethodParameter pageableParameter : pageableParameters) { + for (var pageableParameter : pageableParameters) { - MethodParameter matchingParameter = returnIfQualifiersMatch(pageableParameter, assemblerQualifier); + var matchingParameter = returnIfQualifiersMatch(pageableParameter, assemblerQualifier); if (matchingParameter != null) { return matchingParameter; @@ -149,7 +146,7 @@ public class PagedResourcesAssemblerArgumentResolver implements HandlerMethodArg return pageableParameter; } - Qualifier pageableParameterQualifier = pageableParameter.getParameterAnnotation(Qualifier.class); + var pageableParameterQualifier = pageableParameter.getParameterAnnotation(Qualifier.class); if (pageableParameterQualifier == null) { return null; diff --git a/src/main/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverter.java b/src/main/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverter.java index b1e2b9f6b..183f7c26d 100644 --- a/src/main/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverter.java +++ b/src/main/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverter.java @@ -84,7 +84,7 @@ public class ProjectingJackson2HttpMessageConverter extends MappingJackson2HttpM Assert.notNull(mapper, "ObjectMapper must not be null!"); - SpelAwareProxyProjectionFactory projectionFactory = new SpelAwareProxyProjectionFactory(); + var projectionFactory = new SpelAwareProxyProjectionFactory(); projectionFactory.registerMethodInvokerFactory(new JsonProjectingMethodInterceptorFactory( new JacksonJsonProvider(mapper), new JacksonMappingProvider(mapper))); @@ -120,9 +120,9 @@ public class ProjectingJackson2HttpMessageConverter extends MappingJackson2HttpM return false; } - ResolvableType owner = contextClass == null ? null : ResolvableType.forClass(contextClass); - Class rawType = ResolvableType.forType(type, owner).resolve(Object.class); - Boolean result = supportedTypesCache.get(rawType); + var owner = contextClass == null ? null : ResolvableType.forClass(contextClass); + var rawType = ResolvableType.forType(type, owner).resolve(Object.class); + var result = supportedTypesCache.get(rawType); if (result != null) { return result; diff --git a/src/main/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolver.java b/src/main/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolver.java index 931d75d2e..d861dfd0e 100644 --- a/src/main/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolver.java @@ -92,7 +92,7 @@ public class ProxyingHandlerMethodArgumentResolver extends ModelAttributeMethodP return false; } - Class type = parameter.getParameterType(); + var type = parameter.getParameterType(); if (!type.isInterface()) { return false; @@ -109,7 +109,7 @@ public class ProxyingHandlerMethodArgumentResolver extends ModelAttributeMethodP } // Fallback for only user defined interfaces - String packageName = ClassUtils.getPackageName(type); + var packageName = ClassUtils.getPackageName(type); return !IGNORED_PACKAGES.stream().anyMatch(it -> packageName.startsWith(it)); } @@ -122,7 +122,7 @@ public class ProxyingHandlerMethodArgumentResolver extends ModelAttributeMethodP protected Object createAttribute(String attributeName, MethodParameter parameter, WebDataBinderFactory binderFactory, NativeWebRequest request) throws Exception { - MapDataBinder binder = new MapDataBinder(parameter.getParameterType(), conversionService.getObject()); + var binder = new MapDataBinder(parameter.getParameterType(), conversionService.getObject()); binder.bind(new MutablePropertyValues(request.getParameterMap())); return proxyFactory.createProjection(parameter.getParameterType(), binder.getTarget()); diff --git a/src/main/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolver.java b/src/main/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolver.java index 18065d3b2..58bd06e64 100644 --- a/src/main/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolver.java @@ -18,10 +18,8 @@ package org.springframework.data.web; import org.springframework.core.MethodParameter; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; -import org.springframework.data.domain.Sort; import org.springframework.lang.NonNull; import org.springframework.util.Assert; -import org.springframework.util.MultiValueMap; import org.springframework.web.reactive.BindingContext; import org.springframework.web.reactive.result.method.SyncHandlerMethodArgumentResolver; import org.springframework.web.server.ServerWebExchange; @@ -78,13 +76,13 @@ public class ReactivePageableHandlerMethodArgumentResolver extends PageableHandl public Pageable resolveArgumentValue(MethodParameter parameter, BindingContext bindingContext, ServerWebExchange exchange) { - MultiValueMap queryParams = exchange.getRequest().getQueryParams(); - String page = queryParams.getFirst(getParameterNameToUse(getPageParameterName(), parameter)); - String pageSize = queryParams.getFirst(getParameterNameToUse(getSizeParameterName(), parameter)); + var queryParams = exchange.getRequest().getQueryParams(); + var page = queryParams.getFirst(getParameterNameToUse(getPageParameterName(), parameter)); + var pageSize = queryParams.getFirst(getParameterNameToUse(getSizeParameterName(), parameter)); - Sort sort = sortResolver.resolveArgumentValue(parameter, bindingContext, exchange); + var sort = sortResolver.resolveArgumentValue(parameter, bindingContext, exchange); - Pageable pageable = getPageable(parameter, page, pageSize); + var pageable = getPageable(parameter, page, pageSize); return sort.isSorted() ? PageRequest.of(pageable.getPageNumber(), pageable.getPageSize(), sort) : pageable; } diff --git a/src/main/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolver.java b/src/main/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolver.java index 336ed6bd8..c54b5f717 100644 --- a/src/main/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolver.java @@ -15,8 +15,6 @@ */ package org.springframework.data.web; -import java.util.List; - import org.springframework.core.MethodParameter; import org.springframework.data.domain.Sort; import org.springframework.lang.NonNull; @@ -54,7 +52,7 @@ public class ReactiveSortHandlerMethodArgumentResolver extends SortHandlerMethod public Sort resolveArgumentValue(MethodParameter parameter, BindingContext bindingContext, ServerWebExchange exchange) { - List directionParameter = exchange.getRequest().getQueryParams().get(getSortParameter(parameter)); + var directionParameter = exchange.getRequest().getQueryParams().get(getSortParameter(parameter)); // No parameter if (directionParameter == null) { diff --git a/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java b/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java index b1c2225ff..c3b5f7461 100644 --- a/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolver.java @@ -57,7 +57,7 @@ public class SortHandlerMethodArgumentResolver extends SortHandlerMethodArgument public Sort resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest, @Nullable WebDataBinderFactory binderFactory) { - String[] directionParameter = webRequest.getParameterValues(getSortParameter(parameter)); + var directionParameter = webRequest.getParameterValues(getSortParameter(parameter)); // No parameter if (directionParameter == null) { diff --git a/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolverSupport.java b/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolverSupport.java index 439f4d8c7..90e8f41ba 100644 --- a/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolverSupport.java +++ b/src/main/java/org/springframework/data/web/SortHandlerMethodArgumentResolverSupport.java @@ -22,10 +22,7 @@ import java.util.List; import java.util.Optional; import java.util.function.Consumer; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.core.MethodParameter; -import org.springframework.core.annotation.MergedAnnotation; -import org.springframework.core.annotation.MergedAnnotations; import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort.Direction; import org.springframework.data.domain.Sort.Order; @@ -123,8 +120,8 @@ public abstract class SortHandlerMethodArgumentResolverSupport { */ protected Sort getDefaultFromAnnotationOrFallback(MethodParameter parameter) { - SortDefaults annotatedDefaults = parameter.getParameterAnnotation(SortDefaults.class); - SortDefault annotatedDefault = parameter.getParameterAnnotation(SortDefault.class); + var annotatedDefaults = parameter.getParameterAnnotation(SortDefaults.class); + var annotatedDefault = parameter.getParameterAnnotation(SortDefault.class); if (annotatedDefault != null && annotatedDefaults != null) { throw new IllegalArgumentException( @@ -138,9 +135,9 @@ public abstract class SortHandlerMethodArgumentResolverSupport { if (annotatedDefaults != null) { - Sort sort = Sort.unsorted(); + var sort = Sort.unsorted(); - for (SortDefault currentAnnotatedDefault : annotatedDefaults.value()) { + for (var currentAnnotatedDefault : annotatedDefaults.value()) { sort = appendOrCreateSortTo(currentAnnotatedDefault, sort); } @@ -167,9 +164,9 @@ public abstract class SortHandlerMethodArgumentResolverSupport { } List orders = new ArrayList<>(fields.length); - for (String field : fields) { + for (var field : fields) { - Order order = new Order(sortDefault.direction(), field); + var order = new Order(sortDefault.direction(), field); orders.add(sortDefault.caseSensitive() ? order : order.ignoreCase()); } @@ -184,9 +181,9 @@ public abstract class SortHandlerMethodArgumentResolverSupport { */ protected String getSortParameter(@Nullable MethodParameter parameter) { - StringBuilder builder = new StringBuilder(); + var builder = new StringBuilder(); - String value = SpringDataAnnotationUtils.getQualifier(parameter); + var value = SpringDataAnnotationUtils.getQualifier(parameter); if (StringUtils.hasLength(value)) { builder.append(value); @@ -211,7 +208,7 @@ public abstract class SortHandlerMethodArgumentResolverSupport { List allOrders = new ArrayList<>(); - for (String part : source) { + for (var part : source) { if (part == null) { continue; @@ -238,9 +235,9 @@ public abstract class SortHandlerMethodArgumentResolverSupport { List expressions = new ArrayList<>(); ExpressionBuilder builder = null; - for (Order order : sort) { + for (var order : sort) { - Direction direction = order.getDirection(); + var direction = order.getDirection(); if (builder == null) { builder = new ExpressionBuilder(direction); @@ -268,9 +265,9 @@ public abstract class SortHandlerMethodArgumentResolverSupport { List expressions = new ArrayList<>(); ExpressionBuilder builder = null; - for (Order order : sort) { + for (var order : sort) { - Direction direction = order.getDirection(); + var direction = order.getDirection(); if (builder == null) { builder = new ExpressionBuilder(direction); @@ -391,7 +388,7 @@ public abstract class SortHandlerMethodArgumentResolverSupport { */ public static SortOrderParser parse(String part, String delimiter) { - String[] elements = Arrays.stream(part.split(delimiter)) // + var elements = Arrays.stream(part.split(delimiter)) // .filter(SortHandlerMethodArgumentResolver::notOnlyDots) // .toArray(String[]::new); @@ -430,7 +427,7 @@ public abstract class SortHandlerMethodArgumentResolverSupport { */ public void forEachOrder(Consumer callback) { - for (int i = 0; i < lastIndex; i++) { + for (var i = 0; i < lastIndex; i++) { toOrder(elements[i]).ifPresent(callback); } } @@ -445,7 +442,7 @@ public abstract class SortHandlerMethodArgumentResolverSupport { return Optional.empty(); } - Order order = direction.map(it -> new Order(it, property)).orElseGet(() -> Order.by(property)); + var order = direction.map(it -> new Order(it, property)).orElseGet(() -> Order.by(property)); if (ignoreCase.isPresent()) { return Optional.of(order.ignoreCase()); diff --git a/src/main/java/org/springframework/data/web/SpringDataAnnotationUtils.java b/src/main/java/org/springframework/data/web/SpringDataAnnotationUtils.java index e169be340..c6a7abb07 100644 --- a/src/main/java/org/springframework/data/web/SpringDataAnnotationUtils.java +++ b/src/main/java/org/springframework/data/web/SpringDataAnnotationUtils.java @@ -23,7 +23,6 @@ import java.util.Set; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.core.MethodParameter; import org.springframework.core.annotation.AnnotationUtils; -import org.springframework.core.annotation.MergedAnnotation; import org.springframework.core.annotation.MergedAnnotations; import org.springframework.data.domain.Pageable; import org.springframework.lang.Nullable; @@ -47,14 +46,14 @@ abstract class SpringDataAnnotationUtils { */ public static void assertPageableUniqueness(MethodParameter parameter) { - Method method = parameter.getMethod(); + var method = parameter.getMethod(); if (method == null) { throw new IllegalArgumentException(String.format("Method parameter %s is not backed by a method.", parameter)); } if (containsMoreThanOnePageableParameter(method)) { - Annotation[][] annotations = method.getParameterAnnotations(); + var annotations = method.getParameterAnnotations(); assertQualifiersFor(method.getParameterTypes(), annotations); } } @@ -67,9 +66,9 @@ abstract class SpringDataAnnotationUtils { */ private static boolean containsMoreThanOnePageableParameter(Method method) { - boolean pageableFound = false; + var pageableFound = false; - for (Class type : method.getParameterTypes()) { + for (var type : method.getParameterTypes()) { if (pageableFound && type.equals(Pageable.class)) { return true; @@ -94,10 +93,10 @@ abstract class SpringDataAnnotationUtils { @SuppressWarnings("unchecked") public static T getSpecificPropertyOrDefaultFromValue(Annotation annotation, String property) { - Object propertyDefaultValue = AnnotationUtils.getDefaultValue(annotation, property); - Object propertyValue = AnnotationUtils.getValue(annotation, property); + var propertyDefaultValue = AnnotationUtils.getDefaultValue(annotation, property); + var propertyValue = AnnotationUtils.getValue(annotation, property); - Object result = ObjectUtils.nullSafeEquals(propertyDefaultValue, propertyValue) // + var result = ObjectUtils.nullSafeEquals(propertyDefaultValue, propertyValue) // ? AnnotationUtils.getValue(annotation) // : propertyValue; @@ -122,8 +121,8 @@ abstract class SpringDataAnnotationUtils { return null; } - MergedAnnotations annotations = MergedAnnotations.from(parameter.getParameter()); - MergedAnnotation qualifier = annotations.get(Qualifier.class); + var annotations = MergedAnnotations.from(parameter.getParameter()); + var qualifier = annotations.get(Qualifier.class); return qualifier.isPresent() ? qualifier.getString("value") : null; } @@ -139,11 +138,11 @@ abstract class SpringDataAnnotationUtils { Set values = new HashSet<>(); - for (int i = 0; i < annotations.length; i++) { + for (var i = 0; i < annotations.length; i++) { if (Pageable.class.equals(parameterTypes[i])) { - Qualifier qualifier = findAnnotation(annotations[i]); + var qualifier = findAnnotation(annotations[i]); if (null == qualifier) { throw new IllegalStateException( @@ -169,7 +168,7 @@ abstract class SpringDataAnnotationUtils { @Nullable private static Qualifier findAnnotation(Annotation[] annotations) { - for (Annotation annotation : annotations) { + for (var annotation : annotations) { if (annotation instanceof Qualifier) { return (Qualifier) annotation; } diff --git a/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java b/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java index 02bed316c..c9f5b459e 100644 --- a/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java +++ b/src/main/java/org/springframework/data/web/XmlBeamHttpMessageConverter.java @@ -66,7 +66,7 @@ public class XmlBeamHttpMessageConverter extends AbstractHttpMessageConverter type) { - Class rawType = ResolvableType.forType(type).resolve(Object.class); - Boolean result = supportedTypesCache.get(rawType); + var rawType = ResolvableType.forType(type).resolve(Object.class); + var result = supportedTypesCache.get(rawType); if (result != null) { return result; @@ -134,7 +134,7 @@ public class XmlBeamHttpMessageConverter extends AbstractHttpMessageConverter currentResolvers = adapter.getArgumentResolvers(); + var adapter = (RequestMappingHandlerAdapter) bean; + var currentResolvers = adapter.getArgumentResolvers(); if (currentResolvers == null) { throw new IllegalStateException( diff --git a/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java b/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java index ad1ab33c5..3c5bdb64c 100644 --- a/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java +++ b/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java @@ -101,7 +101,7 @@ public class SpringDataWebConfiguration implements WebMvcConfigurer, BeanClassLo @Bean public PageableHandlerMethodArgumentResolver pageableResolver() { - PageableHandlerMethodArgumentResolver pageableResolver = // + var pageableResolver = // new PageableHandlerMethodArgumentResolver(sortResolver.get()); customizePageableResolver(pageableResolver); return pageableResolver; @@ -114,7 +114,7 @@ public class SpringDataWebConfiguration implements WebMvcConfigurer, BeanClassLo @Bean public SortHandlerMethodArgumentResolver sortResolver() { - SortHandlerMethodArgumentResolver sortResolver = new SortHandlerMethodArgumentResolver(); + var sortResolver = new SortHandlerMethodArgumentResolver(); customizeSortResolver(sortResolver); return sortResolver; } @@ -129,13 +129,11 @@ public class SpringDataWebConfiguration implements WebMvcConfigurer, BeanClassLo registry.addFormatter(DistanceFormatter.INSTANCE); registry.addFormatter(PointFormatter.INSTANCE); - if (!(registry instanceof FormattingConversionService)) { + if (!(registry instanceof FormattingConversionService conversionService)) { return; } - FormattingConversionService conversionService = (FormattingConversionService) registry; - - DomainClassConverter converter = new DomainClassConverter<>(conversionService); + var converter = new DomainClassConverter(conversionService); converter.setApplicationContext(context); } @@ -149,7 +147,7 @@ public class SpringDataWebConfiguration implements WebMvcConfigurer, BeanClassLo argumentResolvers.add(sortResolver.get()); argumentResolvers.add(pageableResolver.get()); - ProxyingHandlerMethodArgumentResolver resolver = new ProxyingHandlerMethodArgumentResolver(conversionService, true); + var resolver = new ProxyingHandlerMethodArgumentResolver(conversionService, true); resolver.setBeanFactory(context); forwardBeanClassLoader(resolver); @@ -166,9 +164,9 @@ public class SpringDataWebConfiguration implements WebMvcConfigurer, BeanClassLo if (ClassUtils.isPresent("com.jayway.jsonpath.DocumentContext", context.getClassLoader()) && ClassUtils.isPresent("com.fasterxml.jackson.databind.ObjectMapper", context.getClassLoader())) { - ObjectMapper mapper = context.getBeanProvider(ObjectMapper.class).getIfUnique(ObjectMapper::new); + var mapper = context.getBeanProvider(ObjectMapper.class).getIfUnique(ObjectMapper::new); - ProjectingJackson2HttpMessageConverter converter = new ProjectingJackson2HttpMessageConverter(mapper); + var converter = new ProjectingJackson2HttpMessageConverter(mapper); converter.setBeanFactory(context); forwardBeanClassLoader(converter); diff --git a/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolver.java b/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolver.java index f9e7a5772..1b9e10527 100644 --- a/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolver.java @@ -16,8 +16,6 @@ package org.springframework.data.web.querydsl; import java.util.Arrays; -import java.util.Map; -import java.util.Map.Entry; import java.util.Optional; import org.springframework.core.MethodParameter; @@ -32,8 +30,6 @@ import org.springframework.web.context.request.NativeWebRequest; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.method.support.ModelAndViewContainer; -import com.querydsl.core.types.Predicate; - /** * {@link HandlerMethodArgumentResolver} to allow injection of {@link com.querydsl.core.types.Predicate} into Spring MVC * controller methods. @@ -79,18 +75,18 @@ public class QuerydslPredicateArgumentResolver extends QuerydslPredicateArgument public Object resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest, @Nullable WebDataBinderFactory binderFactory) throws Exception { - MultiValueMap queryParameters = getQueryParameters(webRequest); - Predicate result = getPredicate(parameter, queryParameters); + var queryParameters = getQueryParameters(webRequest); + var result = getPredicate(parameter, queryParameters); return potentiallyConvertMethodParameterValue(parameter, result); } private static MultiValueMap getQueryParameters(NativeWebRequest webRequest) { - Map parameterMap = webRequest.getParameterMap(); + var parameterMap = webRequest.getParameterMap(); MultiValueMap queryParameters = new LinkedMultiValueMap<>(parameterMap.size()); - for (Entry entry : parameterMap.entrySet()) { + for (var entry : parameterMap.entrySet()) { queryParameters.put(entry.getKey(), Arrays.asList(entry.getValue())); } diff --git a/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverSupport.java b/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverSupport.java index 997c1e90b..bc1709eb8 100644 --- a/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverSupport.java +++ b/src/main/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverSupport.java @@ -15,7 +15,6 @@ */ package org.springframework.data.web.querydsl; -import java.lang.reflect.Method; import java.util.Optional; import org.springframework.core.MethodParameter; @@ -24,7 +23,6 @@ import org.springframework.core.annotation.MergedAnnotation; import org.springframework.core.annotation.MergedAnnotations; import org.springframework.core.convert.ConversionService; import org.springframework.data.querydsl.binding.QuerydslBinderCustomizer; -import org.springframework.data.querydsl.binding.QuerydslBindings; import org.springframework.data.querydsl.binding.QuerydslBindingsFactory; import org.springframework.data.querydsl.binding.QuerydslPredicate; import org.springframework.data.querydsl.binding.QuerydslPredicateBuilder; @@ -78,13 +76,13 @@ public abstract class QuerydslPredicateArgumentResolverSupport { */ public boolean supportsParameter(MethodParameter parameter) { - ResolvableType type = ResolvableType.forMethodParameter(parameter); + var type = ResolvableType.forMethodParameter(parameter); if (PREDICATE.isAssignableFrom(type) || OPTIONAL_OF_PREDICATE.isAssignableFrom(type)) { return true; } - MergedAnnotations annotations = MergedAnnotations.from(parameter.getParameter()); + var annotations = MergedAnnotations.from(parameter.getParameter()); if (annotations.isPresent(QuerydslPredicate.class)) { throw new IllegalArgumentException(String.format("Parameter at position %s must be of type Predicate but was %s.", @@ -96,15 +94,15 @@ public abstract class QuerydslPredicateArgumentResolverSupport { Predicate getPredicate(MethodParameter parameter, MultiValueMap queryParameters) { - MergedAnnotations annotations = MergedAnnotations.from(parameter.getParameter()); - MergedAnnotation predicateAnnotation = annotations.get(QuerydslPredicate.class); + var annotations = MergedAnnotations.from(parameter.getParameter()); + var predicateAnnotation = annotations.get(QuerydslPredicate.class); - TypeInformation domainType = extractTypeInfo(parameter, predicateAnnotation).getRequiredActualType(); + var domainType = extractTypeInfo(parameter, predicateAnnotation).getRequiredActualType(); Optional>> bindingsAnnotation = predicateAnnotation.getValue("bindings") // .map(CastUtils::cast); - QuerydslBindings bindings = bindingsAnnotation // + var bindings = bindingsAnnotation // .map(it -> bindingsFactory.createBindingsFor(domainType, it)) // .orElseGet(() -> bindingsFactory.createBindingsFor(domainType)); @@ -135,7 +133,7 @@ public abstract class QuerydslPredicateArgumentResolverSupport { protected static TypeInformation extractTypeInfo(MethodParameter parameter, MergedAnnotation predicateAnnotation) { - Optional annotation = predicateAnnotation.synthesize(MergedAnnotation::isPresent); + var annotation = predicateAnnotation.synthesize(MergedAnnotation::isPresent); return annotation.filter(it -> !Object.class.equals(it.root()))// .> map(it -> ClassTypeInformation.from(it.root()))// @@ -144,7 +142,7 @@ public abstract class QuerydslPredicateArgumentResolverSupport { private static TypeInformation detectDomainType(MethodParameter parameter) { - Method method = parameter.getMethod(); + var method = parameter.getMethod(); if (method == null) { throw new IllegalArgumentException("Method parameter is not backed by a method!"); @@ -159,7 +157,7 @@ public abstract class QuerydslPredicateArgumentResolverSupport { return source; } - TypeInformation actualType = source.getActualType(); + var actualType = source.getActualType(); if (actualType == null) { throw new IllegalArgumentException(String.format("Could not determine domain type from %s!", source)); diff --git a/src/main/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolver.java b/src/main/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolver.java index dd451a234..6c71104ed 100644 --- a/src/main/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolver.java +++ b/src/main/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolver.java @@ -15,9 +15,6 @@ */ package org.springframework.data.web.querydsl; -import java.util.List; -import java.util.Map.Entry; - import org.springframework.core.MethodParameter; import org.springframework.core.convert.ConversionService; import org.springframework.data.querydsl.binding.QuerydslBindingsFactory; @@ -29,8 +26,6 @@ import org.springframework.web.reactive.result.method.HandlerMethodArgumentResol import org.springframework.web.reactive.result.method.SyncHandlerMethodArgumentResolver; import org.springframework.web.server.ServerWebExchange; -import com.querydsl.core.types.Predicate; - /** * {@link HandlerMethodArgumentResolver} to allow injection of {@link com.querydsl.core.types.Predicate} into Spring * WebFlux controller methods. @@ -56,8 +51,8 @@ public class ReactiveQuerydslPredicateArgumentResolver extends QuerydslPredicate public Object resolveArgumentValue(MethodParameter parameter, BindingContext bindingContext, ServerWebExchange exchange) { - MultiValueMap queryParameters = getQueryParameters(exchange); - Predicate result = getPredicate(parameter, queryParameters); + var queryParameters = getQueryParameters(exchange); + var result = getPredicate(parameter, queryParameters); return potentiallyConvertMethodParameterValue(parameter, result); } @@ -65,10 +60,10 @@ public class ReactiveQuerydslPredicateArgumentResolver extends QuerydslPredicate private static MultiValueMap getQueryParameters(ServerWebExchange exchange) { - MultiValueMap queryParams = exchange.getRequest().getQueryParams(); + var queryParams = exchange.getRequest().getQueryParams(); MultiValueMap parameters = new LinkedMultiValueMap<>(queryParams.size()); - for (Entry> entry : queryParams.entrySet()) { + for (var entry : queryParams.entrySet()) { parameters.put(entry.getKey(), entry.getValue()); } diff --git a/src/test/java/org/springframework/data/annotation/TypeAliasUnitTests.java b/src/test/java/org/springframework/data/annotation/TypeAliasUnitTests.java index c3ab010ea..3afe0d5fd 100755 --- a/src/test/java/org/springframework/data/annotation/TypeAliasUnitTests.java +++ b/src/test/java/org/springframework/data/annotation/TypeAliasUnitTests.java @@ -17,9 +17,8 @@ package org.springframework.data.annotation; import static org.assertj.core.api.Assertions.*; -import java.util.Set; - import org.junit.jupiter.api.Test; + import org.springframework.data.util.AnnotatedTypeScanner; /** @@ -33,8 +32,8 @@ class TypeAliasUnitTests { @SuppressWarnings("unchecked") void scanningforAtPersistentFindsTypeAliasAnnotatedTypes() { - AnnotatedTypeScanner scanner = new AnnotatedTypeScanner(Persistent.class); - Set> types = scanner.findTypes(getClass().getPackage().getName()); + var scanner = new AnnotatedTypeScanner(Persistent.class); + var types = scanner.findTypes(getClass().getPackage().getName()); assertThat(types).containsExactlyInAnyOrder(SampleType.class, TypeAlias.class); } diff --git a/src/test/java/org/springframework/data/auditing/AnnotationAuditingMetadataUnitTests.java b/src/test/java/org/springframework/data/auditing/AnnotationAuditingMetadataUnitTests.java index 10e1a5a9f..9d6fece77 100755 --- a/src/test/java/org/springframework/data/auditing/AnnotationAuditingMetadataUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/AnnotationAuditingMetadataUnitTests.java @@ -41,7 +41,7 @@ class AnnotationAuditingMetadataUnitTests { @Test void checkAnnotationDiscovery() { - AnnotationAuditingMetadata metadata = AnnotationAuditingMetadata.getMetadata(AnnotatedUser.class); + var metadata = AnnotationAuditingMetadata.getMetadata(AnnotatedUser.class); assertThat(metadata).isNotNull(); assertThat(metadata.getCreatedByField()).hasValue(createdByField); @@ -53,17 +53,17 @@ class AnnotationAuditingMetadataUnitTests { @Test void checkCaching() { - AnnotationAuditingMetadata firstCall = AnnotationAuditingMetadata.getMetadata(AnnotatedUser.class); + var firstCall = AnnotationAuditingMetadata.getMetadata(AnnotatedUser.class); assertThat(firstCall).isNotNull(); - AnnotationAuditingMetadata secondCall = AnnotationAuditingMetadata.getMetadata(AnnotatedUser.class); + var secondCall = AnnotationAuditingMetadata.getMetadata(AnnotatedUser.class); assertThat(firstCall).isEqualTo(secondCall); } @Test void checkIsAuditable() { - AnnotationAuditingMetadata metadata = AnnotationAuditingMetadata.getMetadata(AnnotatedUser.class); + var metadata = AnnotationAuditingMetadata.getMetadata(AnnotatedUser.class); assertThat(metadata).isNotNull(); assertThat(metadata.isAuditable()).isTrue(); diff --git a/src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java b/src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java index 0d51176f5..1f766d6f0 100755 --- a/src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/AuditingHandlerUnitTests.java @@ -120,7 +120,7 @@ class AuditingHandlerUnitTests { @Test void onlySetsModificationDataOnNotNewEntities() { - AuditedUser audited = new AuditedUser(); + var audited = new AuditedUser(); audited.id = 1L; handler.setAuditorAware(auditorAware); @@ -152,7 +152,7 @@ class AuditingHandlerUnitTests { @Test // DATAJPA-9 void usesDateTimeProviderIfConfigured() { - DateTimeProvider provider = mock(DateTimeProvider.class); + var provider = mock(DateTimeProvider.class); doReturn(Optional.empty()).when(provider).getNow(); handler.setDateTimeProvider(provider); @@ -164,10 +164,10 @@ class AuditingHandlerUnitTests { @Test void setsAuditingInfoOnEntityUsingInheritance() { - AuditingHandler handler = new AuditingHandler(PersistentEntities.of(new SampleMappingContext())); + var handler = new AuditingHandler(PersistentEntities.of(new SampleMappingContext())); handler.setModifyOnCreation(false); - MyDocument result = handler.markCreated(new MyDocument()); + var result = handler.markCreated(new MyDocument()); assertThat(result.created).isNotNull(); assertThat(result.modified).isNull(); diff --git a/src/test/java/org/springframework/data/auditing/AuditorUnitTests.java b/src/test/java/org/springframework/data/auditing/AuditorUnitTests.java index 8824f7ce0..bdb7d446a 100644 --- a/src/test/java/org/springframework/data/auditing/AuditorUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/AuditorUnitTests.java @@ -39,7 +39,7 @@ class AuditorUnitTests { @Test // DATACMNS-1231 void auditorOfMustNotWrapOtherAuditor() { - Auditor source = Auditor.of("batman"); + var source = Auditor.of("batman"); assertThat(Auditor.of(source)).isSameAs(source); } diff --git a/src/test/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactoryUnitTests.java b/src/test/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactoryUnitTests.java index 32f7b5cf7..c8e7ae59a 100755 --- a/src/test/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/DefaultAuditableBeanWrapperFactoryUnitTests.java @@ -21,8 +21,6 @@ import java.time.Instant; import java.time.LocalDateTime; import java.time.ZoneOffset; import java.time.temporal.ChronoField; -import java.time.temporal.TemporalAccessor; -import java.util.Optional; import org.junit.jupiter.api.Test; @@ -70,10 +68,10 @@ class DefaultAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-643 void setsJsr310Types() { - Jsr310AuditedUser user = new Jsr310AuditedUser(); - Instant instant = Instant.now(); + var user = new Jsr310AuditedUser(); + var instant = Instant.now(); - Optional> wrapper = factory.getBeanWrapperFor(user); + var wrapper = factory.getBeanWrapperFor(user); assertThat(wrapper).hasValueSatisfying(it -> { @@ -88,10 +86,10 @@ class DefaultAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-1259 void lastModifiedDateAsLongIsAvailableViaWrapper() { - LongBasedAuditable source = new LongBasedAuditable(); + var source = new LongBasedAuditable(); source.dateModified = 42000L; - Optional result = factory.getBeanWrapperFor(source) // + var result = factory.getBeanWrapperFor(source) // .flatMap(AuditableBeanWrapper::getLastModifiedDate) // .map(ta -> ta.getLong(ChronoField.INSTANT_SECONDS)); @@ -101,9 +99,9 @@ class DefaultAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-1259 void canSetLastModifiedDateAsInstantViaWrapperOnLongField() { - LongBasedAuditable source = new LongBasedAuditable(); + var source = new LongBasedAuditable(); - Optional> beanWrapper = factory.getBeanWrapperFor(source); + var beanWrapper = factory.getBeanWrapperFor(source); assertThat(beanWrapper).isPresent(); beanWrapper.get().setLastModifiedDate(Instant.ofEpochMilli(42L)); @@ -114,9 +112,9 @@ class DefaultAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-1259 void canSetLastModifiedDateAsLocalDateTimeViaWrapperOnLongField() { - LongBasedAuditable source = new LongBasedAuditable(); + var source = new LongBasedAuditable(); - Optional result = factory.getBeanWrapperFor(source).map(it -> { + var result = factory.getBeanWrapperFor(source).map(it -> { it.setLastModifiedDate(LocalDateTime.ofInstant(Instant.ofEpochMilli(42L), ZoneOffset.systemDefault())); return it.getBean().dateModified; }); @@ -127,12 +125,12 @@ class DefaultAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-1259 void lastModifiedAsLocalDateTimeDateIsAvailableViaWrapperAsLocalDateTime() { - LocalDateTime now = LocalDateTime.now(); + var now = LocalDateTime.now(); - AuditedUser source = new AuditedUser(); + var source = new AuditedUser(); source.setLastModifiedDate(now); - Optional result = factory.getBeanWrapperFor(source) // + var result = factory.getBeanWrapperFor(source) // .flatMap(AuditableBeanWrapper::getLastModifiedDate); assertThat(result).hasValue(now); diff --git a/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java b/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java index 8121878c6..2f8709513 100755 --- a/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/IsNewAwareAuditingHandlerUnitTests.java @@ -59,7 +59,7 @@ class IsNewAwareAuditingHandlerUnitTests extends AuditingHandlerUnitTests { @Test void delegatesToMarkCreatedForNewEntity() { - AuditedUser user = new AuditedUser(); + var user = new AuditedUser(); getHandler().markAudited(user); @@ -70,7 +70,7 @@ class IsNewAwareAuditingHandlerUnitTests extends AuditingHandlerUnitTests { @Test void delegatesToMarkModifiedForNonNewEntity() { - AuditedUser user = new AuditedUser(); + var user = new AuditedUser(); user.id = 1L; getHandler().markAudited(user); @@ -92,7 +92,7 @@ class IsNewAwareAuditingHandlerUnitTests extends AuditingHandlerUnitTests { @Test // DATACMNS-638 void handlingOptionalIsANoOp() { - IsNewAwareAuditingHandler handler = getHandler(); + var handler = getHandler(); handler.markAudited(Optional.empty()); handler.markCreated(Optional.empty()); @@ -107,10 +107,10 @@ class IsNewAwareAuditingHandlerUnitTests extends AuditingHandlerUnitTests { @Test // DATACMNS-1780 void singleContextAllowsInFlightMetadataCreationForUnknownPersistentEntities() { - SampleMappingContext mappingContext = spy(new SampleMappingContext()); + var mappingContext = spy(new SampleMappingContext()); mappingContext.afterPropertiesSet(); - AuditedUser user = new AuditedUser(); + var user = new AuditedUser(); user.id = 1L; new IsNewAwareAuditingHandler(PersistentEntities.of(mappingContext)).markAudited(user); diff --git a/src/test/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactoryUnitTests.java b/src/test/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactoryUnitTests.java index e857080bd..0be3b85b0 100755 --- a/src/test/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/MappingAuditableBeanWrapperFactoryUnitTests.java @@ -59,21 +59,21 @@ class MappingAuditableBeanWrapperFactoryUnitTests { @BeforeEach void setUp() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); context.getPersistentEntity(Sample.class); context.getPersistentEntity(SampleWithInstant.class); context.getPersistentEntity(WithEmbedded.class); - PersistentEntities entities = PersistentEntities.of(context); + var entities = PersistentEntities.of(context); factory = new MappingAuditableBeanWrapperFactory(entities); } @Test // DATACMNS-365 void discoversAuditingPropertyOnField() { - Sample sample = new Sample(); + var sample = new Sample(); - Optional> wrapper = factory.getBeanWrapperFor(sample); + var wrapper = factory.getBeanWrapperFor(sample); assertThat(wrapper).hasValueSatisfying(it -> { @@ -85,9 +85,9 @@ class MappingAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-365 void discoversAuditingPropertyOnAccessor() { - Sample sample = new Sample(); + var sample = new Sample(); - Optional> wrapper = factory.getBeanWrapperFor(sample); + var wrapper = factory.getBeanWrapperFor(sample); assertThat(wrapper).hasValueSatisfying(it -> { @@ -99,9 +99,9 @@ class MappingAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-365 void settingInavailablePropertyIsNoop() { - Sample sample = new Sample(); + var sample = new Sample(); - Optional> wrapper = factory.getBeanWrapperFor(sample); + var wrapper = factory.getBeanWrapperFor(sample); assertThat(wrapper).hasValueSatisfying(it -> it.setLastModifiedDate(Instant.now())); } @@ -121,7 +121,7 @@ class MappingAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-638 void returnsLastModificationCalendarAsCalendar() { - Date reference = new Date(); + var reference = new Date(); Calendar calendar = new GregorianCalendar(); calendar.setTime(reference); @@ -133,7 +133,7 @@ class MappingAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-638 void returnsLastModificationDateAsCalendar() { - Date reference = new Date(); + var reference = new Date(); assertLastModificationDate(reference, // Jsr310Converters.DateToLocalDateTimeConverter.INSTANCE.convert(reference)); @@ -142,7 +142,7 @@ class MappingAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-638, DATACMNS-43 void returnsLastModificationJsr310DateTimeAsCalendar() { - LocalDateTime reference = LocalDateTime.now(); + var reference = LocalDateTime.now(); assertLastModificationDate(reference, reference); } @@ -150,10 +150,10 @@ class MappingAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-1109 void exposesInstantAsModificationDate() { - SampleWithInstant sample = new SampleWithInstant(); + var sample = new SampleWithInstant(); sample.modified = Instant.now(); - Optional result = factory.getBeanWrapperFor(sample) // + var result = factory.getBeanWrapperFor(sample) // .flatMap(it -> it.getLastModifiedDate()); assertThat(result).hasValue(sample.modified); @@ -170,22 +170,22 @@ class MappingAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-1274 void writesNestedAuditingData() { - WithEmbedded target = new WithEmbedded(); + var target = new WithEmbedded(); target.embedded = new Embedded(); - Optional> wrapper = factory.getBeanWrapperFor(target); + var wrapper = factory.getBeanWrapperFor(target); assertThat(wrapper).hasValueSatisfying(it -> { - Instant now = Instant.now(); - String user = "user"; + var now = Instant.now(); + var user = "user"; it.setCreatedBy(user); it.setLastModifiedBy(user); it.setLastModifiedDate(now); it.setCreatedDate(now); - Embedded embedded = it.getBean().embedded; + var embedded = it.getBean().embedded; assertThat(embedded.created).isEqualTo(now); assertThat(embedded.creator).isEqualTo(user); @@ -199,7 +199,7 @@ class MappingAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-1461, DATACMNS-1671 void skipsNullIntermediatesWhenSettingProperties() { - WithEmbedded withEmbedded = new WithEmbedded(); + var withEmbedded = new WithEmbedded(); assertThat(factory.getBeanWrapperFor(withEmbedded)).hasValueSatisfying(it -> { assertThatCode(() -> it.setCreatedBy("user")).doesNotThrowAnyException(); @@ -210,7 +210,7 @@ class MappingAuditableBeanWrapperFactoryUnitTests { @Test // DATACMNS-1438 void skipsCollectionPropertiesWhenSettingProperties() { - WithEmbedded withEmbedded = new WithEmbedded(); + var withEmbedded = new WithEmbedded(); withEmbedded.embedded = new Embedded(); withEmbedded.embeddeds = Arrays.asList(new Embedded()); withEmbedded.embeddedMap = new HashMap<>(); @@ -218,15 +218,15 @@ class MappingAuditableBeanWrapperFactoryUnitTests { assertThat(factory.getBeanWrapperFor(withEmbedded)).hasValueSatisfying(it -> { - String user = "user"; - Instant now = Instant.now(); + var user = "user"; + var now = Instant.now(); it.setCreatedBy(user); it.setLastModifiedBy(user); it.setLastModifiedDate(now); it.setCreatedDate(now); - Embedded embedded = withEmbedded.embeddeds.iterator().next(); + var embedded = withEmbedded.embeddeds.iterator().next(); assertThat(embedded.created).isNull(); assertThat(embedded.creator).isNull(); @@ -244,10 +244,10 @@ class MappingAuditableBeanWrapperFactoryUnitTests { private void assertLastModificationDate(Object source, TemporalAccessor expected) { - Sample sample = new Sample(); + var sample = new Sample(); sample.lastModifiedDate = source; - Optional result = factory.getBeanWrapperFor(sample) // + var result = factory.getBeanWrapperFor(sample) // .flatMap(it -> it.getLastModifiedDate()); assertThat(result).hasValueSatisfying(ta -> compareTemporalAccessors(expected, ta)); @@ -255,8 +255,8 @@ class MappingAuditableBeanWrapperFactoryUnitTests { private static AbstractLongAssert compareTemporalAccessors(TemporalAccessor expected, TemporalAccessor actual) { - long actualSeconds = getInstantSeconds(actual); - long expectedSeconds = getInstantSeconds(expected); + var actualSeconds = getInstantSeconds(actual); + var expectedSeconds = getInstantSeconds(expected); return assertThat(actualSeconds) // .describedAs("Difference is %s", actualSeconds - expectedSeconds) // diff --git a/src/test/java/org/springframework/data/auditing/ReactiveAuditingHandlerUnitTests.java b/src/test/java/org/springframework/data/auditing/ReactiveAuditingHandlerUnitTests.java index 4856d9ba1..583a74ea4 100755 --- a/src/test/java/org/springframework/data/auditing/ReactiveAuditingHandlerUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/ReactiveAuditingHandlerUnitTests.java @@ -50,7 +50,7 @@ class ReactiveAuditingHandlerUnitTests { @BeforeEach void setUp() { - SampleMappingContext sampleMappingContext = new SampleMappingContext(); + var sampleMappingContext = new SampleMappingContext(); sampleMappingContext.getRequiredPersistentEntity(Immutable.class); // initialize to ensure we're using mapping // metadata instead of plain reflection @@ -64,7 +64,7 @@ class ReactiveAuditingHandlerUnitTests { @Test // DATACMNS-1231 void markCreatedShouldSetDatesIfAuditorNotSet() { - Immutable immutable = new Immutable(null, null, null, null); + var immutable = new Immutable(null, null, null, null); handler.markCreated(immutable).as(StepVerifier::create).consumeNextWith(actual -> { @@ -81,7 +81,7 @@ class ReactiveAuditingHandlerUnitTests { @Test // DATACMNS-1231 void markModifiedSetsModifiedFields() { - AuditedUser audited = new AuditedUser(); + var audited = new AuditedUser(); audited.id = 1L; handler.setAuditorAware(auditorAware); diff --git a/src/test/java/org/springframework/data/auditing/ReflectionAuditingBeanWrapperUnitTests.java b/src/test/java/org/springframework/data/auditing/ReflectionAuditingBeanWrapperUnitTests.java index f22ec0a31..36c446096 100755 --- a/src/test/java/org/springframework/data/auditing/ReflectionAuditingBeanWrapperUnitTests.java +++ b/src/test/java/org/springframework/data/auditing/ReflectionAuditingBeanWrapperUnitTests.java @@ -74,7 +74,7 @@ class ReflectionAuditingBeanWrapperUnitTests { @LastModifiedDate long modifiedDate; } - Sample sample = new Sample(); + var sample = new Sample(); AuditableBeanWrapper wrapper = new ReflectionAuditingBeanWrapper<>(conversionService, sample); wrapper.setCreatedDate(time); @@ -87,7 +87,7 @@ class ReflectionAuditingBeanWrapperUnitTests { @Test void setsAuditorFieldsCorrectly() { - Object object = new Object(); + var object = new Object(); wrapper.setCreatedBy(object); assertThat(user.createdBy).isEqualTo(object); diff --git a/src/test/java/org/springframework/data/config/TypeFilterParserUnitTests.java b/src/test/java/org/springframework/data/config/TypeFilterParserUnitTests.java index 8216141b9..6717286b8 100755 --- a/src/test/java/org/springframework/data/config/TypeFilterParserUnitTests.java +++ b/src/test/java/org/springframework/data/config/TypeFilterParserUnitTests.java @@ -63,7 +63,7 @@ class TypeFilterParserUnitTests { Resource sampleXmlFile = new ClassPathResource("type-filter-test.xml", TypeFilterParserUnitTests.class); - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + var factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); documentElement = factory.newDocumentBuilder().parse(sampleXmlFile.getInputStream()).getDocumentElement(); @@ -72,7 +72,7 @@ class TypeFilterParserUnitTests { @Test void parsesIncludesCorrectly() throws Exception { - Element element = DomUtils.getChildElementByTagName(documentElement, "firstSample"); + var element = DomUtils.getChildElementByTagName(documentElement, "firstSample"); Iterable filters = parser.parseTypeFilters(element, Type.INCLUDE); assertThat(filters).hasAtLeastOneElementOfType(AssignableTypeFilter.class); @@ -81,7 +81,7 @@ class TypeFilterParserUnitTests { @Test void parsesExcludesCorrectly() throws Exception { - Element element = DomUtils.getChildElementByTagName(documentElement, "secondSample"); + var element = DomUtils.getChildElementByTagName(documentElement, "secondSample"); Iterable filters = parser.parseTypeFilters(element, Type.EXCLUDE); assertThat(filters).hasAtLeastOneElementOfType(AssignableTypeFilter.class); diff --git a/src/test/java/org/springframework/data/convert/ConverterBuilderUnitTests.java b/src/test/java/org/springframework/data/convert/ConverterBuilderUnitTests.java index 75620cec7..bd80b0b54 100644 --- a/src/test/java/org/springframework/data/convert/ConverterBuilderUnitTests.java +++ b/src/test/java/org/springframework/data/convert/ConverterBuilderUnitTests.java @@ -19,12 +19,10 @@ import static org.assertj.core.api.Assertions.*; import org.junit.jupiter.api.Test; import org.mockito.internal.util.Supplier; + import org.springframework.core.convert.TypeDescriptor; import org.springframework.core.convert.converter.GenericConverter; import org.springframework.core.convert.converter.GenericConverter.ConvertiblePair; -import org.springframework.data.convert.ConverterBuilder.ConverterAware; -import org.springframework.data.convert.ConverterBuilder.ReadingConverterBuilder; -import org.springframework.data.convert.ConverterBuilder.WritingConverterBuilder; /** * Unit tests for {@link DefaultConverterBuilder}. @@ -38,7 +36,7 @@ class ConverterBuilderUnitTests { @Test // DATACMNS-1034 void setsUpBidirectionalConvertersFromReading() { - ConverterAware builder = ConverterBuilder.reading(String.class, Long.class, it -> Long.valueOf(it)) + var builder = ConverterBuilder.reading(String.class, Long.class, it -> Long.valueOf(it)) .andWriting(Object::toString); assertConverter(builder.getReadingConverter(), "1", 1L); @@ -48,7 +46,7 @@ class ConverterBuilderUnitTests { @Test // DATACMNS-1034 void setsUpBidirectionalConvertersFromWriting() { - ConverterAware builder = ConverterBuilder.writing(Long.class, String.class, Object::toString) + var builder = ConverterBuilder.writing(Long.class, String.class, Object::toString) .andReading(it -> Long.valueOf(it)); assertConverter(builder.getReadingConverter(), "1", 1L); @@ -58,7 +56,7 @@ class ConverterBuilderUnitTests { @Test // DATACMNS-1034 void setsUpReadingConverter() { - ReadingConverterBuilder builder = ConverterBuilder.reading(String.class, Long.class, + var builder = ConverterBuilder.reading(String.class, Long.class, string -> Long.valueOf(string)); assertConverter(builder.getReadingConverter(), "1", 1L); @@ -68,7 +66,7 @@ class ConverterBuilderUnitTests { @Test // DATACMNS-1034 void setsUpWritingConverter() { - WritingConverterBuilder builder = ConverterBuilder.writing(Long.class, String.class, + var builder = ConverterBuilder.writing(Long.class, String.class, Object::toString); assertConverter(builder.getWritingConverter(), 1L, "1"); diff --git a/src/test/java/org/springframework/data/convert/CustomConversionsUnitTests.java b/src/test/java/org/springframework/data/convert/CustomConversionsUnitTests.java index a19f46cc5..bf05b0704 100644 --- a/src/test/java/org/springframework/data/convert/CustomConversionsUnitTests.java +++ b/src/test/java/org/springframework/data/convert/CustomConversionsUnitTests.java @@ -38,7 +38,6 @@ import org.springframework.core.convert.converter.GenericConverter.ConvertiblePa import org.springframework.core.convert.support.ConfigurableConversionService; import org.springframework.core.convert.support.DefaultConversionService; import org.springframework.core.convert.support.GenericConversionService; -import org.springframework.data.convert.ConverterBuilder.ConverterAware; import org.springframework.data.convert.CustomConversions.ConverterConfiguration; import org.springframework.data.convert.CustomConversions.StoreConversions; import org.springframework.data.convert.Jsr310Converters.LocalDateTimeToDateConverter; @@ -67,7 +66,7 @@ class CustomConversionsUnitTests { @Test // DATACMNS-1035 void findsBasicReadAndWriteConversions() { - CustomConversions conversions = new CustomConversions(StoreConversions.NONE, + var conversions = new CustomConversions(StoreConversions.NONE, Arrays.asList(FormatToStringConverter.INSTANCE, StringToFormatConverter.INSTANCE)); assertThat(conversions.getCustomWriteTarget(Format.class)).hasValue(String.class); @@ -80,7 +79,7 @@ class CustomConversionsUnitTests { @Test // DATACMNS-1035 void considersSubtypesCorrectly() { - CustomConversions conversions = new CustomConversions(StoreConversions.NONE, + var conversions = new CustomConversions(StoreConversions.NONE, Arrays.asList(NumberToStringConverter.INSTANCE, StringToNumberConverter.INSTANCE)); assertThat(conversions.getCustomWriteTarget(Long.class)).hasValue(String.class); @@ -90,7 +89,7 @@ class CustomConversionsUnitTests { @Test // DATACMNS-1101 void considersSubtypeCachingCorrectly() { - CustomConversions conversions = new CustomConversions(StoreConversions.NONE, + var conversions = new CustomConversions(StoreConversions.NONE, Arrays.asList(NumberToStringConverter.INSTANCE, StringToNumberConverter.INSTANCE)); assertThat(conversions.getCustomWriteTarget(Long.class, Object.class)).isEmpty(); @@ -103,7 +102,7 @@ class CustomConversionsUnitTests { GenericConversionService conversionService = new DefaultConversionService(); - CustomConversions conversions = new CustomConversions(StoreConversions.NONE, + var conversions = new CustomConversions(StoreConversions.NONE, Arrays.asList(StringToFormatConverter.INSTANCE)); conversions.registerConvertersIn(conversionService); @@ -113,7 +112,7 @@ class CustomConversionsUnitTests { @Test // DATAMONGO-259, DATACMNS-1035 void doesNotConsiderTypeSimpleIfOnlyReadConverterIsRegistered() { - CustomConversions conversions = new CustomConversions(StoreConversions.NONE, + var conversions = new CustomConversions(StoreConversions.NONE, Arrays.asList(StringToFormatConverter.INSTANCE)); assertThat(conversions.isSimpleType(Format.class)).isFalse(); } @@ -121,7 +120,7 @@ class CustomConversionsUnitTests { @Test // DATAMONGO-298, DATACMNS-1035 void discoversConvertersForSubtypesOfMongoTypes() { - CustomConversions conversions = new CustomConversions(StoreConversions.NONE, + var conversions = new CustomConversions(StoreConversions.NONE, Arrays.asList(StringToIntegerConverter.INSTANCE)); assertThat(conversions.hasCustomReadTarget(String.class, Integer.class)).isTrue(); assertThat(conversions.hasCustomWriteTarget(String.class, Integer.class)).isTrue(); @@ -130,7 +129,7 @@ class CustomConversionsUnitTests { @Test // DATAMONGO-1001, DATACMNS-1035 void shouldSelectPropertCustomWriteTargetForCglibProxiedType() { - CustomConversions conversions = new CustomConversions(StoreConversions.NONE, + var conversions = new CustomConversions(StoreConversions.NONE, Arrays.asList(FormatToStringConverter.INSTANCE)); assertThat(conversions.getCustomWriteTarget(createProxyTypeFor(Format.class))).hasValue(String.class); } @@ -138,7 +137,7 @@ class CustomConversionsUnitTests { @Test // DATAMONGO-1001, DATACMNS-1035 void shouldSelectPropertCustomReadTargetForCglibProxiedType() { - CustomConversions conversions = new CustomConversions(StoreConversions.NONE, + var conversions = new CustomConversions(StoreConversions.NONE, Arrays.asList(CustomTypeToStringConverter.INSTANCE)); assertThat(conversions.hasCustomReadTarget(createProxyTypeFor(CustomType.class), String.class)).isTrue(); } @@ -146,7 +145,7 @@ class CustomConversionsUnitTests { @Test // DATAMONGO-1131, DATACMNS-1035 void registersConvertersForJsr310() { - CustomConversions customConversions = new CustomConversions(StoreConversions.NONE, Collections.emptyList()); + var customConversions = new CustomConversions(StoreConversions.NONE, Collections.emptyList()); assertThat(customConversions.hasCustomWriteTarget(java.time.LocalDateTime.class)).isTrue(); } @@ -154,9 +153,9 @@ class CustomConversionsUnitTests { @Test // DATAMONGO-1302, DATACMNS-1035 void registersConverterFactoryCorrectly() { - StoreConversions conversions = StoreConversions.of(new SimpleTypeHolder(Collections.singleton(Format.class), true)); + var conversions = StoreConversions.of(new SimpleTypeHolder(Collections.singleton(Format.class), true)); - CustomConversions customConversions = new CustomConversions(conversions, + var customConversions = new CustomConversions(conversions, Collections.singletonList(new FormatConverterFactory())); assertThat(customConversions.getCustomWriteTarget(String.class, SimpleDateFormat.class)).isPresent(); @@ -165,11 +164,11 @@ class CustomConversionsUnitTests { @Test // DATACMNS-1034 void registersConverterFromConverterAware() { - ConverterAware converters = ConverterBuilder // + var converters = ConverterBuilder // .reading(Locale.class, CustomType.class, left -> new CustomType()) // .andWriting(right -> Locale.GERMAN); - CustomConversions conversions = new CustomConversions(StoreConversions.NONE, Collections.singletonList(converters)); + var conversions = new CustomConversions(StoreConversions.NONE, Collections.singletonList(converters)); assertThat(conversions.hasCustomWriteTarget(CustomType.class)).isTrue(); assertThat(conversions.hasCustomReadTarget(Locale.class, CustomType.class)).isTrue(); @@ -184,7 +183,7 @@ class CustomConversionsUnitTests { @Test // DATACMNS-1615 void skipsUnsupportedDefaultWritingConverter() { - ConverterRegistry registry = mock(ConverterRegistry.class); + var registry = mock(ConverterRegistry.class); new CustomConversions(StoreConversions.of(DATE_EXCLUDING_SIMPLE_TYPE_HOLDER), Collections.emptyList()) .registerConvertersIn(registry); @@ -195,11 +194,11 @@ class CustomConversionsUnitTests { @Test // DATACMNS-1665 void registersStoreConverter() { - ConverterRegistry registry = mock(ConverterRegistry.class); + var registry = mock(ConverterRegistry.class); - SimpleTypeHolder holder = new SimpleTypeHolder(Collections.emptySet(), true); + var holder = new SimpleTypeHolder(Collections.emptySet(), true); - CustomConversions conversions = new CustomConversions(StoreConversions.of(holder, PointToMapConverter.INSTANCE), + var conversions = new CustomConversions(StoreConversions.of(holder, PointToMapConverter.INSTANCE), Collections.emptyList()); conversions.registerConvertersIn(registry); @@ -210,7 +209,7 @@ class CustomConversionsUnitTests { @Test // DATACMNS-1615 void doesNotSkipUnsupportedUserConverter() { - ConverterRegistry registry = mock(ConverterRegistry.class); + var registry = mock(ConverterRegistry.class); new CustomConversions(StoreConversions.of(DATE_EXCLUDING_SIMPLE_TYPE_HOLDER), Collections.singletonList(Jsr310Converters.LocalDateTimeToInstantConverter.INSTANCE)) @@ -222,9 +221,9 @@ class CustomConversionsUnitTests { @Test // DATACMNS-1615 void skipsConverterBasedOnConfiguration() { - ConverterRegistry registry = mock(ConverterRegistry.class); + var registry = mock(ConverterRegistry.class); - ConverterConfiguration config = new ConverterConfiguration(StoreConversions.NONE, Collections.emptyList(), + var config = new ConverterConfiguration(StoreConversions.NONE, Collections.emptyList(), Predicate. isEqual(new ConvertiblePair(java.time.LocalDateTime.class, Date.class)).negate()); new CustomConversions(config).registerConvertersIn(registry); @@ -234,9 +233,9 @@ class CustomConversionsUnitTests { @Test // DATACMNS-1615 void doesNotSkipUserConverterConverterEvenWhenConfigurationWouldNotAllowIt() { - ConverterRegistry registry = mock(ConverterRegistry.class); + var registry = mock(ConverterRegistry.class); - ConverterConfiguration config = new ConverterConfiguration(StoreConversions.NONE, + var config = new ConverterConfiguration(StoreConversions.NONE, Collections.singletonList(LocalDateTimeToDateConverter.INSTANCE), Predicate. isEqual(new ConvertiblePair(java.time.LocalDateTime.class, Date.class)).negate()); new CustomConversions(config).registerConvertersIn(registry); @@ -247,7 +246,7 @@ class CustomConversionsUnitTests { @Test // GH-2315 void addsAssociationConvertersByDefault() { - CustomConversions conversions = new CustomConversions(StoreConversions.NONE, Collections.emptyList()); + var conversions = new CustomConversions(StoreConversions.NONE, Collections.emptyList()); assertThat(conversions.hasCustomWriteTarget(Association.class)).isTrue(); assertThat(conversions.hasCustomReadTarget(Object.class, Association.class)).isTrue(); @@ -256,7 +255,7 @@ class CustomConversionsUnitTests { @Test // GH-2315 void addsIdentifierConvertersByDefault() { - CustomConversions conversions = new CustomConversions(StoreConversions.NONE, Collections.emptyList()); + var conversions = new CustomConversions(StoreConversions.NONE, Collections.emptyList()); assertThat(conversions.hasCustomWriteTarget(Identifier.class)).isTrue(); assertThat(conversions.hasCustomReadTarget(String.class, Identifier.class)).isTrue(); @@ -264,7 +263,7 @@ class CustomConversionsUnitTests { private static Class createProxyTypeFor(Class type) { - ProxyFactory factory = new ProxyFactory(); + var factory = new ProxyFactory(); factory.setProxyTargetClass(true); factory.setTargetClass(type); diff --git a/src/test/java/org/springframework/data/convert/DefaultTypeMapperUnitTests.java b/src/test/java/org/springframework/data/convert/DefaultTypeMapperUnitTests.java index 9a9db0bc0..5c26af0a7 100755 --- a/src/test/java/org/springframework/data/convert/DefaultTypeMapperUnitTests.java +++ b/src/test/java/org/springframework/data/convert/DefaultTypeMapperUnitTests.java @@ -68,7 +68,7 @@ class DefaultTypeMapperUnitTests { @Test void cachesResolvedTypeInformation() { - TypeInformation information = typeMapper.readType(source); + var information = typeMapper.readType(source); assertThat(information).isEqualTo(STRING_TYPE_INFO); verify(mapper, times(1)).resolveTypeFrom(ALIAS); @@ -79,7 +79,7 @@ class DefaultTypeMapperUnitTests { @Test // DATACMNS-349 void returnsTypeAliasForInformation() { - Alias alias = Alias.of("alias"); + var alias = Alias.of("alias"); doReturn(alias).when(mapper).createAliasFor(STRING_TYPE_INFO); assertThat(this.typeMapper.getAliasFor(STRING_TYPE_INFO)).isEqualTo(alias); @@ -88,14 +88,14 @@ class DefaultTypeMapperUnitTests { @Test // DATACMNS-783 void specializesRawSourceTypeUsingGenericContext() { - ClassTypeInformation root = ClassTypeInformation.from(Foo.class); - TypeInformation propertyType = root.getProperty("abstractBar"); + var root = ClassTypeInformation.from(Foo.class); + var propertyType = root.getProperty("abstractBar"); TypeInformation barType = ClassTypeInformation.from(Bar.class); doReturn(Alias.of(barType)).when(accessor).readAliasFrom(source); doReturn(barType).when(mapper).resolveTypeFrom(Alias.of(barType)); - TypeInformation result = typeMapper.readType(source, propertyType); + var result = typeMapper.readType(source, propertyType); assertThat(result).isInstanceOf(TypeInformation.class); diff --git a/src/test/java/org/springframework/data/convert/Jsr310ConvertersUnitTests.java b/src/test/java/org/springframework/data/convert/Jsr310ConvertersUnitTests.java index ee0ae1bfe..da50c0e35 100644 --- a/src/test/java/org/springframework/data/convert/Jsr310ConvertersUnitTests.java +++ b/src/test/java/org/springframework/data/convert/Jsr310ConvertersUnitTests.java @@ -30,9 +30,7 @@ import java.time.temporal.Temporal; import java.util.Arrays; import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; -import java.util.Map.Entry; import java.util.function.Predicate; import java.util.stream.Stream; @@ -41,7 +39,6 @@ import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.MethodSource; import org.springframework.core.convert.ConversionService; -import org.springframework.core.convert.converter.Converter; import org.springframework.core.convert.support.GenericConversionService; /** @@ -59,9 +56,9 @@ class Jsr310ConvertersUnitTests { static { - GenericConversionService conversionService = new GenericConversionService(); + var conversionService = new GenericConversionService(); - for (Converter converter : Jsr310Converters.getConvertersToRegister()) { + for (var converter : Jsr310Converters.getConvertersToRegister()) { conversionService.addConverter(converter); } @@ -82,7 +79,7 @@ class Jsr310ConvertersUnitTests { // DATACMNS-606, DATACMNS-1091 void convertsLocalDateTimeToDate() { - LocalDateTime now = LocalDateTime.now(); + var now = LocalDateTime.now(); assertThat(CONVERSION_SERVICE.convert(now, Date.class)).matches(formatted(now, FORMAT_FULL)); } @@ -96,7 +93,7 @@ class Jsr310ConvertersUnitTests { // DATACMNS-606, DATACMNS-1091 void convertsLocalDateToDate() { - LocalDate now = LocalDate.now(); + var now = LocalDate.now(); assertThat(CONVERSION_SERVICE.convert(now, Date.class)).matches(formatted(now, FORMAT_DATE)); } @@ -110,7 +107,7 @@ class Jsr310ConvertersUnitTests { // DATACMNS-606, DATACMNS-1091 void convertsLocalTimeToDate() { - LocalTime now = LocalTime.now(); + var now = LocalTime.now(); assertThat(CONVERSION_SERVICE.convert(now, Date.class)).matches(formatted(now, FORMAT_TIME)); } @@ -118,7 +115,7 @@ class Jsr310ConvertersUnitTests { // DATACMNS-623 void convertsDateToInstant() { - Date now = new Date(); + var now = new Date(); assertThat(CONVERSION_SERVICE.convert(now, Instant.class)).isEqualTo(now.toInstant()); } @@ -126,7 +123,7 @@ class Jsr310ConvertersUnitTests { // DATACMNS-623 void convertsInstantToDate() { - Date now = new Date(); + var now = new Date(); assertThat(CONVERSION_SERVICE.convert(now.toInstant(), Date.class)).isEqualTo(now); } @@ -137,7 +134,7 @@ class Jsr310ConvertersUnitTests { ids.put("Europe/Berlin", ZoneId.of("Europe/Berlin")); ids.put("+06:00", ZoneId.of("+06:00")); - for (Entry entry : ids.entrySet()) { + for (var entry : ids.entrySet()) { assertThat(CONVERSION_SERVICE.convert(entry.getValue(), String.class)).isEqualTo(entry.getKey()); assertThat(CONVERSION_SERVICE.convert(entry.getKey(), ZoneId.class)).isEqualTo(entry.getValue()); } @@ -147,10 +144,10 @@ class Jsr310ConvertersUnitTests { // DATACMNS-1243 void convertsLocalDateTimeToInstantAndBack() { - LocalDateTime dateTime = LocalDateTime.now(); + var dateTime = LocalDateTime.now(); - Instant instant = CONVERSION_SERVICE.convert(dateTime, Instant.class); - LocalDateTime convertedDateTime = CONVERSION_SERVICE.convert(dateTime, LocalDateTime.class); + var instant = CONVERSION_SERVICE.convert(dateTime, Instant.class); + var convertedDateTime = CONVERSION_SERVICE.convert(dateTime, LocalDateTime.class); assertThat(convertedDateTime).isEqualTo(dateTime); } @@ -159,7 +156,7 @@ class Jsr310ConvertersUnitTests { // DATACMNS-1440 void convertsIsoFormattedStringToLocalDate() { - LocalDate date = LocalDate.now(); + var date = LocalDate.now(); assertThat(CONVERSION_SERVICE.convert(date.toString(), LocalDate.class)).isEqualTo(date); } @@ -168,7 +165,7 @@ class Jsr310ConvertersUnitTests { // DATACMNS-1440 void convertsIsoFormattedStringToLocalDateTime() { - LocalDateTime date = LocalDateTime.now(); + var date = LocalDateTime.now(); assertThat(CONVERSION_SERVICE.convert(date.toString(), LocalDateTime.class)).isEqualTo(date); } @@ -177,20 +174,20 @@ class Jsr310ConvertersUnitTests { // DATACMNS-1440 void convertsIsoFormattedStringToInstant() { - Instant date = Instant.now(); + var date = Instant.now(); assertThat(CONVERSION_SERVICE.convert(date.toString(), Instant.class)).isEqualTo(date); } private static Predicate formatted(Temporal expected, String format) { - DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format); + var formatter = DateTimeFormatter.ofPattern(format); return d -> format(d, format).equals(formatter.format(expected)); } private static Predicate formatted(Date expected, String format) { - DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format); + var formatter = DateTimeFormatter.ofPattern(format); return d -> formatter.format(d).equals(format(expected, format)); } @@ -200,7 +197,7 @@ class Jsr310ConvertersUnitTests { static Stream parameters() { - List duration = Arrays.asList(new Object[][] { // + var duration = Arrays.asList(new Object[][] { // { "PT240H", Duration.ofDays(10) }, // { "PT2H", Duration.ofHours(2) }, // { "PT3M", Duration.ofMinutes(3) }, // @@ -209,7 +206,7 @@ class Jsr310ConvertersUnitTests { { "PT0.000000006S", Duration.ofNanos(6) } // }); - List period = Arrays.asList(new Object[][] { // + var period = Arrays.asList(new Object[][] { // { "P2D", Period.ofDays(2) }, // { "P21D", Period.ofWeeks(3) }, // { "P4M", Period.ofMonths(4) }, // diff --git a/src/test/java/org/springframework/data/convert/MappingContextTypeInformationMapperUnitTests.java b/src/test/java/org/springframework/data/convert/MappingContextTypeInformationMapperUnitTests.java index e480c4f50..116f23157 100755 --- a/src/test/java/org/springframework/data/convert/MappingContextTypeInformationMapperUnitTests.java +++ b/src/test/java/org/springframework/data/convert/MappingContextTypeInformationMapperUnitTests.java @@ -64,7 +64,7 @@ class MappingContextTypeInformationMapperUnitTests { @Test void extractsAliasForUnknownType() { - SampleMappingContext mappingContext = new SampleMappingContext(); + var mappingContext = new SampleMappingContext(); mappingContext.initialize(); mapper = new MappingContextTypeInformationMapper(mappingContext); @@ -75,7 +75,7 @@ class MappingContextTypeInformationMapperUnitTests { @Test void doesNotReturnTypeAliasForSimpleType() { - SampleMappingContext mappingContext = new SampleMappingContext(); + var mappingContext = new SampleMappingContext(); mappingContext.initialize(); mapper = new MappingContextTypeInformationMapper(mappingContext); @@ -85,7 +85,7 @@ class MappingContextTypeInformationMapperUnitTests { @Test void detectsTypeForUnknownEntity() { - SampleMappingContext mappingContext = new SampleMappingContext(); + var mappingContext = new SampleMappingContext(); mappingContext.initialize(); mapper = new MappingContextTypeInformationMapper(mappingContext); @@ -101,9 +101,9 @@ class MappingContextTypeInformationMapperUnitTests { @SuppressWarnings("unchecked") void createsTypeMapperForGenericTypesWithDifferentBindings() { - AnnotatedTypeScanner scanner = new AnnotatedTypeScanner(TypeAlias.class); + var scanner = new AnnotatedTypeScanner(TypeAlias.class); - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); context.setInitialEntitySet(scanner.findTypes(getClass().getPackage().getName())); context.initialize(); diff --git a/src/test/java/org/springframework/data/convert/SimpleTypeInformationMapperUnitTests.java b/src/test/java/org/springframework/data/convert/SimpleTypeInformationMapperUnitTests.java index e26bec85c..bbfbf6dbc 100755 --- a/src/test/java/org/springframework/data/convert/SimpleTypeInformationMapperUnitTests.java +++ b/src/test/java/org/springframework/data/convert/SimpleTypeInformationMapperUnitTests.java @@ -37,7 +37,7 @@ class SimpleTypeInformationMapperUnitTests { @Test void resolvesTypeByLoadingClass() { - TypeInformation type = mapper.resolveTypeFrom(Alias.of("java.lang.String")); + var type = mapper.resolveTypeFrom(Alias.of("java.lang.String")); TypeInformation expected = ClassTypeInformation.from(String.class); diff --git a/src/test/java/org/springframework/data/domain/AbstractAggregateRootUnitTests.java b/src/test/java/org/springframework/data/domain/AbstractAggregateRootUnitTests.java index 92b3335cb..178ee3b6e 100644 --- a/src/test/java/org/springframework/data/domain/AbstractAggregateRootUnitTests.java +++ b/src/test/java/org/springframework/data/domain/AbstractAggregateRootUnitTests.java @@ -29,9 +29,9 @@ class AbstractAggregateRootUnitTests { @Test // DATACMNS-928 void registersEvent() { - Object event = new Object(); + var event = new Object(); - SampleAggregate aggregate = new SampleAggregate(); + var aggregate = new SampleAggregate(); aggregate.registerEvent(event); assertThat(aggregate.domainEvents()).containsExactly(event); @@ -40,9 +40,9 @@ class AbstractAggregateRootUnitTests { @Test // DATACMNS-928 void clearsEvents() { - Object event = new Object(); + var event = new Object(); - SampleAggregate aggregate = new SampleAggregate(); + var aggregate = new SampleAggregate(); aggregate.registerEvent(event); assertThat(aggregate.domainEvents()).isNotEmpty(); @@ -55,10 +55,10 @@ class AbstractAggregateRootUnitTests { @Test // DATACMNS-928, DATACMNS-1162 void copiesEventsFromExistingAggregate() { - SampleAggregate aggregate = new SampleAggregate(); + var aggregate = new SampleAggregate(); aggregate.registerEvent(new Object()); - SampleAggregate result = new SampleAggregate().andEventsFrom(aggregate); + var result = new SampleAggregate().andEventsFrom(aggregate); assertThat(result.domainEvents()).isEqualTo(aggregate.domainEvents()); } @@ -66,13 +66,13 @@ class AbstractAggregateRootUnitTests { @Test // DATACMNS-928, DATACMNS-1162 void addsEventAndReturnsAggregate() { - Object first = new Object(); - Object second = new Object(); + var first = new Object(); + var second = new Object(); - SampleAggregate aggregate = new SampleAggregate(); + var aggregate = new SampleAggregate(); aggregate.registerEvent(first); - SampleAggregate result = aggregate.andEvent(second); + var result = aggregate.andEvent(second); assertThat(result).isSameAs(aggregate); assertThat(result.domainEvents()).containsExactly(first, second); diff --git a/src/test/java/org/springframework/data/domain/AbstractPageRequestUnitTests.java b/src/test/java/org/springframework/data/domain/AbstractPageRequestUnitTests.java index fffee4069..82ef3480c 100755 --- a/src/test/java/org/springframework/data/domain/AbstractPageRequestUnitTests.java +++ b/src/test/java/org/springframework/data/domain/AbstractPageRequestUnitTests.java @@ -46,7 +46,7 @@ public abstract class AbstractPageRequestUnitTests { assertThat(request.hasPrevious()).isTrue(); assertThat(request.next()).isEqualTo((Pageable) newPageRequest(2, 10)); - Pageable first = request.previousOrFirst(); + var first = request.previousOrFirst(); assertThat(first.hasPrevious()).isFalse(); assertThat(first).isEqualTo(newPageRequest(0, 10)); @@ -57,7 +57,7 @@ public abstract class AbstractPageRequestUnitTests { @Test // DATACMNS-402 void equalsHonoursPageAndSize() { - AbstractPageRequest request = newPageRequest(0, 10); + var request = newPageRequest(0, 10); // Equals itself assertEqualsAndHashcode(request, request); @@ -80,7 +80,7 @@ public abstract class AbstractPageRequestUnitTests { @Test // DATACMNS-1327 void getOffsetShouldNotCauseOverflow() { - AbstractPageRequest request = newPageRequest(Integer.MAX_VALUE, Integer.MAX_VALUE); + var request = newPageRequest(Integer.MAX_VALUE, Integer.MAX_VALUE); assertThat(request.getOffset()).isGreaterThan(Integer.MAX_VALUE); } diff --git a/src/test/java/org/springframework/data/domain/ExampleMatcherUnitTests.java b/src/test/java/org/springframework/data/domain/ExampleMatcherUnitTests.java index 6b1217704..b7dd0ec59 100755 --- a/src/test/java/org/springframework/data/domain/ExampleMatcherUnitTests.java +++ b/src/test/java/org/springframework/data/domain/ExampleMatcherUnitTests.java @@ -125,7 +125,7 @@ class ExampleMatcherUnitTests { void withCreatesNewInstance() { matcher = matching().withIgnorePaths("foo", "bar", "foo"); - ExampleMatcher configuredExampleSpec = matcher.withIgnoreCase(); + var configuredExampleSpec = matcher.withIgnoreCase(); assertThat(matcher).isNotSameAs(configuredExampleSpec); assertThat(matcher.getIgnoredPaths()).hasSize(2); @@ -166,14 +166,14 @@ class ExampleMatcherUnitTests { .withMatcher("hello", GenericPropertyMatchers.contains().caseSensitive()) // .withMatcher("world", GenericPropertyMatcher::endsWith); - ExampleMatcher sameAsMatcher = matching() // + var sameAsMatcher = matching() // .withIgnorePaths("foo", "bar", "baz") // .withNullHandler(NullHandler.IGNORE) // .withIgnoreCase("ignored-case") // .withMatcher("hello", GenericPropertyMatchers.contains().caseSensitive()) // .withMatcher("world", GenericPropertyMatcher::endsWith); - ExampleMatcher different = matching() // + var different = matching() // .withIgnorePaths("foo", "bar", "baz") // .withNullHandler(NullHandler.IGNORE) // .withMatcher("hello", GenericPropertyMatchers.contains().ignoreCase()); diff --git a/src/test/java/org/springframework/data/domain/ExampleUnitTests.java b/src/test/java/org/springframework/data/domain/ExampleUnitTests.java index 067885fac..1949887cf 100755 --- a/src/test/java/org/springframework/data/domain/ExampleUnitTests.java +++ b/src/test/java/org/springframework/data/domain/ExampleUnitTests.java @@ -55,10 +55,10 @@ class ExampleUnitTests { @Test // DATACMNS-900 void shouldCompareUsingHashCodeAndEquals() throws Exception { - Example example = Example.of(person, matching().withIgnoreCase("firstname")); - Example sameAsExample = Example.of(person, matching().withIgnoreCase("firstname")); + var example = Example.of(person, matching().withIgnoreCase("firstname")); + var sameAsExample = Example.of(person, matching().withIgnoreCase("firstname")); - Example different = Example.of(person, + var different = Example.of(person, matching().withMatcher("firstname", GenericPropertyMatchers.contains())); assertThat(example.hashCode()).isEqualTo(sameAsExample.hashCode()); diff --git a/src/test/java/org/springframework/data/domain/PageImplUnitTests.java b/src/test/java/org/springframework/data/domain/PageImplUnitTests.java index ead5af807..f3eee0971 100755 --- a/src/test/java/org/springframework/data/domain/PageImplUnitTests.java +++ b/src/test/java/org/springframework/data/domain/PageImplUnitTests.java @@ -35,7 +35,7 @@ class PageImplUnitTests { @Test void assertEqualsForSimpleSetup() { - PageImpl page = new PageImpl<>(Collections.singletonList("Foo")); + var page = new PageImpl(Collections.singletonList("Foo")); assertEqualsAndHashcode(page, page); assertEqualsAndHashcode(page, new PageImpl<>(Collections.singletonList("Foo"))); @@ -45,9 +45,9 @@ class PageImplUnitTests { void assertEqualsForComplexSetup() { Pageable pageable = PageRequest.of(0, 10); - List content = Collections.singletonList("Foo"); + var content = Collections.singletonList("Foo"); - PageImpl page = new PageImpl<>(content, pageable, 100); + var page = new PageImpl(content, pageable, 100); assertEqualsAndHashcode(page, page); assertEqualsAndHashcode(page, new PageImpl<>(content, pageable, 100)); @@ -127,7 +127,7 @@ class PageImplUnitTests { @Test // DATACMNS-635 void transformsPageCorrectly() { - Page transformed = new PageImpl<>(Arrays.asList("foo", "bar"), PageRequest.of(0, 2), 10) + var transformed = new PageImpl<>(Arrays.asList("foo", "bar"), PageRequest.of(0, 2), 10) .map(String::length); assertThat(transformed.getContent()).hasSize(2).contains(3, 3); diff --git a/src/test/java/org/springframework/data/domain/PageRequestUnitTests.java b/src/test/java/org/springframework/data/domain/PageRequestUnitTests.java index a04db4226..413d3f3fa 100755 --- a/src/test/java/org/springframework/data/domain/PageRequestUnitTests.java +++ b/src/test/java/org/springframework/data/domain/PageRequestUnitTests.java @@ -43,7 +43,7 @@ class PageRequestUnitTests extends AbstractPageRequestUnitTests { @Test void equalsRegardsSortCorrectly() { - Sort sort = Sort.by(Direction.DESC, "foo"); + var sort = Sort.by(Direction.DESC, "foo"); AbstractPageRequest request = PageRequest.ofSize(10).withPage(1).withSort(sort); // Equals itself diff --git a/src/test/java/org/springframework/data/domain/RangeUnitTests.java b/src/test/java/org/springframework/data/domain/RangeUnitTests.java index 3cb879bec..efb3a47a0 100755 --- a/src/test/java/org/springframework/data/domain/RangeUnitTests.java +++ b/src/test/java/org/springframework/data/domain/RangeUnitTests.java @@ -39,7 +39,7 @@ class RangeUnitTests { @Test // DATACMNS-651 void excludesLowerBoundIfConfigured() { - Range range = Range.from(Bound.exclusive(10L)).to(Bound.inclusive(20L)); + var range = Range.from(Bound.exclusive(10L)).to(Bound.inclusive(20L)); assertThat(range.contains(10L)).isFalse(); assertThat(range.contains(20L)).isTrue(); @@ -51,7 +51,7 @@ class RangeUnitTests { @Test // DATACMNS-651 void excludesUpperBoundIfConfigured() { - Range range = Range.of(Bound.inclusive(10L), Bound.exclusive(20L)); + var range = Range.of(Bound.inclusive(10L), Bound.exclusive(20L)); assertThat(range.contains(10L)).isTrue(); assertThat(range.contains(20L)).isFalse(); @@ -63,7 +63,7 @@ class RangeUnitTests { @Test // DATACMNS-651, DATACMNS-1050 void handlesOpenUpperBoundCorrectly() { - Range range = Range.of(Bound.inclusive(10L), Bound.unbounded()); + var range = Range.of(Bound.inclusive(10L), Bound.unbounded()); assertThat(range.contains(10L)).isTrue(); assertThat(range.contains(20L)).isTrue(); @@ -78,7 +78,7 @@ class RangeUnitTests { @Test // DATACMNS-651, DATACMNS-1050 void handlesOpenLowerBoundCorrectly() { - Range range = Range.of(Bound.unbounded(), Bound.inclusive(20L)); + var range = Range.of(Bound.unbounded(), Bound.inclusive(20L)); assertThat(range.contains(10L)).isTrue(); assertThat(range.contains(20L)).isTrue(); @@ -92,7 +92,7 @@ class RangeUnitTests { @Test // DATACMNS-1050 void createsInclusiveBoundaryCorrectly() { - Bound bound = Bound.inclusive(10); + var bound = Bound.inclusive(10); assertThat(bound.isInclusive()).isTrue(); assertThat(bound.getValue()).contains(10); @@ -101,7 +101,7 @@ class RangeUnitTests { @Test // DATACMNS-1050 void createsExclusiveBoundaryCorrectly() { - Bound bound = Bound.exclusive(10d); + var bound = Bound.exclusive(10d); assertThat(bound.isInclusive()).isFalse(); assertThat(bound.getValue()).contains(10d); @@ -110,10 +110,10 @@ class RangeUnitTests { @Test // DATACMNS-1050 void createsRangeFromBoundariesCorrectly() { - Bound lower = Bound.inclusive(10L); - Bound upper = Bound.inclusive(20L); + var lower = Bound.inclusive(10L); + var upper = Bound.inclusive(20L); - Range range = Range.of(lower, upper); + var range = Range.of(lower, upper); assertThat(range.contains(9L)).isFalse(); assertThat(range.contains(10L)).isTrue(); @@ -124,7 +124,7 @@ class RangeUnitTests { @Test // DATACMNS-1050 void shouldExclusiveBuildRangeLowerFirst() { - Range range = Range.from(Bound.exclusive(10L)).to(Bound.exclusive(20L)); + var range = Range.from(Bound.exclusive(10L)).to(Bound.exclusive(20L)); assertThat(range.contains(9L)).isFalse(); assertThat(range.contains(10L)).isFalse(); @@ -138,7 +138,7 @@ class RangeUnitTests { @Test // DATACMNS-1050 void shouldBuildRange() { - Range range = Range.from(Bound.inclusive(10L)).to(Bound.inclusive(20L)); + var range = Range.from(Bound.inclusive(10L)).to(Bound.inclusive(20L)); assertThat(range.contains(9L)).isFalse(); assertThat(range.contains(10L)).isTrue(); @@ -162,7 +162,7 @@ class RangeUnitTests { @Test // DATACMNS-1499 void createsOpenRange() { - Range range = Range.open(5L, 10L); + var range = Range.open(5L, 10L); assertThat(range.contains(5L)).isFalse(); assertThat(range.contains(10L)).isFalse(); @@ -171,7 +171,7 @@ class RangeUnitTests { @Test // DATACMNS-1499 void createsClosedRange() { - Range range = Range.closed(5L, 10L); + var range = Range.closed(5L, 10L); assertThat(range.contains(5L)).isTrue(); assertThat(range.contains(10L)).isTrue(); @@ -180,7 +180,7 @@ class RangeUnitTests { @Test // DATACMNS-1499 void createsLeftOpenRange() { - Range range = Range.leftOpen(5L, 10L); + var range = Range.leftOpen(5L, 10L); assertThat(range.contains(5L)).isFalse(); assertThat(range.contains(10L)).isTrue(); @@ -189,7 +189,7 @@ class RangeUnitTests { @Test // DATACMNS-1499 void createsRightOpenRange() { - Range range = Range.rightOpen(5L, 10L); + var range = Range.rightOpen(5L, 10L); assertThat(range.contains(5L)).isTrue(); assertThat(range.contains(10L)).isFalse(); diff --git a/src/test/java/org/springframework/data/domain/SortUnitTests.java b/src/test/java/org/springframework/data/domain/SortUnitTests.java index 7938a1684..fc294c9f7 100755 --- a/src/test/java/org/springframework/data/domain/SortUnitTests.java +++ b/src/test/java/org/springframework/data/domain/SortUnitTests.java @@ -92,14 +92,14 @@ class SortUnitTests { @Test void allowsCombiningSorts() { - Sort sort = Sort.by("foo").and(Sort.by("bar")); + var sort = Sort.by("foo").and(Sort.by("bar")); assertThat(sort).containsExactly(Order.by("foo"), Order.by("bar")); } @Test void handlesAdditionalNullSort() { - Sort sort = Sort.by("foo").and(Sort.unsorted()); + var sort = Sort.by("foo").and(Sort.unsorted()); assertThat(sort).containsExactly(Order.by("foo")); } @@ -127,8 +127,8 @@ class SortUnitTests { @Test // DATACMNS-436 void ordersWithDifferentIgnoreCaseDoNotEqual() { - Order foo = Order.by("foo"); - Order fooIgnoreCase = Order.by("foo").ignoreCase(); + var foo = Order.by("foo"); + var fooIgnoreCase = Order.by("foo").ignoreCase(); assertThat(foo).isNotEqualTo(fooIgnoreCase); assertThat(foo.hashCode()).isNotEqualTo(fooIgnoreCase.hashCode()); @@ -157,8 +157,8 @@ class SortUnitTests { @Test // DATACMNS-908 void createsNewOrderForDifferentProperty() { - Order source = Order.desc("foo").nullsFirst().ignoreCase(); - Order result = source.withProperty("bar"); + var source = Order.desc("foo").nullsFirst().ignoreCase(); + var result = source.withProperty("bar"); assertThat(result.getProperty()).isEqualTo("bar"); assertThat(result.getDirection()).isEqualTo(source.getDirection()); diff --git a/src/test/java/org/springframework/data/domain/jaxb/SpringDataJaxbUnitTests.java b/src/test/java/org/springframework/data/domain/jaxb/SpringDataJaxbUnitTests.java index 6839cf5b9..249946892 100755 --- a/src/test/java/org/springframework/data/domain/jaxb/SpringDataJaxbUnitTests.java +++ b/src/test/java/org/springframework/data/domain/jaxb/SpringDataJaxbUnitTests.java @@ -69,7 +69,7 @@ class SpringDataJaxbUnitTests { @BeforeEach void setUp() throws Exception { - JAXBContext context = JAXBContext.newInstance("org.springframework.data.domain.jaxb"); + var context = JAXBContext.newInstance("org.springframework.data.domain.jaxb"); marshaller = context.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); @@ -80,8 +80,8 @@ class SpringDataJaxbUnitTests { @Test void usesCustomTypeAdapterForPageRequests() throws Exception { - StringWriter writer = new StringWriter(); - Wrapper wrapper = new Wrapper(); + var writer = new StringWriter(); + var wrapper = new Wrapper(); wrapper.pageable = pageable; wrapper.sort = sort; wrapper.pageableWithoutSort = PageRequest.of(10, 20); @@ -93,7 +93,7 @@ class SpringDataJaxbUnitTests { @Test void readsPageRequest() throws Exception { - Object result = unmarshaller.unmarshal(resource.getFile()); + var result = unmarshaller.unmarshal(resource.getFile()); assertThat(result).isInstanceOf(Wrapper.class); assertThat(((Wrapper) result).pageable).isEqualTo(pageable); @@ -103,8 +103,8 @@ class SpringDataJaxbUnitTests { @Test void writesPlainPage() throws Exception { - PageWrapper wrapper = new PageWrapper(); - Content content = new Content(); + var wrapper = new PageWrapper(); + var content = new Content(); content.name = "Foo"; wrapper.page = new PageImpl<>(Collections.singletonList(content)); wrapper.pageWithLinks = new PageImpl<>(Collections.singletonList(content)); @@ -116,8 +116,8 @@ class SpringDataJaxbUnitTests { try { - Scanner scanner = new Scanner(resource.getInputStream()); - StringBuilder builder = new StringBuilder(); + var scanner = new Scanner(resource.getInputStream()); + var builder = new StringBuilder(); while (scanner.hasNextLine()) { builder.append(scanner.nextLine()).append("\n"); diff --git a/src/test/java/org/springframework/data/geo/BoxUnitTests.java b/src/test/java/org/springframework/data/geo/BoxUnitTests.java index df73420e4..a5be65861 100755 --- a/src/test/java/org/springframework/data/geo/BoxUnitTests.java +++ b/src/test/java/org/springframework/data/geo/BoxUnitTests.java @@ -56,7 +56,7 @@ class BoxUnitTests { @Test // DATACMNS-482 void testSerialization() { - Box serialized = (Box) SerializationUtils.deserialize(SerializationUtils.serialize(first)); + var serialized = (Box) SerializationUtils.deserialize(SerializationUtils.serialize(first)); assertThat(serialized).isEqualTo(first); } } diff --git a/src/test/java/org/springframework/data/geo/CircleUnitTests.java b/src/test/java/org/springframework/data/geo/CircleUnitTests.java index 1a1e56dd2..b8f64ab3c 100755 --- a/src/test/java/org/springframework/data/geo/CircleUnitTests.java +++ b/src/test/java/org/springframework/data/geo/CircleUnitTests.java @@ -41,8 +41,8 @@ class CircleUnitTests { @Test // DATACMNS-437 void considersTwoCirclesEqualCorrectly() { - Circle left = new Circle(1, 1, 1); - Circle right = new Circle(1, 1, 1); + var left = new Circle(1, 1, 1); + var right = new Circle(1, 1, 1); assertThat(left).isEqualTo(right); assertThat(right).isEqualTo(left); @@ -62,9 +62,9 @@ class CircleUnitTests { @Test // DATACMNS-482 void testSerialization() { - Circle circle = new Circle(1, 1, 1); + var circle = new Circle(1, 1, 1); - Circle serialized = (Circle) SerializationUtils.deserialize(SerializationUtils.serialize(circle)); + var serialized = (Circle) SerializationUtils.deserialize(SerializationUtils.serialize(circle)); assertThat(serialized).isEqualTo(circle); } } diff --git a/src/test/java/org/springframework/data/geo/DistanceUnitTests.java b/src/test/java/org/springframework/data/geo/DistanceUnitTests.java index aedd81b50..bfb1b8e25 100755 --- a/src/test/java/org/springframework/data/geo/DistanceUnitTests.java +++ b/src/test/java/org/springframework/data/geo/DistanceUnitTests.java @@ -20,7 +20,7 @@ import static org.springframework.data.geo.Metrics.*; import org.assertj.core.data.Offset; import org.junit.jupiter.api.Test; -import org.springframework.data.domain.Range; + import org.springframework.data.domain.Range.Bound; import org.springframework.util.SerializationUtils; @@ -45,8 +45,8 @@ class DistanceUnitTests { @Test // DATACMNS-437 void addsDistancesWithoutExplicitMetric() { - Distance left = new Distance(2.5, KILOMETERS); - Distance right = new Distance(2.5, KILOMETERS); + var left = new Distance(2.5, KILOMETERS); + var right = new Distance(2.5, KILOMETERS); assertThat(left.add(right)).isEqualTo(new Distance(5.0, KILOMETERS)); } @@ -54,8 +54,8 @@ class DistanceUnitTests { @Test // DATACMNS-437 void addsDistancesWithExplicitMetric() { - Distance left = new Distance(2.5, KILOMETERS); - Distance right = new Distance(2.5, KILOMETERS); + var left = new Distance(2.5, KILOMETERS); + var right = new Distance(2.5, KILOMETERS); assertThat(left.add(right, MILES)).isEqualTo(new Distance(3.106856281073925, MILES)); } @@ -109,9 +109,9 @@ class DistanceUnitTests { @Test // DATACMNS-482 void testSerialization() { - Distance dist = new Distance(10, KILOMETERS); + var dist = new Distance(10, KILOMETERS); - Distance serialized = (Distance) SerializationUtils.deserialize(SerializationUtils.serialize(dist)); + var serialized = (Distance) SerializationUtils.deserialize(SerializationUtils.serialize(dist)); assertThat(serialized).isEqualTo(dist); } @@ -123,10 +123,10 @@ class DistanceUnitTests { @Test // DATACMNS-651 void createsARangeCorrectly() { - Distance twoKilometers = new Distance(2, KILOMETERS); - Distance tenKilometers = new Distance(10, KILOMETERS); + var twoKilometers = new Distance(2, KILOMETERS); + var tenKilometers = new Distance(10, KILOMETERS); - Range range = Distance.between(twoKilometers, tenKilometers); + var range = Distance.between(twoKilometers, tenKilometers); assertThat(range).isNotNull(); assertThat(range.getLowerBound()).isEqualTo(Bound.inclusive(twoKilometers)); @@ -136,10 +136,10 @@ class DistanceUnitTests { @Test // DATACMNS-651 void createsARangeFromPiecesCorrectly() { - Distance twoKilometers = new Distance(2, KILOMETERS); - Distance tenKilometers = new Distance(10, KILOMETERS); + var twoKilometers = new Distance(2, KILOMETERS); + var tenKilometers = new Distance(10, KILOMETERS); - Range range = Distance.between(2, KILOMETERS, 10, KILOMETERS); + var range = Distance.between(2, KILOMETERS, 10, KILOMETERS); assertThat(range).isNotNull(); assertThat(range.getLowerBound()).isEqualTo(Bound.inclusive(twoKilometers)); @@ -149,9 +149,9 @@ class DistanceUnitTests { @Test // DATACMNS-651 void implementsComparableCorrectly() { - Distance twoKilometers = new Distance(2, KILOMETERS); - Distance tenKilometers = new Distance(10, KILOMETERS); - Distance tenKilometersInMiles = new Distance(6.21371256214785, MILES); + var twoKilometers = new Distance(2, KILOMETERS); + var tenKilometers = new Distance(10, KILOMETERS); + var tenKilometersInMiles = new Distance(6.21371256214785, MILES); assertThat(tenKilometers.compareTo(tenKilometers)).isEqualTo(0); assertThat(tenKilometers.compareTo(tenKilometersInMiles)).isEqualTo(0); diff --git a/src/test/java/org/springframework/data/geo/GeoModuleIntegrationTests.java b/src/test/java/org/springframework/data/geo/GeoModuleIntegrationTests.java index ce2815c4f..a4fb4e271 100755 --- a/src/test/java/org/springframework/data/geo/GeoModuleIntegrationTests.java +++ b/src/test/java/org/springframework/data/geo/GeoModuleIntegrationTests.java @@ -41,8 +41,8 @@ class GeoModuleIntegrationTests { @Test // DATACMNS-475 void deserializesDistance() throws Exception { - String json = "{\"value\":10.0,\"metric\":\"KILOMETERS\"}"; - Distance reference = new Distance(10.0, Metrics.KILOMETERS); + var json = "{\"value\":10.0,\"metric\":\"KILOMETERS\"}"; + var reference = new Distance(10.0, Metrics.KILOMETERS); assertThat(mapper.readValue(json, Distance.class)).isEqualTo(reference); assertThat(mapper.writeValueAsString(reference)).isEqualTo(json); @@ -51,8 +51,8 @@ class GeoModuleIntegrationTests { @Test // DATACMNS-475 void deserializesPoint() throws Exception { - String json = "{\"x\":10.0,\"y\":20.0}"; - Point reference = new Point(10.0, 20.0); + var json = "{\"x\":10.0,\"y\":20.0}"; + var reference = new Point(10.0, 20.0); assertThat(mapper.readValue(json, Point.class)).isEqualTo(reference); assertThat(mapper.writeValueAsString(reference)).isEqualTo(json); @@ -61,8 +61,8 @@ class GeoModuleIntegrationTests { @Test // DATACMNS-475 void deserializesCircle() throws Exception { - String json = "{\"center\":{\"x\":10.0,\"y\":20.0},\"radius\":{\"value\":10.0,\"metric\":\"KILOMETERS\"}}"; - Circle reference = new Circle(new Point(10.0, 20.0), new Distance(10, Metrics.KILOMETERS)); + var json = "{\"center\":{\"x\":10.0,\"y\":20.0},\"radius\":{\"value\":10.0,\"metric\":\"KILOMETERS\"}}"; + var reference = new Circle(new Point(10.0, 20.0), new Distance(10, Metrics.KILOMETERS)); assertThat(mapper.readValue(json, Circle.class)).isEqualTo(reference); assertThat(mapper.writeValueAsString(reference)).isEqualTo(json); @@ -71,8 +71,8 @@ class GeoModuleIntegrationTests { @Test // DATACMNS-475 void deserializesBox() throws Exception { - String json = "{\"first\":{\"x\":1.0,\"y\":2.0},\"second\":{\"x\":2.0,\"y\":3.0}}"; - Box reference = new Box(new Point(1, 2), new Point(2, 3)); + var json = "{\"first\":{\"x\":1.0,\"y\":2.0},\"second\":{\"x\":2.0,\"y\":3.0}}"; + var reference = new Box(new Point(1, 2), new Point(2, 3)); assertThat(mapper.readValue(json, Box.class)).isEqualTo(reference); assertThat(mapper.writeValueAsString(reference)).isEqualTo(json); @@ -81,8 +81,8 @@ class GeoModuleIntegrationTests { @Test // DATACMNS-475 void deserializesPolygon() throws Exception { - String json = "{\"points\":[{\"x\":1.0,\"y\":2.0},{\"x\":2.0,\"y\":3.0},{\"x\":3.0,\"y\":4.0}]}"; - Polygon reference = new Polygon(new Point(1, 2), new Point(2, 3), new Point(3, 4)); + var json = "{\"points\":[{\"x\":1.0,\"y\":2.0},{\"x\":2.0,\"y\":3.0},{\"x\":3.0,\"y\":4.0}]}"; + var reference = new Polygon(new Point(1, 2), new Point(2, 3), new Point(3, 4)); assertThat(mapper.readValue(json, Polygon.class)).isEqualTo(reference); assertThat(mapper.writeValueAsString(reference)).isEqualTo(json); diff --git a/src/test/java/org/springframework/data/geo/GeoResultUnitTests.java b/src/test/java/org/springframework/data/geo/GeoResultUnitTests.java index 680bfb30d..a2c78b1cf 100755 --- a/src/test/java/org/springframework/data/geo/GeoResultUnitTests.java +++ b/src/test/java/org/springframework/data/geo/GeoResultUnitTests.java @@ -60,10 +60,10 @@ class GeoResultUnitTests { @Test // DATACMNS-482 void testSerialization() { - GeoResult result = new GeoResult<>("test", new Distance(2)); + var result = new GeoResult("test", new Distance(2)); @SuppressWarnings("unchecked") - GeoResult serialized = (GeoResult) SerializationUtils.deserialize(SerializationUtils.serialize(result)); + var serialized = (GeoResult) SerializationUtils.deserialize(SerializationUtils.serialize(result)); assertThat(serialized).isEqualTo(result); } } diff --git a/src/test/java/org/springframework/data/geo/GeoResultsUnitTests.java b/src/test/java/org/springframework/data/geo/GeoResultsUnitTests.java index ae1906432..c17b080b8 100755 --- a/src/test/java/org/springframework/data/geo/GeoResultsUnitTests.java +++ b/src/test/java/org/springframework/data/geo/GeoResultsUnitTests.java @@ -35,9 +35,9 @@ class GeoResultsUnitTests { @SuppressWarnings("unchecked") void calculatesAverageForGivenGeoResults() { - GeoResult first = new GeoResult<>(new Object(), new Distance(2)); - GeoResult second = new GeoResult<>(new Object(), new Distance(5)); - GeoResults geoResults = new GeoResults<>(Arrays.asList(first, second)); + var first = new GeoResult(new Object(), new Distance(2)); + var second = new GeoResult(new Object(), new Distance(5)); + var geoResults = new GeoResults(Arrays.asList(first, second)); assertThat(geoResults.getAverageDistance()).isEqualTo(new Distance(3.5)); } @@ -45,11 +45,11 @@ class GeoResultsUnitTests { @Test // DATACMNS-482 void testSerialization() { - GeoResult result = new GeoResult<>("test", new Distance(2)); - GeoResults geoResults = new GeoResults<>(Collections.singletonList(result)); + var result = new GeoResult("test", new Distance(2)); + var geoResults = new GeoResults(Collections.singletonList(result)); @SuppressWarnings("unchecked") - GeoResults serialized = (GeoResults) SerializationUtils + var serialized = (GeoResults) SerializationUtils .deserialize(SerializationUtils.serialize(geoResults)); assertThat(serialized).isEqualTo(geoResults); } diff --git a/src/test/java/org/springframework/data/geo/PointUnitTests.java b/src/test/java/org/springframework/data/geo/PointUnitTests.java index 6e829daf3..aa5d13c69 100755 --- a/src/test/java/org/springframework/data/geo/PointUnitTests.java +++ b/src/test/java/org/springframework/data/geo/PointUnitTests.java @@ -49,9 +49,9 @@ class PointUnitTests { @Test // DATACMNS-482 void testSerialization() { - Point point = new Point(1.5, 1.5); + var point = new Point(1.5, 1.5); - Point serialized = (Point) SerializationUtils.deserialize(SerializationUtils.serialize(point)); + var serialized = (Point) SerializationUtils.deserialize(SerializationUtils.serialize(point)); assertThat(serialized).isEqualTo(point); } } diff --git a/src/test/java/org/springframework/data/geo/PolygonUnitTests.java b/src/test/java/org/springframework/data/geo/PolygonUnitTests.java index 60125275f..16ae89b85 100755 --- a/src/test/java/org/springframework/data/geo/PolygonUnitTests.java +++ b/src/test/java/org/springframework/data/geo/PolygonUnitTests.java @@ -40,7 +40,7 @@ class PolygonUnitTests { @Test // DATACMNS-437 void createsSimplePolygon() { - Polygon polygon = new Polygon(third, second, first); + var polygon = new Polygon(third, second, first); assertThat(polygon).isNotNull(); } @@ -48,8 +48,8 @@ class PolygonUnitTests { @Test // DATACMNS-437 void isEqualForSamePoints() { - Polygon left = new Polygon(third, second, first); - Polygon right = new Polygon(third, second, first); + var left = new Polygon(third, second, first); + var right = new Polygon(third, second, first); assertThat(left).isEqualTo(right); assertThat(right).isEqualTo(left); @@ -65,9 +65,9 @@ class PolygonUnitTests { @Test // DATACMNS-482 void testSerialization() { - Polygon polygon = new Polygon(third, second, first); + var polygon = new Polygon(third, second, first); - Polygon serialized = (Polygon) SerializationUtils.deserialize(SerializationUtils.serialize(polygon)); + var serialized = (Polygon) SerializationUtils.deserialize(SerializationUtils.serialize(polygon)); assertThat(serialized).isEqualTo(polygon); } } diff --git a/src/test/java/org/springframework/data/history/AnnotationRevisionMetadataUnitTests.java b/src/test/java/org/springframework/data/history/AnnotationRevisionMetadataUnitTests.java index 1a1a5be6a..e82beeb69 100644 --- a/src/test/java/org/springframework/data/history/AnnotationRevisionMetadataUnitTests.java +++ b/src/test/java/org/springframework/data/history/AnnotationRevisionMetadataUnitTests.java @@ -41,8 +41,8 @@ class AnnotationRevisionMetadataUnitTests { @Test // DATACMNS-1173 void exposesNoInformationOnEmptyProbe() { - Sample sample = new Sample(); - RevisionMetadata metadata = getMetadata(sample); + var sample = new Sample(); + var metadata = getMetadata(sample); assertThat(metadata.getRevisionNumber()).isEmpty(); @@ -57,10 +57,10 @@ class AnnotationRevisionMetadataUnitTests { @Test // DATACMNS-1173 void exposesRevisionNumber() { - Sample sample = new Sample(); + var sample = new Sample(); sample.revisionNumber = 1L; - RevisionMetadata metadata = getMetadata(sample); + var metadata = getMetadata(sample); softly.assertThat(metadata.getRevisionNumber()).hasValue(1L); softly.assertThat(metadata.getRequiredRevisionNumber()).isEqualTo(1L); @@ -71,11 +71,11 @@ class AnnotationRevisionMetadataUnitTests { @Test // DATACMNS-1173 void exposesRevisionDateAndInstantForLocalDateTime() { - Sample sample = new Sample(); + var sample = new Sample(); sample.revisionDate = LocalDateTime.now(); - Instant expectedInstant = sample.revisionDate.atZone(ZoneOffset.systemDefault()).toInstant(); + var expectedInstant = sample.revisionDate.atZone(ZoneOffset.systemDefault()).toInstant(); - RevisionMetadata metadata = getMetadata(sample); + var metadata = getMetadata(sample); softly.assertThat(metadata.getRevisionInstant()).hasValue(expectedInstant); softly.assertThat(metadata.getRequiredRevisionInstant()).isEqualTo(expectedInstant); @@ -86,11 +86,11 @@ class AnnotationRevisionMetadataUnitTests { @Test // DATACMNS-1251 void exposesRevisionDateAndInstantForInstant() { - SampleWithInstant sample = new SampleWithInstant(); + var sample = new SampleWithInstant(); sample.revisionInstant = Instant.now(); - LocalDateTime expectedLocalDateTime = LocalDateTime.ofInstant(sample.revisionInstant, ZoneOffset.systemDefault()); + var expectedLocalDateTime = LocalDateTime.ofInstant(sample.revisionInstant, ZoneOffset.systemDefault()); - RevisionMetadata metadata = getMetadata(sample); + var metadata = getMetadata(sample); softly.assertThat(metadata.getRevisionInstant()).hasValue(sample.revisionInstant); softly.assertThat(metadata.getRequiredRevisionInstant()).isEqualTo(sample.revisionInstant); @@ -101,13 +101,13 @@ class AnnotationRevisionMetadataUnitTests { @Test // DATACMNS-1290 void exposesRevisionDateAndInstantForLong() { - SampleWithLong sample = new SampleWithLong(); + var sample = new SampleWithLong(); sample.revisionLong = 4711L; - Instant expectedInstant = Instant.ofEpochMilli(sample.revisionLong); - LocalDateTime expectedLocalDateTime = LocalDateTime.ofInstant(expectedInstant, ZoneOffset.systemDefault()); + var expectedInstant = Instant.ofEpochMilli(sample.revisionLong); + var expectedLocalDateTime = LocalDateTime.ofInstant(expectedInstant, ZoneOffset.systemDefault()); - RevisionMetadata metadata = getMetadata(sample); + var metadata = getMetadata(sample); softly.assertThat(metadata.getRevisionInstant()).hasValue(expectedInstant); softly.assertThat(metadata.getRequiredRevisionInstant()).isEqualTo(expectedInstant); @@ -118,11 +118,11 @@ class AnnotationRevisionMetadataUnitTests { @Test // DATACMNS-1384 void supportsTimestampRevisionInstant() { - SampleWithTimestamp sample = new SampleWithTimestamp(); - Instant now = Instant.now(); + var sample = new SampleWithTimestamp(); + var now = Instant.now(); sample.revision = Timestamp.from(now); - RevisionMetadata metadata = getMetadata(sample); + var metadata = getMetadata(sample); assertThat(metadata.getRequiredRevisionInstant()).isEqualTo(now); } @@ -130,11 +130,11 @@ class AnnotationRevisionMetadataUnitTests { @Test // DATACMNS-1384 void supportsDateRevisionInstant() { - SampleWithDate sample = new SampleWithDate(); - Date date = new Date(); + var sample = new SampleWithDate(); + var date = new Date(); sample.revision = date; - RevisionMetadata metadata = getMetadata(sample); + var metadata = getMetadata(sample); assertThat(metadata.getRequiredRevisionInstant()).isEqualTo(date.toInstant()); } diff --git a/src/test/java/org/springframework/data/history/RevisionUnitTests.java b/src/test/java/org/springframework/data/history/RevisionUnitTests.java index da44b6669..e1a40c2a6 100755 --- a/src/test/java/org/springframework/data/history/RevisionUnitTests.java +++ b/src/test/java/org/springframework/data/history/RevisionUnitTests.java @@ -19,7 +19,6 @@ import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; import java.time.Instant; -import java.util.List; import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -46,10 +45,10 @@ class RevisionUnitTests { when(firstMetadata.getRevisionNumber()).thenReturn(Optional.of(1)); when(secondMetadata.getRevisionNumber()).thenReturn(Optional.of(2)); - Revision first = Revision.of(firstMetadata, new Object()); - Revision second = Revision.of(secondMetadata, new Object()); + var first = Revision.of(firstMetadata, new Object()); + var second = Revision.of(secondMetadata, new Object()); - List> revisions = Stream.of(second, first).sorted().collect(Collectors.toList()); + var revisions = Stream.of(second, first).sorted().collect(Collectors.toList()); assertThat(revisions.get(0)).isEqualTo(first); assertThat(revisions.get(1)).isEqualTo(second); @@ -58,7 +57,7 @@ class RevisionUnitTests { @Test // DATACMNS-187 void returnsRevisionNumber() { - Optional reference = Optional.of(4711); + var reference = Optional.of(4711); when(firstMetadata.getRevisionNumber()).thenReturn(reference); assertThat(Revision.of(firstMetadata, new Object()).getRevisionNumber()).isEqualTo(reference); @@ -67,7 +66,7 @@ class RevisionUnitTests { @Test // DATACMNS-1251 void returnsRevisionInstant() { - Optional reference = Optional.of(Instant.now()); + var reference = Optional.of(Instant.now()); when(firstMetadata.getRevisionInstant()).thenReturn(reference); assertThat(Revision.of(firstMetadata, new Object()).getRevisionInstant()).isEqualTo(reference); diff --git a/src/test/java/org/springframework/data/history/RevisionsUnitTests.java b/src/test/java/org/springframework/data/history/RevisionsUnitTests.java index c32e8f9a8..877d4fe1d 100755 --- a/src/test/java/org/springframework/data/history/RevisionsUnitTests.java +++ b/src/test/java/org/springframework/data/history/RevisionsUnitTests.java @@ -19,7 +19,6 @@ import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; import java.util.Arrays; -import java.util.Iterator; import java.util.Optional; import org.junit.jupiter.api.BeforeEach; @@ -58,8 +57,8 @@ class RevisionsUnitTests { @Test void iteratesInCorrectOrder() { - Revisions revisions = Revisions.of(Arrays.asList(firstRevision, secondRevision)); - Iterator> iterator = revisions.iterator(); + var revisions = Revisions.of(Arrays.asList(firstRevision, secondRevision)); + var iterator = revisions.iterator(); assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo(firstRevision); @@ -77,8 +76,8 @@ class RevisionsUnitTests { @Test void iteratesReversedRevisionsInCorrectOrder() { - Revisions revisions = Revisions.of(Arrays.asList(firstRevision, secondRevision)); - Iterator> iterator = revisions.reverse().iterator(); + var revisions = Revisions.of(Arrays.asList(firstRevision, secondRevision)); + var iterator = revisions.reverse().iterator(); assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo(secondRevision); @@ -90,8 +89,8 @@ class RevisionsUnitTests { @Test void forcesInvalidlyOrderedRevisionsToBeOrdered() { - Revisions revisions = Revisions.of(Arrays.asList(secondRevision, firstRevision)); - Iterator> iterator = revisions.iterator(); + var revisions = Revisions.of(Arrays.asList(secondRevision, firstRevision)); + var iterator = revisions.iterator(); assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo(firstRevision); diff --git a/src/test/java/org/springframework/data/mapping/InstantiationAwarePersistentPropertyAccessorUnitTests.java b/src/test/java/org/springframework/data/mapping/InstantiationAwarePersistentPropertyAccessorUnitTests.java index 7314ee3d4..a5819663e 100644 --- a/src/test/java/org/springframework/data/mapping/InstantiationAwarePersistentPropertyAccessorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/InstantiationAwarePersistentPropertyAccessorUnitTests.java @@ -36,12 +36,12 @@ class InstantiationAwarePersistentPropertyAccessorUnitTests { @Test // DATACMNS-1639 void shouldCreateNewInstance() { - EntityInstantiators instantiators = new EntityInstantiators(); - SampleMappingContext context = new SampleMappingContext(); + var instantiators = new EntityInstantiators(); + var context = new SampleMappingContext(); PersistentEntity entity = context.getRequiredPersistentEntity(Sample.class); - Sample sample = new Sample("Dave", "Matthews", 42); + var sample = new Sample("Dave", "Matthews", 42); PersistentPropertyAccessor wrapper = new InstantiationAwarePropertyAccessor<>(sample, entity::getPropertyAccessor, @@ -55,12 +55,12 @@ class InstantiationAwarePersistentPropertyAccessorUnitTests { @Test // DATACMNS-1768 void shouldSetMultipleProperties() { - EntityInstantiators instantiators = new EntityInstantiators(); - SampleMappingContext context = new SampleMappingContext(); + var instantiators = new EntityInstantiators(); + var context = new SampleMappingContext(); PersistentEntity entity = context.getRequiredPersistentEntity(Sample.class); - Sample bean = new Sample("Dave", "Matthews", 42); + var bean = new Sample("Dave", "Matthews", 42); PersistentPropertyAccessor wrapper = new InstantiationAwarePropertyAccessor<>(bean, entity::getPropertyAccessor, instantiators); diff --git a/src/test/java/org/springframework/data/mapping/ParameterUnitTests.java b/src/test/java/org/springframework/data/mapping/ParameterUnitTests.java index 7ae23d23b..9d2139f5f 100755 --- a/src/test/java/org/springframework/data/mapping/ParameterUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/ParameterUnitTests.java @@ -45,8 +45,8 @@ class ParameterUnitTests

> { @Test void twoParametersWithIdenticalSetupEqual() { - Parameter left = new Parameter<>("name", type, annotations, entity); - Parameter right = new Parameter<>("name", type, annotations, entity); + var left = new Parameter("name", type, annotations, entity); + var right = new Parameter("name", type, annotations, entity); assertThat(left).isEqualTo(right); assertThat(left.hashCode()).isEqualTo(right.hashCode()); @@ -55,8 +55,8 @@ class ParameterUnitTests

> { @Test void twoParametersWithIdenticalSetupAndNullNameEqual() { - Parameter left = new Parameter<>(null, type, annotations, entity); - Parameter right = new Parameter<>(null, type, annotations, entity); + var left = new Parameter(null, type, annotations, entity); + var right = new Parameter(null, type, annotations, entity); assertThat(left).isEqualTo(right); assertThat(left.hashCode()).isEqualTo(right.hashCode()); @@ -65,8 +65,8 @@ class ParameterUnitTests

> { @Test void twoParametersWithIdenticalAndNullEntitySetupEqual() { - Parameter left = new Parameter<>("name", type, annotations, null); - Parameter right = new Parameter<>("name", type, annotations, null); + var left = new Parameter("name", type, annotations, null); + var right = new Parameter("name", type, annotations, null); assertThat(left).isEqualTo(right); assertThat(left.hashCode()).isEqualTo(right.hashCode()); @@ -75,8 +75,8 @@ class ParameterUnitTests

> { @Test void twoParametersWithDifferentNameAreNotEqual() { - Parameter left = new Parameter<>("first", type, annotations, entity); - Parameter right = new Parameter<>("second", type, annotations, entity); + var left = new Parameter("first", type, annotations, entity); + var right = new Parameter("second", type, annotations, entity); assertThat(left).isNotEqualTo(right); } @@ -84,8 +84,8 @@ class ParameterUnitTests

> { @Test void twoParametersWithDifferenTypeAreNotEqual() { - Parameter left = new Parameter<>("name", type, annotations, entity); - Parameter right = new Parameter<>("name", ClassTypeInformation.from(String.class), annotations, + var left = new Parameter("name", type, annotations, entity); + var right = new Parameter("name", ClassTypeInformation.from(String.class), annotations, stringEntity); assertThat(left).isNotEqualTo(right); diff --git a/src/test/java/org/springframework/data/mapping/PersistentPropertyAccessorUnitTests.java b/src/test/java/org/springframework/data/mapping/PersistentPropertyAccessorUnitTests.java index f4a9c3536..659271d40 100644 --- a/src/test/java/org/springframework/data/mapping/PersistentPropertyAccessorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/PersistentPropertyAccessorUnitTests.java @@ -61,7 +61,7 @@ public class PersistentPropertyAccessorUnitTests { @Test // DATACMNS-1275 public void looksUpValueForPropertyPath() { - Order order = new Order(new Customer("Dave")); + var order = new Order(new Customer("Dave")); setUp(order, "customer.firstname"); @@ -71,8 +71,8 @@ public class PersistentPropertyAccessorUnitTests { @Test // DATACMNS-1275 public void setsPropertyOnNestedPath() { - Customer customer = new Customer("Dave"); - Order order = new Order(customer); + var customer = new Customer("Dave"); + var order = new Order(customer); setUp(order, "customer.firstname"); @@ -112,16 +112,16 @@ public class PersistentPropertyAccessorUnitTests { public void correctlyReplacesObjectInstancesWhenSettingPropertyPathOnImmutableObjects() { PersistentEntity entity = context.getPersistentEntity(Outer.class); - PersistentPropertyPath path = context.getPersistentPropertyPath("immutable.value", + var path = context.getPersistentPropertyPath("immutable.value", entity.getType()); - NestedImmutable immutable = new NestedImmutable("foo"); - Outer outer = new Outer(immutable); + var immutable = new NestedImmutable("foo"); + var outer = new Outer(immutable); PersistentPropertyAccessor accessor = entity.getPropertyAccessor(outer); accessor.setProperty(path, "bar"); - Object result = accessor.getBean(); + var result = accessor.getBean(); assertThat(result).isInstanceOfSatisfying(Outer.class, it -> { assertThat(it.immutable).isNotSameAs(immutable); @@ -132,13 +132,13 @@ public class PersistentPropertyAccessorUnitTests { @Test // DATACMNS-1377 public void shouldConvertToPropertyPathLeafType() { - Order order = new Order(new Customer("1")); + var order = new Order(new Customer("1")); - PersistentPropertyAccessor accessor = context.getPersistentEntity(Order.class).getPropertyAccessor(order); - ConvertingPropertyAccessor convertingAccessor = new ConvertingPropertyAccessor<>(accessor, + var accessor = context.getPersistentEntity(Order.class).getPropertyAccessor(order); + var convertingAccessor = new ConvertingPropertyAccessor(accessor, new DefaultConversionService()); - PersistentPropertyPath path = context.getPersistentPropertyPath("customer.firstname", + var path = context.getPersistentPropertyPath("customer.firstname", Order.class); convertingAccessor.setProperty(path, 2); @@ -149,7 +149,7 @@ public class PersistentPropertyAccessorUnitTests { @Test // DATACMNS-1555 public void usesTraversalContextToTraverseCollections() { - WithContext withContext = WithContext.builder() // + var withContext = WithContext.builder() // .collection(Collections.singleton("value")) // .list(Collections.singletonList("value")) // .set(Collections.singleton("value")) // @@ -157,24 +157,24 @@ public class PersistentPropertyAccessorUnitTests { .string(" value ") // .build(); - Spec collectionHelper = Spec.of("collection", + var collectionHelper = Spec.of("collection", (context, property) -> context.registerCollectionHandler(property, it -> it.iterator().next())); - Spec listHelper = Spec.of("list", (context, property) -> context.registerListHandler(property, it -> it.get(0))); - Spec setHelper = Spec.of("set", + var listHelper = Spec.of("list", (context, property) -> context.registerListHandler(property, it -> it.get(0))); + var setHelper = Spec.of("set", (context, property) -> context.registerSetHandler(property, it -> it.iterator().next())); - Spec mapHelper = Spec.of("map", (context, property) -> context.registerMapHandler(property, it -> it.get("key"))); - Spec stringHelper = Spec.of("string", + var mapHelper = Spec.of("map", (context, property) -> context.registerMapHandler(property, it -> it.get("key"))); + var stringHelper = Spec.of("string", (context, property) -> context.registerHandler(property, String.class, it -> it.trim())); Stream.of(collectionHelper, listHelper, setHelper, mapHelper, stringHelper).forEach(it -> { PersistentEntity entity = context.getPersistentEntity(WithContext.class); PersistentProperty property = entity.getRequiredPersistentProperty(it.name); - PersistentPropertyAccessor accessor = entity.getPropertyAccessor(withContext); + var accessor = entity.getPropertyAccessor(withContext); - TraversalContext traversalContext = it.registrar.apply(new TraversalContext(), property); + var traversalContext = it.registrar.apply(new TraversalContext(), property); - PersistentPropertyPath propertyPath = context.getPersistentPropertyPath(it.name, + var propertyPath = context.getPersistentPropertyPath(it.name, WithContext.class); assertThat(accessor.getProperty(propertyPath, traversalContext)).isEqualTo("value"); @@ -187,7 +187,7 @@ public class PersistentPropertyAccessorUnitTests { PersistentEntity entity = context.getPersistentEntity(WithContext.class); PersistentProperty property = entity.getRequiredPersistentProperty("collection"); - TraversalContext traversal = new TraversalContext(); + var traversal = new TraversalContext(); assertThatIllegalArgumentException() // .isThrownBy(() -> traversal.registerHandler(property, Map.class, Function.identity())); diff --git a/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java b/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java index 35136de9c..817b8ace0 100755 --- a/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/PreferredConstructorDiscovererUnitTests.java @@ -112,7 +112,7 @@ class PreferredConstructorDiscovererUnitTests

> { assertThat(PreferredConstructorDiscoverer.discover(entity)).satisfies(constructor -> { - PersistenceConstructor annotation = constructor.getConstructor().getAnnotation(PersistenceConstructor.class); + var annotation = constructor.getConstructor().getAnnotation(PersistenceConstructor.class); assertThat(annotation).isNotNull(); assertThat(constructor.getConstructor().isSynthetic()).isFalse(); }); diff --git a/src/test/java/org/springframework/data/mapping/PropertyPathUnitTests.java b/src/test/java/org/springframework/data/mapping/PropertyPathUnitTests.java index 7e9e94e8a..f5a0f9853 100755 --- a/src/test/java/org/springframework/data/mapping/PropertyPathUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/PropertyPathUnitTests.java @@ -18,7 +18,6 @@ package org.springframework.data.mapping; import static org.assertj.core.api.Assertions.*; import static org.springframework.data.mapping.PropertyPath.from; -import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.regex.Pattern; @@ -41,7 +40,7 @@ class PropertyPathUnitTests { @Test void parsesSimplePropertyCorrectly() { - PropertyPath reference = PropertyPath.from("userName", Foo.class); + var reference = PropertyPath.from("userName", Foo.class); assertThat(reference.hasNext()).isFalse(); assertThat(reference.toDotPath()).isEqualTo("userName"); @@ -51,7 +50,7 @@ class PropertyPathUnitTests { @Test void parsesPathPropertyCorrectly() { - PropertyPath reference = PropertyPath.from("userName", Bar.class); + var reference = PropertyPath.from("userName", Bar.class); assertThat(reference.hasNext()).isTrue(); assertThat(reference.next()).isEqualTo(new PropertyPath("name", FooBar.class)); assertThat(reference.toDotPath()).isEqualTo("user.name"); @@ -60,7 +59,7 @@ class PropertyPathUnitTests { @Test void prefersLongerMatches() { - PropertyPath reference = PropertyPath.from("userName", Sample.class); + var reference = PropertyPath.from("userName", Sample.class); assertThat(reference.hasNext()).isFalse(); assertThat(reference.toDotPath()).isEqualTo("userName"); } @@ -68,7 +67,7 @@ class PropertyPathUnitTests { @Test void testname() { - PropertyPath reference = PropertyPath.from("userName", Sample2.class); + var reference = PropertyPath.from("userName", Sample2.class); assertThat(reference.getSegment()).isEqualTo("user"); assertThat(reference.hasNext()).isTrue(); assertThat(reference.next()).isEqualTo(new PropertyPath("name", FooBar.class)); @@ -77,7 +76,7 @@ class PropertyPathUnitTests { @Test void prefersExplicitPaths() { - PropertyPath reference = PropertyPath.from("user_name", Sample.class); + var reference = PropertyPath.from("user_name", Sample.class); assertThat(reference.getSegment()).isEqualTo("user"); assertThat(reference.hasNext()).isTrue(); assertThat(reference.next()).isEqualTo(new PropertyPath("name", FooBar.class)); @@ -86,7 +85,7 @@ class PropertyPathUnitTests { @Test void handlesGenericsCorrectly() { - PropertyPath reference = PropertyPath.from("usersName", Bar.class); + var reference = PropertyPath.from("usersName", Bar.class); assertThat(reference.getSegment()).isEqualTo("users"); assertThat(reference.isCollection()).isTrue(); assertThat(reference.hasNext()).isTrue(); @@ -96,7 +95,7 @@ class PropertyPathUnitTests { @Test void handlesMapCorrectly() { - PropertyPath reference = PropertyPath.from("userMapName", Bar.class); + var reference = PropertyPath.from("userMapName", Bar.class); assertThat(reference.getSegment()).isEqualTo("userMap"); assertThat(reference.isCollection()).isFalse(); assertThat(reference.hasNext()).isTrue(); @@ -106,7 +105,7 @@ class PropertyPathUnitTests { @Test void handlesArrayCorrectly() { - PropertyPath reference = PropertyPath.from("userArrayName", Bar.class); + var reference = PropertyPath.from("userArrayName", Bar.class); assertThat(reference.getSegment()).isEqualTo("userArray"); assertThat(reference.isCollection()).isTrue(); assertThat(reference.hasNext()).isTrue(); @@ -137,7 +136,7 @@ class PropertyPathUnitTests { @Test void findsNested() { - PropertyPath from = PropertyPath.from("barUserName", Sample.class); + var from = PropertyPath.from("barUserName", Sample.class); assertThat(from).isNotNull(); assertThat(from.getLeafProperty()).isEqualTo(PropertyPath.from("name", FooBar.class)); @@ -146,7 +145,7 @@ class PropertyPathUnitTests { @Test // DATACMNS-45 void handlesEmptyUnderscoresCorrectly() { - PropertyPath propertyPath = PropertyPath.from("_foo", Sample2.class); + var propertyPath = PropertyPath.from("_foo", Sample2.class); assertThat(propertyPath.getSegment()).isEqualTo("_foo"); assertThat(propertyPath.getType()).isEqualTo(Foo.class); @@ -157,7 +156,7 @@ class PropertyPathUnitTests { @Test void supportsDotNotationAsWell() { - PropertyPath propertyPath = PropertyPath.from("bar.userMap.name", Sample.class); + var propertyPath = PropertyPath.from("bar.userMap.name", Sample.class); assertThat(propertyPath).isNotNull(); assertThat(propertyPath.getSegment()).isEqualTo("bar"); @@ -167,9 +166,9 @@ class PropertyPathUnitTests { @Test void returnsCorrectIteratorForSingleElement() { - PropertyPath propertyPath = PropertyPath.from("userName", Foo.class); + var propertyPath = PropertyPath.from("userName", Foo.class); - Iterator iterator = propertyPath.iterator(); + var iterator = propertyPath.iterator(); assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo(propertyPath); assertThat(iterator.hasNext()).isFalse(); @@ -178,9 +177,9 @@ class PropertyPathUnitTests { @Test void returnsCorrectIteratorForMultipleElement() { - PropertyPath propertyPath = PropertyPath.from("user.name", Bar.class); + var propertyPath = PropertyPath.from("user.name", Bar.class); - Iterator iterator = propertyPath.iterator(); + var iterator = propertyPath.iterator(); assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo(propertyPath); assertThat(iterator.hasNext()).isTrue(); @@ -243,10 +242,10 @@ class PropertyPathUnitTests { @Test void samePathsEqual() { - PropertyPath left = PropertyPath.from("user.name", Bar.class); - PropertyPath right = PropertyPath.from("user.name", Bar.class); + var left = PropertyPath.from("user.name", Bar.class); + var right = PropertyPath.from("user.name", Bar.class); - PropertyPath shortPath = PropertyPath.from("user", Bar.class); + var shortPath = PropertyPath.from("user", Bar.class); assertThat(left).isEqualTo(right); assertThat(right).isEqualTo(left); @@ -259,10 +258,10 @@ class PropertyPathUnitTests { @Test void hashCodeTests() { - PropertyPath left = PropertyPath.from("user.name", Bar.class); - PropertyPath right = PropertyPath.from("user.name", Bar.class); + var left = PropertyPath.from("user.name", Bar.class); + var right = PropertyPath.from("user.name", Bar.class); - PropertyPath shortPath = PropertyPath.from("user", Bar.class); + var shortPath = PropertyPath.from("user", Bar.class); assertThat(left.hashCode()).isEqualTo(right.hashCode()); assertThat(left.hashCode()).isNotEqualTo(shortPath.hashCode()); @@ -271,7 +270,7 @@ class PropertyPathUnitTests { @Test // DATACMNS-257 void findsAllUppercaseProperty() { - PropertyPath path = PropertyPath.from("UUID", Foo.class); + var path = PropertyPath.from("UUID", Foo.class); assertThat(path).isNotNull(); assertThat(path.getSegment()).isEqualTo("UUID"); @@ -280,7 +279,7 @@ class PropertyPathUnitTests { @Test // DATACMNS-257 void findsNestedAllUppercaseProperty() { - PropertyPath path = PropertyPath.from("_fooUUID", Sample2.class); + var path = PropertyPath.from("_fooUUID", Sample2.class); assertThat(path).isNotNull(); assertThat(path.getSegment()).isEqualTo("_foo"); @@ -344,7 +343,7 @@ class PropertyPathUnitTests { @Test // DATACMNS-867 void preservesUnderscoresForQuotedNames() { - PropertyPath path = from(Pattern.quote("var_name_with_underscore"), Foo.class); + var path = from(Pattern.quote("var_name_with_underscore"), Foo.class); assertThat(path).isNotNull(); assertThat(path.getSegment()).isEqualTo("var_name_with_underscore"); @@ -378,15 +377,15 @@ class PropertyPathUnitTests { @Test // DATACMNS-1285 void rejectsTooLongPath() { - String source = "foo.bar"; + var source = "foo.bar"; - for (int i = 0; i < 9; i++) { + for (var i = 0; i < 9; i++) { source = source + "." + source; } assertThat(source.split("\\.").length).isGreaterThan(1000); - final String path = source; + final var path = source; assertThatIllegalArgumentException() // .isThrownBy(() -> PropertyPath.from(path, Left.class)); diff --git a/src/test/java/org/springframework/data/mapping/PropertyReferenceExceptionUnitTests.java b/src/test/java/org/springframework/data/mapping/PropertyReferenceExceptionUnitTests.java index aaa1daa6e..245e222c9 100755 --- a/src/test/java/org/springframework/data/mapping/PropertyReferenceExceptionUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/PropertyReferenceExceptionUnitTests.java @@ -17,7 +17,6 @@ package org.springframework.data.mapping; import static org.assertj.core.api.Assertions.*; -import java.util.Collection; import java.util.Collections; import java.util.List; @@ -61,9 +60,9 @@ public class PropertyReferenceExceptionUnitTests { @Test // DATACMNS-801 public void exposesPotentialMatch() { - PropertyReferenceException exception = new PropertyReferenceException("nme", TYPE_INFO, NO_PATHS); + var exception = new PropertyReferenceException("nme", TYPE_INFO, NO_PATHS); - Collection matches = exception.getPropertyMatches(); + var matches = exception.getPropertyMatches(); assertThat(matches).containsExactly("name"); } diff --git a/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java b/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java index eabdc33f6..48c65de83 100755 --- a/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/SimpleTypeHolderUnitTests.java @@ -48,7 +48,7 @@ public class SimpleTypeHolderUnitTests { @Test // DATACMNS-31 public void rejectsNullTypeForIsSimpleTypeCall() { - SimpleTypeHolder holder = SimpleTypeHolder.DEFAULT; + var holder = SimpleTypeHolder.DEFAULT; assertThatIllegalArgumentException().isThrownBy(() -> holder.isSimpleType(null)); } @@ -56,7 +56,7 @@ public class SimpleTypeHolderUnitTests { @Test public void addsDefaultTypes() { - SimpleTypeHolder holder = SimpleTypeHolder.DEFAULT; + var holder = SimpleTypeHolder.DEFAULT; assertThat(holder.isSimpleType(String.class)).isTrue(); } @@ -64,7 +64,7 @@ public class SimpleTypeHolderUnitTests { @Test public void doesNotAddDefaultConvertersIfConfigured() { - SimpleTypeHolder holder = new SimpleTypeHolder(new HashSet<>(), false); + var holder = new SimpleTypeHolder(new HashSet<>(), false); assertThat(holder.isSimpleType(UUID.class)).isFalse(); } @@ -72,7 +72,7 @@ public class SimpleTypeHolderUnitTests { @Test public void addsCustomTypesToSimpleOnes() { - SimpleTypeHolder holder = new SimpleTypeHolder(Collections.singleton(SimpleTypeHolder.class), true); + var holder = new SimpleTypeHolder(Collections.singleton(SimpleTypeHolder.class), true); assertThat(holder.isSimpleType(SimpleTypeHolder.class)).isTrue(); assertThat(holder.isSimpleType(SimpleTypeHolderUnitTests.class)).isFalse(); @@ -81,8 +81,8 @@ public class SimpleTypeHolderUnitTests { @Test public void createsHolderFromAnotherOneCorrectly() { - SimpleTypeHolder holder = new SimpleTypeHolder(Collections.singleton(SimpleTypeHolder.class), true); - SimpleTypeHolder second = new SimpleTypeHolder(Collections.singleton(SimpleTypeHolderUnitTests.class), holder); + var holder = new SimpleTypeHolder(Collections.singleton(SimpleTypeHolder.class), true); + var second = new SimpleTypeHolder(Collections.singleton(SimpleTypeHolderUnitTests.class), holder); assertThat(holder.isSimpleType(SimpleTypeHolder.class)).isTrue(); assertThat(holder.isSimpleType(SimpleTypeHolderUnitTests.class)).isFalse(); @@ -92,28 +92,28 @@ public class SimpleTypeHolderUnitTests { @Test public void considersObjectToBeSimpleType() { - SimpleTypeHolder holder = SimpleTypeHolder.DEFAULT; + var holder = SimpleTypeHolder.DEFAULT; assertThat(holder.isSimpleType(Object.class)).isTrue(); } @Test public void considersSimpleEnumAsSimple() { - SimpleTypeHolder holder = SimpleTypeHolder.DEFAULT; + var holder = SimpleTypeHolder.DEFAULT; assertThat(holder.isSimpleType(SimpleEnum.FOO.getClass())).isTrue(); } @Test public void considersComplexEnumAsSimple() { - SimpleTypeHolder holder = SimpleTypeHolder.DEFAULT; + var holder = SimpleTypeHolder.DEFAULT; assertThat(holder.isSimpleType(ComplexEnum.FOO.getClass())).isTrue(); } @Test // DATACMNS-1006 public void considersJavaLangTypesSimple() { - SimpleTypeHolder holder = SimpleTypeHolder.DEFAULT; + var holder = SimpleTypeHolder.DEFAULT; assertThat(holder.isSimpleType(Type.class)).isTrue(); } @@ -121,7 +121,7 @@ public class SimpleTypeHolderUnitTests { @Test // DATACMNS-1294 public void considersJavaTimeTypesSimple() { - SimpleTypeHolder holder = SimpleTypeHolder.DEFAULT; + var holder = SimpleTypeHolder.DEFAULT; assertThat(holder.isSimpleType(Instant.class)).isTrue(); } @@ -129,7 +129,7 @@ public class SimpleTypeHolderUnitTests { @Test // DATACMNS-1101 public void considersExtendedTypeAsSimple() { - SimpleTypeHolder holder = SimpleTypeHolder.DEFAULT; + var holder = SimpleTypeHolder.DEFAULT; assertThat(holder.isSimpleType(ExtendedPerson.class)).isFalse(); } @@ -137,7 +137,7 @@ public class SimpleTypeHolderUnitTests { @Test // DATACMNS-1101 public void considersExtendedTypeAsSimpleSeenBaseClassBefore() { - SimpleTypeHolder holder = SimpleTypeHolder.DEFAULT; + var holder = SimpleTypeHolder.DEFAULT; assertThat(holder.isSimpleType(Person.class)).isFalse(); assertThat(holder.isSimpleType(ExtendedPerson.class)).isFalse(); @@ -146,7 +146,7 @@ public class SimpleTypeHolderUnitTests { @Test // DATACMNS-1278 public void alwaysConsidersEnumsSimple() { - SimpleTypeHolder holder = SimpleTypeHolder.DEFAULT; + var holder = SimpleTypeHolder.DEFAULT; assertThat(holder.isSimpleType(SomeInterface.class)).isFalse(); assertThat(holder.isSimpleType(InterfacedEnum.class)).isTrue(); diff --git a/src/test/java/org/springframework/data/mapping/TargetAwareIdentifierAccessorUnitTests.java b/src/test/java/org/springframework/data/mapping/TargetAwareIdentifierAccessorUnitTests.java index f979d2414..88388b64e 100644 --- a/src/test/java/org/springframework/data/mapping/TargetAwareIdentifierAccessorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/TargetAwareIdentifierAccessorUnitTests.java @@ -31,7 +31,7 @@ public class TargetAwareIdentifierAccessorUnitTests { @Test // DATACMNS-1015 public void throwsExceptionContainingInformationAboutTargetIfIdentifierAbsent() { - Object sample = new Object(); + var sample = new Object(); IdentifierAccessor accessor = new TargetAwareIdentifierAccessor(sample) { diff --git a/src/test/java/org/springframework/data/mapping/callback/DefaultEntityCallbacksUnitTests.java b/src/test/java/org/springframework/data/mapping/callback/DefaultEntityCallbacksUnitTests.java index 3278014db..adbac5be8 100644 --- a/src/test/java/org/springframework/data/mapping/callback/DefaultEntityCallbacksUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/callback/DefaultEntityCallbacksUnitTests.java @@ -43,12 +43,12 @@ class DefaultEntityCallbacksUnitTests { @Test // DATACMNS-1467 void shouldDispatchCallback() { - AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(MyConfig.class); + var ctx = new AnnotationConfigApplicationContext(MyConfig.class); - DefaultEntityCallbacks callbacks = new DefaultEntityCallbacks(ctx); + var callbacks = new DefaultEntityCallbacks(ctx); - PersonDocument personDocument = new PersonDocument(null, "Walter", null); - PersonDocument afterCallback = callbacks.callback(BeforeSaveCallback.class, personDocument); + var personDocument = new PersonDocument(null, "Walter", null); + var afterCallback = callbacks.callback(BeforeSaveCallback.class, personDocument); assertThat(afterCallback.getSsn()).isEqualTo(6); } @@ -56,12 +56,12 @@ class DefaultEntityCallbacksUnitTests { @Test // DATACMNS-1467 void shouldDispatchCallsToLambdaReceivers() { - AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(LambdaConfig.class); + var ctx = new AnnotationConfigApplicationContext(LambdaConfig.class); - DefaultEntityCallbacks callbacks = new DefaultEntityCallbacks(ctx); + var callbacks = new DefaultEntityCallbacks(ctx); - PersonDocument personDocument = new PersonDocument(null, "Walter", null); - PersonDocument afterCallback = callbacks.callback(BeforeSaveCallback.class, personDocument); + var personDocument = new PersonDocument(null, "Walter", null); + var afterCallback = callbacks.callback(BeforeSaveCallback.class, personDocument); assertThat(afterCallback).isSameAs(personDocument); } @@ -69,7 +69,7 @@ class DefaultEntityCallbacksUnitTests { @Test // DATACMNS-1467 void invokeGenericEvent() { - DefaultEntityCallbacks callbacks = new DefaultEntityCallbacks(); + var callbacks = new DefaultEntityCallbacks(); callbacks.addEntityCallback(new GenericPersonCallback()); Person afterCallback = callbacks.callback(GenericPersonCallback.class, new PersonDocument(null, "Walter", null)); @@ -80,7 +80,7 @@ class DefaultEntityCallbacksUnitTests { @Test // DATACMNS-1467 void invokeGenericEventWithArgs() { - DefaultEntityCallbacks callbacks = new DefaultEntityCallbacks(); + var callbacks = new DefaultEntityCallbacks(); callbacks.addEntityCallback(new GenericPersonCallbackWithArgs()); Person afterCallback = callbacks.callback(GenericPersonCallbackWithArgs.class, @@ -92,7 +92,7 @@ class DefaultEntityCallbacksUnitTests { @Test // DATACMNS-1467 void invokeInvalidEvent() { - DefaultEntityCallbacks callbacks = new DefaultEntityCallbacks(); + var callbacks = new DefaultEntityCallbacks(); callbacks.addEntityCallback(new InvalidEntityCallback() {}); assertThatIllegalStateException() @@ -106,11 +106,11 @@ class DefaultEntityCallbacksUnitTests { CapturingEntityCallback first = new FirstCallback(); CapturingEntityCallback second = new SecondCallback(); - DefaultEntityCallbacks callbacks = new DefaultEntityCallbacks(); + var callbacks = new DefaultEntityCallbacks(); callbacks.addEntityCallback(first); callbacks.addEntityCallback(second); - PersonDocument initial = new PersonDocument(null, "Walter", null); + var initial = new PersonDocument(null, "Walter", null); callbacks.callback(CapturingEntityCallback.class, initial); @@ -123,7 +123,7 @@ class DefaultEntityCallbacksUnitTests { @Test // DATACMNS-1467 void errorsOnNullEntity() { - DefaultEntityCallbacks callbacks = new DefaultEntityCallbacks(); + var callbacks = new DefaultEntityCallbacks(); callbacks.addEntityCallback(new CapturingEntityCallback()); assertThatIllegalArgumentException() @@ -137,12 +137,12 @@ class DefaultEntityCallbacksUnitTests { CapturingEntityCallback second = new SecondCallback(null); CapturingEntityCallback third = new ThirdCallback(); - DefaultEntityCallbacks callbacks = new DefaultEntityCallbacks(); + var callbacks = new DefaultEntityCallbacks(); callbacks.addEntityCallback(first); callbacks.addEntityCallback(second); callbacks.addEntityCallback(third); - PersonDocument initial = new PersonDocument(null, "Walter", null); + var initial = new PersonDocument(null, "Walter", null); assertThatIllegalArgumentException() .isThrownBy(() -> callbacks.callback(CapturingEntityCallback.class, initial)); @@ -155,11 +155,11 @@ class DefaultEntityCallbacksUnitTests { @Test // DATACMNS-1467 void detectsMultipleCallbacksWithinOneClass() { - AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(MultipleCallbacksInOneClassConfig.class); + var ctx = new AnnotationConfigApplicationContext(MultipleCallbacksInOneClassConfig.class); - DefaultEntityCallbacks callbacks = new DefaultEntityCallbacks(ctx); + var callbacks = new DefaultEntityCallbacks(ctx); - PersonDocument personDocument = new PersonDocument(null, "Walter", null); + var personDocument = new PersonDocument(null, "Walter", null); callbacks.callback(BeforeSaveCallback.class, personDocument); assertThat(ctx.getBean("callbacks", MultipleCallbacks.class).invocations).containsExactly("save"); diff --git a/src/test/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacksUnitTests.java b/src/test/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacksUnitTests.java index b5f29c177..8b108531b 100644 --- a/src/test/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacksUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/callback/DefaultReactiveEntityCallbacksUnitTests.java @@ -41,12 +41,12 @@ class DefaultReactiveEntityCallbacksUnitTests { @Test // DATACMNS-1467 void dispatchResolvesOnSubscribe() { - AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(MyConfig.class); + var ctx = new AnnotationConfigApplicationContext(MyConfig.class); - DefaultReactiveEntityCallbacks callbacks = new DefaultReactiveEntityCallbacks(ctx); + var callbacks = new DefaultReactiveEntityCallbacks(ctx); - PersonDocument personDocument = new PersonDocument(null, "Walter", null); - Mono afterCallback = callbacks.callback(ReactiveBeforeSaveCallback.class, personDocument); + var personDocument = new PersonDocument(null, "Walter", null); + var afterCallback = callbacks.callback(ReactiveBeforeSaveCallback.class, personDocument); assertThat(personDocument.getSsn()).isNull(); @@ -58,7 +58,7 @@ class DefaultReactiveEntityCallbacksUnitTests { @Test // DATACMNS-1467 void invokeGenericEvent() { - DefaultReactiveEntityCallbacks callbacks = new DefaultReactiveEntityCallbacks(); + var callbacks = new DefaultReactiveEntityCallbacks(); callbacks.addEntityCallback(new GenericPersonCallback()); callbacks.callback(GenericPersonCallback.class, new PersonDocument(null, "Walter", null)) // @@ -73,11 +73,11 @@ class DefaultReactiveEntityCallbacksUnitTests { CapturingEntityCallback first = new FirstCallback(); CapturingEntityCallback second = new SecondCallback(); - DefaultReactiveEntityCallbacks callbacks = new DefaultReactiveEntityCallbacks(); + var callbacks = new DefaultReactiveEntityCallbacks(); callbacks.addEntityCallback(first); callbacks.addEntityCallback(second); - PersonDocument initial = new PersonDocument(null, "Walter", null); + var initial = new PersonDocument(null, "Walter", null); callbacks.callback(CapturingEntityCallback.class, initial) // .as(StepVerifier::create) // @@ -93,7 +93,7 @@ class DefaultReactiveEntityCallbacksUnitTests { @Test // DATACMNS-1467 void errorsOnNullEntity() { - DefaultReactiveEntityCallbacks callbacks = new DefaultReactiveEntityCallbacks(); + var callbacks = new DefaultReactiveEntityCallbacks(); callbacks.addEntityCallback(new CapturingEntityCallback()); assertThatIllegalArgumentException() @@ -107,12 +107,12 @@ class DefaultReactiveEntityCallbacksUnitTests { CapturingEntityCallback second = new SecondCallback(null); CapturingEntityCallback third = new ThirdCallback(); - DefaultReactiveEntityCallbacks callbacks = new DefaultReactiveEntityCallbacks(); + var callbacks = new DefaultReactiveEntityCallbacks(); callbacks.addEntityCallback(first); callbacks.addEntityCallback(second); callbacks.addEntityCallback(third); - PersonDocument initial = new PersonDocument(null, "Walter", null); + var initial = new PersonDocument(null, "Walter", null); callbacks.callback(CapturingEntityCallback.class, initial) // .as(StepVerifier::create) // @@ -143,7 +143,7 @@ class DefaultReactiveEntityCallbacksUnitTests { @Override public Mono onBeforeSave(Person object) { - PersonDocument result = new PersonDocument(object.getFirstName().length(), object.getFirstName(), + var result = new PersonDocument(object.getFirstName().length(), object.getFirstName(), object.getLastName()); return Mono.just(result); diff --git a/src/test/java/org/springframework/data/mapping/callback/EntityCallbackDiscovererUnitTests.java b/src/test/java/org/springframework/data/mapping/callback/EntityCallbackDiscovererUnitTests.java index f4bc28782..6b2d929f3 100644 --- a/src/test/java/org/springframework/data/mapping/callback/EntityCallbackDiscovererUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/callback/EntityCallbackDiscovererUnitTests.java @@ -49,9 +49,9 @@ class EntityCallbackDiscovererUnitTests { @Test // DATACMNS-1467 void shouldDiscoverCallbackType() { - AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(MyConfig.class); + var ctx = new AnnotationConfigApplicationContext(MyConfig.class); - EntityCallbackDiscoverer discoverer = new EntityCallbackDiscoverer(ctx); + var discoverer = new EntityCallbackDiscoverer(ctx); Collection> entityCallbacks = discoverer.getEntityCallbacks(PersonDocument.class, ResolvableType.forType(BeforeSaveCallback.class)); @@ -62,17 +62,17 @@ class EntityCallbackDiscovererUnitTests { @Test // DATACMNS-1735 void shouldDiscoverCallbackTypeConcurrencyCache() throws InterruptedException { - AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(MyConfig.class); + var ctx = new AnnotationConfigApplicationContext(MyConfig.class); - EntityCallbackDiscoverer discoverer = new EntityCallbackDiscoverer(ctx); - int poolSize = Runtime.getRuntime().availableProcessors(); - ThreadPoolExecutor executor = new ThreadPoolExecutor(poolSize, poolSize, 20, TimeUnit.SECONDS, + var discoverer = new EntityCallbackDiscoverer(ctx); + var poolSize = Runtime.getRuntime().availableProcessors(); + var executor = new ThreadPoolExecutor(poolSize, poolSize, 20, TimeUnit.SECONDS, new LinkedBlockingDeque<>()); - CountDownLatch startLatch = new CountDownLatch(poolSize); - CountDownLatch doneLatch = new CountDownLatch(poolSize); + var startLatch = new CountDownLatch(poolSize); + var doneLatch = new CountDownLatch(poolSize); List exceptions = new CopyOnWriteArrayList<>(); - for (int i = 0; i < poolSize; i++) { + for (var i = 0; i < poolSize; i++) { executor.submit(() -> { try { startLatch.countDown(); @@ -97,9 +97,9 @@ class EntityCallbackDiscovererUnitTests { @Test // DATACMNS-1467 void shouldDiscoverCallbackTypeByName() { - AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(MyConfig.class); + var ctx = new AnnotationConfigApplicationContext(MyConfig.class); - EntityCallbackDiscoverer discoverer = new EntityCallbackDiscoverer(ctx); + var discoverer = new EntityCallbackDiscoverer(ctx); discoverer.clear(); discoverer.addEntityCallbackBean("namedCallback"); @@ -112,7 +112,7 @@ class EntityCallbackDiscovererUnitTests { @Test // DATACMNS-1467 void shouldSupportCallbackTypes() { - EntityCallbackDiscoverer discoverer = new EntityCallbackDiscoverer(); + var discoverer = new EntityCallbackDiscoverer(); assertThat(discoverer.supportsEvent(MyBeforeSaveCallback.class, ResolvableType.forClass(Person.class))).isTrue(); assertThat(discoverer.supportsEvent(MyBeforeSaveCallback.class, ResolvableType.forClass(Child.class))).isTrue(); @@ -126,9 +126,9 @@ class EntityCallbackDiscovererUnitTests { @Test // DATACMNS-1467 void shouldSupportInstanceCallbackTypes() { - EntityCallbackDiscoverer discoverer = new EntityCallbackDiscoverer(); + var discoverer = new EntityCallbackDiscoverer(); - MyBeforeSaveCallback callback = new MyBeforeSaveCallback(); + var callback = new MyBeforeSaveCallback(); assertThat(discoverer.supportsEvent(callback, ResolvableType.forClass(Person.class), ResolvableType.forClass(BeforeSaveCallback.class))).isTrue(); @@ -146,9 +146,9 @@ class EntityCallbackDiscovererUnitTests { @Test // DATACMNS-1467 void shouldDispatchInOrder() { - AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(OrderedConfig.class); + var ctx = new AnnotationConfigApplicationContext(OrderedConfig.class); - EntityCallbackDiscoverer discoverer = new EntityCallbackDiscoverer(ctx); + var discoverer = new EntityCallbackDiscoverer(ctx); Collection> entityCallbacks = discoverer.getEntityCallbacks(PersonDocument.class, ResolvableType.forType(EntityCallback.class)); diff --git a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextIntegrationTests.java b/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextIntegrationTests.java index 61967c2a7..1eb5874be 100755 --- a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextIntegrationTests.java +++ b/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextIntegrationTests.java @@ -41,7 +41,7 @@ class AbstractMappingContextIntegrationTests> { @Test // DATACMNS-457 void returnsManagedType() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); context.setInitialEntitySet(Collections.singleton(Person.class)); context.initialize(); @@ -51,7 +51,7 @@ class AbstractMappingContextIntegrationTests> { @Test // DATACMNS-457 void indicatesManagedType() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); context.setInitialEntitySet(Collections.singleton(Person.class)); context.initialize(); @@ -61,7 +61,7 @@ class AbstractMappingContextIntegrationTests> { @Test // DATACMNS-243 void createsPersistentEntityForInterfaceCorrectly() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); PersistentEntity entity = context .getRequiredPersistentEntity(InterfaceOnly.class); @@ -71,11 +71,11 @@ class AbstractMappingContextIntegrationTests> { @Test // DATACMNS-65 void foo() throws InterruptedException { - final DummyMappingContext context = new DummyMappingContext(); + final var context = new DummyMappingContext(); - Thread a = new Thread(() -> context.getPersistentEntity(Person.class)); + var a = new Thread(() -> context.getPersistentEntity(Person.class)); - Thread b = new Thread(() -> { + var b = new Thread(() -> { PersistentEntity entity = context.getRequiredPersistentEntity(Person.class); @@ -109,7 +109,7 @@ class AbstractMappingContextIntegrationTests> { protected T createPersistentProperty(Property property, BasicPersistentEntity owner, SimpleTypeHolder simpleTypeHolder) { - PersistentProperty prop = mock(PersistentProperty.class); + var prop = mock(PersistentProperty.class); when(prop.getTypeInformation()).thenReturn(owner.getTypeInformation()); when(prop.getName()).thenReturn(property.getName()); diff --git a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java b/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java index 905d25020..b646a1dfe 100755 --- a/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/context/AbstractMappingContextUnitTests.java @@ -30,7 +30,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Optional; @@ -41,6 +40,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.aop.SpringProxy; import org.springframework.aop.framework.Advised; + import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationEvent; import org.springframework.data.annotation.Id; @@ -88,7 +88,7 @@ class AbstractMappingContextUnitTests { @Test void registersEntitiesOnInitialization() { - ApplicationContext applicationContext = mock(ApplicationContext.class); + var applicationContext = mock(ApplicationContext.class); context.setInitialEntitySet(Collections.singleton(Person.class)); context.setApplicationEventPublisher(applicationContext); @@ -102,7 +102,7 @@ class AbstractMappingContextUnitTests { @Test // DATACMNS-214 void returnsNullPersistentEntityForSimpleTypes() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); assertThat(context.getPersistentEntity(String.class)).isNull(); } @@ -119,7 +119,7 @@ class AbstractMappingContextUnitTests { @Test // DATACMNS-228 void doesNotCreatePersistentPropertyForGroovyMetaClass() { - SampleMappingContext mappingContext = new SampleMappingContext(); + var mappingContext = new SampleMappingContext(); mappingContext.initialize(); PersistentEntity entity = mappingContext @@ -130,7 +130,7 @@ class AbstractMappingContextUnitTests { @Test // DATACMNS-332 void usesMostConcreteProperty() { - SampleMappingContext mappingContext = new SampleMappingContext(); + var mappingContext = new SampleMappingContext(); PersistentEntity entity = mappingContext .getRequiredPersistentEntity(Extension.class); @@ -141,7 +141,7 @@ class AbstractMappingContextUnitTests { @SuppressWarnings("rawtypes") void returnsEntityForComponentType() { - SampleMappingContext mappingContext = new SampleMappingContext(); + var mappingContext = new SampleMappingContext(); PersistentEntity entity = mappingContext .getRequiredPersistentEntity(Sample.class); @@ -153,10 +153,10 @@ class AbstractMappingContextUnitTests { @Test // DATACMNS-390 void exposesCopyOfPersistentEntitiesToAvoidConcurrentModificationException() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); context.getPersistentEntity(ClassTypeInformation.MAP); - Iterator> iterator = context.getPersistentEntities() + var iterator = context.getPersistentEntities() .iterator(); while (iterator.hasNext()) { @@ -208,7 +208,7 @@ class AbstractMappingContextUnitTests { void doesNotReturnPersistentEntityForCustomSimpleTypeProperty() { PersistentEntity entity = context.getRequiredPersistentEntity(Person.class); - SamplePersistentProperty property = entity.getRequiredPersistentProperty("date"); + var property = entity.getRequiredPersistentProperty("date"); assertThat(context.getPersistentEntity(property)).isNull(); } @@ -216,7 +216,7 @@ class AbstractMappingContextUnitTests { @Test // DATACMNS-1574 void cleansUpCacheForRuntimeException() { - TypeRejectingMappingContext context = TypeRejectingMappingContext.rejecting(() -> new RuntimeException(), + var context = TypeRejectingMappingContext.rejecting(() -> new RuntimeException(), Unsupported.class); assertThatExceptionOfType(RuntimeException.class) // @@ -231,7 +231,7 @@ class AbstractMappingContextUnitTests { @Test // GH-3113 void shouldIgnoreKotlinOverrideCtorPropertyInSuperClass() { - BasicPersistentEntity entity = context + var entity = context .getPersistentEntity(ClassTypeInformation.from(ShadowingPropertyTypeWithCtor.class)); entity.doWithProperties((PropertyHandler) property -> { assertThat(property.getField().getDeclaringClass()).isIn(ShadowingPropertyTypeWithCtor.class, @@ -242,7 +242,7 @@ class AbstractMappingContextUnitTests { @Test // GH-3113 void shouldIncludeAssignableKotlinOverridePropertyInSuperClass() { - BasicPersistentEntity entity = context + var entity = context .getPersistentEntity(ClassTypeInformation.from(ShadowingPropertyType.class)); entity.doWithProperties((PropertyHandler) property -> { assertThat(property.getField().getDeclaringClass()).isIn(ShadowedPropertyType.class, ShadowingPropertyType.class); @@ -252,7 +252,7 @@ class AbstractMappingContextUnitTests { @Test // GH-3113 void shouldIncludeAssignableShadowedPropertyInSuperClass() { - BasicPersistentEntity entity = context + var entity = context .getPersistentEntity(ClassTypeInformation.from(ShadowingPropertyAssignable.class)); assertThat(StreamUtils.createStreamFromIterator(entity.iterator()) @@ -270,7 +270,7 @@ class AbstractMappingContextUnitTests { @Test // GH-3113 void shouldIgnoreNonAssignableOverridePropertyInSuperClass() { - BasicPersistentEntity entity = context + var entity = context .getPersistentEntity(ClassTypeInformation.from(ShadowingPropertyNotAssignable.class)); entity.doWithProperties((PropertyHandler) property -> { assertThat(property.getField().getDeclaringClass()).isEqualTo(ShadowingPropertyNotAssignable.class); @@ -367,9 +367,9 @@ class AbstractMappingContextUnitTests { private static void assertHasEntityFor(Class type, SampleMappingContext context, boolean expected) { - boolean found = false; + var found = false; - for (BasicPersistentEntity entity : context.getPersistentEntities()) { + for (var entity : context.getPersistentEntities()) { if (entity.getType().equals(type)) { found = true; break; diff --git a/src/test/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPathUnitTests.java b/src/test/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPathUnitTests.java index c5a32c037..4ce9ece04 100755 --- a/src/test/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPathUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/context/DefaultPersistentPropertyPathUnitTests.java @@ -99,7 +99,7 @@ class DefaultPersistentPropertyPathUnitTests

> { @Test void calculatesExtensionCorrectly() { - PersistentPropertyPath

extension = twoLegs.getExtensionForBaseOf(oneLeg); + var extension = twoLegs.getExtensionForBaseOf(oneLeg); assertThat(extension).isEqualTo(new DefaultPersistentPropertyPath<>(Collections.singletonList(second))); } @@ -117,8 +117,8 @@ class DefaultPersistentPropertyPathUnitTests

> { @Test void returnItselfForEmptyPath() { - PersistentPropertyPath

parent = oneLeg.getParentPath(); - PersistentPropertyPath

parentsParent = parent.getParentPath(); + var parent = oneLeg.getParentPath(); + var parentsParent = parent.getParentPath(); assertThat(parentsParent).isEmpty(); assertThat(parentsParent).isSameAs(parent); diff --git a/src/test/java/org/springframework/data/mapping/context/MappingContextEventUnitTests.java b/src/test/java/org/springframework/data/mapping/context/MappingContextEventUnitTests.java index de4b9e08a..3711547fd 100755 --- a/src/test/java/org/springframework/data/mapping/context/MappingContextEventUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/context/MappingContextEventUnitTests.java @@ -42,21 +42,21 @@ class MappingContextEventUnitTests, P extends P @Test void returnsPersistentEntityHandedToTheEvent() { - MappingContextEvent event = new MappingContextEvent<>(mappingContext, entity); + var event = new MappingContextEvent(mappingContext, entity); assertThat(event.getPersistentEntity()).isEqualTo(entity); } @Test void usesMappingContextAsEventSource() { - MappingContextEvent event = new MappingContextEvent<>(mappingContext, entity); + var event = new MappingContextEvent(mappingContext, entity); assertThat(event.getSource()).isEqualTo(mappingContext); } @Test void detectsEmittingMappingContextCorrectly() { - MappingContextEvent event = new MappingContextEvent<>(mappingContext, entity); + var event = new MappingContextEvent(mappingContext, entity); assertThat(event.wasEmittedBy(mappingContext)).isTrue(); assertThat(event.wasEmittedBy(otherMappingContext)).isFalse(); } diff --git a/src/test/java/org/springframework/data/mapping/context/PersistentEntitiesUnitTests.java b/src/test/java/org/springframework/data/mapping/context/PersistentEntitiesUnitTests.java index 0fa5d4379..69fc6e132 100755 --- a/src/test/java/org/springframework/data/mapping/context/PersistentEntitiesUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/context/PersistentEntitiesUnitTests.java @@ -28,7 +28,6 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Reference; import org.springframework.data.mapping.MappingException; -import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.mapping.model.BasicPersistentEntity; import org.springframework.data.util.ClassTypeInformation; @@ -69,11 +68,11 @@ class PersistentEntitiesUnitTests { @Test // DATACMNS-458 void indicatesManagedType() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); context.setInitialEntitySet(Collections.singleton(Sample.class)); context.initialize(); - PersistentEntities entities = PersistentEntities.of(context); + var entities = PersistentEntities.of(context); assertThat(entities.getPersistentEntity(Sample.class)).isPresent(); assertThat(entities.getPersistentEntity(Object.class)).isNotPresent(); @@ -85,13 +84,13 @@ class PersistentEntitiesUnitTests { @Test // DATACMNS-1318 void detectsReferredToEntity() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); context.getPersistentEntity(Sample.class); - SamplePersistentProperty property = context.getRequiredPersistentEntity(WithReference.class)// + var property = context.getRequiredPersistentEntity(WithReference.class)// .getPersistentProperty("sampleId"); - PersistentEntity referredToEntity = PersistentEntities.of(context).getEntityUltimatelyReferredToBy(property); + var referredToEntity = PersistentEntities.of(context).getEntityUltimatelyReferredToBy(property); assertThat(referredToEntity).isNotNull(); assertThat(referredToEntity.getType()).isEqualTo(Sample.class); @@ -100,14 +99,14 @@ class PersistentEntitiesUnitTests { @Test // DATACMNS-1318 void rejectsAmbiguousIdentifierType() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); context.getPersistentEntity(FirstWithLongId.class); context.getPersistentEntity(SecondWithLongId.class); - SamplePersistentProperty property = context.getRequiredPersistentEntity(WithReference.class) // + var property = context.getRequiredPersistentEntity(WithReference.class) // .getPersistentProperty("longId"); - PersistentEntities entities = PersistentEntities.of(context); + var entities = PersistentEntities.of(context); assertThatIllegalStateException()// .isThrownBy(() -> entities.getEntityUltimatelyReferredToBy(property)) // @@ -119,14 +118,14 @@ class PersistentEntitiesUnitTests { @Test // DATACMNS-1318 void allowsExplicitlyQualifiedReference() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); context.getPersistentEntity(FirstWithLongId.class); context.getPersistentEntity(SecondWithLongId.class); - SamplePersistentProperty property = context.getRequiredPersistentEntity(WithReference.class) // + var property = context.getRequiredPersistentEntity(WithReference.class) // .getPersistentProperty("qualifiedLongId"); - PersistentEntity entity = PersistentEntities.of(context).getEntityUltimatelyReferredToBy(property); + var entity = PersistentEntities.of(context).getEntityUltimatelyReferredToBy(property); assertThat(entity).isNotNull(); assertThat(entity.getType()).isEqualTo(FirstWithLongId.class); @@ -135,14 +134,14 @@ class PersistentEntitiesUnitTests { @Test // DATACMNS-1318 void allowsGenericReference() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); context.getPersistentEntity(FirstWithGenericId.class); context.getPersistentEntity(SecondWithGenericId.class); - SamplePersistentProperty property = context.getRequiredPersistentEntity(WithReference.class) // + var property = context.getRequiredPersistentEntity(WithReference.class) // .getPersistentProperty("generic"); - PersistentEntity entity = PersistentEntities.of(context).getEntityUltimatelyReferredToBy(property); + var entity = PersistentEntities.of(context).getEntityUltimatelyReferredToBy(property); assertThat(entity).isNotNull(); assertThat(entity.getType()).isEqualTo(SecondWithGenericId.class); @@ -151,7 +150,7 @@ class PersistentEntitiesUnitTests { @Test // DATACMNS-1780 void getRequiredPersistentEntityAllowsInFlightEntityCreationForUnknownTypesWhenHavingJustASingleMappingContext() { - SampleMappingContext mappingContext = spy(new SampleMappingContext()); + var mappingContext = spy(new SampleMappingContext()); mappingContext.afterPropertiesSet(); assertThat(PersistentEntities.of(mappingContext).getRequiredPersistentEntity(Sample.class)).isNotNull(); diff --git a/src/test/java/org/springframework/data/mapping/context/PersistentPropertyPathFactoryUnitTests.java b/src/test/java/org/springframework/data/mapping/context/PersistentPropertyPathFactoryUnitTests.java index 6a345a951..a1d3eb4ab 100644 --- a/src/test/java/org/springframework/data/mapping/context/PersistentPropertyPathFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/context/PersistentPropertyPathFactoryUnitTests.java @@ -29,7 +29,6 @@ import org.springframework.data.mapping.PersistentPropertyPath; import org.springframework.data.mapping.PersistentPropertyPaths; import org.springframework.data.mapping.PropertyPath; import org.springframework.data.mapping.model.BasicPersistentEntity; -import org.springframework.data.util.Streamable; import org.springframework.util.StringUtils; /** @@ -51,7 +50,7 @@ class PersistentPropertyPathFactoryUnitTests { @Test // DATACMNS-380 void returnsPersistentPropertyPathForDotPath() { - PersistentPropertyPath path = factory.from(PersonSample.class, "persons.name"); + var path = factory.from(PersonSample.class, "persons.name"); assertThat(path.getLength()).isEqualTo(2); assertThat(path.getBaseProperty().getName()).isEqualTo("persons"); @@ -114,7 +113,7 @@ class PersistentPropertyPathFactoryUnitTests { @Test // DATACMNS-1275 void returnsShortestsPathsFirst() { - Streamable paths = factory.from(First.class, it -> true, it -> true) // + var paths = factory.from(First.class, it -> true, it -> true) // .map(PersistentPropertyPath::toDotPath); assertThat(paths).containsExactly("third", "second", "third.lastname", "second.firstname"); @@ -123,7 +122,7 @@ class PersistentPropertyPathFactoryUnitTests { @Test // DATACMNS-1275 void doesNotTraverseAssociationsByDefault() { - Streamable paths = factory.from(First.class, it -> true) // + var paths = factory.from(First.class, it -> true) // .map(PersistentPropertyPath::toDotPath); assertThat(paths) // @@ -134,7 +133,7 @@ class PersistentPropertyPathFactoryUnitTests { @Test // DATACMNS-1275 void traversesAssociationsIfTraversalGuardAllowsIt() { - PersistentPropertyPaths paths = // + var paths = // factory.from(First.class, it -> true, it -> true); assertThat(paths.contains("third.lastname")).isTrue(); @@ -144,7 +143,7 @@ class PersistentPropertyPathFactoryUnitTests { @Test // DATACMNS-1275 void returnsEmptyPropertyPathsIfNoneSelected() { - PersistentPropertyPaths paths = factory.from(Third.class, it -> false); + var paths = factory.from(Third.class, it -> false); assertThat(paths).isEmpty(); assertThat(paths.getFirst()).isEmpty(); @@ -153,7 +152,7 @@ class PersistentPropertyPathFactoryUnitTests { @Test // DATACMNS-1275 void returnsShortestPathFirst() { - PersistentPropertyPaths paths = factory.from(First.class, it -> !it.isEntity(), + var paths = factory.from(First.class, it -> !it.isEntity(), it -> true); assertThat(paths.contains("second.firstname")).isTrue(); diff --git a/src/test/java/org/springframework/data/mapping/context/PropertyMatchUnitTests.java b/src/test/java/org/springframework/data/mapping/context/PropertyMatchUnitTests.java index 46d1019d7..446e45a79 100755 --- a/src/test/java/org/springframework/data/mapping/context/PropertyMatchUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/context/PropertyMatchUnitTests.java @@ -36,7 +36,7 @@ class PropertyMatchUnitTests { @Test void matchesFieldByConcreteNameAndType() throws Exception { - PropertyMatch match = new PropertyMatch("name", "java.lang.String"); + var match = new PropertyMatch("name", "java.lang.String"); assertThat(match.matches("this$0", Object.class)).isFalse(); assertThat(match.matches("this$1", Object.class)).isFalse(); assertThat(match.matches("name", String.class)).isTrue(); @@ -45,7 +45,7 @@ class PropertyMatchUnitTests { @Test void matchesFieldByNamePattern() throws Exception { - PropertyMatch match = new PropertyMatch("this\\$.*", "java.lang.Object"); + var match = new PropertyMatch("this\\$.*", "java.lang.Object"); assertThat(match.matches("this$0", Object.class)).isTrue(); assertThat(match.matches("this$1", Object.class)).isTrue(); assertThat(match.matches("name", String.class)).isFalse(); @@ -54,7 +54,7 @@ class PropertyMatchUnitTests { @Test void matchesFieldByNameOnly() throws Exception { - PropertyMatch match = new PropertyMatch("this\\$.*", null); + var match = new PropertyMatch("this\\$.*", null); assertThat(match.matches("this$0", Object.class)).isTrue(); assertThat(match.matches("this$1", Object.class)).isTrue(); assertThat(match.matches("name", String.class)).isFalse(); @@ -63,7 +63,7 @@ class PropertyMatchUnitTests { @Test void matchesFieldByTypeNameOnly() throws Exception { - PropertyMatch match = new PropertyMatch(null, "java.lang.Object"); + var match = new PropertyMatch(null, "java.lang.Object"); assertThat(match.matches("this$0", Object.class)).isTrue(); assertThat(match.matches("this$1", Object.class)).isTrue(); assertThat(match.matches("name", String.class)).isFalse(); diff --git a/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java b/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java index f9d11f075..a2921a0a7 100755 --- a/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/AbstractPersistentPropertyUnitTests.java @@ -24,7 +24,6 @@ import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.annotation.Annotation; -import java.lang.reflect.Field; import java.util.Arrays; import java.util.Collection; import java.util.Map; @@ -36,6 +35,7 @@ import org.jmolecules.ddd.types.AggregateRoot; import org.jmolecules.ddd.types.Identifier; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; + import org.springframework.data.mapping.Association; import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.mapping.PersistentProperty; @@ -89,8 +89,8 @@ public class AbstractPersistentPropertyUnitTests { @Test // DATACMNS-121 void considersPropertiesEqualIfFieldEquals() { - SamplePersistentProperty firstProperty = getProperty(FirstConcrete.class, "genericField"); - SamplePersistentProperty secondProperty = getProperty(SecondConcrete.class, "genericField"); + var firstProperty = getProperty(FirstConcrete.class, "genericField"); + var secondProperty = getProperty(SecondConcrete.class, "genericField"); assertThat(firstProperty).isEqualTo(secondProperty); assertThat(firstProperty.hashCode()).isEqualTo(secondProperty.hashCode()); @@ -104,7 +104,7 @@ public class AbstractPersistentPropertyUnitTests { @Test // DATACMNS-206 void findsSimpleGettersAndASetters() { - SamplePersistentProperty property = getProperty(AccessorTestClass.class, "id"); + var property = getProperty(AccessorTestClass.class, "id"); assertThat(property.getGetter()).isNotNull(); assertThat(property.getSetter()).isNotNull(); @@ -113,7 +113,7 @@ public class AbstractPersistentPropertyUnitTests { @Test // DATACMNS-206 void doesNotUseInvalidGettersAndASetters() { - SamplePersistentProperty property = getProperty(AccessorTestClass.class, "anotherId"); + var property = getProperty(AccessorTestClass.class, "anotherId"); assertThat(property.getGetter()).isNull(); assertThat(property.getSetter()).isNull(); @@ -122,7 +122,7 @@ public class AbstractPersistentPropertyUnitTests { @Test // DATACMNS-206 void usesCustomGetter() { - SamplePersistentProperty property = getProperty(AccessorTestClass.class, "yetAnotherId"); + var property = getProperty(AccessorTestClass.class, "yetAnotherId"); assertThat(property.getGetter()).isNotNull(); assertThat(property.getSetter()).isNull(); @@ -131,7 +131,7 @@ public class AbstractPersistentPropertyUnitTests { @Test // DATACMNS-206 void usesCustomSetter() { - SamplePersistentProperty property = getProperty(AccessorTestClass.class, "yetYetAnotherId"); + var property = getProperty(AccessorTestClass.class, "yetYetAnotherId"); assertThat(property.getGetter()).isNull(); assertThat(property.getSetter()).isNotNull(); @@ -140,8 +140,8 @@ public class AbstractPersistentPropertyUnitTests { @Test // DATACMNS-206 void doesNotDiscoverGetterAndSetterIfNoPropertyDescriptorGiven() { - Field field = ReflectionUtils.findField(AccessorTestClass.class, "id"); - Property property = Property.of(ClassTypeInformation.from(AccessorTestClass.class), field); + var field = ReflectionUtils.findField(AccessorTestClass.class, "id"); + var property = Property.of(ClassTypeInformation.from(AccessorTestClass.class), field); PersistentProperty persistentProperty = new SamplePersistentProperty(property, getEntity(AccessorTestClass.class), typeHolder); @@ -153,7 +153,7 @@ public class AbstractPersistentPropertyUnitTests { @Test // DATACMNS-337 void resolvesActualType() { - SamplePersistentProperty property = getProperty(Sample.class, "person"); + var property = getProperty(Sample.class, "person"); assertThat(property.getActualType()).isEqualTo(Person.class); property = getProperty(Sample.class, "persons"); @@ -169,35 +169,35 @@ public class AbstractPersistentPropertyUnitTests { @Test // DATACMNS-462 void considersCollectionPropertyEntitiesIfComponentTypeIsEntity() { - SamplePersistentProperty property = getProperty(Sample.class, "persons"); + var property = getProperty(Sample.class, "persons"); assertThat(property.isEntity()).isTrue(); } @Test // DATACMNS-462 void considersMapPropertyEntitiesIfValueTypeIsEntity() { - SamplePersistentProperty property = getProperty(Sample.class, "personMap"); + var property = getProperty(Sample.class, "personMap"); assertThat(property.isEntity()).isTrue(); } @Test // DATACMNS-462 void considersArrayPropertyEntitiesIfComponentTypeIsEntity() { - SamplePersistentProperty property = getProperty(Sample.class, "personArray"); + var property = getProperty(Sample.class, "personArray"); assertThat(property.isEntity()).isTrue(); } @Test // DATACMNS-462 void considersCollectionPropertySimpleIfComponentTypeIsSimple() { - SamplePersistentProperty property = getProperty(Sample.class, "strings"); + var property = getProperty(Sample.class, "strings"); assertThat(property.isEntity()).isFalse(); } @Test // DATACMNS-562 void doesNotConsiderPropertyWithTreeMapMapValueAnEntity() { - SamplePersistentProperty property = getProperty(TreeMapWrapper.class, "map"); + var property = getProperty(TreeMapWrapper.class, "map"); assertThat(property.getPersistentEntityTypeInformation()).isEmpty(); assertThat(property.isEntity()).isFalse(); } @@ -205,14 +205,14 @@ public class AbstractPersistentPropertyUnitTests { @Test // DATACMNS-867 void resolvesFieldNameWithUnderscoresCorrectly() { - SamplePersistentProperty property = getProperty(TestClassComplex.class, "var_name_with_underscores"); + var property = getProperty(TestClassComplex.class, "var_name_with_underscores"); assertThat(property.getName()).isEqualTo("var_name_with_underscores"); } @Test // DATACMNS-1139 void resolvesGenericsForRawType() { - SamplePersistentProperty property = getProperty(FirstConcrete.class, "genericField"); + var property = getProperty(FirstConcrete.class, "genericField"); assertThat(property.getRawType()).isEqualTo(String.class); } @@ -220,7 +220,7 @@ public class AbstractPersistentPropertyUnitTests { @Test // DATACMNS-1180 void returnsAccessorsForGenericReturnType() { - SamplePersistentProperty property = getProperty(ConcreteGetter.class, "genericField"); + var property = getProperty(ConcreteGetter.class, "genericField"); assertThat(property.getSetter()).isNotNull(); assertThat(property.getGetter()).isNotNull(); @@ -229,7 +229,7 @@ public class AbstractPersistentPropertyUnitTests { @Test // GH-2315 void detectsJMoleculesAssociation() { - SamplePersistentProperty property = getProperty(JMolecules.class, "association"); + var property = getProperty(JMolecules.class, "association"); assertThat(property.isAssociation()).isTrue(); assertThat(property.getAssociationTargetType()).isEqualTo(JMoleculesAggregate.class); @@ -245,10 +245,10 @@ public class AbstractPersistentPropertyUnitTests { private SamplePersistentProperty getProperty(Class type, String name) { TypeInformation typeInformation = ClassTypeInformation.from(type); - Optional field = Optional.ofNullable(ReflectionUtils.findField(type, name)); - Optional descriptor = getPropertyDescriptor(type, name); + var field = Optional.ofNullable(ReflectionUtils.findField(type, name)); + var descriptor = getPropertyDescriptor(type, name); - Property property = Optionals.firstNonEmpty( // + var property = Optionals.firstNonEmpty( // () -> Optionals.mapIfAllPresent(field, descriptor, (left, right) -> Property.of(typeInformation, left, right)), // () -> field.map(it -> Property.of(typeInformation, it)), // () -> descriptor.map(it -> Property.of(typeInformation, it))) // diff --git a/src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java b/src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java index 913a2e73d..7c8adcb18 100755 --- a/src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/AnnotationBasedPersistentPropertyUnitTests.java @@ -99,7 +99,7 @@ public class AnnotationBasedPersistentPropertyUnitTests

{ // Assert direct annotations are cached on construction - Map, Annotation> cache = getAnnotationCache(property); + var cache = getAnnotationCache(property); assertThat(cache.containsKey(MyAnnotationAsMeta.class)).isTrue(); assertThat(cache.containsKey(MyAnnotation.class)).isFalse(); @@ -187,13 +187,13 @@ public class AnnotationBasedPersistentPropertyUnitTests

{ assertThat(it.findAnnotation(MyAnnotation.class)).isNull(); - Map, ?> field = (Map, ?>) ReflectionTestUtils.getField(it, "annotationCache"); + var field = (Map, ?>) ReflectionTestUtils.getField(it, "annotationCache"); assertThat(field.containsKey(MyAnnotation.class)).isTrue(); assertThat(field.get(MyAnnotation.class)).isEqualTo(Optional.empty()); @@ -206,7 +206,7 @@ public class AnnotationBasedPersistentPropertyUnitTests

{ // Assert direct annotations are cached on construction - Map, Annotation> cache = getAnnotationCache(property); + var cache = getAnnotationCache(property); assertThat(cache.containsKey(MyComposedAnnotationUsingAliasFor.class)).isTrue(); assertThat(cache.containsKey(MyAnnotation.class)).isFalse(); @@ -253,14 +253,14 @@ public class AnnotationBasedPersistentPropertyUnitTests

detectsUltimateAssociationTargetClass() { - Function verifier = it -> assertThat( + var verifier = (Function) it -> assertThat( getProperty(WithReferences.class, it).getAssociationTargetType()); - Stream positives = DynamicTest.stream(Stream.of("toSample", "toSample2", "sample"), // + var positives = DynamicTest.stream(Stream.of("toSample", "toSample2", "sample"), // it -> String.format("Property %s resolves to %s.", it, Sample.class.getSimpleName()), // it -> verifier.apply(it).isEqualTo(Sample.class)); - Stream negatives = DynamicTest.stream(Stream.of("withoutAnnotation"), // + var negatives = DynamicTest.stream(Stream.of("withoutAnnotation"), // it -> String.format("Property %s resolves to null.", it), // it -> verifier.apply(it).isNull()); @@ -270,7 +270,7 @@ public class AnnotationBasedPersistentPropertyUnitTests

property.getRequiredGetter()) // @@ -281,7 +281,7 @@ public class AnnotationBasedPersistentPropertyUnitTests

property.getRequiredSetter()) // @@ -292,7 +292,7 @@ public class AnnotationBasedPersistentPropertyUnitTests

property.getRequiredWither()) // @@ -303,7 +303,7 @@ public class AnnotationBasedPersistentPropertyUnitTests

property.getRequiredField()) // @@ -314,7 +314,7 @@ public class AnnotationBasedPersistentPropertyUnitTests

A assertAnnotationPresent(Class annotationType, AnnotationBasedPersistentProperty property) { - A annotation = property.findAnnotation(annotationType); + var annotation = property.findAnnotation(annotationType); assertThat(annotation).isNotNull(); diff --git a/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java b/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java index c94c2c399..b14fbb675 100755 --- a/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/BasicPersistentEntityUnitTests.java @@ -25,7 +25,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.Comparator; -import java.util.Iterator; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; @@ -37,6 +36,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; + import org.springframework.core.annotation.AliasFor; import org.springframework.data.annotation.AccessType; import org.springframework.data.annotation.AccessType.Type; @@ -108,16 +108,16 @@ class BasicPersistentEntityUnitTests> { @SuppressWarnings("unchecked") void considersComparatorForPropertyOrder() { - BasicPersistentEntity entity = createEntity(Person.class, + var entity = createEntity(Person.class, Comparator.comparing(PersistentProperty::getName)); - T lastName = (T) Mockito.mock(PersistentProperty.class); + var lastName = (T) Mockito.mock(PersistentProperty.class); when(lastName.getName()).thenReturn("lastName"); - T firstName = (T) Mockito.mock(PersistentProperty.class); + var firstName = (T) Mockito.mock(PersistentProperty.class); when(firstName.getName()).thenReturn("firstName"); - T ssn = (T) Mockito.mock(PersistentProperty.class); + var ssn = (T) Mockito.mock(PersistentProperty.class); when(ssn.getName()).thenReturn("ssn"); entity.addPersistentProperty(lastName); @@ -125,10 +125,10 @@ class BasicPersistentEntityUnitTests> { entity.addPersistentProperty(ssn); entity.verify(); - List properties = (List) ReflectionTestUtils.getField(entity, "properties"); + var properties = (List) ReflectionTestUtils.getField(entity, "properties"); assertThat(properties).hasSize(3); - Iterator iterator = properties.iterator(); + var iterator = properties.iterator(); assertThat(entity.getPersistentProperty("firstName")).isEqualTo(iterator.next()); assertThat(entity.getPersistentProperty("lastName")).isEqualTo(iterator.next()); @@ -164,10 +164,10 @@ class BasicPersistentEntityUnitTests> { @Test // DATACMNS-365 void detectsPropertyWithAnnotation() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); PersistentEntity entity = context.getRequiredPersistentEntity(Entity.class); - SamplePersistentProperty property = entity.getPersistentProperty(LastModifiedBy.class); + var property = entity.getPersistentProperty(LastModifiedBy.class); assertThat(property.getName()).isEqualTo("field"); @@ -181,7 +181,7 @@ class BasicPersistentEntityUnitTests> { @Test // DATACMNS-1122 void reportsRequiredPropertyName() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); PersistentEntity entity = context.getRequiredPersistentEntity(Entity.class); assertThatThrownBy(() -> entity.getRequiredPersistentProperty("foo")) @@ -192,19 +192,19 @@ class BasicPersistentEntityUnitTests> { @SuppressWarnings("rawtypes") void returnsGeneratedPropertyAccessorForPropertyAccessor() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); PersistentEntity entity = context.getRequiredPersistentEntity(Entity.class); - Entity value = new Entity(); + var value = new Entity(); PersistentPropertyAccessor accessor = entity.getPropertyAccessor(value); assertThat(accessor).isNotInstanceOf(BeanWrapper.class); assertThat(accessor).isInstanceOfSatisfying(InstantiationAwarePropertyAccessor.class, it -> { - Function> delegateFunction = (Function>) ReflectionTestUtils + var delegateFunction = (Function>) ReflectionTestUtils .getField(it, "delegateFunction"); - PersistentPropertyAccessor delegate = delegateFunction.apply(value); + var delegate = delegateFunction.apply(value); assertThat(delegate.getClass().getName()).contains("_Accessor_"); assertThat(delegate.getBean()).isEqualTo(value); }); @@ -213,7 +213,7 @@ class BasicPersistentEntityUnitTests> { @Test // DATACMNS-596 void rejectsNullBeanForPropertyAccessor() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); PersistentEntity entity = context.getRequiredPersistentEntity(Entity.class); assertThatIllegalArgumentException().isThrownBy(() -> entity.getPropertyAccessor(null)); @@ -222,7 +222,7 @@ class BasicPersistentEntityUnitTests> { @Test // DATACMNS-596 void rejectsNonMatchingBeanForPropertyAccessor() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); PersistentEntity entity = context.getRequiredPersistentEntity(Entity.class); assertThatIllegalArgumentException().isThrownBy(() -> entity.getPropertyAccessor("foo")); @@ -231,7 +231,7 @@ class BasicPersistentEntityUnitTests> { @Test // DATACMNS-597 void supportsSubtypeInstancesOnPropertyAccessorLookup() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); PersistentEntity entity = context.getRequiredPersistentEntity(Entity.class); assertThat(entity.getPropertyAccessor(new Subtype())).isNotNull(); @@ -282,9 +282,9 @@ class BasicPersistentEntityUnitTests> { @Test // DATACMNS-1210 void findAnnotationShouldBeThreadSafe() throws InterruptedException { - CountDownLatch latch = new CountDownLatch(2); - CountDownLatch syncLatch = new CountDownLatch(1); - AtomicBoolean failed = new AtomicBoolean(false); + var latch = new CountDownLatch(2); + var syncLatch = new CountDownLatch(1); + var failed = new AtomicBoolean(false); PersistentEntity entity = new BasicPersistentEntity( ClassTypeInformation.from(EntityWithAnnotation.class), null) { @@ -303,7 +303,7 @@ class BasicPersistentEntityUnitTests> { } }; - Runnable findAccessType = () -> { + var findAccessType = (Runnable) () -> { try { entity.findAnnotation(AccessType.class); @@ -314,7 +314,7 @@ class BasicPersistentEntityUnitTests> { } }; - Runnable findPersistent = () -> { + var findPersistent = (Runnable) () -> { try { entity.findAnnotation(Persistent.class); @@ -383,7 +383,7 @@ class BasicPersistentEntityUnitTests> { private static PersistentEntity createPopulatedPersistentEntity(Class type) { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); return context.getRequiredPersistentEntity(type); } diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java index de5e139a9..46f438a94 100755 --- a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingEntityInstantiatorUnitTests.java @@ -104,15 +104,15 @@ class ClassGeneratingEntityInstantiatorUnitTests

@Test // DATACMNS-134, DATACMNS-578 void createsInnerClassInstanceCorrectly() { - BasicPersistentEntity entity = new BasicPersistentEntity<>(from(Inner.class)); + var entity = new BasicPersistentEntity(from(Inner.class)); assertThat(entity.getPersistenceConstructor()).satisfies(constructor -> { - Parameter parameter = constructor.getParameters().iterator().next(); + var parameter = constructor.getParameters().iterator().next(); Object outer = new Outer(); doReturn(outer).when(provider).getParameterValue(parameter); - Inner instance = this.instance.createInstance(entity, provider); + var instance = this.instance.createInstance(entity, provider); assertThat(instance).isNotNull(); @@ -164,7 +164,7 @@ class ClassGeneratingEntityInstantiatorUnitTests

doReturn(2L, "FOO").when(provider).getParameterValue(any(Parameter.class)); - ParameterValueProvider

recursive = new ParameterValueProvider

() { + var recursive = new ParameterValueProvider

() { @Override public T getParameterValue(Parameter parameter) { @@ -181,7 +181,7 @@ class ClassGeneratingEntityInstantiatorUnitTests

} }; - SampleWithReference reference = this.instance.createInstance(outer, recursive); + var reference = this.instance.createInstance(outer, recursive); assertThat(reference.id).isEqualTo(1L); assertThat(reference.sample).isNotNull(); @@ -209,13 +209,13 @@ class ClassGeneratingEntityInstantiatorUnitTests

IntStream.range(0, 2).forEach(i -> { - Object instance = this.instance.createInstance(entity, provider); + var instance = this.instance.createInstance(entity, provider); assertThat(instance).isInstanceOf(ObjCtorNoArgs.class); assertThat(((ObjCtorNoArgs) instance).ctorInvoked).isTrue(); }); - ClassGeneratingEntityInstantiator classGeneratingEntityInstantiator = new ClassGeneratingEntityInstantiator(); + var classGeneratingEntityInstantiator = new ClassGeneratingEntityInstantiator(); classGeneratingEntityInstantiator.createInstance(entity, provider); } @@ -229,7 +229,7 @@ class ClassGeneratingEntityInstantiatorUnitTests

IntStream.range(0, 2).forEach(i -> { - Object instance = this.instance.createInstance(entity, provider); + var instance = this.instance.createInstance(entity, provider); assertThat(instance).isInstanceOf(ObjCtor1ParamString.class); assertThat(((ObjCtor1ParamString) instance).ctorInvoked).isTrue(); @@ -248,7 +248,7 @@ class ClassGeneratingEntityInstantiatorUnitTests

when(provider.getParameterValue(any())).thenReturn("FOO", "BAR"); - Object instance = this.instance.createInstance(entity, provider); + var instance = this.instance.createInstance(entity, provider); assertThat(instance).isInstanceOf(ObjCtor2ParamStringString.class); assertThat(((ObjCtor2ParamStringString) instance).ctorInvoked).isTrue(); @@ -268,7 +268,7 @@ class ClassGeneratingEntityInstantiatorUnitTests

doReturn(42).when(provider).getParameterValue(any()); - Object instance = this.instance.createInstance(entity, provider); + var instance = this.instance.createInstance(entity, provider); assertThat(instance).isInstanceOf(ObjectCtor1ParamInt.class); assertThat(((ObjectCtor1ParamInt) instance).param1).isEqualTo(42); @@ -298,11 +298,11 @@ class ClassGeneratingEntityInstantiatorUnitTests

when(provider.getParameterValue(any(Parameter.class))).thenReturn("A", 1, 2, 3, 4, 5, "B"); - Object instance = this.instance.createInstance(entity, provider); + var instance = this.instance.createInstance(entity, provider); assertThat(instance).isInstanceOf(ObjectCtor7ParamsString5IntsString.class); - ObjectCtor7ParamsString5IntsString toTest = (ObjectCtor7ParamsString5IntsString) instance; + var toTest = (ObjectCtor7ParamsString5IntsString) instance; assertThat(toTest.param1).isEqualTo("A"); assertThat(toTest.param2).isEqualTo(1); @@ -352,7 +352,7 @@ class ClassGeneratingEntityInstantiatorUnitTests

@Test // DATACMNS-1373 void shouldInstantiateClassInDefaultPackage() throws ClassNotFoundException { - Class typeInDefaultPackage = Class.forName("TypeInDefaultPackage"); + var typeInDefaultPackage = Class.forName("TypeInDefaultPackage"); prepareMocks(typeInDefaultPackage); assertThat(this.instance.shouldUseReflectionEntityInstantiator(entity)).isFalse(); @@ -374,13 +374,13 @@ class ClassGeneratingEntityInstantiatorUnitTests

this.instance.createInstance(entity, provider); - ClassGeneratingEntityInstantiator instantiator = new ClassGeneratingEntityInstantiator(); + var instantiator = new ClassGeneratingEntityInstantiator(); instantiator.createInstance(entity, provider); - Map, EntityInstantiator> first = (Map, EntityInstantiator>) ReflectionTestUtils + var first = (Map, EntityInstantiator>) ReflectionTestUtils .getField(this.instance, "entityInstantiators"); - Map, EntityInstantiator> second = (Map, EntityInstantiator>) ReflectionTestUtils + var second = (Map, EntityInstantiator>) ReflectionTestUtils .getField(instantiator, "entityInstantiators"); assertThat(first.get(null)).isNotNull().isNotInstanceOf(Enum.class); @@ -390,11 +390,11 @@ class ClassGeneratingEntityInstantiatorUnitTests

@Test // DATACMNS-1422 void shouldUseReflectionIfFrameworkTypesNotVisible() throws Exception { - HidingClassLoader classLoader = HidingClassLoader.hide(ObjectInstantiator.class); + var classLoader = HidingClassLoader.hide(ObjectInstantiator.class); classLoader.excludePackage("org.springframework.data.mapping"); // require type from different package to meet visibility quirks - Class entityType = classLoader.loadClass("org.springframework.data.mapping.Person"); + var entityType = classLoader.loadClass("org.springframework.data.mapping.Person"); prepareMocks(entityType); diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryDatatypeTests.java b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryDatatypeTests.java index 41b8aaaf0..95afe066c 100755 --- a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryDatatypeTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryDatatypeTests.java @@ -19,7 +19,6 @@ import static org.assertj.core.api.Assertions.*; import lombok.Data; -import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -32,7 +31,6 @@ import org.springframework.data.annotation.AccessType.Type; import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.PersistentPropertyAccessor; import org.springframework.data.mapping.context.SampleMappingContext; -import org.springframework.data.mapping.context.SamplePersistentProperty; import org.springframework.test.util.ReflectionTestUtils; /** @@ -49,7 +47,7 @@ public class ClassGeneratingPropertyAccessorFactoryDatatypeTests { static List parameters() throws Exception { List parameters = new ArrayList<>(); - List> types = Arrays.asList(FieldAccess.class, PropertyAccess.class, PrivateFinalFieldAccess.class, + var types = Arrays.asList(FieldAccess.class, PropertyAccess.class, PrivateFinalFieldAccess.class, PrivateFinalPropertyAccess.class); parameters.addAll(parameters(types, "primitiveInteger", Integer.valueOf(1))); @@ -94,9 +92,9 @@ public class ClassGeneratingPropertyAccessorFactoryDatatypeTests { List parameters = new ArrayList<>(); - for (Class type : types) { + for (var type : types) { - Constructor[] constructors = type.getDeclaredConstructors(); + var constructors = type.getDeclaredConstructors(); constructors[0].setAccessible(true); parameters.add(new Object[] { constructors[0].newInstance(), propertyName, value, type.getSimpleName() + "/" + propertyName }); @@ -111,7 +109,7 @@ public class ClassGeneratingPropertyAccessorFactoryDatatypeTests { assertThat(getProperty(bean, propertyName)).satisfies(property -> { - PersistentPropertyAccessor persistentPropertyAccessor = getPersistentPropertyAccessor(bean); + var persistentPropertyAccessor = getPersistentPropertyAccessor(bean); persistentPropertyAccessor.setProperty(property, value); assertThat(persistentPropertyAccessor.getProperty(property)).isEqualTo(value); @@ -123,7 +121,7 @@ public class ClassGeneratingPropertyAccessorFactoryDatatypeTests { void shouldUseClassPropertyAccessorFactory(Object bean, String propertyName, Object value, String displayName) throws Exception { - BasicPersistentEntity persistentEntity = mappingContext + var persistentEntity = mappingContext .getRequiredPersistentEntity(bean.getClass()); assertThat(ReflectionTestUtils.getField(persistentEntity, "propertyAccessorFactory")) @@ -139,7 +137,7 @@ public class ClassGeneratingPropertyAccessorFactoryDatatypeTests { private PersistentProperty getProperty(Object bean, String name) { - BasicPersistentEntity persistentEntity = mappingContext + var persistentEntity = mappingContext .getRequiredPersistentEntity(bean.getClass()); return persistentEntity.getPersistentProperty(name); } diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java index f409bf0b7..b833a7276 100755 --- a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryEntityTypeTests.java @@ -21,9 +21,9 @@ import java.io.Serializable; import java.time.LocalDateTime; import org.junit.jupiter.api.Test; + import org.springframework.data.annotation.Id; import org.springframework.data.mapping.PersistentEntity; -import org.springframework.data.mapping.PersistentPropertyAccessor; import org.springframework.data.mapping.context.SampleMappingContext; import org.springframework.data.mapping.context.SamplePersistentProperty; import org.springframework.data.repository.core.EntityInformation; @@ -51,7 +51,7 @@ public class ClassGeneratingPropertyAccessorFactoryEntityTypeTests { @Test // DATACMNS-853 void getIdentifierOfClassBasedEntity() { - Person jonDoe = new Person("JonDoe"); + var jonDoe = new Person("JonDoe"); assertThat(getEntityInformation(Person.class).getId(jonDoe)).isEqualTo(jonDoe.name); } @@ -59,8 +59,8 @@ public class ClassGeneratingPropertyAccessorFactoryEntityTypeTests { @Test // #2324 void shouldGeneratePropertyAccessorForKotlinClassWithMultipleCopyMethods() { - ClassGeneratingPropertyAccessorFactory factory = new ClassGeneratingPropertyAccessorFactory(); - PersistentPropertyAccessor propertyAccessor = factory.getPropertyAccessor( + var factory = new ClassGeneratingPropertyAccessorFactory(); + var propertyAccessor = factory.getPropertyAccessor( mappingContext.getRequiredPersistentEntity(WithCustomCopyMethod.class), new WithCustomCopyMethod("", "", "", 1, LocalDateTime.MAX, LocalDateTime.MAX, "")); diff --git a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryTests.java b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryTests.java index 686ba8a45..4e11bb43d 100755 --- a/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ClassGeneratingPropertyAccessorFactoryTests.java @@ -18,7 +18,6 @@ package org.springframework.data.mapping.model; import static org.assertj.core.api.Assertions.*; import static org.assertj.core.api.Assumptions.*; -import java.lang.reflect.Constructor; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -32,7 +31,6 @@ import org.springframework.data.annotation.AccessType.Type; import org.springframework.data.mapping.PersistentProperty; import org.springframework.data.mapping.PersistentPropertyAccessor; import org.springframework.data.mapping.context.SampleMappingContext; -import org.springframework.data.mapping.context.SamplePersistentProperty; import org.springframework.data.mapping.model.subpackage.TypeInOtherPackage; import org.springframework.test.util.ReflectionTestUtils; @@ -51,7 +49,7 @@ public class ClassGeneratingPropertyAccessorFactoryTests { public static List parameters() throws ReflectiveOperationException { List parameters = new ArrayList<>(); - List propertyNames = Arrays.asList("privateField", "packageDefaultField", "protectedField", "publicField", + var propertyNames = Arrays.asList("privateField", "packageDefaultField", "protectedField", "publicField", "privateProperty", "packageDefaultProperty", "protectedProperty", "publicProperty", "syntheticProperty", "immutable", "wither"); @@ -79,7 +77,7 @@ public class ClassGeneratingPropertyAccessorFactoryTests { List parameters = new ArrayList<>(); - for (String propertyName : propertyNames) { + for (var propertyName : propertyNames) { parameters.add(new Object[] { bean, propertyName, expectedConstructorType, bean.getClass().getSimpleName() + "/" + propertyName }); } @@ -103,7 +101,7 @@ public class ClassGeneratingPropertyAccessorFactoryTests { assertThat(getProperty(bean, propertyName)).satisfies(property -> { - PersistentPropertyAccessor persistentPropertyAccessor = getPersistentPropertyAccessor(bean); + var persistentPropertyAccessor = getPersistentPropertyAccessor(bean); if (property.isImmutable() && property.getWither() == null) { assertThatThrownBy(() -> persistentPropertyAccessor.setProperty(property, "value")) @@ -122,9 +120,9 @@ public class ClassGeneratingPropertyAccessorFactoryTests { void accessorShouldDeclareConstructor(Object bean, String propertyName, Class expectedConstructorType, String displayName) throws Exception { - PersistentPropertyAccessor persistentPropertyAccessor = getPersistentPropertyAccessor(bean); + var persistentPropertyAccessor = getPersistentPropertyAccessor(bean); - Constructor[] declaredConstructors = persistentPropertyAccessor.getClass().getDeclaredConstructors(); + var declaredConstructors = persistentPropertyAccessor.getClass().getDeclaredConstructors(); assertThat(declaredConstructors.length).isEqualTo(1); assertThat(declaredConstructors[0].getParameterCount()).isEqualTo(1); assertThat(declaredConstructors[0].getParameterTypes()[0]).isEqualTo(expectedConstructorType); @@ -162,7 +160,7 @@ public class ClassGeneratingPropertyAccessorFactoryTests { void shouldUseClassPropertyAccessorFactory(Object bean, String propertyName, Class expectedConstructorType, String displayName) throws Exception { - BasicPersistentEntity persistentEntity = mappingContext + var persistentEntity = mappingContext .getRequiredPersistentEntity(bean.getClass()); assertThat(ReflectionTestUtils.getField(persistentEntity, "propertyAccessorFactory")) @@ -178,7 +176,7 @@ public class ClassGeneratingPropertyAccessorFactoryTests { private PersistentProperty getProperty(Object bean, String name) { - BasicPersistentEntity persistentEntity = mappingContext + var persistentEntity = mappingContext .getRequiredPersistentEntity(bean.getClass()); return persistentEntity.getPersistentProperty(name); } diff --git a/src/test/java/org/springframework/data/mapping/model/ConvertingPropertyAccessorUnitTests.java b/src/test/java/org/springframework/data/mapping/model/ConvertingPropertyAccessorUnitTests.java index f79b3cede..68d06889a 100755 --- a/src/test/java/org/springframework/data/mapping/model/ConvertingPropertyAccessorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ConvertingPropertyAccessorUnitTests.java @@ -23,10 +23,10 @@ import lombok.Data; import lombok.Value; import org.junit.jupiter.api.Test; + import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.support.DefaultConversionService; import org.springframework.data.mapping.PersistentPropertyAccessor; -import org.springframework.data.mapping.PersistentPropertyPath; import org.springframework.data.mapping.context.SampleMappingContext; import org.springframework.data.mapping.context.SamplePersistentProperty; import org.springframework.format.support.DefaultFormattingConversionService; @@ -62,7 +62,7 @@ public class ConvertingPropertyAccessorUnitTests { @Test // DATACMNS-596 public void convertsPropertyValueToExpectedType() { - Entity entity = new Entity(); + var entity = new Entity(); entity.id = 1L; assertThat(getIdProperty()).satisfies( @@ -72,7 +72,7 @@ public class ConvertingPropertyAccessorUnitTests { @Test // DATACMNS-596 public void doesNotInvokeConversionForNullValues() { - ConversionService conversionService = mock(ConversionService.class); + var conversionService = mock(ConversionService.class); assertThat(getIdProperty()).satisfies(it -> { assertThat(getAccessor(new Entity(), conversionService).getProperty(it, Number.class)).isNull(); @@ -83,10 +83,10 @@ public class ConvertingPropertyAccessorUnitTests { @Test // DATACMNS-596 public void doesNotInvokeConversionIfTypeAlreadyMatches() { - Entity entity = new Entity(); + var entity = new Entity(); entity.id = 1L; - ConversionService conversionService = mock(ConversionService.class); + var conversionService = mock(ConversionService.class); assertThat(getIdProperty()).satisfies(it -> { assertThat(getAccessor(entity, conversionService).getProperty(it, Number.class)).isEqualTo(1L); @@ -97,7 +97,7 @@ public class ConvertingPropertyAccessorUnitTests { @Test // DATACMNS-596 public void convertsValueOnSetIfTypesDontMatch() { - Entity entity = new Entity(); + var entity = new Entity(); assertThat(getIdProperty()).satisfies(property -> { getAccessor(entity, CONVERSION_SERVICE).setProperty(property, "1"); @@ -117,15 +117,15 @@ public class ConvertingPropertyAccessorUnitTests { @Test // DATACMNS-1377 public void shouldConvertToPropertyPathLeafType() { - Order order = new Order(new Customer("1")); + var order = new Order(new Customer("1")); - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); - PersistentPropertyAccessor accessor = context.getPersistentEntity(Order.class).getPropertyAccessor(order); - ConvertingPropertyAccessor convertingAccessor = new ConvertingPropertyAccessor<>(accessor, + var accessor = context.getPersistentEntity(Order.class).getPropertyAccessor(order); + var convertingAccessor = new ConvertingPropertyAccessor(accessor, new DefaultConversionService()); - PersistentPropertyPath path = context.getPersistentPropertyPath("customer.firstname", + var path = context.getPersistentPropertyPath("customer.firstname", Order.class); convertingAccessor.setProperty(path, 2); @@ -141,8 +141,8 @@ public class ConvertingPropertyAccessorUnitTests { private static SamplePersistentProperty getIdProperty() { - SampleMappingContext mappingContext = new SampleMappingContext(); - BasicPersistentEntity entity = mappingContext + var mappingContext = new SampleMappingContext(); + var entity = mappingContext .getRequiredPersistentEntity(Entity.class); return entity.getPersistentProperty("id"); } diff --git a/src/test/java/org/springframework/data/mapping/model/EntityInstantiatorsUnitTests.java b/src/test/java/org/springframework/data/mapping/model/EntityInstantiatorsUnitTests.java index f615ac26f..7ff832b61 100755 --- a/src/test/java/org/springframework/data/mapping/model/EntityInstantiatorsUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/EntityInstantiatorsUnitTests.java @@ -47,7 +47,7 @@ class EntityInstantiatorsUnitTests { @Test void usesReflectionEntityInstantiatorAsDefaultFallback() { - EntityInstantiators instantiators = new EntityInstantiators(); + var instantiators = new EntityInstantiators(); assertThat(instantiators.getInstantiatorFor(entity)).isInstanceOf(ClassGeneratingEntityInstantiator.class); } @@ -58,7 +58,7 @@ class EntityInstantiatorsUnitTests { Map, EntityInstantiator> customInstantiators = Collections.singletonMap(String.class, customInstantiator); - EntityInstantiators instantiators = new EntityInstantiators(customInstantiators); + var instantiators = new EntityInstantiators(customInstantiators); assertThat(instantiators.getInstantiatorFor(entity)).isEqualTo(customInstantiator); } @@ -70,7 +70,7 @@ class EntityInstantiatorsUnitTests { Map, EntityInstantiator> customInstantiators = Collections.singletonMap(String.class, ReflectionEntityInstantiator.INSTANCE); - EntityInstantiators instantiators = new EntityInstantiators(customInstantiator, customInstantiators); + var instantiators = new EntityInstantiators(customInstantiator, customInstantiators); instantiators.getInstantiatorFor(entity); assertThat(instantiators.getInstantiatorFor(entity)).isEqualTo(customInstantiator); diff --git a/src/test/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessorUnitTests.java b/src/test/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessorUnitTests.java index 84fc84f86..ccede1201 100755 --- a/src/test/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/IdPropertyIdentifierAccessorUnitTests.java @@ -45,7 +45,7 @@ class IdPropertyIdentifierAccessorUnitTests { @Test // DATACMNS-599 void returnsIdentifierValue() { - SampleWithId sample = new SampleWithId(); + var sample = new SampleWithId(); sample.id = 1L; IdentifierAccessor accessor = new IdPropertyIdentifierAccessor( diff --git a/src/test/java/org/springframework/data/mapping/model/KotlinCopyMethodUnitTests.java b/src/test/java/org/springframework/data/mapping/model/KotlinCopyMethodUnitTests.java index f6937aa37..5de0f55b3 100644 --- a/src/test/java/org/springframework/data/mapping/model/KotlinCopyMethodUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/KotlinCopyMethodUnitTests.java @@ -17,8 +17,6 @@ package org.springframework.data.mapping.model; import static org.assertj.core.api.Assertions.*; -import java.util.Optional; - import org.junit.jupiter.api.Test; import org.springframework.data.mapping.context.SampleMappingContext; @@ -35,7 +33,7 @@ class KotlinCopyMethodUnitTests { @Test // #2324 void shouldLookupPrimaryConstructor() { - Optional optional = KotlinCopyMethod.findCopyMethod(DataClassKt.class); + var optional = KotlinCopyMethod.findCopyMethod(DataClassKt.class); assertThat(optional).hasValueSatisfying(actual -> { // $this, 1 component, 1 defaulting mask, 1 Object marker @@ -49,7 +47,7 @@ class KotlinCopyMethodUnitTests { @Test // #2324 void shouldLookupPrimaryConstructorWhenTwoCopyMethodsArePresent() { - Optional optional = KotlinCopyMethod.findCopyMethod(WithCustomCopyMethod.class); + var optional = KotlinCopyMethod.findCopyMethod(WithCustomCopyMethod.class); assertThat(optional).hasValueSatisfying(actual -> { // $this, 7 components, 1 defaulting mask, 1 Object marker @@ -67,7 +65,7 @@ class KotlinCopyMethodUnitTests { @Test // #2324 void shouldUsePublicKotlinMethodForSinglePropertyEntities() { - KotlinCopyMethod copyMethod = KotlinCopyMethod.findCopyMethod(DataClassKt.class).get(); + var copyMethod = KotlinCopyMethod.findCopyMethod(DataClassKt.class).get(); assertThat(copyMethod.shouldUsePublicCopyMethod(mappingContext.getRequiredPersistentEntity(DataClassKt.class))) .isTrue(); diff --git a/src/test/java/org/springframework/data/mapping/model/ParameterizedKotlinInstantiatorUnitTests.java b/src/test/java/org/springframework/data/mapping/model/ParameterizedKotlinInstantiatorUnitTests.java index e092b66fc..3378417b7 100644 --- a/src/test/java/org/springframework/data/mapping/model/ParameterizedKotlinInstantiatorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ParameterizedKotlinInstantiatorUnitTests.java @@ -62,10 +62,10 @@ public class ParameterizedKotlinInstantiatorUnitTests { @Parameters(name = "{5}") public static List parameters() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); - KotlinClassGeneratingEntityInstantiator generatingInstantiator = new KotlinClassGeneratingEntityInstantiator(); - ReflectionEntityInstantiator reflectionInstantiator = ReflectionEntityInstantiator.INSTANCE; + var generatingInstantiator = new KotlinClassGeneratingEntityInstantiator(); + var reflectionInstantiator = ReflectionEntityInstantiator.INSTANCE; List fixtures = new ArrayList<>(); fixtures.addAll(createFixture(context, With32Args.class, 32, generatingInstantiator)); @@ -79,7 +79,7 @@ public class ParameterizedKotlinInstantiatorUnitTests { private static List createFixture(SampleMappingContext context, Class entityType, int propertyCount, EntityInstantiator entityInstantiator) { - BasicPersistentEntity persistentEntity = context.getPersistentEntity(entityType); + var persistentEntity = context.getPersistentEntity(entityType); return IntStream.range(0, propertyCount).mapToObj(i -> { @@ -92,11 +92,11 @@ public class ParameterizedKotlinInstantiatorUnitTests { @Test // DATACMNS-1402 public void shouldCreateInstanceWithSinglePropertySet() { - Object instance = entityInstantiator.createInstance(entity, new SingleParameterValueProvider()); + var instance = entityInstantiator.createInstance(entity, new SingleParameterValueProvider()); - for (int i = 0; i < propertyCount; i++) { + for (var i = 0; i < propertyCount; i++) { - Object value = ReflectionTestUtils.getField(instance, Integer.toString(i)); + var value = ReflectionTestUtils.getField(instance, Integer.toString(i)); if (propertyUnderTestIndex == i) { assertThat(value).describedAs("Property " + i + " of " + entity).isEqualTo(valueToSet); @@ -109,11 +109,11 @@ public class ParameterizedKotlinInstantiatorUnitTests { @Test // DATACMNS-1402 public void shouldCreateInstanceWithAllExceptSinglePropertySet() { - Object instance = entityInstantiator.createInstance(entity, new AllButParameterValueProvider()); + var instance = entityInstantiator.createInstance(entity, new AllButParameterValueProvider()); - for (int i = 0; i < propertyCount; i++) { + for (var i = 0; i < propertyCount; i++) { - Object value = ReflectionTestUtils.getField(instance, Integer.toString(i)); + var value = ReflectionTestUtils.getField(instance, Integer.toString(i)); if (propertyUnderTestIndex == i) { assertThat(value).describedAs("Property " + i + " of " + entity).isEqualTo(""); diff --git a/src/test/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategyUnitTests.java b/src/test/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategyUnitTests.java index ba6e4f6e5..082caa7c8 100644 --- a/src/test/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategyUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/PersistentEntityIsNewStrategyUnitTests.java @@ -42,7 +42,7 @@ class PersistentEntityIsNewStrategyUnitTests { PersistentEntity entity = context.getRequiredPersistentEntity(PrimitiveIdEntity.class); - PrimitiveIdEntity bean = new PrimitiveIdEntity(); + var bean = new PrimitiveIdEntity(); assertThat(entity.isNew(bean)).isTrue(); } @@ -51,7 +51,7 @@ class PersistentEntityIsNewStrategyUnitTests { PersistentEntity entity = context.getRequiredPersistentEntity(PrimitiveIdEntity.class); - PrimitiveIdEntity bean = new PrimitiveIdEntity(); + var bean = new PrimitiveIdEntity(); bean.id = 1L; assertThat(entity.isNew(bean)).isFalse(); @@ -62,7 +62,7 @@ class PersistentEntityIsNewStrategyUnitTests { PersistentEntity entity = context.getRequiredPersistentEntity(PrimitiveWrapperIdEntity.class); - PrimitiveWrapperIdEntity bean = new PrimitiveWrapperIdEntity(); + var bean = new PrimitiveWrapperIdEntity(); assertThat(entity.isNew(bean)).isTrue(); } @@ -71,7 +71,7 @@ class PersistentEntityIsNewStrategyUnitTests { PersistentEntity entity = context.getRequiredPersistentEntity(PrimitiveWrapperIdEntity.class); - PrimitiveWrapperIdEntity bean = new PrimitiveWrapperIdEntity(); + var bean = new PrimitiveWrapperIdEntity(); bean.id = 0L; assertThat(entity.isNew(bean)).isFalse(); @@ -108,7 +108,7 @@ class PersistentEntityIsNewStrategyUnitTests { PersistentEntity entity = context.getRequiredPersistentEntity(VersionedEntity.class); - VersionedEntity bean = new VersionedEntity(); + var bean = new VersionedEntity(); bean.id = 1L; assertThat(entity.isNew(bean)).isTrue(); diff --git a/src/test/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProviderUnitTests.java b/src/test/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProviderUnitTests.java index 6423f45fa..997d8282d 100755 --- a/src/test/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProviderUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/PersistentEntityParameterValueProviderUnitTests.java @@ -17,7 +17,6 @@ package org.springframework.data.mapping.model; import static org.assertj.core.api.Assertions.*; -import java.util.Iterator; import java.util.Optional; import org.junit.jupiter.api.Test; @@ -28,7 +27,6 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.data.mapping.MappingException; import org.springframework.data.mapping.PersistentEntity; import org.springframework.data.mapping.PersistentProperty; -import org.springframework.data.mapping.PreferredConstructor.Parameter; import org.springframework.data.mapping.model.PersistentEntityParameterValueProviderUnitTests.Outer.Inner; import org.springframework.data.util.ClassTypeInformation; @@ -59,7 +57,7 @@ class PersistentEntityParameterValueProviderUnitTests

{ - Iterator> iterator = constructor.getParameters().iterator(); + var iterator = constructor.getParameters().iterator(); ParameterValueProvider

provider = new PersistentEntityParameterValueProvider<>(entity, propertyValueProvider, outer); diff --git a/src/test/java/org/springframework/data/mapping/model/PersistentPropertyAccessorTests.java b/src/test/java/org/springframework/data/mapping/model/PersistentPropertyAccessorTests.java index 437d8a5cf..1da1ddd7f 100644 --- a/src/test/java/org/springframework/data/mapping/model/PersistentPropertyAccessorTests.java +++ b/src/test/java/org/springframework/data/mapping/model/PersistentPropertyAccessorTests.java @@ -51,10 +51,10 @@ public class PersistentPropertyAccessorTests { List parameters = new ArrayList<>(); - ClassGeneratingPropertyAccessorFactory factory = new ClassGeneratingPropertyAccessorFactory(); + var factory = new ClassGeneratingPropertyAccessorFactory(); - Function> beanWrapper = BeanWrapper::new; - Function> classGenerating = it -> factory + var beanWrapper = (Function>) BeanWrapper::new; + var classGenerating = (Function>) it -> factory .getPropertyAccessor(MAPPING_CONTEXT.getRequiredPersistentEntity(it.getClass()), it); parameters.add(new Object[] { beanWrapper, "BeanWrapper" }); @@ -67,9 +67,9 @@ public class PersistentPropertyAccessorTests { @MethodSource("parameters") void shouldSetProperty(Function> propertyAccessorFunction) { - DataClass bean = new DataClass(); + var bean = new DataClass(); PersistentPropertyAccessor accessor = propertyAccessorFunction.apply(bean); - SamplePersistentProperty property = getProperty(bean, "id"); + var property = getProperty(bean, "id"); accessor.setProperty(property, "value"); @@ -82,9 +82,9 @@ public class PersistentPropertyAccessorTests { @MethodSource("parameters") void shouldSetKotlinDataClassProperty(Function> propertyAccessorFunction) { - DataClassKt bean = new DataClassKt("foo"); + var bean = new DataClassKt("foo"); PersistentPropertyAccessor accessor = propertyAccessorFunction.apply(bean); - SamplePersistentProperty property = getProperty(bean, "id"); + var property = getProperty(bean, "id"); accessor.setProperty(property, "value"); @@ -98,9 +98,9 @@ public class PersistentPropertyAccessorTests { void shouldSetExtendedKotlinDataClassProperty( Function> propertyAccessorFunction) { - ExtendedDataClassKt bean = new ExtendedDataClassKt(0, "bar"); + var bean = new ExtendedDataClassKt(0, "bar"); PersistentPropertyAccessor accessor = propertyAccessorFunction.apply(bean); - SamplePersistentProperty property = getProperty(bean, "id"); + var property = getProperty(bean, "id"); accessor.setProperty(property, 1L); @@ -113,9 +113,9 @@ public class PersistentPropertyAccessorTests { @MethodSource("parameters") void shouldUseKotlinGeneratedCopyMethod(Function> propertyAccessorFunction) { - UnusedCustomCopy bean = new UnusedCustomCopy(new Timestamp(100)); + var bean = new UnusedCustomCopy(new Timestamp(100)); PersistentPropertyAccessor accessor = propertyAccessorFunction.apply(bean); - SamplePersistentProperty property = getProperty(bean, "date"); + var property = getProperty(bean, "date"); accessor.setProperty(property, new Timestamp(200)); @@ -129,9 +129,9 @@ public class PersistentPropertyAccessorTests { void kotlinCopyMethodShouldNotSetUnsettableProperty( Function> propertyAccessorFunction) { - SingleSettableProperty bean = new SingleSettableProperty(1.1); + var bean = new SingleSettableProperty(1.1); PersistentPropertyAccessor accessor = propertyAccessorFunction.apply(bean); - SamplePersistentProperty property = getProperty(bean, "version"); + var property = getProperty(bean, "version"); assertThatThrownBy(() -> accessor.setProperty(property, 1)).isInstanceOf(UnsupportedOperationException.class); } @@ -141,13 +141,13 @@ public class PersistentPropertyAccessorTests { void shouldSet17thImmutableNullableKotlinProperty( Function> propertyAccessorFunction) { - With33Args bean = new With33Args(); + var bean = new With33Args(); PersistentPropertyAccessor accessor = propertyAccessorFunction.apply(bean); - SamplePersistentProperty property = getProperty(bean, "17"); + var property = getProperty(bean, "17"); accessor.setProperty(property, "foo"); - With33Args updated = (With33Args) accessor.getBean(); + var updated = (With33Args) accessor.getBean(); assertThat(updated.get17()).isEqualTo("foo"); } @@ -155,9 +155,9 @@ public class PersistentPropertyAccessorTests { @MethodSource("parameters") void shouldWitherProperty(Function> propertyAccessorFunction) { - ValueClass bean = new ValueClass("foo", "bar"); + var bean = new ValueClass("foo", "bar"); PersistentPropertyAccessor accessor = propertyAccessorFunction.apply(bean); - SamplePersistentProperty property = getProperty(bean, "id"); + var property = getProperty(bean, "id"); accessor.setProperty(property, "value"); @@ -170,9 +170,9 @@ public class PersistentPropertyAccessorTests { @MethodSource("parameters") void shouldRejectImmutablePropertyUpdate(Function> propertyAccessorFunction) { - ValueClass bean = new ValueClass("foo", "bar"); + var bean = new ValueClass("foo", "bar"); PersistentPropertyAccessor accessor = propertyAccessorFunction.apply(bean); - SamplePersistentProperty property = getProperty(bean, "immutable"); + var property = getProperty(bean, "immutable"); assertThatThrownBy(() -> accessor.setProperty(property, "value")).isInstanceOf(UnsupportedOperationException.class); } @@ -182,9 +182,9 @@ public class PersistentPropertyAccessorTests { void shouldRejectImmutableKotlinClassPropertyUpdate( Function> propertyAccessorFunction) { - ValueClassKt bean = new ValueClassKt("foo"); + var bean = new ValueClassKt("foo"); PersistentPropertyAccessor accessor = propertyAccessorFunction.apply(bean); - SamplePersistentProperty property = getProperty(bean, "immutable"); + var property = getProperty(bean, "immutable"); assertThatThrownBy(() -> accessor.setProperty(property, "value")).isInstanceOf(UnsupportedOperationException.class); } @@ -192,14 +192,14 @@ public class PersistentPropertyAccessorTests { @Test // DATACMNS-1422 void shouldUseReflectionIfFrameworkTypesNotVisible() throws Exception { - HidingClassLoader classLoader = HidingClassLoader.hide(Assert.class); + var classLoader = HidingClassLoader.hide(Assert.class); classLoader.excludePackage("org.springframework.data.mapping.model"); - Class entityType = classLoader + var entityType = classLoader .loadClass("org.springframework.data.mapping.model.PersistentPropertyAccessorTests$ClassLoaderTest"); - ClassGeneratingPropertyAccessorFactory factory = new ClassGeneratingPropertyAccessorFactory(); - BasicPersistentEntity entity = MAPPING_CONTEXT + var factory = new ClassGeneratingPropertyAccessorFactory(); + var entity = MAPPING_CONTEXT .getRequiredPersistentEntity(entityType); assertThat(factory.isSupported(entity)).isFalse(); diff --git a/src/test/java/org/springframework/data/mapping/model/PropertyAccessorClassGeneratorUnitTests.java b/src/test/java/org/springframework/data/mapping/model/PropertyAccessorClassGeneratorUnitTests.java index 9f47b31b4..319a2b610 100644 --- a/src/test/java/org/springframework/data/mapping/model/PropertyAccessorClassGeneratorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/PropertyAccessorClassGeneratorUnitTests.java @@ -33,7 +33,7 @@ class PropertyAccessorClassGeneratorUnitTests { @Test // DATACMNS-1602 void reusesAlreadyDeclaredClass() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); PersistentEntity entity = context.getRequiredPersistentEntity(Sample.class); PropertyAccessorClassGenerator.generateCustomAccessorClass(entity); diff --git a/src/test/java/org/springframework/data/mapping/model/PropertyUnitTests.java b/src/test/java/org/springframework/data/mapping/model/PropertyUnitTests.java index 67a83a288..4d8fae02d 100644 --- a/src/test/java/org/springframework/data/mapping/model/PropertyUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/PropertyUnitTests.java @@ -45,7 +45,7 @@ class PropertyUnitTests { @Test // DATACMNS-1322 void shouldDiscoverWitherMethod() { - Property property = Property.of(ClassTypeInformation.from(WitherType.class), + var property = Property.of(ClassTypeInformation.from(WitherType.class), ReflectionUtils.findField(WitherType.class, "id")); assertThat(property.getWither()).isPresent().hasValueSatisfying(actual -> { @@ -57,7 +57,7 @@ class PropertyUnitTests { @Test // DATACMNS-1421 void shouldDiscoverDerivedWitherMethod() { - Property property = Property.of(ClassTypeInformation.from(DerivedWitherClass.class), + var property = Property.of(ClassTypeInformation.from(DerivedWitherClass.class), ReflectionUtils.findField(DerivedWitherClass.class, "id")); assertThat(property.getWither()).isPresent().hasValueSatisfying(actual -> { @@ -70,7 +70,7 @@ class PropertyUnitTests { @Test // DATACMNS-1421 void shouldNotDiscoverWitherMethodWithIncompatibleReturnType() { - Property property = Property.of(ClassTypeInformation.from(AnotherLevel.class), + var property = Property.of(ClassTypeInformation.from(AnotherLevel.class), ReflectionUtils.findField(AnotherLevel.class, "id")); assertThat(property.getWither()).isEmpty(); diff --git a/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java b/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java index 5b40f5b7f..788d4231a 100755 --- a/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/ReflectionEntityInstantiatorUnitTests.java @@ -71,7 +71,7 @@ class ReflectionEntityInstantiatorUnitTests

> { doReturn(constructor).when(entity).getPersistenceConstructor(); - Object instance = INSTANCE.createInstance(entity, provider); + var instance = INSTANCE.createInstance(entity, provider); assertThat(instance).isInstanceOf(Foo.class); assertThat(constructor) @@ -91,15 +91,15 @@ class ReflectionEntityInstantiatorUnitTests

> { @Test // DATACMNS-134 void createsInnerClassInstanceCorrectly() { - BasicPersistentEntity entity = new BasicPersistentEntity<>(from(Inner.class)); + var entity = new BasicPersistentEntity(from(Inner.class)); assertThat(entity.getPersistenceConstructor()).satisfies(it -> { - Parameter parameter = it.getParameters().iterator().next(); + var parameter = it.getParameters().iterator().next(); Object outer = new Outer(); when(provider.getParameterValue(parameter)).thenReturn(outer); - Inner instance = INSTANCE.createInstance(entity, provider); + var instance = INSTANCE.createInstance(entity, provider); assertThat(instance).isNotNull(); diff --git a/src/test/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessorUnitTests.java b/src/test/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessorUnitTests.java index 0855370d3..454ffe776 100644 --- a/src/test/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessorUnitTests.java +++ b/src/test/java/org/springframework/data/mapping/model/SimplePersistentPropertyPathAccessorUnitTests.java @@ -30,10 +30,10 @@ import java.util.Map; import java.util.stream.Stream; import org.junit.jupiter.api.Test; + import org.springframework.data.mapping.AccessOptions; import org.springframework.data.mapping.AccessOptions.SetOptions.SetNulls; import org.springframework.data.mapping.PersistentEntity; -import org.springframework.data.mapping.PersistentPropertyPath; import org.springframework.data.mapping.PersistentPropertyPathAccessor; import org.springframework.data.mapping.context.SampleMappingContext; import org.springframework.data.mapping.context.SamplePersistentProperty; @@ -55,7 +55,7 @@ class SimplePersistentPropertyPathAccessorUnitTests { @Test // DATACMNS-1438 void setsPropertyContainingCollectionPathForAllElements() { - Customers customers = new Customers(Arrays.asList(first, second), Collections.emptyMap()); + var customers = new Customers(Arrays.asList(first, second), Collections.emptyMap()); assertFirstnamesSetFor(customers, "customers.firstname"); } @@ -67,7 +67,7 @@ class SimplePersistentPropertyPathAccessorUnitTests { map.put("1", first); map.put("2", second); - Customers customers = new Customers(Collections.emptyList(), map); + var customers = new Customers(Collections.emptyList(), map); assertFirstnamesSetFor(customers, "customerMap.firstname"); } @@ -75,10 +75,10 @@ class SimplePersistentPropertyPathAccessorUnitTests { @Test // DATACMNS-1461 void skipsNullValueIfConfigured() { - CustomerWrapper wrapper = new CustomerWrapper(null); + var wrapper = new CustomerWrapper(null); - PersistentPropertyPathAccessor accessor = getAccessor(wrapper); - PersistentPropertyPath path = context.getPersistentPropertyPath("customer.firstname", + var accessor = getAccessor(wrapper); + var path = context.getPersistentPropertyPath("customer.firstname", CustomerWrapper.class); assertThatCode(() -> { @@ -89,10 +89,10 @@ class SimplePersistentPropertyPathAccessorUnitTests { @Test // DATACMNS-1296 void skipsIntermediateNullsWhenSettingNestedValues() { - CustomerWrapperWrapper wrapper = new CustomerWrapperWrapper(null); + var wrapper = new CustomerWrapperWrapper(null); - PersistentPropertyPathAccessor accessor = getAccessor(wrapper); - PersistentPropertyPath path = context + var accessor = getAccessor(wrapper); + var path = context .getPersistentPropertyPath("wrapper.customer.firstname", CustomerWrapperWrapper.class); assertThatCode(() -> { @@ -102,7 +102,7 @@ class SimplePersistentPropertyPathAccessorUnitTests { private void assertFirstnamesSetFor(Customers customers, String path) { - PersistentPropertyPath propertyPath = context.getPersistentPropertyPath(path, + var propertyPath = context.getPersistentPropertyPath(path, Customers.class); getAccessor(customers).setProperty(propertyPath, "firstname"); @@ -114,10 +114,10 @@ class SimplePersistentPropertyPathAccessorUnitTests { private PersistentPropertyPathAccessor getAccessor(T source) { - Class type = source.getClass(); + var type = source.getClass(); PersistentEntity entity = context.getRequiredPersistentEntity(type); - PersistentPropertyPathAccessor accessor = entity.getPropertyPathAccessor(source); + var accessor = entity.getPropertyPathAccessor(source); return accessor; } diff --git a/src/test/java/org/springframework/data/projection/MapAccessingMethodInterceptorUnitTests.java b/src/test/java/org/springframework/data/projection/MapAccessingMethodInterceptorUnitTests.java index 6ab941795..908e22fae 100755 --- a/src/test/java/org/springframework/data/projection/MapAccessingMethodInterceptorUnitTests.java +++ b/src/test/java/org/springframework/data/projection/MapAccessingMethodInterceptorUnitTests.java @@ -51,8 +51,8 @@ class MapAccessingMethodInterceptorUnitTests { when(invocation.proceed()).thenReturn(map.toString()); when(invocation.getMethod()).thenReturn(Object.class.getMethod("toString")); - MapAccessingMethodInterceptor interceptor = new MapAccessingMethodInterceptor(map); - Object result = interceptor.invoke(invocation); + var interceptor = new MapAccessingMethodInterceptor(map); + var result = interceptor.invoke(invocation); assertThat(result).isEqualTo(map.toString()); } @@ -65,7 +65,7 @@ class MapAccessingMethodInterceptorUnitTests { when(invocation.getMethod()).thenReturn(Sample.class.getMethod("setName", String.class)); when(invocation.getArguments()).thenReturn(new Object[] { "Foo" }); - Object result = new MapAccessingMethodInterceptor(map).invoke(invocation); + var result = new MapAccessingMethodInterceptor(map).invoke(invocation); assertThat(result).isNull(); assertThat(map.get("name")).isEqualTo("Foo"); @@ -79,7 +79,7 @@ class MapAccessingMethodInterceptorUnitTests { when(invocation.getMethod()).thenReturn(Sample.class.getMethod("getName")); - Object result = new MapAccessingMethodInterceptor(map).invoke(invocation); + var result = new MapAccessingMethodInterceptor(map).invoke(invocation); assertThat(result).isEqualTo("Foo"); } diff --git a/src/test/java/org/springframework/data/projection/ProjectingMethodInterceptorUnitTests.java b/src/test/java/org/springframework/data/projection/ProjectingMethodInterceptorUnitTests.java index 5051f7087..b06e72b58 100755 --- a/src/test/java/org/springframework/data/projection/ProjectingMethodInterceptorUnitTests.java +++ b/src/test/java/org/springframework/data/projection/ProjectingMethodInterceptorUnitTests.java @@ -117,12 +117,12 @@ class ProjectingMethodInterceptorUnitTests { MethodInterceptor methodInterceptor = new ProjectingMethodInterceptor(new ProxyProjectionFactory(), interceptor, conversionService); - Object result = methodInterceptor + var result = methodInterceptor .invoke(mockInvocationOf("getHelperCollection", Collections.singleton(mock(Helper.class)))); assertThat(result).isInstanceOf(Set.class); - Set projections = (Set) result; + var projections = (Set) result; assertThat(projections).hasSize(1).hasOnlyElementsOfType(HelperProjection.class); } @@ -132,12 +132,12 @@ class ProjectingMethodInterceptorUnitTests { MethodInterceptor methodInterceptor = new ProjectingMethodInterceptor(new ProxyProjectionFactory(), interceptor, conversionService); - Object result = methodInterceptor + var result = methodInterceptor .invoke(mockInvocationOf("getHelperList", Collections.singletonList(mock(Helper.class)))); assertThat(result).isInstanceOf(List.class); - List projections = (List) result; + var projections = (List) result; assertThat(projections).hasSize(1).hasOnlyElementsOfType(HelperProjection.class); } @@ -148,11 +148,11 @@ class ProjectingMethodInterceptorUnitTests { MethodInterceptor methodInterceptor = new ProjectingMethodInterceptor(new ProxyProjectionFactory(), interceptor, conversionService); - Object result = methodInterceptor.invoke(mockInvocationOf("getHelperArray", new Helper[] { mock(Helper.class) })); + var result = methodInterceptor.invoke(mockInvocationOf("getHelperArray", new Helper[] { mock(Helper.class) })); assertThat(result).isInstanceOf(Collection.class); - Collection projections = (Collection) result; + var projections = (Collection) result; assertThat(projections).hasSize(1).hasOnlyElementsOfType(HelperProjection.class); } @@ -164,12 +164,12 @@ class ProjectingMethodInterceptorUnitTests { MethodInterceptor methodInterceptor = new ProjectingMethodInterceptor(new ProxyProjectionFactory(), interceptor, conversionService); - Object result = methodInterceptor + var result = methodInterceptor .invoke(mockInvocationOf("getHelperMap", Collections.singletonMap("foo", mock(Helper.class)))); assertThat(result).isInstanceOf(Map.class); - Map projections = (Map) result; + var projections = (Map) result; assertThat(projections).hasSize(1).matches(map -> map.get("foo") instanceof HelperProjection); } @@ -180,12 +180,12 @@ class ProjectingMethodInterceptorUnitTests { MethodInterceptor methodInterceptor = new ProjectingMethodInterceptor(new ProxyProjectionFactory(), interceptor, conversionService); - Helper reference = mock(Helper.class); - Object result = methodInterceptor.invoke(mockInvocationOf("getHelperCollection", reference)); + var reference = mock(Helper.class); + var result = methodInterceptor.invoke(mockInvocationOf("getHelperCollection", reference)); assertThat(result).isInstanceOf(Collection.class); - Collection collection = (Collection) result; + var collection = (Collection) result; assertThat(collection).hasSize(1).hasOnlyElementsOfType(HelperProjection.class); } @@ -196,12 +196,12 @@ class ProjectingMethodInterceptorUnitTests { MethodInterceptor methodInterceptor = new ProjectingMethodInterceptor(new ProxyProjectionFactory(), interceptor, conversionService); - Object result = methodInterceptor + var result = methodInterceptor .invoke(mockInvocationOf("getHelperEnumSet", Collections.singletonList(HelperEnum.Helpful))); assertThat(result).isInstanceOf(EnumSet.class); - Collection collection = (Collection) result; + var collection = (Collection) result; assertThat(collection).containsOnly(HelperEnum.Helpful); } diff --git a/src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java b/src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java index 4cd6f0cc8..1d078aff3 100755 --- a/src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java +++ b/src/test/java/org/springframework/data/projection/ProjectionIntegrationTests.java @@ -21,10 +21,8 @@ import org.junit.jupiter.api.Test; import com.fasterxml.jackson.databind.ObjectMapper; import com.jayway.jsonpath.Configuration.ConfigurationBuilder; -import com.jayway.jsonpath.DocumentContext; import com.jayway.jsonpath.JsonPath; import com.jayway.jsonpath.Option; -import com.jayway.jsonpath.ParseContext; /** * Integration tests for projections. @@ -36,11 +34,11 @@ class ProjectionIntegrationTests { @Test // DATACMNS-909 void jacksonSerializationDoesNotExposeDecoratedClass() throws Exception { - ProxyProjectionFactory factory = new ProxyProjectionFactory(); - SampleProjection projection = factory.createProjection(SampleProjection.class); + var factory = new ProxyProjectionFactory(); + var projection = factory.createProjection(SampleProjection.class); - ParseContext context = JsonPath.using(new ConfigurationBuilder().options(Option.SUPPRESS_EXCEPTIONS).build()); - DocumentContext json = context.parse(new ObjectMapper().writeValueAsString(projection)); + var context = JsonPath.using(new ConfigurationBuilder().options(Option.SUPPRESS_EXCEPTIONS).build()); + var json = context.parse(new ObjectMapper().writeValueAsString(projection)); assertThat(json.read("$.decoratedClass", String.class)).isNull(); } diff --git a/src/test/java/org/springframework/data/projection/PropertyAccessingMethodInterceptorUnitTests.java b/src/test/java/org/springframework/data/projection/PropertyAccessingMethodInterceptorUnitTests.java index c82720997..152b11a63 100755 --- a/src/test/java/org/springframework/data/projection/PropertyAccessingMethodInterceptorUnitTests.java +++ b/src/test/java/org/springframework/data/projection/PropertyAccessingMethodInterceptorUnitTests.java @@ -42,7 +42,7 @@ class PropertyAccessingMethodInterceptorUnitTests { @Test // DATAREST-221 void triggersPropertyAccessOnTarget() throws Throwable { - Source source = new Source(); + var source = new Source(); source.firstname = "Dave"; when(invocation.getMethod()).thenReturn(Projection.class.getMethod("getFirstname")); @@ -79,7 +79,7 @@ class PropertyAccessingMethodInterceptorUnitTests { @Test // DATACMNS-820 void triggersWritePropertyAccessOnTarget() throws Throwable { - Source source = new Source(); + var source = new Source(); source.firstname = "Dave"; when(invocation.getMethod()).thenReturn(Projection.class.getMethod("setFirstname", String.class)); @@ -93,7 +93,7 @@ class PropertyAccessingMethodInterceptorUnitTests { @Test // DATACMNS-820 void throwsAppropriateExceptionIfTheInvocationHasNoArguments() throws Throwable { - Source source = new Source(); + var source = new Source(); when(invocation.getMethod()).thenReturn(Projection.class.getMethod("setFirstname", String.class)); when(invocation.getArguments()).thenReturn(new Object[0]); diff --git a/src/test/java/org/springframework/data/projection/ProxyProjectionFactoryUnitTests.java b/src/test/java/org/springframework/data/projection/ProxyProjectionFactoryUnitTests.java index bc10a3441..d31458583 100755 --- a/src/test/java/org/springframework/data/projection/ProxyProjectionFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/projection/ProxyProjectionFactoryUnitTests.java @@ -17,7 +17,6 @@ package org.springframework.data.projection; import static org.assertj.core.api.Assertions.*; -import java.beans.PropertyDescriptor; import java.lang.reflect.Proxy; import java.time.LocalDateTime; import java.util.Calendar; @@ -25,12 +24,11 @@ import java.util.Collections; import java.util.Date; import java.util.GregorianCalendar; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Optional; import org.junit.jupiter.api.Test; -import org.springframework.aop.Advisor; + import org.springframework.aop.TargetClassAware; import org.springframework.aop.framework.Advised; import org.springframework.test.util.ReflectionTestUtils; @@ -70,7 +68,7 @@ class ProxyProjectionFactoryUnitTests { @Test // DATAREST-221, DATACMNS-630 void createsProjectingProxy() { - Customer customer = new Customer(); + var customer = new Customer(); customer.firstname = "Dave"; customer.lastname = "Matthews"; @@ -78,7 +76,7 @@ class ProxyProjectionFactoryUnitTests { customer.address.city = "New York"; customer.address.zipCode = "ZIP"; - CustomerExcerpt excerpt = factory.createProjection(CustomerExcerpt.class, customer); + var excerpt = factory.createProjection(CustomerExcerpt.class, customer); assertThat(excerpt.getFirstname()).isEqualTo("Dave"); assertThat(excerpt.getAddress().getZipCode()).isEqualTo("ZIP"); @@ -87,7 +85,7 @@ class ProxyProjectionFactoryUnitTests { @Test // DATAREST-221, DATACMNS-630 void proxyExposesTargetClassAware() { - CustomerExcerpt proxy = factory.createProjection(CustomerExcerpt.class); + var proxy = factory.createProjection(CustomerExcerpt.class); assertThat(proxy).isInstanceOf(TargetClassAware.class); assertThat(((TargetClassAware) proxy).getTargetClass()).isEqualTo(HashMap.class); @@ -101,7 +99,7 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-630 void createsMapBasedProxyFromSource() { - HashMap addressSource = new HashMap<>(); + var addressSource = new HashMap(); addressSource.put("zipCode", "ZIP"); addressSource.put("city", "NewYork"); @@ -110,11 +108,11 @@ class ProxyProjectionFactoryUnitTests { source.put("lastname", "Matthews"); source.put("address", addressSource); - CustomerExcerpt projection = factory.createProjection(CustomerExcerpt.class, source); + var projection = factory.createProjection(CustomerExcerpt.class, source); assertThat(projection.getFirstname()).isEqualTo("Dave"); - AddressExcerpt address = projection.getAddress(); + var address = projection.getAddress(); assertThat(address).isNotNull(); assertThat(address.getZipCode()).isEqualTo("ZIP"); } @@ -122,7 +120,7 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-630 void createsEmptyMapBasedProxy() { - CustomerProxy proxy = factory.createProjection(CustomerProxy.class); + var proxy = factory.createProjection(CustomerProxy.class); assertThat(proxy).isNotNull(); @@ -133,8 +131,8 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-630 void returnsAllPropertiesAsInputProperties() { - ProjectionInformation projectionInformation = factory.getProjectionInformation(CustomerExcerpt.class); - List result = projectionInformation.getInputProperties(); + var projectionInformation = factory.getProjectionInformation(CustomerExcerpt.class); + var result = projectionInformation.getInputProperties(); assertThat(result).hasSize(6); } @@ -142,10 +140,10 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-655 void invokesDefaultMethodOnProxy() { - CustomerExcerpt excerpt = factory.createProjection(CustomerExcerpt.class); + var excerpt = factory.createProjection(CustomerExcerpt.class); - Advised advised = (Advised) ReflectionTestUtils.getField(Proxy.getInvocationHandler(excerpt), "advised"); - Advisor[] advisors = advised.getAdvisors(); + var advised = (Advised) ReflectionTestUtils.getField(Proxy.getInvocationHandler(excerpt), "advised"); + var advisors = advised.getAdvisors(); assertThat(advisors.length).isGreaterThan(0); assertThat(advisors[0].getAdvice()).isInstanceOf(DefaultMethodInvokingMethodInterceptor.class); @@ -154,7 +152,7 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-648 void exposesProxyTarget() { - CustomerExcerpt excerpt = factory.createProjection(CustomerExcerpt.class); + var excerpt = factory.createProjection(CustomerExcerpt.class); assertThat(excerpt).isInstanceOf(TargetAware.class); assertThat(((TargetAware) excerpt).getTarget()).isInstanceOf(Map.class); @@ -163,10 +161,10 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-722 void doesNotProjectPrimitiveArray() { - Customer customer = new Customer(); + var customer = new Customer(); customer.picture = "binarydata".getBytes(); - CustomerExcerpt excerpt = factory.createProjection(CustomerExcerpt.class, customer); + var excerpt = factory.createProjection(CustomerExcerpt.class, customer); assertThat(excerpt.getPicture()).isEqualTo(customer.picture); } @@ -174,14 +172,14 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-722 void projectsNonPrimitiveArray() { - Address address = new Address(); + var address = new Address(); address.city = "New York"; address.zipCode = "ZIP"; - Customer customer = new Customer(); + var customer = new Customer(); customer.shippingAddresses = new Address[] { address }; - CustomerExcerpt excerpt = factory.createProjection(CustomerExcerpt.class, customer); + var excerpt = factory.createProjection(CustomerExcerpt.class, customer); assertThat(excerpt.getShippingAddresses()).hasSize(1); } @@ -189,10 +187,10 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-782 void convertsPrimitiveValues() { - Customer customer = new Customer(); + var customer = new Customer(); customer.id = 1L; - CustomerExcerpt excerpt = factory.createProjection(CustomerExcerpt.class, customer); + var excerpt = factory.createProjection(CustomerExcerpt.class, customer); assertThat(excerpt.getId()).isEqualTo(customer.id.toString()); } @@ -200,7 +198,7 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-89 void exposesProjectionInformationCorrectly() { - ProjectionInformation information = factory.getProjectionInformation(CustomerExcerpt.class); + var information = factory.getProjectionInformation(CustomerExcerpt.class); assertThat(information.getType()).isEqualTo(CustomerExcerpt.class); assertThat(information.isClosed()).isTrue(); @@ -209,10 +207,10 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-829 void projectsMapOfStringToObjectCorrectly() { - Customer customer = new Customer(); + var customer = new Customer(); customer.data = Collections.singletonMap("key", null); - Map data = factory.createProjection(CustomerExcerpt.class, customer).getData(); + var data = factory.createProjection(CustomerExcerpt.class, customer).getData(); assertThat(data).isNotNull(); assertThat(data.containsKey("key")).isTrue(); @@ -222,7 +220,7 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-1121 void doesNotCreateWrappingProxyIfTargetImplementsProjectionInterface() { - Customer customer = new Customer(); + var customer = new Customer(); assertThat(factory.createProjection(Contact.class, customer)).isSameAs(customer); } @@ -230,10 +228,10 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-1762 void supportsOptionalAsReturnTypeIfEmpty() { - Customer customer = new Customer(); + var customer = new Customer(); customer.picture = null; - CustomerWithOptional excerpt = factory.createProjection(CustomerWithOptional.class, customer); + var excerpt = factory.createProjection(CustomerWithOptional.class, customer); assertThat(excerpt.getPicture()).isEmpty(); } @@ -241,10 +239,10 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-1762 void supportsOptionalAsReturnTypeIfPresent() { - Customer customer = new Customer(); + var customer = new Customer(); customer.picture = new byte[] { 1, 2, 3 }; - CustomerWithOptional excerpt = factory.createProjection(CustomerWithOptional.class, customer); + var excerpt = factory.createProjection(CustomerWithOptional.class, customer); assertThat(excerpt.getPicture()).hasValueSatisfying(bytes -> { assertThat(bytes).isEqualTo(new byte[] { 1, 2, 3 }); @@ -254,10 +252,10 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-1762 void supportsOptionalBackedByOptional() { - Customer customer = new Customer(); + var customer = new Customer(); customer.optional = Optional.of("foo"); - CustomerWithOptional excerpt = factory.createProjection(CustomerWithOptional.class, customer); + var excerpt = factory.createProjection(CustomerWithOptional.class, customer); assertThat(excerpt.getOptional()).hasValue("foo"); } @@ -265,7 +263,7 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-1762 void supportsOptionalWithProjectionAsReturnTypeIfPresent() { - Customer customer = new Customer(); + var customer = new Customer(); customer.firstname = "Dave"; customer.lastname = "Matthews"; @@ -273,7 +271,7 @@ class ProxyProjectionFactoryUnitTests { customer.address.city = "New York"; customer.address.zipCode = "ZIP"; - CustomerWithOptionalHavingProjection excerpt = factory.createProjection(CustomerWithOptionalHavingProjection.class, + var excerpt = factory.createProjection(CustomerWithOptionalHavingProjection.class, customer); assertThat(excerpt.getFirstname()).isEqualTo("Dave"); @@ -285,7 +283,7 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-1836 void supportsDateToLocalDateTimeConversion() { - Customer customer = new Customer(); + var customer = new Customer(); customer.firstname = "Dave"; customer.birthdate = new GregorianCalendar(1967, Calendar.JANUARY, 9).getTime(); @@ -293,7 +291,7 @@ class ProxyProjectionFactoryUnitTests { customer.address.city = "New York"; customer.address.zipCode = "ZIP"; - CustomerWithLocalDateTime excerpt = factory.createProjection(CustomerWithLocalDateTime.class, customer); + var excerpt = factory.createProjection(CustomerWithLocalDateTime.class, customer); assertThat(excerpt.getFirstname()).isEqualTo("Dave"); assertThat(excerpt.getBirthdate()).isEqualTo(LocalDateTime.of(1967, 1, 9, 0, 0)); @@ -302,7 +300,7 @@ class ProxyProjectionFactoryUnitTests { @Test // DATACMNS-1836 void supportsNullableWrapperDateToLocalDateTimeConversion() { - Customer customer = new Customer(); + var customer = new Customer(); customer.firstname = "Dave"; customer.birthdate = new GregorianCalendar(1967, Calendar.JANUARY, 9).getTime(); @@ -310,7 +308,7 @@ class ProxyProjectionFactoryUnitTests { customer.address.city = "New York"; customer.address.zipCode = "ZIP"; - CustomerWithOptional excerpt = factory.createProjection(CustomerWithOptional.class, customer); + var excerpt = factory.createProjection(CustomerWithOptional.class, customer); assertThat(excerpt.getFirstname()).isEqualTo("Dave"); assertThat(excerpt.getBirthdate()).contains(LocalDateTime.of(1967, 1, 9, 0, 0)); diff --git a/src/test/java/org/springframework/data/projection/SpelAwareProxyProjectionFactoryUnitTests.java b/src/test/java/org/springframework/data/projection/SpelAwareProxyProjectionFactoryUnitTests.java index a2189192e..014bb2ada 100755 --- a/src/test/java/org/springframework/data/projection/SpelAwareProxyProjectionFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/projection/SpelAwareProxyProjectionFactoryUnitTests.java @@ -18,7 +18,6 @@ package org.springframework.data.projection; import static org.assertj.core.api.Assertions.*; import java.beans.PropertyDescriptor; -import java.util.List; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -45,18 +44,18 @@ class SpelAwareProxyProjectionFactoryUnitTests { @Test // DATAREST-221, DATACMNS-630 void exposesSpelInvokingMethod() { - Customer customer = new Customer(); + var customer = new Customer(); customer.firstname = "Dave"; customer.lastname = "Matthews"; - CustomerExcerpt excerpt = factory.createProjection(CustomerExcerpt.class, customer); + var excerpt = factory.createProjection(CustomerExcerpt.class, customer); assertThat(excerpt.getFullName()).isEqualTo("Dave Matthews"); } @Test // DATACMNS-630 void excludesAtValueAnnotatedMethodsForInputProperties() { - List properties = factory // + var properties = factory // .getProjectionInformation(CustomerExcerpt.class) // .getInputProperties(); @@ -68,7 +67,7 @@ class SpelAwareProxyProjectionFactoryUnitTests { @Test // DATACMNS-89 void considersProjectionUsingAtValueNotClosed() { - ProjectionInformation information = factory.getProjectionInformation(CustomerExcerpt.class); + var information = factory.getProjectionInformation(CustomerExcerpt.class); assertThat(information.isClosed()).isFalse(); } @@ -76,10 +75,10 @@ class SpelAwareProxyProjectionFactoryUnitTests { @Test // DATACMNS-820 void setsValueUsingProjection() { - Customer customer = new Customer(); + var customer = new Customer(); customer.firstname = "Dave"; - CustomerExcerpt excerpt = factory.createProjection(CustomerExcerpt.class, customer); + var excerpt = factory.createProjection(CustomerExcerpt.class, customer); excerpt.setFirstname("Carl"); assertThat(customer.firstname).isEqualTo("Carl"); @@ -88,10 +87,10 @@ class SpelAwareProxyProjectionFactoryUnitTests { @Test // DATACMNS-820 void settingNotWriteablePropertyFails() { - Customer customer = new Customer(); + var customer = new Customer(); customer.firstname = "Dave"; - ProjectionWithNotWriteableProperty projection = factory.createProjection(ProjectionWithNotWriteableProperty.class, + var projection = factory.createProjection(ProjectionWithNotWriteableProperty.class, customer); assertThatExceptionOfType(NotWritablePropertyException.class).isThrownBy(() -> projection.setFirstName("Carl")); diff --git a/src/test/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptorUnitTests.java b/src/test/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptorUnitTests.java index b8f75fbae..a78d6c876 100755 --- a/src/test/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptorUnitTests.java +++ b/src/test/java/org/springframework/data/projection/SpelEvaluatingMethodInterceptorUnitTests.java @@ -62,10 +62,10 @@ class SpelEvaluatingMethodInterceptorUnitTests { when(invocation.getMethod()).thenReturn(Projection.class.getMethod("invokeBean")); - DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); + var factory = new DefaultListableBeanFactory(); factory.registerSingleton("someBean", new SomeBean()); - SpelEvaluatingMethodInterceptor interceptor = new SpelEvaluatingMethodInterceptor(delegate, new Target(), factory, + var interceptor = new SpelEvaluatingMethodInterceptor(delegate, new Target(), factory, parser, Projection.class); assertThat(interceptor.invoke(invocation)).isEqualTo("value"); @@ -76,7 +76,7 @@ class SpelEvaluatingMethodInterceptorUnitTests { when(invocation.getMethod()).thenReturn(Projection.class.getMethod("getName")); - SpelEvaluatingMethodInterceptor interceptor = new SpelEvaluatingMethodInterceptor(delegate, new Target(), + var interceptor = new SpelEvaluatingMethodInterceptor(delegate, new Target(), new DefaultListableBeanFactory(), parser, Projection.class); interceptor.invoke(invocation); @@ -98,7 +98,7 @@ class SpelEvaluatingMethodInterceptorUnitTests { when(invocation.getMethod()).thenReturn(Projection.class.getMethod("propertyFromTarget")); - SpelEvaluatingMethodInterceptor interceptor = new SpelEvaluatingMethodInterceptor(delegate, map, + var interceptor = new SpelEvaluatingMethodInterceptor(delegate, map, new DefaultListableBeanFactory(), parser, Projection.class); assertThat(interceptor.invoke(invocation)).isEqualTo("Dave"); @@ -107,7 +107,7 @@ class SpelEvaluatingMethodInterceptorUnitTests { @Test // DATACMNS-1150 void forwardsParameterIntoSpElExpressionEvaluation() throws Throwable { - DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); + var factory = new DefaultListableBeanFactory(); factory.registerSingleton("someBean", new SomeBean()); when(invocation.getMethod()).thenReturn(Projection.class.getMethod("invokeBeanWithParameter", Integer.class)); diff --git a/src/test/java/org/springframework/data/querydsl/QPageRequestUnitTests.java b/src/test/java/org/springframework/data/querydsl/QPageRequestUnitTests.java index 75e7cb221..840ba3edc 100755 --- a/src/test/java/org/springframework/data/querydsl/QPageRequestUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/QPageRequestUnitTests.java @@ -42,8 +42,8 @@ public class QPageRequestUnitTests extends AbstractPageRequestUnitTests { @Test void constructsQPageRequestWithOrderSpecifiers() { - QUser user = QUser.user; - QPageRequest pageRequest = QPageRequest.of(0, 10, user.firstname.asc()); + var user = QUser.user; + var pageRequest = QPageRequest.of(0, 10, user.firstname.asc()); assertThat(pageRequest.getSort()).isEqualTo(QSort.by(user.firstname.asc())); } @@ -51,8 +51,8 @@ public class QPageRequestUnitTests extends AbstractPageRequestUnitTests { @Test void constructsQPageRequestWithQSort() { - QUser user = QUser.user; - QPageRequest pageRequest = QPageRequest.ofSize(10).withSort(QSort.by(user.firstname.asc())); + var user = QUser.user; + var pageRequest = QPageRequest.ofSize(10).withSort(QSort.by(user.firstname.asc())); assertThat(pageRequest.getSort()).isEqualTo(QSort.by(user.firstname.asc())); } diff --git a/src/test/java/org/springframework/data/querydsl/QSortUnitTests.java b/src/test/java/org/springframework/data/querydsl/QSortUnitTests.java index f194457a3..3bb0f15f1 100755 --- a/src/test/java/org/springframework/data/querydsl/QSortUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/QSortUnitTests.java @@ -31,7 +31,6 @@ import org.springframework.data.domain.Sort.Order; import com.querydsl.core.annotations.QueryInit; import com.querydsl.core.types.OrderSpecifier; import com.querydsl.core.types.dsl.PathBuilderFactory; -import com.querydsl.core.types.dsl.StringPath; /** * Unit tests for {@link QSort}. @@ -50,8 +49,8 @@ class QSortUnitTests { @Test // DATACMNS-402 void sortBySingleProperty() { - QUser user = QUser.user; - QSort qsort = new QSort(user.firstname.asc()); + var user = QUser.user; + var qsort = new QSort(user.firstname.asc()); assertThat(qsort.getOrderSpecifiers()).hasSize(1); assertThat(qsort.getOrderSpecifiers().get(0)).isEqualTo(user.firstname.asc()); @@ -61,8 +60,8 @@ class QSortUnitTests { @Test // DATACMNS-402 void sortByMultiplyProperties() { - QUser user = QUser.user; - QSort qsort = new QSort(user.firstname.asc(), user.lastname.desc()); + var user = QUser.user; + var qsort = new QSort(user.firstname.asc(), user.lastname.desc()); assertThat(qsort.getOrderSpecifiers()).hasSize(2); assertThat(qsort.getOrderSpecifiers().get(0)).isEqualTo(user.firstname.asc()); @@ -74,8 +73,8 @@ class QSortUnitTests { @Test // DATACMNS-402 void sortByMultiplyPropertiesWithAnd() { - QUser user = QUser.user; - QSort qsort = new QSort(user.firstname.asc()).and(new QSort(user.lastname.desc())); + var user = QUser.user; + var qsort = new QSort(user.firstname.asc()).and(new QSort(user.lastname.desc())); assertThat(qsort.getOrderSpecifiers()).hasSize(2); assertThat(qsort.getOrderSpecifiers().get(0)).isEqualTo(user.firstname.asc()); @@ -87,8 +86,8 @@ class QSortUnitTests { @Test // DATACMNS-402 void sortByMultiplyPropertiesWithAndAndVarArgs() { - QUser user = QUser.user; - QSort qsort = new QSort(user.firstname.asc()).and(user.lastname.desc()); + var user = QUser.user; + var qsort = new QSort(user.firstname.asc()).and(user.lastname.desc()); assertThat(qsort.getOrderSpecifiers()).hasSize(2); assertThat(qsort.getOrderSpecifiers().get(0)).isEqualTo(user.firstname.asc()); @@ -100,8 +99,8 @@ class QSortUnitTests { @Test // DATACMNS-402 void ensureInteroperabilityWithSort() { - QUser user = QUser.user; - QSort qsort = new QSort(user.firstname.asc(), user.lastname.desc()); + var user = QUser.user; + var qsort = new QSort(user.firstname.asc(), user.lastname.desc()); Sort sort = qsort; @@ -112,10 +111,10 @@ class QSortUnitTests { @Test // DATACMNS-402 void concatenatesPlainSortCorrectly() { - QUser user = QUser.user; - QSort sort = new QSort(user.firstname.asc()); + var user = QUser.user; + var sort = new QSort(user.firstname.asc()); - Sort result = sort.and(Sort.by(Direction.ASC, "lastname")); + var result = sort.and(Sort.by(Direction.ASC, "lastname")); assertThat(result).hasSize(2); assertThat(result).contains(new Order(Direction.ASC, "lastname"), new Order(Direction.ASC, "firstname")); } @@ -123,10 +122,10 @@ class QSortUnitTests { @Test // DATACMNS-566 void shouldSupportSortByOperatorExpressions() { - QUser user = QUser.user; - QSort sort = new QSort(user.dateOfBirth.yearMonth().asc()); + var user = QUser.user; + var sort = new QSort(user.dateOfBirth.yearMonth().asc()); - Sort result = sort.and(Sort.by(Direction.ASC, "lastname")); + var result = sort.and(Sort.by(Direction.ASC, "lastname")); assertThat(result).hasSize(2); assertThat(result).contains(new Order(Direction.ASC, "lastname"), new Order(Direction.ASC, user.dateOfBirth.yearMonth().toString())); @@ -135,7 +134,7 @@ class QSortUnitTests { @Test // DATACMNS-621 void shouldCreateSortForNestedPathCorrectly() { - QSort sort = new QSort(userWrapper.user.firstname.asc()); + var sort = new QSort(userWrapper.user.firstname.asc()); assertThat(sort).contains(new Order(Direction.ASC, "user.firstname")); } @@ -143,7 +142,7 @@ class QSortUnitTests { @Test // DATACMNS-621 void shouldCreateSortForDeepNestedPathCorrectly() { - QSort sort = new QSort(wrapperForUserWrapper.wrapper.user.firstname.asc()); + var sort = new QSort(wrapperForUserWrapper.wrapper.user.firstname.asc()); assertThat(sort).contains(new Order(Direction.ASC, "wrapper.user.firstname")); } @@ -151,7 +150,7 @@ class QSortUnitTests { @Test // DATACMNS-621 void shouldCreateSortForReallyDeepNestedPathCorrectly() { - QSort sort = new QSort(wrapperToWrapWrapperForUserWrapper.wrapperForUserWrapper.wrapper.user.firstname.asc()); + var sort = new QSort(wrapperToWrapWrapperForUserWrapper.wrapperForUserWrapper.wrapper.user.firstname.asc()); assertThat(sort).contains(new Order(Direction.ASC, "wrapperForUserWrapper.wrapper.user.firstname")); } @@ -159,9 +158,9 @@ class QSortUnitTests { @Test // DATACMNS-755 void handlesPlainStringPathsCorrectly() { - StringPath path = new PathBuilderFactory().create(User.class).getString("firstname"); + var path = new PathBuilderFactory().create(User.class).getString("firstname"); - QSort sort = new QSort(new OrderSpecifier<>(com.querydsl.core.types.Order.ASC, path)); + var sort = new QSort(new OrderSpecifier<>(com.querydsl.core.types.Order.ASC, path)); assertThat(sort).contains(new Order(Direction.ASC, "firstname")); } diff --git a/src/test/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapterUnitTests.java b/src/test/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapterUnitTests.java index eb91b1aef..2e91f528a 100755 --- a/src/test/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapterUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/QuerydslRepositoryInvokerAdapterUnitTests.java @@ -54,7 +54,7 @@ class QuerydslRepositoryInvokerAdapterUnitTests { @Test // DATACMNS-669 void forwardsFindAllToExecutorWithPredicate() { - Sort sort = Sort.by("firstname"); + var sort = Sort.by("firstname"); adapter.invokeFindAll(sort); verify(executor, times(1)).findAll(predicate, sort); @@ -64,7 +64,7 @@ class QuerydslRepositoryInvokerAdapterUnitTests { @Test // DATACMNS-669 void forwardsFindAllWithPageableToExecutorWithPredicate() { - PageRequest pageable = PageRequest.of(0, 10); + var pageable = PageRequest.of(0, 10); adapter.invokeFindAll(pageable); verify(executor, times(1)).findAll(predicate, pageable); diff --git a/src/test/java/org/springframework/data/querydsl/binding/PropertyPathInformationUnitTests.java b/src/test/java/org/springframework/data/querydsl/binding/PropertyPathInformationUnitTests.java index 593205fbd..0de15ef85 100644 --- a/src/test/java/org/springframework/data/querydsl/binding/PropertyPathInformationUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/binding/PropertyPathInformationUnitTests.java @@ -32,9 +32,9 @@ class PropertyPathInformationUnitTests { @Test // GH-2418 void shouldEqualsCorrectly() { - PropertyPathInformation information = PropertyPathInformation.of("address.description", User.class); + var information = PropertyPathInformation.of("address.description", User.class); - QuerydslPathInformation querydslPathInformation = QuerydslPathInformation.of(QUser.user.address.description); + var querydslPathInformation = QuerydslPathInformation.of(QUser.user.address.description); assertThat(information).isEqualTo(querydslPathInformation); assertThat(querydslPathInformation).isEqualTo(information); @@ -43,9 +43,9 @@ class PropertyPathInformationUnitTests { @Test // GH-2418 void shouldHashCodeCorrectly() { - PropertyPathInformation information = PropertyPathInformation.of("address.description", User.class); + var information = PropertyPathInformation.of("address.description", User.class); - QuerydslPathInformation querydslPathInformation = QuerydslPathInformation.of(QUser.user.address.description); + var querydslPathInformation = QuerydslPathInformation.of(QUser.user.address.description); assertThat(information).hasSameHashCodeAs(querydslPathInformation); assertThat(querydslPathInformation).hasSameHashCodeAs(information); diff --git a/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java b/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java index f8a00c776..946cabb2b 100755 --- a/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsFactoryUnitTests.java @@ -60,15 +60,15 @@ class QuerydslBindingsFactoryUnitTests { @SuppressWarnings({ "unchecked", "rawtypes" }) void createBindingsShouldHonorQuerydslBinderCustomizerHookWhenPresent() { - Repositories repositories = mock(Repositories.class); + var repositories = mock(Repositories.class); when(repositories.hasRepositoryFor(User.class)).thenReturn(true); when(repositories.getRepositoryFor(User.class)).thenReturn(Optional.of(new SampleRepo())); - QuerydslBindingsFactory factory = new QuerydslBindingsFactory(SimpleEntityPathResolver.INSTANCE); + var factory = new QuerydslBindingsFactory(SimpleEntityPathResolver.INSTANCE); ReflectionTestUtils.setField(factory, "repositories", Optional.of(repositories)); - QuerydslBindings bindings = factory.createBindingsFor(USER_TYPE); + var bindings = factory.createBindingsFor(USER_TYPE); Optional, Object>> binding = bindings .getBindingForPath(PropertyPathInformation.of("firstname", User.class)); @@ -82,13 +82,13 @@ class QuerydslBindingsFactoryUnitTests { @SuppressWarnings({ "unchecked", "rawtypes" }) void shouldReuseExistingQuerydslBinderCustomizer() { - AutowireCapableBeanFactory beanFactory = mock(AutowireCapableBeanFactory.class); + var beanFactory = mock(AutowireCapableBeanFactory.class); when(beanFactory.getBean(SpecificBinding.class)).thenReturn(new SpecificBinding()); - QuerydslBindingsFactory factory = new QuerydslBindingsFactory(SimpleEntityPathResolver.INSTANCE); + var factory = new QuerydslBindingsFactory(SimpleEntityPathResolver.INSTANCE); ReflectionTestUtils.setField(factory, "beanFactory", Optional.of(beanFactory)); - QuerydslBindings bindings = factory.createBindingsFor(USER_TYPE, SpecificBinding.class); + var bindings = factory.createBindingsFor(USER_TYPE, SpecificBinding.class); Optional, Object>> binding = bindings .getBindingForPath(PropertyPathInformation.of("firstname", User.class)); @@ -102,14 +102,14 @@ class QuerydslBindingsFactoryUnitTests { @SuppressWarnings({ "unchecked", "rawtypes" }) void shouldApplyDefaultCustomizers() { - GenericApplicationContext context = new GenericApplicationContext(); + var context = new GenericApplicationContext(); context.registerBean(DefaultCustomizer.class); context.refresh(); - QuerydslBindingsFactory factory = new QuerydslBindingsFactory(SimpleEntityPathResolver.INSTANCE); + var factory = new QuerydslBindingsFactory(SimpleEntityPathResolver.INSTANCE); factory.setApplicationContext(context); - QuerydslBindings bindings = factory.createBindingsFor(USER_TYPE, SpecificBinding.class); + var bindings = factory.createBindingsFor(USER_TYPE, SpecificBinding.class); Optional, Object>> binding = bindings .getBindingForPath(PropertyPathInformation.of("inceptionYear", User.class)); diff --git a/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsUnitTests.java b/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsUnitTests.java index 8c09af0b5..5bd30d4f5 100755 --- a/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/binding/QuerydslBindingsUnitTests.java @@ -230,7 +230,7 @@ class QuerydslBindingsUnitTests { bindings.bind(QUser.user.address.city).as("city").first(CONTAINS_BINDING); - PathInformation path = bindings.getPropertyPath("city", ClassTypeInformation.from(User.class)); + var path = bindings.getPropertyPath("city", ClassTypeInformation.from(User.class)); assertThat(path).isNotNull(); assertThat(bindings.isPathAvailable("city", User.class)).isTrue(); @@ -245,14 +245,14 @@ class QuerydslBindingsUnitTests { bindings.including(QUser.user.address.city); bindings.bind(QUser.user.address.city).as("city").first(CONTAINS_BINDING); - PathInformation path = bindings.getPropertyPath("city", ClassTypeInformation.from(User.class)); + var path = bindings.getPropertyPath("city", ClassTypeInformation.from(User.class)); assertThat(path).isNotNull(); assertThat(bindings.isPathAvailable("city", User.class)).isTrue(); assertThat(bindings.isPathAvailable("address.city", User.class)).isTrue(); - PathInformation propertyPath = bindings.getPropertyPath("address.city", ClassTypeInformation.from(User.class)); + var propertyPath = bindings.getPropertyPath("address.city", ClassTypeInformation.from(User.class)); assertThat(propertyPath).isNotNull(); assertAdapterWithTargetBinding(bindings.getBindingForPath(propertyPath), CONTAINS_BINDING); @@ -263,7 +263,7 @@ class QuerydslBindingsUnitTests { bindings.bind(QUser.user.address.city).as("city").withDefaultBinding(); - PathInformation path = bindings.getPropertyPath("city", ClassTypeInformation.from(User.class)); + var path = bindings.getPropertyPath("city", ClassTypeInformation.from(User.class)); assertThat(path).isNotNull(); assertThat(bindings.getBindingForPath(path)).isNotPresent(); diff --git a/src/test/java/org/springframework/data/querydsl/binding/QuerydslDefaultBindingUnitTests.java b/src/test/java/org/springframework/data/querydsl/binding/QuerydslDefaultBindingUnitTests.java index 297018145..1cb7f0c30 100755 --- a/src/test/java/org/springframework/data/querydsl/binding/QuerydslDefaultBindingUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/binding/QuerydslDefaultBindingUnitTests.java @@ -19,13 +19,11 @@ import static org.assertj.core.api.Assertions.*; import java.util.Arrays; import java.util.Collections; -import java.util.Optional; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.data.querydsl.QUser; -import com.querydsl.core.types.Predicate; +import org.springframework.data.querydsl.QUser; /** * @author Christoph Strobl @@ -44,7 +42,7 @@ class QuerydslDefaultBindingUnitTests { @Test // DATACMNS-669 void shouldCreatePredicateCorrectlyWhenPropertyIsInRoot() { - Optional predicate = binding.bind(QUser.user.firstname, Collections.singleton("tam")); + var predicate = binding.bind(QUser.user.firstname, Collections.singleton("tam")); assertThat(predicate).hasValue(QUser.user.firstname.eq("tam")); } @@ -52,7 +50,7 @@ class QuerydslDefaultBindingUnitTests { @Test // DATACMNS-669 void shouldCreatePredicateCorrectlyWhenPropertyIsInNestedElement() { - Optional predicate = binding.bind(QUser.user.address.city, Collections.singleton("two rivers")); + var predicate = binding.bind(QUser.user.address.city, Collections.singleton("two rivers")); assertThat(predicate).hasValueSatisfying( it -> assertThat(it.toString()).isEqualTo(QUser.user.address.city.eq("two rivers").toString())); @@ -61,7 +59,7 @@ class QuerydslDefaultBindingUnitTests { @Test // DATACMNS-669 void shouldCreatePredicateWithContainingWhenPropertyIsCollectionLikeAndValueIsObject() { - Optional predicate = binding.bind(QUser.user.nickNames, Collections.singleton("dragon reborn")); + var predicate = binding.bind(QUser.user.nickNames, Collections.singleton("dragon reborn")); assertThat(predicate).hasValue(QUser.user.nickNames.contains("dragon reborn")); } @@ -69,7 +67,7 @@ class QuerydslDefaultBindingUnitTests { @Test // DATACMNS-669 void shouldCreatePredicateWithInWhenPropertyIsAnObjectAndValueIsACollection() { - Optional predicate = binding.bind(QUser.user.firstname, Arrays.asList("dragon reborn", "shadowkiller")); + var predicate = binding.bind(QUser.user.firstname, Arrays.asList("dragon reborn", "shadowkiller")); assertThat(predicate).hasValue(QUser.user.firstname.in(Arrays.asList("dragon reborn", "shadowkiller"))); } @@ -82,7 +80,7 @@ class QuerydslDefaultBindingUnitTests { @Test // DATACMNS-1578 void shouldCreatePredicateWithIsNullWhenPropertyIsANestedObjectAndValueIsNull() { - Optional predicate = binding.bind(QUser.user.address.city, Collections.singleton(null)); + var predicate = binding.bind(QUser.user.address.city, Collections.singleton(null)); assertThat(predicate).hasValueSatisfying(it -> { assertThat(it.toString()).isEqualTo(QUser.user.address.city.isNull().toString()); diff --git a/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java b/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java index 328dca6a5..f6fb3388d 100755 --- a/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java +++ b/src/test/java/org/springframework/data/querydsl/binding/QuerydslPredicateBuilderUnitTests.java @@ -40,7 +40,6 @@ import org.springframework.util.MultiValueMap; import com.querydsl.collections.CollQueryFactory; import com.querydsl.core.types.Constant; -import com.querydsl.core.types.Predicate; import com.querydsl.core.types.dsl.StringPath; /** @@ -90,7 +89,7 @@ class QuerydslPredicateBuilderUnitTests { DEFAULT_BINDINGS.bind(QUser.user.description).first(CONTAINS_BINDING); values.add("description", "Linz"); - Predicate predicate = this.builder.getPredicate(ClassTypeInformation.from(User.class), values, DEFAULT_BINDINGS); + var predicate = this.builder.getPredicate(ClassTypeInformation.from(User.class), values, DEFAULT_BINDINGS); assertThat(predicate).hasToString("contains(user.description,Linz)"); @@ -107,11 +106,11 @@ class QuerydslPredicateBuilderUnitTests { values.add("firstname", "Oliver"); - Predicate predicate = builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS); + var predicate = builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS); assertThat(predicate).isEqualTo(QUser.user.firstname.eq("Oliver")); - List result = CollQueryFactory.from(QUser.user, Users.USERS).where(predicate).fetchResults().getResults(); + var result = CollQueryFactory.from(QUser.user, Users.USERS).where(predicate).fetchResults().getResults(); assertThat(result).containsExactly(Users.OLIVER); } @@ -124,11 +123,11 @@ class QuerydslPredicateBuilderUnitTests { values.add("address.city", "Linz"); - Predicate predicate = builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS); + var predicate = builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS); assertThat(predicate).isEqualTo(QUser.user.address.city.eq("Linz")); - List result = CollQueryFactory.from(QUser.user, Users.USERS).where(predicate).fetchResults().getResults(); + var result = CollQueryFactory.from(QUser.user, Users.USERS).where(predicate).fetchResults().getResults(); assertThat(result).containsExactly(Users.CHRISTOPH); } @@ -139,7 +138,7 @@ class QuerydslPredicateBuilderUnitTests { values.add("firstname", "rand"); values.add("lastname".toUpperCase(), "al'thor"); - Predicate predicate = builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS); + var predicate = builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS); assertThat(predicate).isEqualTo(QUser.user.firstname.eq("rand")); } @@ -149,7 +148,7 @@ class QuerydslPredicateBuilderUnitTests { values.add("lastname", null); - QuerydslBindings bindings = new QuerydslBindings(); + var bindings = new QuerydslBindings(); bindings.bind(QUser.user.lastname).firstOptional((path, value) -> value.map(path::contains)); builder.getPredicate(USER_TYPE, values, bindings); @@ -161,9 +160,9 @@ class QuerydslPredicateBuilderUnitTests { values.add("address.lonLat", "40.740337,-73.995146"); - Predicate predicate = builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS); + var predicate = builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS); - Constant constant = (Constant) ((List) getField(getField(predicate, "mixin"), "args")).get(1); + var constant = (Constant) ((List) getField(getField(predicate, "mixin"), "args")).get(1); assertThat(constant.getConstant()).isEqualTo(new Double[] { 40.740337D, -73.995146D }); } @@ -174,9 +173,9 @@ class QuerydslPredicateBuilderUnitTests { values.add("address.city", "rivers,two"); - Predicate predicate = builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS); + var predicate = builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS); - Constant constant = (Constant) ((List) getField(getField(predicate, "mixin"), "args")).get(1); + var constant = (Constant) ((List) getField(getField(predicate, "mixin"), "args")).get(1); assertThat(constant.getConstant()).isEqualTo("rivers,two"); } @@ -186,7 +185,7 @@ class QuerydslPredicateBuilderUnitTests { values.add("addresses.street", "VALUE"); - Predicate predicate = builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS); + var predicate = builder.getPredicate(USER_TYPE, values, DEFAULT_BINDINGS); assertThat(predicate).isEqualTo(QUser.user.addresses.any().street.eq("VALUE")); } @@ -196,7 +195,7 @@ class QuerydslPredicateBuilderUnitTests { values.add("specialProperty", "VALUE"); - QuerydslBindings bindings = new QuerydslBindings(); + var bindings = new QuerydslBindings(); bindings.bind(QUser.user.as(QSpecialUser.class).specialProperty)// .first(QuerydslBindingsUnitTests.ContainsBinding.INSTANCE); @@ -209,9 +208,9 @@ class QuerydslPredicateBuilderUnitTests { values.add("user.specialProperty", "VALUE"); - QUserWrapper wrapper = QUserWrapper.userWrapper; + var wrapper = QUserWrapper.userWrapper; - QuerydslBindings bindings = new QuerydslBindings(); + var bindings = new QuerydslBindings(); bindings.bind(wrapper.user.as(QSpecialUser.class).specialProperty)// .first(QuerydslBindingsUnitTests.ContainsBinding.INSTANCE); diff --git a/src/test/java/org/springframework/data/repository/cdi/CdiConfigurationIntegrationTests.java b/src/test/java/org/springframework/data/repository/cdi/CdiConfigurationIntegrationTests.java index 481244a13..1427756f2 100644 --- a/src/test/java/org/springframework/data/repository/cdi/CdiConfigurationIntegrationTests.java +++ b/src/test/java/org/springframework/data/repository/cdi/CdiConfigurationIntegrationTests.java @@ -47,7 +47,7 @@ class CdiConfigurationIntegrationTests { @Test // DATACMNS-1233 void shouldApplyImplementationPostfix() { - IsolatedComposedRepository repository = container.select(IsolatedComposedRepository.class).get(); + var repository = container.select(IsolatedComposedRepository.class).get(); assertThat(repository.getPriority()).isEqualTo(42); } diff --git a/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryBeanUnitTests.java b/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryBeanUnitTests.java index 3b0895d0b..50c0b4124 100755 --- a/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryBeanUnitTests.java +++ b/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryBeanUnitTests.java @@ -27,7 +27,6 @@ import jakarta.inject.Named; import java.io.Serializable; import java.lang.annotation.Annotation; -import java.lang.reflect.Type; import java.util.List; import java.util.Optional; import java.util.Set; @@ -97,7 +96,7 @@ class CdiRepositoryBeanUnitTests { @Test void returnsBasicMetadata() { - DummyCdiRepositoryBean bean = new DummyCdiRepositoryBean<>(NO_ANNOTATIONS, SampleRepository.class, + var bean = new DummyCdiRepositoryBean(NO_ANNOTATIONS, SampleRepository.class, beanManager); assertThat(bean.getBeanClass()).isEqualTo(SampleRepository.class); @@ -108,10 +107,10 @@ class CdiRepositoryBeanUnitTests { @Test void returnsAllImplementedTypes() { - DummyCdiRepositoryBean bean = new DummyCdiRepositoryBean<>(NO_ANNOTATIONS, SampleRepository.class, + var bean = new DummyCdiRepositoryBean(NO_ANNOTATIONS, SampleRepository.class, beanManager); - Set types = bean.getTypes(); + var types = bean.getTypes(); assertThat(types).containsExactlyInAnyOrder(SampleRepository.class, Repository.class); } @@ -119,7 +118,7 @@ class CdiRepositoryBeanUnitTests { @SuppressWarnings("unchecked") void detectsStereotypes() { - DummyCdiRepositoryBean bean = new DummyCdiRepositoryBean<>(NO_ANNOTATIONS, + var bean = new DummyCdiRepositoryBean(NO_ANNOTATIONS, StereotypedSampleRepository.class, beanManager); assertThat(bean.getStereotypes()).containsExactly(StereotypeAnnotation.class); @@ -146,9 +145,9 @@ class CdiRepositoryBeanUnitTests { @Test // DATACMNS-764, DATACMNS-1754 void passesCorrectBeanNameToTheImplementationDetector() { - CustomRepositoryImplementationDetector detector = mock(CustomRepositoryImplementationDetector.class); + var detector = mock(CustomRepositoryImplementationDetector.class); - CdiRepositoryBean bean = new CdiRepositoryBean(SINGLE_ANNOTATION, + var bean = new CdiRepositoryBean(SINGLE_ANNOTATION, SampleRepository.class, beanManager, Optional.of(detector)) { @Override @@ -160,12 +159,12 @@ class CdiRepositoryBeanUnitTests { bean.create(mock(CreationalContext.class), SampleRepository.class); - ArgumentCaptor captor = ArgumentCaptor + var captor = ArgumentCaptor .forClass(ImplementationLookupConfiguration.class); verify(detector, times(2)).detectCustomImplementation(captor.capture()); - ImplementationLookupConfiguration configuration = captor.getAllValues().get(0); + var configuration = captor.getAllValues().get(0); assertThat(configuration.getImplementationBeanName()).isEqualTo("cdiRepositoryBeanUnitTests.SampleRepositoryImpl"); assertThat(configuration.getImplementationClassName()).isEqualTo("SampleRepositoryImpl"); @@ -174,7 +173,7 @@ class CdiRepositoryBeanUnitTests { @Test // DATACMNS-1233 void appliesRepositoryConfiguration() { - DummyCdiRepositoryBean bean = new DummyCdiRepositoryBean(NO_ANNOTATIONS, + var bean = new DummyCdiRepositoryBean(NO_ANNOTATIONS, SampleRepository.class, beanManager) { @Override protected CdiRepositoryConfiguration lookupConfiguration(BeanManager beanManager, Set qualifiers) { diff --git a/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupportIntegrationTests.java b/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupportIntegrationTests.java index f87d1fd28..d9713895c 100755 --- a/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupportIntegrationTests.java +++ b/src/test/java/org/springframework/data/repository/cdi/CdiRepositoryExtensionSupportIntegrationTests.java @@ -31,7 +31,7 @@ abstract class CdiRepositoryExtensionSupportIntegrationTests { assertThat(getBean(SampleRepository.class)).isNotNull(); - RepositoryClient client = getBean(RepositoryClient.class); + var client = getBean(RepositoryClient.class); assertThat(client.repository).isNotNull(); } @@ -40,7 +40,7 @@ abstract class CdiRepositoryExtensionSupportIntegrationTests { assertThat(getBean(AnotherRepository.class)).isNotNull(); - RepositoryClient client = getBean(RepositoryClient.class); + var client = getBean(RepositoryClient.class); assertThat(client.anotherRepository).isNotNull(); // this will always return 0 since it's a mock diff --git a/src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java b/src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java index 7fe151a18..fb35ed994 100644 --- a/src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java +++ b/src/test/java/org/springframework/data/repository/cdi/DummyCdiExtension.java @@ -25,7 +25,6 @@ import java.lang.annotation.Annotation; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.HashMap; -import java.util.Map.Entry; import java.util.Optional; import java.util.Set; @@ -49,9 +48,9 @@ public class DummyCdiExtension extends CdiRepositoryExtensionSupport { afterBeanDiscovery.addContext(new MyCustomScope()); - for (Entry, Set> type : getRepositoryTypes()) { + for (var type : getRepositoryTypes()) { - DummyCdiRepositoryBean bean = new DummyCdiRepositoryBean(type.getValue(), type.getKey(), beanManager, + var bean = new DummyCdiRepositoryBean(type.getValue(), type.getKey(), beanManager, Optional.of(getCustomImplementationDetector())); registerBean(bean); afterBeanDiscovery.addBean(bean); @@ -76,7 +75,7 @@ public class DummyCdiExtension extends CdiRepositoryExtensionSupport { @Override protected T create(CreationalContext creationalContext, Class repositoryType) { - T mock = Mockito.mock(repositoryType); + var mock = Mockito.mock(repositoryType); return create(() -> new DummyRepositoryFactory(mock), repositoryType); } diff --git a/src/test/java/org/springframework/data/repository/cdi/RepositoryFragmentsIntegrationTests.java b/src/test/java/org/springframework/data/repository/cdi/RepositoryFragmentsIntegrationTests.java index c8c3f7ac4..999006788 100644 --- a/src/test/java/org/springframework/data/repository/cdi/RepositoryFragmentsIntegrationTests.java +++ b/src/test/java/org/springframework/data/repository/cdi/RepositoryFragmentsIntegrationTests.java @@ -50,9 +50,9 @@ class RepositoryFragmentsIntegrationTests { @Test // DATACMNS-1233 void shouldInvokeCustomImplementationLast() { - ComposedRepository repository = getBean(ComposedRepository.class); - ComposedRepositoryImpl customImplementation = getBean(ComposedRepositoryImpl.class); - AnotherFragmentInterfaceImpl shadowed = getBean(AnotherFragmentInterfaceImpl.class); + var repository = getBean(ComposedRepository.class); + var customImplementation = getBean(ComposedRepositoryImpl.class); + var shadowed = getBean(AnotherFragmentInterfaceImpl.class); assertThat(repository.getShadowed()).isEqualTo(2); assertThat(customImplementation.getShadowed()).isEqualTo(1); @@ -62,9 +62,9 @@ class RepositoryFragmentsIntegrationTests { @Test // DATACMNS-1233 void shouldRespectInterfaceOrder() { - ComposedRepository repository = getBean(ComposedRepository.class); - FragmentInterfaceImpl fragment = getBean(FragmentInterfaceImpl.class); - AnotherFragmentInterfaceImpl shadowed = getBean(AnotherFragmentInterfaceImpl.class); + var repository = getBean(ComposedRepository.class); + var fragment = getBean(FragmentInterfaceImpl.class); + var shadowed = getBean(AnotherFragmentInterfaceImpl.class); assertThat(repository.getPriority()).isEqualTo(1); assertThat(fragment.getPriority()).isEqualTo(1); @@ -74,7 +74,7 @@ class RepositoryFragmentsIntegrationTests { @Test // DATACMNS-1754 void shouldFindCustomImplementationForNestedRepository() { - NestedRepository repository = getBean(NestedRepository.class); + var repository = getBean(NestedRepository.class); assertThat(repository.getCustom()).isEqualTo("CustomImpl"); } @@ -82,8 +82,8 @@ class RepositoryFragmentsIntegrationTests { @Test // DATACMNS-1754 void shouldFindImplementationForNestedRepositoryFragment() { - ComposedRepository repository = getBean(ComposedRepository.class); - RepositoryFragments.NestedFragmentInterfaceImpl fragment = getBean( + var repository = getBean(ComposedRepository.class); + var fragment = getBean( RepositoryFragments.NestedFragmentInterfaceImpl.class); assertThat(repository.getKey()).isEqualTo("NestedFragmentImpl"); diff --git a/src/test/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSourceUnitTests.java b/src/test/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSourceUnitTests.java index 33560af5e..342182a90 100755 --- a/src/test/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSourceUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/AnnotationRepositoryConfigurationSourceUnitTests.java @@ -23,7 +23,7 @@ import java.lang.annotation.RetentionPolicy; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.config.BeanDefinition; + import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.Primary; @@ -34,7 +34,6 @@ import org.springframework.core.io.ResourceLoader; import org.springframework.core.type.AnnotationMetadata; import org.springframework.core.type.StandardAnnotationMetadata; import org.springframework.data.repository.PagingAndSortingRepository; -import org.springframework.data.util.Streamable; /** * Unit tests for {@link AnnotationRepositoryConfigurationSource}. @@ -72,7 +71,7 @@ class AnnotationRepositoryConfigurationSourceUnitTests { @Test // DATACMNS-47, DATACMNS-102 void evaluatesExcludeFiltersCorrectly() { - Streamable candidates = source.getCandidates(new DefaultResourceLoader()); + var candidates = source.getCandidates(new DefaultResourceLoader()); assertThat(candidates).extracting("beanClassName") .contains(MyRepository.class.getName(), ComposedRepository.class.getName()) @@ -82,7 +81,7 @@ class AnnotationRepositoryConfigurationSourceUnitTests { @Test // DATACMNS-47 void defaultsToPackageOfAnnotatedClass() { - AnnotationRepositoryConfigurationSource source = getConfigSource(DefaultConfiguration.class); + var source = getConfigSource(DefaultConfiguration.class); Iterable packages = source.getBasePackages(); assertThat(packages).contains(DefaultConfiguration.class.getPackage().getName()); @@ -92,7 +91,7 @@ class AnnotationRepositoryConfigurationSourceUnitTests { @Test // DATACMNS-47 void returnsConfiguredBasePackage() { - AnnotationRepositoryConfigurationSource source = getConfigSource(DefaultConfigurationWithBasePackage.class); + var source = getConfigSource(DefaultConfigurationWithBasePackage.class); assertThat(source.getBasePackages()).contains("foo"); } @@ -100,7 +99,7 @@ class AnnotationRepositoryConfigurationSourceUnitTests { @Test // DATACMNS-90 void returnsConsiderNestedRepositories() { - AnnotationRepositoryConfigurationSource source = getConfigSource(DefaultConfigurationWithNestedRepositories.class); + var source = getConfigSource(DefaultConfigurationWithNestedRepositories.class); assertThat(source.shouldConsiderNestedRepositories()).isTrue(); } @@ -114,7 +113,7 @@ class AnnotationRepositoryConfigurationSourceUnitTests { @Test // DATACMNS-502 void returnsEmptyStringForBasePackage() throws Exception { - StandardAnnotationMetadata metadata = new StandardAnnotationMetadata( + var metadata = new StandardAnnotationMetadata( getClass().getClassLoader().loadClass("TypeInDefaultPackage"), true); RepositoryConfigurationSource configurationSource = new AnnotationRepositoryConfigurationSource(metadata, EnableRepositories.class, resourceLoader, environment, registry); diff --git a/src/test/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetectorUnitTests.java b/src/test/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetectorUnitTests.java index c7f83f775..a914ac093 100644 --- a/src/test/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetectorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/CustomRepositoryImplementationDetectorUnitTests.java @@ -19,12 +19,10 @@ import static org.assertj.core.api.Assertions.*; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; -import java.util.Optional; - import org.junit.jupiter.api.Test; import org.mockito.Answers; + import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.core.env.Environment; import org.springframework.core.io.DefaultResourceLoader; import org.springframework.core.io.ResourceLoader; @@ -60,12 +58,12 @@ class CustomRepositoryImplementationDetectorUnitTests { @Test // DATACMNS-764, DATACMNS-1371 void returnsNullWhenNoImplementationFound() { - RepositoryConfiguration mock = mock(RepositoryConfiguration.class); + var mock = mock(RepositoryConfiguration.class); - ImplementationLookupConfiguration lookup = configuration + var lookup = configuration .forRepositoryConfiguration(configFor(NoImplementationRepository.class)); - Optional beanDefinition = detector.detectCustomImplementation(lookup); + var beanDefinition = detector.detectCustomImplementation(lookup); assertThat(beanDefinition).isEmpty(); } @@ -73,10 +71,10 @@ class CustomRepositoryImplementationDetectorUnitTests { @Test // DATACMNS-764, DATACMNS-1371 void returnsBeanDefinitionWhenOneImplementationIsFound() { - ImplementationLookupConfiguration lookup = configuration + var lookup = configuration .forRepositoryConfiguration(configFor(SingleSampleRepository.class)); - Optional beanDefinition = detector.detectCustomImplementation(lookup); + var beanDefinition = detector.detectCustomImplementation(lookup); assertThat(beanDefinition).hasValueSatisfying( it -> assertThat(it.getBeanClassName()).isEqualTo(SingleSampleRepositoryTestImpl.class.getName())); @@ -88,12 +86,12 @@ class CustomRepositoryImplementationDetectorUnitTests { when(configuration.generateBeanName(any())).then(it -> { BeanDefinition definition = it.getArgument(0); - String className = definition.getBeanClassName(); + var className = definition.getBeanClassName(); return className.contains("$First$") ? "canonicalSampleRepositoryTestImpl" : "otherBeanName"; }); - ImplementationLookupConfiguration lookup = configuration + var lookup = configuration .forRepositoryConfiguration(configFor(CanonicalSampleRepository.class)); assertThat(detector.detectCustomImplementation(lookup)) // @@ -106,7 +104,7 @@ class CustomRepositoryImplementationDetectorUnitTests { assertThatIllegalStateException().isThrownBy(() -> { - ImplementationLookupConfiguration lookup = mock(ImplementationLookupConfiguration.class); + var lookup = mock(ImplementationLookupConfiguration.class); when(lookup.hasMatchingBeanName(any())).thenReturn(true); when(lookup.matches(any())).thenReturn(true); diff --git a/src/test/java/org/springframework/data/repository/config/DefaultImplementationLookupConfigurationUnitTests.java b/src/test/java/org/springframework/data/repository/config/DefaultImplementationLookupConfigurationUnitTests.java index 388bd99d8..5f3d8aa54 100644 --- a/src/test/java/org/springframework/data/repository/config/DefaultImplementationLookupConfigurationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/DefaultImplementationLookupConfigurationUnitTests.java @@ -31,7 +31,7 @@ class DefaultImplementationLookupConfigurationUnitTests { @Test // DATACMNS-1439 void shouldConsiderBeanNameDecapitalization() { - ImplementationDetectionConfiguration idcMock = mock(ImplementationDetectionConfiguration.class); + var idcMock = mock(ImplementationDetectionConfiguration.class); when(idcMock.getImplementationPostfix()).thenReturn("Impl"); assertThat(getImplementationBeanName(idcMock, "com.acme.UDPRepository")).isEqualTo("UDPRepositoryImpl"); @@ -41,10 +41,10 @@ class DefaultImplementationLookupConfigurationUnitTests { @Test // DATACMNS-1754 void shouldUseSimpleClassNameWhenDefiningImplementationNames() { - ImplementationDetectionConfiguration idcMock = mock(ImplementationDetectionConfiguration.class); + var idcMock = mock(ImplementationDetectionConfiguration.class); when(idcMock.getImplementationPostfix()).thenReturn("Impl"); - DefaultImplementationLookupConfiguration lookupConfiguration = new DefaultImplementationLookupConfiguration(idcMock, + var lookupConfiguration = new DefaultImplementationLookupConfiguration(idcMock, "com.acme.Repositories$NestedRepository"); assertThat(lookupConfiguration.getImplementationBeanName()).isEqualTo("repositories.NestedRepositoryImpl"); assertThat(lookupConfiguration.getImplementationClassName()).isEqualTo("NestedRepositoryImpl"); @@ -52,7 +52,7 @@ class DefaultImplementationLookupConfigurationUnitTests { private static String getImplementationBeanName(ImplementationDetectionConfiguration idcMock, String interfaceName) { - DefaultImplementationLookupConfiguration configuration = new DefaultImplementationLookupConfiguration(idcMock, + var configuration = new DefaultImplementationLookupConfiguration(idcMock, interfaceName); return configuration.getImplementationBeanName(); } diff --git a/src/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java b/src/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java index 83e336f86..305999465 100755 --- a/src/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/DefaultRepositoryConfigurationUnitTests.java @@ -86,7 +86,7 @@ class DefaultRepositoryConfigurationUnitTests { private DefaultRepositoryConfiguration getConfiguration( RepositoryConfigurationSource source, String repositoryInterfaceName) { - RootBeanDefinition beanDefinition = createBeanDefinition(repositoryInterfaceName); + var beanDefinition = createBeanDefinition(repositoryInterfaceName); return new DefaultRepositoryConfiguration<>(source, beanDefinition, extension); } @@ -98,9 +98,9 @@ class DefaultRepositoryConfigurationUnitTests { private static RootBeanDefinition createBeanDefinition(String repositoryInterfaceName) { - RootBeanDefinition beanDefinition = new RootBeanDefinition(repositoryInterfaceName); + var beanDefinition = new RootBeanDefinition(repositoryInterfaceName); - ConstructorArgumentValues constructorArgumentValues = new ConstructorArgumentValues(); + var constructorArgumentValues = new ConstructorArgumentValues(); constructorArgumentValues.addGenericArgumentValue(MyRepository.class); beanDefinition.setConstructorArgumentValues(constructorArgumentValues); diff --git a/src/test/java/org/springframework/data/repository/config/ImplementationDetectionConfigurationUnitTests.java b/src/test/java/org/springframework/data/repository/config/ImplementationDetectionConfigurationUnitTests.java index 803231836..060a5dbbc 100644 --- a/src/test/java/org/springframework/data/repository/config/ImplementationDetectionConfigurationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/ImplementationDetectionConfigurationUnitTests.java @@ -41,7 +41,7 @@ class ImplementationDetectionConfigurationUnitTests { private static String getBeanName(String className) { - MockImplementationDetectionConfiguration configuration = new MockImplementationDetectionConfiguration(); + var configuration = new MockImplementationDetectionConfiguration(); return configuration.generateBeanName(BeanDefinitionBuilder.rootBeanDefinition(className).getBeanDefinition()); } diff --git a/src/test/java/org/springframework/data/repository/config/PrimaryRepositoryIntegrationTests.java b/src/test/java/org/springframework/data/repository/config/PrimaryRepositoryIntegrationTests.java index 61bccb78e..76089da99 100644 --- a/src/test/java/org/springframework/data/repository/config/PrimaryRepositoryIntegrationTests.java +++ b/src/test/java/org/springframework/data/repository/config/PrimaryRepositoryIntegrationTests.java @@ -35,7 +35,7 @@ class PrimaryRepositoryIntegrationTests { @Test // DATACMNS-1591 void returnsPrimaryInstance() { - AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(Config.class); + var context = new AnnotationConfigApplicationContext(Config.class); // Two beans available but FirstRepository is the primary one assertThatCode(() -> context.getBean(FirstRepository.class)).doesNotThrowAnyException(); diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportIntegrationTests.java b/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportIntegrationTests.java index a14cf9dfc..2cdadceea 100755 --- a/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportIntegrationTests.java +++ b/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportIntegrationTests.java @@ -21,7 +21,6 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -80,7 +79,7 @@ class RepositoryBeanDefinitionRegistrarSupportIntegrationTests { @Test // DATACMNS-47 void beanDefinitionSourceIsSetForJavaConfigScannedBeans() { - BeanDefinition definition = context.getBeanDefinition("myRepository"); + var definition = context.getBeanDefinition("myRepository"); assertThat(definition.getSource()).isNotNull(); } @@ -97,7 +96,7 @@ class RepositoryBeanDefinitionRegistrarSupportIntegrationTests { @Test // DATACMNS-1620 void registeredBeanDefinitionsContainHumanReadableResourceDescription() { - BeanDefinition definition = context.getBeanDefinition("myRepository"); + var definition = context.getBeanDefinition("myRepository"); assertThat(definition.getResourceDescription()) // .contains(MyRepository.class.getName()) // diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java b/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java index cb4f7f316..7f440f017 100755 --- a/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/RepositoryBeanDefinitionRegistrarSupportUnitTests.java @@ -81,7 +81,7 @@ class RepositoryBeanDefinitionRegistrarSupportUnitTests { @Test // DATACMNS-1754 void registersBeanDefinitionForNestedRepositories() { - AnnotationMetadata metadata = AnnotationMetadata.introspect(NestedRepositoriesConfiguration.class); + var metadata = AnnotationMetadata.introspect(NestedRepositoriesConfiguration.class); registrar.registerBeanDefinitions(metadata, registry); @@ -118,7 +118,7 @@ class RepositoryBeanDefinitionRegistrarSupportUnitTests { AnnotationMetadata metadata = new StandardAnnotationMetadata(SampleConfiguration.class, true); environment.setActiveProfiles("profile"); - DummyRegistrar registrar = new DummyRegistrar(); + var registrar = new DummyRegistrar(); registrar.setEnvironment(environment); registrar.registerBeanDefinitions(metadata, registry); @@ -131,7 +131,7 @@ class RepositoryBeanDefinitionRegistrarSupportUnitTests { AnnotationMetadata metadata = new StandardAnnotationMetadata(SampleConfiguration.class, true); BeanNameGenerator delegate = new AnnotationBeanNameGenerator(); - DummyRegistrar registrar = new DummyRegistrar(); + var registrar = new DummyRegistrar(); registrar.setEnvironment(environment); registrar.registerBeanDefinitions(metadata, registry, (definition, registry) -> delegate.generateBeanName(definition, registry).concat("Hello")); @@ -141,14 +141,14 @@ class RepositoryBeanDefinitionRegistrarSupportUnitTests { private void assertBeanDefinitionRegisteredFor(String... names) { - for (String name : names) { + for (var name : names) { verify(registry, times(1)).registerBeanDefinition(eq(name), any(BeanDefinition.class)); } } private void assertNoBeanDefinitionRegisteredFor(String... names) { - for (String name : names) { + for (var name : names) { verify(registry, times(0)).registerBeanDefinition(eq(name), any(BeanDefinition.class)); } } diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryBeanNameGeneratorUnitTests.java b/src/test/java/org/springframework/data/repository/config/RepositoryBeanNameGeneratorUnitTests.java index fae71069d..641a44f7a 100755 --- a/src/test/java/org/springframework/data/repository/config/RepositoryBeanNameGeneratorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/RepositoryBeanNameGeneratorUnitTests.java @@ -31,7 +31,6 @@ import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.beans.factory.support.SimpleBeanDefinitionRegistry; import org.springframework.context.annotation.AnnotationBeanNameGenerator; import org.springframework.context.annotation.ScannedGenericBeanDefinition; -import org.springframework.core.type.classreading.MetadataReader; import org.springframework.core.type.classreading.MetadataReaderFactory; import org.springframework.core.type.classreading.SimpleMetadataReaderFactory; import org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport; @@ -71,7 +70,7 @@ class RepositoryBeanNameGeneratorUnitTests { void usesClassNameOfScannedBeanDefinition() throws IOException { MetadataReaderFactory factory = new SimpleMetadataReaderFactory(); - MetadataReader reader = factory.getMetadataReader(SomeImplementation.class.getName()); + var reader = factory.getMetadataReader(SomeImplementation.class.getName()); BeanDefinition definition = new ScannedGenericBeanDefinition(reader); @@ -88,7 +87,7 @@ class RepositoryBeanNameGeneratorUnitTests { private BeanDefinition getBeanDefinitionFor(Class repositoryInterface) { - BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(RepositoryFactoryBeanSupport.class); + var builder = BeanDefinitionBuilder.genericBeanDefinition(RepositoryFactoryBeanSupport.class); builder.addConstructorArgValue(repositoryInterface.getName()); return builder.getBeanDefinition(); } diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryComponentProviderUnitTests.java b/src/test/java/org/springframework/data/repository/config/RepositoryComponentProviderUnitTests.java index 78ec54b13..e383da700 100755 --- a/src/test/java/org/springframework/data/repository/config/RepositoryComponentProviderUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/RepositoryComponentProviderUnitTests.java @@ -20,7 +20,6 @@ import static org.mockito.Mockito.*; import java.util.Collections; import java.util.List; -import java.util.Set; import org.junit.jupiter.api.Test; @@ -45,8 +44,8 @@ class RepositoryComponentProviderUnitTests { @Test void findsAnnotatedRepositoryInterface() { - RepositoryComponentProvider provider = new RepositoryComponentProvider(Collections.emptyList(), registry); - Set components = provider.findCandidateComponents("org.springframework.data.repository.sample"); + var provider = new RepositoryComponentProvider(Collections.emptyList(), registry); + var components = provider.findCandidateComponents("org.springframework.data.repository.sample"); assertThat(components).hasSize(4); assertThat(components).extracting(BeanDefinition::getBeanClassName) @@ -58,8 +57,8 @@ class RepositoryComponentProviderUnitTests { List filters = Collections.singletonList(new AssignableTypeFilter(MyOtherRepository.class)); - RepositoryComponentProvider provider = new RepositoryComponentProvider(filters, registry); - Set components = provider.findCandidateComponents("org.springframework.data.repository"); + var provider = new RepositoryComponentProvider(filters, registry); + var components = provider.findCandidateComponents("org.springframework.data.repository"); assertThat(components).hasSize(1); assertThat(components).extracting(BeanDefinition::getBeanClassName).contains(MyOtherRepository.class.getName()); @@ -68,11 +67,11 @@ class RepositoryComponentProviderUnitTests { @Test // DATACMNS-90 void shouldConsiderNestedRepositoryInterfacesIfEnabled() { - RepositoryComponentProvider provider = new RepositoryComponentProvider(Collections.emptyList(), registry); + var provider = new RepositoryComponentProvider(Collections.emptyList(), registry); provider.setConsiderNestedRepositoryInterfaces(true); - Set components = provider.findCandidateComponents("org.springframework.data.repository.config"); - String nestedRepositoryClassName = "org.springframework.data.repository.config.RepositoryComponentProviderUnitTests$MyNestedRepository"; + var components = provider.findCandidateComponents("org.springframework.data.repository.config"); + var nestedRepositoryClassName = "org.springframework.data.repository.config.RepositoryComponentProviderUnitTests$MyNestedRepository"; assertThat(components.size()).isGreaterThanOrEqualTo(1); assertThat(components).extracting(BeanDefinition::getBeanClassName).contains(nestedRepositoryClassName); @@ -87,7 +86,7 @@ class RepositoryComponentProviderUnitTests { @Test // DATACMNS-1098 void exposesBeanDefinitionRegistry() { - RepositoryComponentProvider provider = new RepositoryComponentProvider(Collections.emptyList(), registry); + var provider = new RepositoryComponentProvider(Collections.emptyList(), registry); assertThat(provider.getRegistry()).isEqualTo(registry); } diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java b/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java index 47881af85..0d11f4358 100644 --- a/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationDelegateUnitTests.java @@ -25,11 +25,8 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoSettings; import org.mockito.quality.Strictness; -import org.springframework.aop.TargetSource; import org.springframework.aop.framework.Advised; import org.springframework.beans.factory.ListableBeanFactory; -import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.beans.factory.parsing.BeanComponentDefinition; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.ComponentScan.Filter; @@ -37,7 +34,6 @@ import org.springframework.context.annotation.FilterType; import org.springframework.context.support.GenericApplicationContext; import org.springframework.core.env.StandardEnvironment; import org.springframework.core.metrics.ApplicationStartup; -import org.springframework.core.metrics.StartupStep; import org.springframework.core.type.StandardAnnotationMetadata; import org.springframework.data.repository.config.RepositoryConfigurationDelegate.LazyRepositoryInjectionPointResolver; import org.springframework.data.repository.sample.AddressRepository; @@ -59,18 +55,18 @@ class RepositoryConfigurationDelegateUnitTests { @Test // DATACMNS-892 void registersRepositoryBeanNameAsAttribute() { - StandardEnvironment environment = new StandardEnvironment(); - GenericApplicationContext context = new GenericApplicationContext(); + var environment = new StandardEnvironment(); + var context = new GenericApplicationContext(); RepositoryConfigurationSource configSource = new AnnotationRepositoryConfigurationSource( new StandardAnnotationMetadata(TestConfig.class, true), EnableRepositories.class, context, environment, context.getDefaultListableBeanFactory()); - RepositoryConfigurationDelegate delegate = new RepositoryConfigurationDelegate(configSource, context, environment); + var delegate = new RepositoryConfigurationDelegate(configSource, context, environment); - for (BeanComponentDefinition definition : delegate.registerRepositoriesIn(context, extension)) { + for (var definition : delegate.registerRepositoriesIn(context, extension)) { - BeanDefinition beanDefinition = definition.getBeanDefinition(); + var beanDefinition = definition.getBeanDefinition(); assertThat(beanDefinition.getAttribute(RepositoryConfigurationDelegate.FACTORY_BEAN_OBJECT_TYPE).toString()) .endsWith("Repository"); @@ -85,7 +81,7 @@ class RepositoryConfigurationDelegateUnitTests { @Test // DATACMNS-1368 void registersDeferredRepositoryInitializationListener() { - ListableBeanFactory beanFactory = assertLazyRepositoryBeanSetup(DeferredConfig.class); + var beanFactory = assertLazyRepositoryBeanSetup(DeferredConfig.class); assertThat(beanFactory.getBeanNamesForType(DeferredRepositoryInitializationListener.class)).isNotEmpty(); @@ -93,18 +89,18 @@ class RepositoryConfigurationDelegateUnitTests { private static ListableBeanFactory assertLazyRepositoryBeanSetup(Class configClass) { - StandardEnvironment environment = new StandardEnvironment(); - AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(configClass); + var environment = new StandardEnvironment(); + var context = new AnnotationConfigApplicationContext(configClass); assertThat(context.getDefaultListableBeanFactory().getAutowireCandidateResolver()) .isInstanceOf(LazyRepositoryInjectionPointResolver.class); - AddressRepositoryClient client = context.getBean(AddressRepositoryClient.class); - AddressRepository repository = client.getRepository(); + var client = context.getBean(AddressRepositoryClient.class); + var repository = client.getRepository(); assertThat(Advised.class.isInstance(repository)).isTrue(); - TargetSource targetSource = Advised.class.cast(repository).getTargetSource(); + var targetSource = Advised.class.cast(repository).getTargetSource(); assertThat(targetSource).isNotNull(); return context.getDefaultListableBeanFactory(); @@ -113,17 +109,17 @@ class RepositoryConfigurationDelegateUnitTests { @Test // DATACMNS-1832 void writesRepositoryScanningMetrics() { - ApplicationStartup startup = Mockito.spy(ApplicationStartup.DEFAULT); + var startup = Mockito.spy(ApplicationStartup.DEFAULT); - StandardEnvironment environment = new StandardEnvironment(); - GenericApplicationContext context = new GenericApplicationContext(); + var environment = new StandardEnvironment(); + var context = new GenericApplicationContext(); context.setApplicationStartup(startup); RepositoryConfigurationSource configSource = new AnnotationRepositoryConfigurationSource( new StandardAnnotationMetadata(TestConfig.class, true), EnableRepositories.class, context, environment, context.getDefaultListableBeanFactory()); - RepositoryConfigurationDelegate delegate = new RepositoryConfigurationDelegate(configSource, context, environment); + var delegate = new RepositoryConfigurationDelegate(configSource, context, environment); delegate.registerRepositoriesIn(context, extension); diff --git a/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupportUnitTests.java b/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupportUnitTests.java index a95dfb91d..d21600425 100755 --- a/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupportUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/RepositoryConfigurationExtensionSupportUnitTests.java @@ -23,6 +23,7 @@ import java.util.Collection; import java.util.Collections; import org.junit.jupiter.api.Test; + import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.context.annotation.FilterType; @@ -36,7 +37,6 @@ import org.springframework.core.type.StandardAnnotationMetadata; import org.springframework.dao.InvalidDataAccessApiUsageException; import org.springframework.data.repository.CrudRepository; import org.springframework.data.repository.Repository; -import org.springframework.data.repository.core.RepositoryMetadata; import org.springframework.data.repository.core.support.AbstractRepositoryMetadata; import org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport; import org.springframework.data.repository.core.support.RepositoryFactorySupport; @@ -54,21 +54,21 @@ class RepositoryConfigurationExtensionSupportUnitTests { @Test // DATACMNS-526 void doesNotConsiderRepositoryForPlainTypeStrictMatch() { - RepositoryMetadata metadata = AbstractRepositoryMetadata.getMetadata(PlainTypeRepository.class); + var metadata = AbstractRepositoryMetadata.getMetadata(PlainTypeRepository.class); assertThat(extension.isStrictRepositoryCandidate(metadata)).isFalse(); } @Test // DATACMNS-526 void considersRepositoryWithAnnotatedTypeStrictMatch() { - RepositoryMetadata metadata = AbstractRepositoryMetadata.getMetadata(AnnotatedTypeRepository.class); + var metadata = AbstractRepositoryMetadata.getMetadata(AnnotatedTypeRepository.class); assertThat(extension.isStrictRepositoryCandidate(metadata)).isTrue(); } @Test // DATACMNS-526 void considersRepositoryInterfaceExtendingStoreInterfaceStrictMatch() { - RepositoryMetadata metadata = AbstractRepositoryMetadata.getMetadata(ExtendingInterface.class); + var metadata = AbstractRepositoryMetadata.getMetadata(ExtendingInterface.class); assertThat(extension.isStrictRepositoryCandidate(metadata)).isTrue(); } @@ -78,7 +78,7 @@ class RepositoryConfigurationExtensionSupportUnitTests { AnnotationMetadata annotationMetadata = new StandardAnnotationMetadata(ReactiveConfiguration.class, true); Environment environment = new StandardEnvironment(); ResourceLoader resourceLoader = new DefaultResourceLoader(); - BeanDefinitionRegistry registry = mock(BeanDefinitionRegistry.class); + var registry = mock(BeanDefinitionRegistry.class); RepositoryConfigurationSource source = new AnnotationRepositoryConfigurationSource(annotationMetadata, EnableRepositories.class, resourceLoader, environment, registry); @@ -91,8 +91,8 @@ class RepositoryConfigurationExtensionSupportUnitTests { @Test // DATACMNS-1596 void doesNotClaimEntityIfNoIdentifyingAnnotationsAreExposed() { - NonIdentifyingConfigurationExtension extension = new NonIdentifyingConfigurationExtension(); - RepositoryMetadata metadata = AbstractRepositoryMetadata.getMetadata(AnnotatedTypeRepository.class); + var extension = new NonIdentifyingConfigurationExtension(); + var metadata = AbstractRepositoryMetadata.getMetadata(AnnotatedTypeRepository.class); assertThat(extension.isStrictRepositoryCandidate(metadata)).isFalse(); } diff --git a/src/test/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParserIntegrationTests.java b/src/test/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParserIntegrationTests.java index 807286586..48380925a 100755 --- a/src/test/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParserIntegrationTests.java +++ b/src/test/java/org/springframework/data/repository/config/ResourceReaderRepositoryPopulatorBeanDefinitionParserIntegrationTests.java @@ -20,7 +20,7 @@ import static org.assertj.core.api.Assertions.*; import java.util.List; import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.config.BeanDefinition; + import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.beans.factory.xml.XmlBeanDefinitionReader; import org.springframework.core.io.ClassPathResource; @@ -41,51 +41,51 @@ class ResourceReaderRepositoryPopulatorBeanDefinitionParserIntegrationTests { @Test // DATACMNS-333 void registersJackson2InitializerCorrectly() { - DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); - XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(beanFactory); + var beanFactory = new DefaultListableBeanFactory(); + var reader = new XmlBeanDefinitionReader(beanFactory); reader.loadBeanDefinitions(getPopulatorResource()); - BeanDefinition definition = beanFactory.getBeanDefinition("jackson2-populator"); + var definition = beanFactory.getBeanDefinition("jackson2-populator"); assertThat(definition).isNotNull(); - Object bean = beanFactory.getBean("jackson2-populator"); + var bean = beanFactory.getBean("jackson2-populator"); assertThat(bean).isInstanceOf(ResourceReaderRepositoryPopulator.class); - Object resourceReader = ReflectionTestUtils.getField(bean, "reader"); + var resourceReader = ReflectionTestUtils.getField(bean, "reader"); assertThat(resourceReader).isInstanceOf(Jackson2ResourceReader.class); - Object resources = ReflectionTestUtils.getField(bean, "resources"); + var resources = ReflectionTestUtils.getField(bean, "resources"); assertIsListOfClasspathResourcesWithPath(resources, "org/springframework/data/repository/init/data.json"); } @Test // DATACMNS-58 void registersXmlInitializerCorrectly() { - DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); - XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(beanFactory); + var beanFactory = new DefaultListableBeanFactory(); + var reader = new XmlBeanDefinitionReader(beanFactory); reader.loadBeanDefinitions(getPopulatorResource()); - BeanDefinition definition = beanFactory.getBeanDefinition("xml-populator"); + var definition = beanFactory.getBeanDefinition("xml-populator"); assertThat(definition).isNotNull(); - Object bean = beanFactory.getBean("xml-populator"); + var bean = beanFactory.getBean("xml-populator"); assertThat(bean).isInstanceOf(ResourceReaderRepositoryPopulator.class); - Object resourceReader = ReflectionTestUtils.getField(bean, "reader"); + var resourceReader = ReflectionTestUtils.getField(bean, "reader"); assertThat(resourceReader).isInstanceOf(UnmarshallingResourceReader.class); - Object unmarshaller = ReflectionTestUtils.getField(resourceReader, "unmarshaller"); + var unmarshaller = ReflectionTestUtils.getField(resourceReader, "unmarshaller"); assertThat(unmarshaller).isInstanceOf(Jaxb2Marshaller.class); - Object resources = ReflectionTestUtils.getField(bean, "resources"); + var resources = ReflectionTestUtils.getField(bean, "resources"); assertIsListOfClasspathResourcesWithPath(resources, "org/springframework/data/repository/init/data.xml"); } private static void assertIsListOfClasspathResourcesWithPath(Object source, String path) { assertThat(source).isInstanceOf(List.class); - List list = (List) source; + var list = (List) source; assertThat(list).isNotEmpty(); - Object element = list.get(0); + var element = list.get(0); assertThat(element).isInstanceOf(ClassPathResource.class); - ClassPathResource resource = (ClassPathResource) element; + var resource = (ClassPathResource) element; assertThat(resource.getPath()).isEqualTo(path); } diff --git a/src/test/java/org/springframework/data/repository/config/SelectionSetUnitTests.java b/src/test/java/org/springframework/data/repository/config/SelectionSetUnitTests.java index 11e52e9dd..7df512139 100644 --- a/src/test/java/org/springframework/data/repository/config/SelectionSetUnitTests.java +++ b/src/test/java/org/springframework/data/repository/config/SelectionSetUnitTests.java @@ -65,7 +65,7 @@ class SelectionSetUnitTests { @Test // DATACMNS-764 void returnsUniqueResultAfterFilter() { - SelectionSet selection = SelectionSet.of(asList("one", "two", "three")) + var selection = SelectionSet.of(asList("one", "two", "three")) .filterIfNecessary(s -> s.contains("w")); assertThat(selection.uniqueResult()).hasValue("two"); @@ -74,7 +74,7 @@ class SelectionSetUnitTests { @Test // DATACMNS-764 void ignoresFilterWhenResultIsAlreadyUnique() { - SelectionSet selection = SelectionSet.of(asList("one")).filterIfNecessary(s -> s.contains("w")); + var selection = SelectionSet.of(asList("one")).filterIfNecessary(s -> s.contains("w")); assertThat(selection.uniqueResult()).hasValue("one"); } diff --git a/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java index 2f0bff2ee..e89dc9555 100755 --- a/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/AbstractEntityInformationUnitTests.java @@ -52,10 +52,10 @@ class AbstractEntityInformationUnitTests { @Test // DATACMNS-357 void detectsNewStateForPrimitiveIds() { - CustomEntityInformation fooEn = new CustomEntityInformation<>( + var fooEn = new CustomEntityInformation( PrimitiveIdEntity.class); - PrimitiveIdEntity entity = new PrimitiveIdEntity(); + var entity = new PrimitiveIdEntity(); assertThat(fooEn.isNew(entity)).isTrue(); entity.id = 5L; @@ -65,10 +65,10 @@ class AbstractEntityInformationUnitTests { @Test // DATACMNS-357 void detectsNewStateForPrimitiveWrapperIds() { - CustomEntityInformation fooEn = new CustomEntityInformation<>( + var fooEn = new CustomEntityInformation( PrimitiveWrapperIdEntity.class); - PrimitiveWrapperIdEntity entity = new PrimitiveWrapperIdEntity(); + var entity = new PrimitiveWrapperIdEntity(); assertThat(fooEn.isNew(entity)).isTrue(); entity.id = 5L; diff --git a/src/test/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadataUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadataUnitTests.java index 663542761..d10c60928 100755 --- a/src/test/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadataUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/AbstractRepositoryMetadataUnitTests.java @@ -18,11 +18,11 @@ package org.springframework.data.repository.core.support; import static org.assertj.core.api.Assertions.*; import java.io.Serializable; -import java.lang.reflect.Method; import java.util.List; import java.util.Map; import org.junit.jupiter.api.Test; + import org.springframework.core.ResolvableType; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; @@ -44,14 +44,14 @@ class AbstractRepositoryMetadataUnitTests { void discoversSimpleReturnTypeCorrectly() throws Exception { RepositoryMetadata metadata = new DummyRepositoryMetadata(UserRepository.class); - Method method = UserRepository.class.getMethod("findSingle"); + var method = UserRepository.class.getMethod("findSingle"); assertThat(metadata.getReturnedDomainClass(method)).isEqualTo(User.class); } @Test // DATACMNS-98 void resolvesTypeParameterReturnType() throws Exception { RepositoryMetadata metadata = new DummyRepositoryMetadata(ConcreteRepository.class); - Method method = ConcreteRepository.class.getMethod("intermediateMethod"); + var method = ConcreteRepository.class.getMethod("intermediateMethod"); assertThat(metadata.getReturnedDomainClass(method)).isEqualTo(User.class); } @@ -59,7 +59,7 @@ class AbstractRepositoryMetadataUnitTests { void determinesReturnTypeFromPageable() throws Exception { RepositoryMetadata metadata = new DummyRepositoryMetadata(ExtendingRepository.class); - Method method = ExtendingRepository.class.getMethod("findByFirstname", Pageable.class, String.class); + var method = ExtendingRepository.class.getMethod("findByFirstname", Pageable.class, String.class); assertThat(metadata.getReturnedDomainClass(method)).isEqualTo(User.class); } @@ -80,7 +80,7 @@ class AbstractRepositoryMetadataUnitTests { @Test // DATACMNS-98 void determinesReturnTypeFromGenericType() throws Exception { RepositoryMetadata metadata = new DummyRepositoryMetadata(ExtendingRepository.class); - Method method = ExtendingRepository.class.getMethod("someMethod"); + var method = ExtendingRepository.class.getMethod("someMethod"); assertThat(metadata.getReturnedDomainClass(method)).isEqualTo(GenericType.class); } @@ -88,7 +88,7 @@ class AbstractRepositoryMetadataUnitTests { void handlesGenericTypeInReturnedCollectionCorrectly() throws SecurityException, NoSuchMethodException { RepositoryMetadata metadata = new DummyRepositoryMetadata(ExtendingRepository.class); - Method method = ExtendingRepository.class.getMethod("anotherMethod"); + var method = ExtendingRepository.class.getMethod("anotherMethod"); assertThat(metadata.getReturnedDomainClass(method)).isEqualTo(Map.class); } @@ -96,7 +96,7 @@ class AbstractRepositoryMetadataUnitTests { void detectsArrayReturnTypeCorrectly() throws Exception { RepositoryMetadata metadata = new DefaultRepositoryMetadata(PagedRepository.class); - Method method = PagedRepository.class.getMethod("returnsArray"); + var method = PagedRepository.class.getMethod("returnsArray"); assertThat(metadata.getReturnedDomainClass(method)).isEqualTo(User.class); } @@ -104,9 +104,9 @@ class AbstractRepositoryMetadataUnitTests { @Test // DATACMNS-1299 void doesNotUnwrapCustomTypeImplementingIterable() throws Exception { - RepositoryMetadata metadata = AbstractRepositoryMetadata.getMetadata(ContainerRepository.class); + var metadata = AbstractRepositoryMetadata.getMetadata(ContainerRepository.class); - Method method = ContainerRepository.class.getMethod("someMethod"); + var method = ContainerRepository.class.getMethod("someMethod"); assertThat(metadata.getReturnedDomainClass(method)).isEqualTo(Container.class); } diff --git a/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java index 451bcb4a8..b88bfbebb 100755 --- a/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/DefaultCrudMethodsUnitTests.java @@ -45,7 +45,7 @@ class DefaultCrudMethodsUnitTests { @Test void detectsMethodsOnCrudRepository() throws Exception { - Class type = DomainCrudRepository.class; + var type = DomainCrudRepository.class; assertFindAllMethodOn(type, type.getMethod("findAll")); assertDeleteMethodOn(type, type.getMethod("delete", Object.class)); @@ -55,7 +55,7 @@ class DefaultCrudMethodsUnitTests { @Test void detectsMethodsOnPagingAndSortingRepository() throws Exception { - Class type = DomainPagingAndSortingRepository.class; + var type = DomainPagingAndSortingRepository.class; assertFindAllMethodOn(type, type.getMethod("findAll", Pageable.class)); assertDeleteMethodOn(type, type.getMethod("delete", Object.class)); @@ -65,7 +65,7 @@ class DefaultCrudMethodsUnitTests { @Test void detectsFindAllWithSortParameterOnSortingRepository() throws Exception { - Class type = RepositoryWithCustomSortingFindAll.class; + var type = RepositoryWithCustomSortingFindAll.class; assertFindAllMethodOn(type, type.getMethod("findAll", Sort.class)); assertSaveMethodPresent(type, false); @@ -74,7 +74,7 @@ class DefaultCrudMethodsUnitTests { @Test // DATACMNS-393 void selectsFindAllWithSortParameterOnRepositoryAmongUnsuitableAlternatives() throws Exception { - Class type = RepositoryWithInvalidPagingFallbackToSortFindAll.class; + var type = RepositoryWithInvalidPagingFallbackToSortFindAll.class; assertFindAllMethodOn(type, type.getMethod("findAll", Sort.class)); assertSaveMethodPresent(type, false); @@ -83,24 +83,24 @@ class DefaultCrudMethodsUnitTests { @Test void detectsMethodsOnCustomRepository() throws Exception { - Class type = RepositoryWithCustomSortingAndPagingFindAll.class; + var type = RepositoryWithCustomSortingAndPagingFindAll.class; assertFindAllMethodOn(type, type.getMethod("findAll", Pageable.class)); - Class type1 = RepositoryWithIterableDeleteOnly.class; + var type1 = RepositoryWithIterableDeleteOnly.class; assertDeleteMethodOn(type1, type1.getMethod("delete", Iterable.class)); } @Test void doesNotDetectInvalidlyDeclaredMethods() throws Exception { - Class type = RepositoryWithInvalidPagingFindAll.class; + var type = RepositoryWithInvalidPagingFindAll.class; assertFindAllMethodOn(type, Optional.empty()); } @Test // DATACMNS-393 void detectsOverloadedMethodsCorrectly() throws Exception { - Class type = RepositoryWithAllCrudMethodOverloaded.class; + var type = RepositoryWithAllCrudMethodOverloaded.class; assertFindOneMethodOn(type, type.getDeclaredMethod("findById", Long.class)); assertDeleteMethodOn(type, type.getDeclaredMethod("deleteById", Long.class)); assertSaveMethodOn(type, type.getDeclaredMethod("save", Domain.class)); @@ -110,7 +110,7 @@ class DefaultCrudMethodsUnitTests { @Test // DATACMNS-393 void ignoresWrongOverloadedMethods() throws Exception { - Class type = RepositoryWithAllCrudMethodOverloadedWrong.class; + var type = RepositoryWithAllCrudMethodOverloadedWrong.class; assertFindOneMethodOn(type, CrudRepository.class.getDeclaredMethod("findById", Object.class)); assertDeleteMethodOn(type, CrudRepository.class.getDeclaredMethod("delete", Object.class)); assertSaveMethodOn(type, CrudRepository.class.getDeclaredMethod("save", Object.class)); @@ -132,7 +132,7 @@ class DefaultCrudMethodsUnitTests { @Test // DATACMNS-619 void exposedMethodsAreAccessible() { - CrudMethods methods = getMethodsFor(RepositoryWithAllCrudMethodOverloaded.class); + var methods = getMethodsFor(RepositoryWithAllCrudMethodOverloaded.class); Arrays .asList(methods.getSaveMethod(), methods.getDeleteMethod(), methods.getFindAllMethod(), @@ -155,7 +155,7 @@ class DefaultCrudMethodsUnitTests { private static void assertFindAllMethodOn(Class type, Optional method) { - CrudMethods methods = getMethodsFor(type); + var methods = getMethodsFor(type); assertThat(methods.hasFindAllMethod()).isEqualTo(method.isPresent()); assertThat(methods.getFindAllMethod()).isEqualTo(method); @@ -163,7 +163,7 @@ class DefaultCrudMethodsUnitTests { private static void assertFindOneMethodOn(Class type, Method method) { - CrudMethods methods = getMethodsFor(type); + var methods = getMethodsFor(type); assertThat(methods.hasFindOneMethod()).isEqualTo(method != null); assertThat(methods.getFindOneMethod()).hasValue(method); @@ -171,7 +171,7 @@ class DefaultCrudMethodsUnitTests { private static void assertDeleteMethodOn(Class type, Method method) { - CrudMethods methods = getMethodsFor(type); + var methods = getMethodsFor(type); assertThat(methods.hasDelete()).isEqualTo(method != null); assertThat(methods.getDeleteMethod()).hasValue(method); @@ -179,7 +179,7 @@ class DefaultCrudMethodsUnitTests { private static void assertSaveMethodOn(Class type, Method method) { - CrudMethods methods = getMethodsFor(type); + var methods = getMethodsFor(type); assertThat(methods.hasSaveMethod()).isEqualTo(method != null); assertThat(methods.getSaveMethod()).hasValue(method); @@ -187,7 +187,7 @@ class DefaultCrudMethodsUnitTests { private static void assertSaveMethodPresent(Class type, boolean present) { - CrudMethods methods = getMethodsFor(type); + var methods = getMethodsFor(type); assertThat(methods.hasSaveMethod()).isEqualTo(present); assertThat(methods.getSaveMethod().isPresent()).isEqualTo(present); diff --git a/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java index d64dfddae..d1584fa1e 100755 --- a/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryInformationUnitTests.java @@ -66,12 +66,12 @@ class DefaultRepositoryInformationUnitTests { @Test void discoversRepositoryBaseClassMethod() throws Exception { - Method method = FooRepository.class.getMethod("findById", Integer.class); + var method = FooRepository.class.getMethod("findById", Integer.class); RepositoryMetadata metadata = new DefaultRepositoryMetadata(FooRepository.class); - DefaultRepositoryInformation information = new DefaultRepositoryInformation(metadata, REPOSITORY, + var information = new DefaultRepositoryInformation(metadata, REPOSITORY, RepositoryComposition.empty().withMethodLookup(MethodLookups.forRepositoryTypes(metadata))); - Method reference = information.getTargetClassMethod(method); + var reference = information.getTargetClassMethod(method); assertThat(reference.getDeclaringClass()).isEqualTo(REPOSITORY); assertThat(reference.getName()).isEqualTo("findById"); } @@ -79,10 +79,10 @@ class DefaultRepositoryInformationUnitTests { @Test void discoveresNonRepositoryBaseClassMethod() throws Exception { - Method method = FooRepository.class.getMethod("findById", Long.class); + var method = FooRepository.class.getMethod("findById", Long.class); RepositoryMetadata metadata = new DefaultRepositoryMetadata(FooRepository.class); - DefaultRepositoryInformation information = new DefaultRepositoryInformation(metadata, CrudRepository.class, + var information = new DefaultRepositoryInformation(metadata, CrudRepository.class, RepositoryComposition.empty().withMethodLookup(MethodLookups.forRepositoryTypes(metadata))); assertThat(information.getTargetClassMethod(method)).isEqualTo(method); @@ -95,8 +95,8 @@ class DefaultRepositoryInformationUnitTests { RepositoryInformation information = new DefaultRepositoryInformation(metadata, CrudRepository.class, RepositoryComposition.just(customImplementation)); - Method source = FooRepositoryCustom.class.getMethod("save", User.class); - Method expected = customImplementation.getClass().getMethod("save", User.class); + var source = FooRepositoryCustom.class.getMethod("save", User.class); + var expected = customImplementation.getClass().getMethod("save", User.class); assertThat(information.getTargetClassMethod(source)).isEqualTo(expected); } @@ -114,11 +114,11 @@ class DefaultRepositoryInformationUnitTests { @Test void discoversIntermediateMethodsAsBackingMethods() throws NoSuchMethodException, SecurityException { - DefaultRepositoryMetadata metadata = new DefaultRepositoryMetadata(CustomRepository.class); - DefaultRepositoryInformation information = new DefaultRepositoryInformation(metadata, + var metadata = new DefaultRepositoryMetadata(CustomRepository.class); + var information = new DefaultRepositoryInformation(metadata, PagingAndSortingRepository.class, RepositoryComposition.empty()); - Method method = CustomRepository.class.getMethod("findAll", Pageable.class); + var method = CustomRepository.class.getMethod("findAll", Pageable.class); assertThat(information.isBaseClassMethod(method)).isTrue(); method = getMethodFrom(CustomRepository.class, "existsById"); @@ -144,8 +144,8 @@ class DefaultRepositoryInformationUnitTests { RepositoryInformation information = new DefaultRepositoryInformation(metadata, CrudRepository.class, RepositoryComposition.empty()); - Method saveMethod = BaseRepository.class.getMethod("save", Object.class); - Method deleteMethod = BaseRepository.class.getMethod("delete", Object.class); + var saveMethod = BaseRepository.class.getMethod("save", Object.class); + var deleteMethod = BaseRepository.class.getMethod("delete", Object.class); Iterable queryMethods = information.getQueryMethods(); @@ -159,8 +159,8 @@ class DefaultRepositoryInformationUnitTests { RepositoryInformation information = new DefaultRepositoryInformation(metadata, CrudRepository.class, RepositoryComposition.empty()); - Method intermediateMethod = BaseRepository.class.getMethod("genericMethodToOverride", String.class); - Method concreteMethod = ConcreteRepository.class.getMethod("genericMethodToOverride", String.class); + var intermediateMethod = BaseRepository.class.getMethod("genericMethodToOverride", String.class); + var concreteMethod = ConcreteRepository.class.getMethod("genericMethodToOverride", String.class); Iterable queryMethods = information.getQueryMethods(); @@ -175,7 +175,7 @@ class DefaultRepositoryInformationUnitTests { RepositoryInformation information = new DefaultRepositoryInformation(metadata, CrudRepository.class, RepositoryComposition.empty()); - Method queryMethod = getMethodFrom(ConcreteRepository.class, "findBySomethingDifferent"); + var queryMethod = getMethodFrom(ConcreteRepository.class, "findBySomethingDifferent"); assertThat(information.getQueryMethods()).contains(queryMethod); assertThat(information.isQueryMethod(queryMethod)).isTrue(); @@ -188,7 +188,7 @@ class DefaultRepositoryInformationUnitTests { RepositoryInformation information = new DefaultRepositoryInformation(metadata, CrudRepository.class, RepositoryComposition.empty()); - Method method = BaseRepository.class.getMethod("findById", Object.class); + var method = BaseRepository.class.getMethod("findById", Object.class); assertThat(information.getQueryMethods()).contains(method); } @@ -200,8 +200,8 @@ class DefaultRepositoryInformationUnitTests { RepositoryInformation information = new DefaultRepositoryInformation(metadata, CrudRepository.class, RepositoryComposition.empty()); - Method method = BossRepository.class.getMethod("saveAll", Iterable.class); - Method reference = CrudRepository.class.getMethod("saveAll", Iterable.class); + var method = BossRepository.class.getMethod("saveAll", Iterable.class); + var reference = CrudRepository.class.getMethod("saveAll", Iterable.class); assertThat(information.getTargetClassMethod(method)).isEqualTo(reference); } @@ -223,8 +223,8 @@ class DefaultRepositoryInformationUnitTests { RepositoryInformation information = new DefaultRepositoryInformation(metadata, CrudRepository.class, RepositoryComposition.just(customImplementation)); - Method source = FooRepositoryCustom.class.getMethod("exists", Object.class); - Method expected = customImplementation.getClass().getMethod("exists", Object.class); + var source = FooRepositoryCustom.class.getMethod("exists", Object.class); + var expected = customImplementation.getClass().getMethod("exists", Object.class); assertThat(information.getTargetClassMethod(source)).isEqualTo(expected); } @@ -232,12 +232,12 @@ class DefaultRepositoryInformationUnitTests { @Test // DATACMNS-912 void discoversCustomlyImplementedCrudMethodWithGenericParameters() throws Exception { - GenericsSaveRepositoryImpl customImplementation = new GenericsSaveRepositoryImpl(); + var customImplementation = new GenericsSaveRepositoryImpl(); RepositoryMetadata metadata = new DefaultRepositoryMetadata(GenericsSaveRepository.class); RepositoryInformation information = new DefaultRepositoryInformation(metadata, RepositoryFactorySupport.class, RepositoryComposition.just(customImplementation).withMethodLookup(MethodLookups.forRepositoryTypes(metadata))); - Method customBaseRepositoryMethod = GenericsSaveRepository.class.getMethod("save", Object.class); + var customBaseRepositoryMethod = GenericsSaveRepository.class.getMethod("save", Object.class); assertThat(information.isCustomMethod(customBaseRepositoryMethod)).isTrue(); } @@ -248,7 +248,7 @@ class DefaultRepositoryInformationUnitTests { RepositoryInformation information = new DefaultRepositoryInformation(metadata, CrudRepository.class, RepositoryComposition.just(customImplementation)); - Method method = FooRepository.class.getMethod("staticMethod"); + var method = FooRepository.class.getMethod("staticMethod"); assertThat(information.getQueryMethods()).doesNotContain(method); } @@ -260,7 +260,7 @@ class DefaultRepositoryInformationUnitTests { RepositoryInformation information = new DefaultRepositoryInformation(metadata, CrudRepository.class, RepositoryComposition.just(customImplementation)); - Method method = FooRepository.class.getMethod("defaultMethod"); + var method = FooRepository.class.getMethod("defaultMethod"); assertThat(information.getQueryMethods()).doesNotContain(method); } @@ -272,7 +272,7 @@ class DefaultRepositoryInformationUnitTests { RepositoryInformation information = new DefaultRepositoryInformation(metadata, DummyRepositoryImpl.class, RepositoryComposition.empty()); - Method method = DummyRepository.class.getMethod("saveAll", Iterable.class); + var method = DummyRepository.class.getMethod("saveAll", Iterable.class); assertThat(information.getTargetClassMethod(method)) .isEqualTo(DummyRepositoryImpl.class.getMethod("saveAll", Iterable.class)); @@ -281,12 +281,12 @@ class DefaultRepositoryInformationUnitTests { @Test // DATACMNS-1008, DATACMNS-912, DATACMNS-854 void discoversCustomlyImplementedCrudMethodWithoutGenericParameters() throws Exception { - SimpleSaveRepositoryImpl customImplementation = new SimpleSaveRepositoryImpl(); + var customImplementation = new SimpleSaveRepositoryImpl(); RepositoryMetadata metadata = new DefaultRepositoryMetadata(SimpleSaveRepository.class); RepositoryInformation information = new DefaultRepositoryInformation(metadata, RepositoryFactorySupport.class, RepositoryComposition.just(customImplementation).withMethodLookup(MethodLookups.forRepositoryTypes(metadata))); - Method customBaseRepositoryMethod = SimpleSaveRepository.class.getMethod("save", Object.class); + var customBaseRepositoryMethod = SimpleSaveRepository.class.getMethod("save", Object.class); assertThat(information.isCustomMethod(customBaseRepositoryMethod)).isTrue(); } diff --git a/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java index fc74d612a..5af1cf92a 100755 --- a/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/DefaultRepositoryMetadataUnitTests.java @@ -18,11 +18,11 @@ package org.springframework.data.repository.core.support; import static org.assertj.core.api.Assertions.*; import java.io.Serializable; -import java.lang.reflect.Method; import java.util.Collection; import java.util.Optional; import org.junit.jupiter.api.Test; + import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.repository.CrudRepository; @@ -101,7 +101,7 @@ class DefaultRepositoryMetadataUnitTests { RepositoryMetadata metadata = new DefaultRepositoryMetadata(OptionalRepository.class); - Method method = OptionalRepository.class.getMethod("findByEmailAddress", String.class); + var method = OptionalRepository.class.getMethod("findByEmailAddress", String.class); assertThat(metadata.getReturnedDomainClass(method)).isEqualTo(User.class); } @@ -110,7 +110,7 @@ class DefaultRepositoryMetadataUnitTests { RepositoryMetadata metadata = new DefaultRepositoryMetadata(OptionalRepository.class); - Method method = OptionalRepository.class.getMethod("findByLastname", String.class); + var method = OptionalRepository.class.getMethod("findByLastname", String.class); assertThat(metadata.getReturnedDomainClass(method)).isEqualTo(User.class); } diff --git a/src/test/java/org/springframework/data/repository/core/support/DummyReactiveRepositoryFactory.java b/src/test/java/org/springframework/data/repository/core/support/DummyReactiveRepositoryFactory.java index 2a4944b81..ad986e2ee 100644 --- a/src/test/java/org/springframework/data/repository/core/support/DummyReactiveRepositoryFactory.java +++ b/src/test/java/org/springframework/data/repository/core/support/DummyReactiveRepositoryFactory.java @@ -99,7 +99,7 @@ public class DummyReactiveRepositoryFactory extends ReactiveRepositoryFactorySup @Override protected RepositoryComposition.RepositoryFragments getRepositoryFragments(RepositoryMetadata metadata) { - RepositoryComposition.RepositoryFragments fragments = super.getRepositoryFragments(metadata); + var fragments = super.getRepositoryFragments(metadata); return QuerydslPredicateExecutor.class.isAssignableFrom(metadata.getRepositoryInterface()) // ? fragments.append(RepositoryComposition.RepositoryFragments.just(querydsl)) // diff --git a/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactory.java b/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactory.java index 65533ae9a..2a55bcc83 100644 --- a/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactory.java +++ b/src/test/java/org/springframework/data/repository/core/support/DummyRepositoryFactory.java @@ -65,12 +65,12 @@ public class DummyRepositoryFactory extends RepositoryFactorySupport { Mockito.any(ProjectionFactory.class), Mockito.any(NamedQueries.class))).thenReturn(queryOne); this.applicationStartup = mock(ApplicationStartup.class); - StartupStep startupStep = mock(StartupStep.class); + var startupStep = mock(StartupStep.class); when(applicationStartup.start(anyString())).thenReturn(startupStep); when(startupStep.tag(anyString(), anyString())).thenReturn(startupStep); when(startupStep.tag(anyString(), ArgumentMatchers.> any())).thenReturn(startupStep); - BeanFactory beanFactory = Mockito.mock(BeanFactory.class); + var beanFactory = Mockito.mock(BeanFactory.class); when(beanFactory.getBean(ApplicationStartup.class)).thenReturn(applicationStartup); setBeanFactory(beanFactory); } @@ -120,7 +120,7 @@ public class DummyRepositoryFactory extends RepositoryFactorySupport { @Override protected RepositoryFragments getRepositoryFragments(RepositoryMetadata metadata) { - RepositoryFragments fragments = super.getRepositoryFragments(metadata); + var fragments = super.getRepositoryFragments(metadata); return QuerydslPredicateExecutor.class.isAssignableFrom(metadata.getRepositoryInterface()) // ? fragments.append(RepositoryFragments.just(querydsl)) // diff --git a/src/test/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessorUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessorUnitTests.java index 118e2a063..8589bdb29 100644 --- a/src/test/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/EventPublishingRepositoryProxyPostProcessorUnitTests.java @@ -76,9 +76,9 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // DATACMNS-928 void exposesEventsExposedByEntityToPublisher() { - SomeEvent first = new SomeEvent(); - SomeEvent second = new SomeEvent(); - MultipleEvents entity = MultipleEvents.of(Arrays.asList(first, second)); + var first = new SomeEvent(); + var second = new SomeEvent(); + var entity = MultipleEvents.of(Arrays.asList(first, second)); EventPublishingMethod.of(MultipleEvents.class).publishEventsFrom(entity, publisher); @@ -89,8 +89,8 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // DATACMNS-928 void exposesSingleEventByEntityToPublisher() { - SomeEvent event = new SomeEvent(); - OneEvent entity = OneEvent.of(event); + var event = new SomeEvent(); + var entity = OneEvent.of(event); EventPublishingMethod.of(OneEvent.class).publishEventsFrom(entity, publisher); @@ -100,7 +100,7 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // DATACMNS-928 void doesNotExposeNullEvent() { - OneEvent entity = OneEvent.of(null); + var entity = OneEvent.of(null); EventPublishingMethod.of(OneEvent.class).publishEventsFrom(entity, publisher); @@ -115,8 +115,8 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // DATACMNS-928 void interceptsSaveMethod() throws Throwable { - SomeEvent event = new SomeEvent(); - MultipleEvents sample = MultipleEvents.of(Collections.singletonList(event)); + var event = new SomeEvent(); + var sample = MultipleEvents.of(Collections.singletonList(event)); mockInvocation(invocation, SampleRepository.class.getMethod("save", Object.class), sample); EventPublishingMethodInterceptor// @@ -128,8 +128,8 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // DATACMNS-1663 void interceptsDeleteMethod() throws Throwable { - SomeEvent event = new SomeEvent(); - MultipleEvents sample = MultipleEvents.of(Collections.singletonList(event)); + var event = new SomeEvent(); + var sample = MultipleEvents.of(Collections.singletonList(event)); mockInvocation(invocation, SampleRepository.class.getMethod("delete", Object.class), sample); EventPublishingMethodInterceptor// @@ -169,7 +169,7 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { RepositoryInformation information = new DummyRepositoryInformation(SampleRepository.class); RepositoryProxyPostProcessor processor = new EventPublishingRepositoryProxyPostProcessor(publisher); - ProxyFactory factory = mock(ProxyFactory.class); + var factory = mock(ProxyFactory.class); processor.postProcess(factory, information); @@ -182,7 +182,7 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { RepositoryInformation information = new DummyRepositoryInformation(CrudRepository.class); RepositoryProxyPostProcessor processor = new EventPublishingRepositoryProxyPostProcessor(publisher); - ProxyFactory factory = mock(ProxyFactory.class); + var factory = mock(ProxyFactory.class); processor.postProcess(factory, information); @@ -192,8 +192,8 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // DATACMNS-928 void publishesEventsForCallToSaveWithIterable() throws Throwable { - SomeEvent event = new SomeEvent(); - MultipleEvents sample = MultipleEvents.of(Collections.singletonList(event)); + var event = new SomeEvent(); + var sample = MultipleEvents.of(Collections.singletonList(event)); mockInvocation(invocation, SampleRepository.class.getMethod("saveAll", Iterable.class), sample); EventPublishingMethodInterceptor// @@ -206,8 +206,8 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // DATACMNS-1663 void publishesEventsForCallToDeleteWithIterable() throws Throwable { - SomeEvent event = new SomeEvent(); - MultipleEvents sample = MultipleEvents.of(Collections.singletonList(event)); + var event = new SomeEvent(); + var sample = MultipleEvents.of(Collections.singletonList(event)); mockInvocation(invocation, SampleRepository.class.getMethod("deleteAll", Iterable.class), sample); EventPublishingMethodInterceptor// @@ -220,8 +220,8 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // GH-2448 void publishesEventsForCallToDeleteInBatchWithIterable() throws Throwable { - SomeEvent event = new SomeEvent(); - MultipleEvents sample = MultipleEvents.of(Collections.singletonList(event)); + var event = new SomeEvent(); + var sample = MultipleEvents.of(Collections.singletonList(event)); mockInvocation(invocation, SampleRepository.class.getMethod("deleteInBatch", Iterable.class), sample); EventPublishingMethodInterceptor// @@ -234,8 +234,8 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // GH-2448 void publishesEventsForCallToDeleteAllInBatchWithIterable() throws Throwable { - SomeEvent event = new SomeEvent(); - MultipleEvents sample = MultipleEvents.of(Collections.singletonList(event)); + var event = new SomeEvent(); + var sample = MultipleEvents.of(Collections.singletonList(event)); mockInvocation(invocation, SampleRepository.class.getMethod("deleteAllInBatch", Iterable.class), sample); EventPublishingMethodInterceptor// @@ -262,8 +262,8 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // DATACMNS-1113 void invokesEventsForMethodsThatStartsWithSave() throws Throwable { - SomeEvent event = new SomeEvent(); - MultipleEvents sample = MultipleEvents.of(Collections.singletonList(event)); + var event = new SomeEvent(); + var sample = MultipleEvents.of(Collections.singletonList(event)); mockInvocation(invocation, SampleRepository.class.getMethod("saveAndFlush", MultipleEvents.class), sample); EventPublishingMethodInterceptor// @@ -276,7 +276,7 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // DATACMNS-1067 void clearsEventsEvenIfNoneWereExposedToPublish() { - EventsWithClearing entity = spy(EventsWithClearing.of(Collections.emptyList())); + var entity = spy(EventsWithClearing.of(Collections.emptyList())); EventPublishingMethod.of(EventsWithClearing.class).publishEventsFrom(entity, publisher); @@ -286,7 +286,7 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // DATACMNS-1067 void clearsEventsIfThereWereSomeToBePublished() { - EventsWithClearing entity = spy(EventsWithClearing.of(Collections.singletonList(new SomeEvent()))); + var entity = spy(EventsWithClearing.of(Collections.singletonList(new SomeEvent()))); EventPublishingMethod.of(EventsWithClearing.class).publishEventsFrom(entity, publisher); @@ -296,8 +296,8 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // DATACMNS-1067 void clearsEventsForOperationOnMutlipleAggregates() { - EventsWithClearing firstEntity = spy(EventsWithClearing.of(Collections.emptyList())); - EventsWithClearing secondEntity = spy(EventsWithClearing.of(Collections.singletonList(new SomeEvent()))); + var firstEntity = spy(EventsWithClearing.of(Collections.emptyList())); + var secondEntity = spy(EventsWithClearing.of(Collections.singletonList(new SomeEvent()))); Collection entities = Arrays.asList(firstEntity, secondEntity); @@ -310,11 +310,11 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // DATACMNS-1163 void publishesEventFromParameter() throws Throwable { - Object event = new Object(); - MultipleEvents parameter = MultipleEvents.of(Collections.singleton(event)); - MultipleEvents returnValue = MultipleEvents.of(Collections.emptySet()); + var event = new Object(); + var parameter = MultipleEvents.of(Collections.singleton(event)); + var returnValue = MultipleEvents.of(Collections.emptySet()); - Method method = SampleRepository.class.getMethod("save", Object.class); + var method = SampleRepository.class.getMethod("save", Object.class); mockInvocation(invocation, method, parameter, returnValue); EventPublishingMethodInterceptor.of(EventPublishingMethod.of(MultipleEvents.class), publisher).invoke(invocation); @@ -325,7 +325,7 @@ class EventPublishingRepositoryProxyPostProcessorUnitTests { @Test // GH-2448 void doesNotEmitEventsFromPrimitiveValue() throws Throwable { - Method method = SampleRepository.class.getMethod("delete", Object.class); + var method = SampleRepository.class.getMethod("delete", Object.class); mockInvocation(invocation, method, "foo", MultipleEvents.of(Collections.emptySet())); EventPublishingMethodInterceptor.of(EventPublishingMethod.of(MultipleEvents.class), publisher).invoke(invocation); diff --git a/src/test/java/org/springframework/data/repository/core/support/ExampleSpecificationAccessorUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/ExampleSpecificationAccessorUnitTests.java index b8fc6d6f0..6f261cae5 100755 --- a/src/test/java/org/springframework/data/repository/core/support/ExampleSpecificationAccessorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/ExampleSpecificationAccessorUnitTests.java @@ -219,7 +219,7 @@ class ExampleSpecificationAccessorUnitTests { @Test // DATACMNS-810 void getValueTransformerForPathReturnsConfigurtedTransformerForPath() { - PropertyValueTransformer transformer = source -> source.map(Object::toString); + var transformer = (PropertyValueTransformer) source -> source.map(Object::toString); specification = ExampleMatcher.matching().// withTransformer("firstname", transformer); @@ -248,7 +248,7 @@ class ExampleSpecificationAccessorUnitTests { @Test // DATACMNS-953 void exactMatcherUsesExactMatching() { - ExampleMatcher matcher = ExampleMatcher.matching()// + var matcher = ExampleMatcher.matching()// .withMatcher("firstname", exact()); assertThat(new ExampleMatcherAccessor(matcher).getPropertySpecifier("firstname").getStringMatcher()) diff --git a/src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java index c9e6208b9..ddeb258e0 100755 --- a/src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/PersistentEntityInformationUnitTests.java @@ -36,13 +36,13 @@ class PersistentEntityInformationUnitTests { @Test // DATACMNS-480 void obtainsIdAndIdTypeInformationFromPersistentEntity() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); PersistentEntity entity = context.getRequiredPersistentEntity(Sample.class); EntityInformation information = new PersistentEntityInformation<>(entity); assertThat(information.getIdType()).isEqualTo(Long.class); - Sample sample = new Sample(); + var sample = new Sample(); sample.id = 5L; assertThat(information.getId(sample)).isEqualTo(5L); @@ -51,11 +51,11 @@ class PersistentEntityInformationUnitTests { @Test // DATACMNS-596 void returnsNullIfNoIdPropertyPresent() { - SampleMappingContext context = new SampleMappingContext(); + var context = new SampleMappingContext(); PersistentEntity entity = context .getRequiredPersistentEntity(EntityWithoutId.class); - PersistentEntityInformation information = new PersistentEntityInformation<>( + var information = new PersistentEntityInformation( entity); assertThat(information.getId(new EntityWithoutId())).isNull(); } diff --git a/src/test/java/org/springframework/data/repository/core/support/QueryExecutionResultHandlerUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/QueryExecutionResultHandlerUnitTests.java index 8da8a5ddc..dd7610ad1 100755 --- a/src/test/java/org/springframework/data/repository/core/support/QueryExecutionResultHandlerUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/QueryExecutionResultHandlerUnitTests.java @@ -60,8 +60,8 @@ class QueryExecutionResultHandlerUnitTests { @Test // DATACMNS-610 void convertsListsToSet() throws Exception { - Method method = getMethod("set"); - List source = Collections.singletonList(new Entity()); + var method = getMethod("set"); + var source = Collections.singletonList(new Entity()); assertThat(handler.postProcessInvocationResult(source, method)).isInstanceOf(Set.class); } @@ -69,7 +69,7 @@ class QueryExecutionResultHandlerUnitTests { @Test // DATACMNS-483 void turnsNullIntoJdk8Optional() throws Exception { - Object result = handler.postProcessInvocationResult(null, getMethod("jdk8Optional")); + var result = handler.postProcessInvocationResult(null, getMethod("jdk8Optional")); assertThat(result).isEqualTo(Optional.empty()); } @@ -77,19 +77,19 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void wrapsValueIntoJdk8Optional() throws Exception { - Entity entity = new Entity(); + var entity = new Entity(); - Object result = handler.postProcessInvocationResult(entity, getMethod("jdk8Optional")); + var result = handler.postProcessInvocationResult(entity, getMethod("jdk8Optional")); assertThat(result).isInstanceOf(Optional.class); - Optional optional = (Optional) result; + var optional = (Optional) result; assertThat(optional).isEqualTo(Optional.of(entity)); } @Test // DATACMNS-483 void turnsNullIntoGuavaOptional() throws Exception { - Object result = handler.postProcessInvocationResult(null, getMethod("guavaOptional")); + var result = handler.postProcessInvocationResult(null, getMethod("guavaOptional")); assertThat(result).isEqualTo(com.google.common.base.Optional.absent()); } @@ -97,12 +97,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void wrapsValueIntoGuavaOptional() throws Exception { - Entity entity = new Entity(); + var entity = new Entity(); - Object result = handler.postProcessInvocationResult(entity, getMethod("guavaOptional")); + var result = handler.postProcessInvocationResult(entity, getMethod("guavaOptional")); assertThat(result).isInstanceOf(com.google.common.base.Optional.class); - com.google.common.base.Optional optional = (com.google.common.base.Optional) result; + var optional = (com.google.common.base.Optional) result; assertThat(optional).isEqualTo(com.google.common.base.Optional.of(entity)); } @@ -115,12 +115,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsRxJavaSingleIntoPublisher() throws Exception { - Single entity = Single.just(new Entity()); + var entity = Single.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("publisher")); + var result = handler.postProcessInvocationResult(entity, getMethod("publisher")); assertThat(result).isInstanceOf(Publisher.class); - Mono mono = Mono.from((Publisher) result); + var mono = Mono.from((Publisher) result); assertThat(mono.block()).isEqualTo(entity.blockingGet()); } @@ -128,12 +128,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsRxJavaSingleIntoMono() throws Exception { - Single entity = Single.just(new Entity()); + var entity = Single.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("mono")); + var result = handler.postProcessInvocationResult(entity, getMethod("mono")); assertThat(result).isInstanceOf(Mono.class); - Mono mono = (Mono) result; + var mono = (Mono) result; assertThat(mono.block()).isEqualTo(entity.blockingGet()); } @@ -141,12 +141,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsRxJavaSingleIntoFlux() throws Exception { - Single entity = Single.just(new Entity()); + var entity = Single.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("flux")); + var result = handler.postProcessInvocationResult(entity, getMethod("flux")); assertThat(result).isInstanceOf(Flux.class); - Flux flux = (Flux) result; + var flux = (Flux) result; assertThat(flux.next().block()).isEqualTo(entity.blockingGet()); } @@ -154,12 +154,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsRxJavaObservableIntoPublisher() throws Exception { - Observable entity = Observable.just(new Entity()); + var entity = Observable.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("publisher")); + var result = handler.postProcessInvocationResult(entity, getMethod("publisher")); assertThat(result).isInstanceOf(Publisher.class); - Mono mono = Mono.from((Publisher) result); + var mono = Mono.from((Publisher) result); assertThat(mono.block()).isEqualTo(entity.blockingFirst()); } @@ -167,12 +167,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsRxJavaObservableIntoMono() throws Exception { - Observable entity = Observable.just(new Entity()); + var entity = Observable.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("mono")); + var result = handler.postProcessInvocationResult(entity, getMethod("mono")); assertThat(result).isInstanceOf(Mono.class); - Mono mono = (Mono) result; + var mono = (Mono) result; assertThat(mono.block()).isEqualTo(entity.blockingFirst()); } @@ -180,12 +180,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsRxJavaObservableIntoFlux() throws Exception { - Observable entity = Observable.just(new Entity()); + var entity = Observable.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("flux")); + var result = handler.postProcessInvocationResult(entity, getMethod("flux")); assertThat(result).isInstanceOf(Flux.class); - Flux flux = (Flux) result; + var flux = (Flux) result; assertThat(flux.next().block()).isEqualTo(entity.blockingFirst()); } @@ -193,12 +193,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsRxJavaObservableIntoSingle() throws Exception { - Observable entity = Observable.just(new Entity()); + var entity = Observable.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("single")); + var result = handler.postProcessInvocationResult(entity, getMethod("single")); assertThat(result).isInstanceOf(Single.class); - Single single = (Single) result; + var single = (Single) result; assertThat(single.blockingGet()).isEqualTo(entity.blockingFirst()); } @@ -206,12 +206,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsRxJavaSingleIntoObservable() throws Exception { - Single entity = Single.just(new Entity()); + var entity = Single.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("observable")); + var result = handler.postProcessInvocationResult(entity, getMethod("observable")); assertThat(result).isInstanceOf(Observable.class); - Observable observable = (Observable) result; + var observable = (Observable) result; assertThat(observable.blockingFirst()).isEqualTo(entity.blockingGet()); } @@ -219,12 +219,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsReactorMonoIntoSingle() throws Exception { - Mono entity = Mono.just(new Entity()); + var entity = Mono.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("single")); + var result = handler.postProcessInvocationResult(entity, getMethod("single")); assertThat(result).isInstanceOf(Single.class); - Single single = (Single) result; + var single = (Single) result; assertThat(single.blockingGet()).isEqualTo(entity.block()); } @@ -232,12 +232,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsReactorMonoIntoCompletable() throws Exception { - Mono entity = Mono.just(new Entity()); + var entity = Mono.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("completable")); + var result = handler.postProcessInvocationResult(entity, getMethod("completable")); assertThat(result).isInstanceOf(Completable.class); - Completable completable = (Completable) result; + var completable = (Completable) result; completable.blockingAwait(); } @@ -247,10 +247,10 @@ class QueryExecutionResultHandlerUnitTests { Mono entity = Mono.error(new InvalidDataAccessApiUsageException("err")); - Object result = handler.postProcessInvocationResult(entity, getMethod("completable")); + var result = handler.postProcessInvocationResult(entity, getMethod("completable")); assertThat(result).isInstanceOf(Completable.class); - Completable completable = (Completable) result; + var completable = (Completable) result; assertThatExceptionOfType(InvalidDataAccessApiUsageException.class).isThrownBy(completable::blockingAwait); } @@ -258,12 +258,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsRxJavaCompletableIntoMono() throws Exception { - Completable entity = Completable.complete(); + var entity = Completable.complete(); - Object result = handler.postProcessInvocationResult(entity, getMethod("mono")); + var result = handler.postProcessInvocationResult(entity, getMethod("mono")); assertThat(result).isInstanceOf(Mono.class); - Mono mono = (Mono) result; + var mono = (Mono) result; assertThat(mono.block()).isNull(); } @@ -271,12 +271,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsRxJavaCompletableIntoMonoWithException() throws Exception { - Completable entity = Completable.error(new InvalidDataAccessApiUsageException("err")); + var entity = Completable.error(new InvalidDataAccessApiUsageException("err")); - Object result = handler.postProcessInvocationResult(entity, getMethod("mono")); + var result = handler.postProcessInvocationResult(entity, getMethod("mono")); assertThat(result).isInstanceOf(Mono.class); - Mono mono = (Mono) result; + var mono = (Mono) result; assertThatExceptionOfType(InvalidDataAccessApiUsageException.class).isThrownBy(mono::block); } @@ -285,12 +285,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsReactorMonoIntoObservable() throws Exception { - Mono entity = Mono.just(new Entity()); + var entity = Mono.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("observable")); + var result = handler.postProcessInvocationResult(entity, getMethod("observable")); assertThat(result).isInstanceOf(Observable.class); - Observable observable = (Observable) result; + var observable = (Observable) result; assertThat(observable.blockingFirst()).isEqualTo(entity.block()); } @@ -298,12 +298,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsReactorFluxIntoSingle() throws Exception { - Flux entity = Flux.just(new Entity()); + var entity = Flux.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("single")); + var result = handler.postProcessInvocationResult(entity, getMethod("single")); assertThat(result).isInstanceOf(Single.class); - Single single = (Single) result; + var single = (Single) result; assertThat(single.blockingGet()).isEqualTo(entity.next().block()); } @@ -311,12 +311,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsReactorFluxIntoObservable() throws Exception { - Flux entity = Flux.just(new Entity()); + var entity = Flux.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("observable")); + var result = handler.postProcessInvocationResult(entity, getMethod("observable")); assertThat(result).isInstanceOf(Observable.class); - Observable observable = (Observable) result; + var observable = (Observable) result; assertThat(observable.blockingFirst()).isEqualTo(entity.next().block()); } @@ -324,12 +324,12 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsReactorFluxIntoMono() throws Exception { - Flux entity = Flux.just(new Entity()); + var entity = Flux.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("mono")); + var result = handler.postProcessInvocationResult(entity, getMethod("mono")); assertThat(result).isInstanceOf(Mono.class); - Mono mono = (Mono) result; + var mono = (Mono) result; assertThat(mono.block()).isEqualTo(entity.next().block()); } @@ -337,22 +337,22 @@ class QueryExecutionResultHandlerUnitTests { @SuppressWarnings("unchecked") void convertsReactorMonoIntoFlux() throws Exception { - Mono entity = Mono.just(new Entity()); + var entity = Mono.just(new Entity()); - Object result = handler.postProcessInvocationResult(entity, getMethod("flux")); + var result = handler.postProcessInvocationResult(entity, getMethod("flux")); assertThat(result).isInstanceOf(Flux.class); - Flux flux = (Flux) result; + var flux = (Flux) result; assertThat(flux.next().block()).isEqualTo(entity.block()); } @Test // DATACMNS-1056 void convertsOptionalToThirdPartyOption() throws Exception { - Entity value = new Entity(); - Optional entity = Optional.of(value); + var value = new Entity(); + var entity = Optional.of(value); - Object result = handler.postProcessInvocationResult(entity, getMethod("option")); + var result = handler.postProcessInvocationResult(entity, getMethod("option")); assertThat(result).isInstanceOfSatisfying(Option.class, it -> assertThat(it.get()).isEqualTo(value)); } @@ -363,7 +363,7 @@ class QueryExecutionResultHandlerUnitTests { Iterable source = asList(new Object()); - Object result = handler.postProcessInvocationResult(source, getMethod("streamable")); + var result = handler.postProcessInvocationResult(source, getMethod("streamable")); assertThat(result).isInstanceOfSatisfying(Streamable.class, it -> assertThat(it.stream().collect(Collectors.toList())).isEqualTo(source)); @@ -372,9 +372,9 @@ class QueryExecutionResultHandlerUnitTests { @Test // DATACMNS-938 void resolvesNestedWrapperIfOuterDoesntNeedConversion() throws Exception { - Entity entity = new Entity(); + var entity = new Entity(); - Object result = handler.postProcessInvocationResult(entity, getMethod("tryOfOption")); + var result = handler.postProcessInvocationResult(entity, getMethod("tryOfOption")); assertThat(result).isInstanceOfSatisfying(Option.class, it -> assertThat(it.get()).isEqualTo(entity)); } @@ -382,7 +382,7 @@ class QueryExecutionResultHandlerUnitTests { @Test // DATACMNS-1430 void convertsElementsAndValueIntoCustomStreamable() throws Exception { - Object result = handler.postProcessInvocationResult(Arrays.asList("foo"), getMethod("customStreamable")); + var result = handler.postProcessInvocationResult(Arrays.asList("foo"), getMethod("customStreamable")); assertThat(result).isInstanceOfSatisfying(CustomStreamableWrapper.class, it -> { assertThat(it).containsExactly("foo"); @@ -392,7 +392,7 @@ class QueryExecutionResultHandlerUnitTests { @Test // DATACMNS-1482 void nestedConversion() throws Exception { - Object result = handler.postProcessInvocationResult(asList(BigDecimal.ZERO, BigDecimal.ONE), + var result = handler.postProcessInvocationResult(asList(BigDecimal.ZERO, BigDecimal.ONE), getMethod("listOfInteger")); assertThat(result).isInstanceOfSatisfying(List.class, list -> { @@ -409,7 +409,7 @@ class QueryExecutionResultHandlerUnitTests { @Test // DATACMNS-1552 void keepsVavrOptionType() throws Exception { - Option source = Option.of(new Entity()); + var source = Option.of(new Entity()); assertThat(handler.postProcessInvocationResult(source, getMethod("option"))).isSameAs(source); } diff --git a/src/test/java/org/springframework/data/repository/core/support/ReactiveRepositoryInformationUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/ReactiveRepositoryInformationUnitTests.java index c557f1541..44f45229a 100644 --- a/src/test/java/org/springframework/data/repository/core/support/ReactiveRepositoryInformationUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/ReactiveRepositoryInformationUnitTests.java @@ -47,7 +47,7 @@ class ReactiveRepositoryInformationUnitTests { @Test // DATACMNS-988 void discoversRxJava3MethodWithoutComparingReturnType() throws Exception { - Method reference = extractTargetMethodFromRepository(RxJava3InterfaceWithGenerics.class, "deleteAll"); + var reference = extractTargetMethodFromRepository(RxJava3InterfaceWithGenerics.class, "deleteAll"); assertThat(reference.getDeclaringClass()).isEqualTo(ReactiveCrudRepository.class); assertThat(reference.getName()).isEqualTo("deleteAll"); @@ -56,7 +56,7 @@ class ReactiveRepositoryInformationUnitTests { @Test // DATACMNS-988 void discoversRxJava3MethodWithConvertibleArguments() throws Exception { - Method reference = extractTargetMethodFromRepository(RxJava3InterfaceWithGenerics.class, "saveAll", Flowable.class); + var reference = extractTargetMethodFromRepository(RxJava3InterfaceWithGenerics.class, "saveAll", Flowable.class); assertThat(reference.getDeclaringClass()).isEqualTo(ReactiveCrudRepository.class); assertThat(reference.getName()).isEqualTo("saveAll"); @@ -66,7 +66,7 @@ class ReactiveRepositoryInformationUnitTests { @Test // DATACMNS-836 void discoversMethodAssignableArguments() throws Exception { - Method reference = extractTargetMethodFromRepository(ReactiveSortingRepository.class, "saveAll", Publisher.class); + var reference = extractTargetMethodFromRepository(ReactiveSortingRepository.class, "saveAll", Publisher.class); assertThat(reference.getDeclaringClass()).isEqualTo(ReactiveCrudRepository.class); assertThat(reference.getName()).isEqualTo("saveAll"); @@ -76,7 +76,7 @@ class ReactiveRepositoryInformationUnitTests { @Test // DATACMNS-836 void discoversMethodExactIterableArguments() throws Exception { - Method reference = extractTargetMethodFromRepository(ReactiveJavaInterfaceWithGenerics.class, "saveAll", + var reference = extractTargetMethodFromRepository(ReactiveJavaInterfaceWithGenerics.class, "saveAll", Iterable.class); assertThat(reference.getDeclaringClass()).isEqualTo(ReactiveCrudRepository.class); @@ -87,7 +87,7 @@ class ReactiveRepositoryInformationUnitTests { @Test // DATACMNS-836 void discoversMethodExactObjectArguments() throws Exception { - Method reference = extractTargetMethodFromRepository(ReactiveJavaInterfaceWithGenerics.class, "save", Object.class); + var reference = extractTargetMethodFromRepository(ReactiveJavaInterfaceWithGenerics.class, "save", Object.class); assertThat(reference.getDeclaringClass()).isEqualTo(ReactiveCrudRepository.class); assertThat(reference.getName()).isEqualTo("save"); @@ -97,7 +97,7 @@ class ReactiveRepositoryInformationUnitTests { @Test // DATACMNS-1023 void usesCorrectSaveOverload() throws Exception { - Method reference = extractTargetMethodFromRepository(DummyRepository.class, "saveAll", Iterable.class); + var reference = extractTargetMethodFromRepository(DummyRepository.class, "saveAll", Iterable.class); assertThat(reference).isEqualTo(ReactiveCrudRepository.class.getMethod("saveAll", Iterable.class)); } @@ -107,7 +107,7 @@ class ReactiveRepositoryInformationUnitTests { RepositoryMetadata metadata = new DefaultRepositoryMetadata(repositoryType); - RepositoryComposition composition = RepositoryComposition.of(RepositoryFragment.structural(BASE_CLASS)) + var composition = RepositoryComposition.of(RepositoryFragment.structural(BASE_CLASS)) .withMethodLookup(MethodLookups.forReactiveTypes(metadata)); return composition.findMethod(repositoryType.getMethod(methodName, args)).get(); diff --git a/src/test/java/org/springframework/data/repository/core/support/ReactiveWrapperRepositoryFactorySupportUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/ReactiveWrapperRepositoryFactorySupportUnitTests.java index 9b5963b84..2601c9a25 100644 --- a/src/test/java/org/springframework/data/repository/core/support/ReactiveWrapperRepositoryFactorySupportUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/ReactiveWrapperRepositoryFactorySupportUnitTests.java @@ -58,7 +58,7 @@ class ReactiveWrapperRepositoryFactorySupportUnitTests { @Test // DATACMNS-836 void invokesCustomMethodIfItRedeclaresACRUDOne() { - ObjectRepository repository = factory.getRepository(ObjectRepository.class, customImplementation); + var repository = factory.getRepository(ObjectRepository.class, customImplementation); repository.findById(1); verify(customImplementation, times(1)).findById(1); @@ -72,7 +72,7 @@ class ReactiveWrapperRepositoryFactorySupportUnitTests { Long id = 1L; when(backingRepo.findById(id)).thenReturn(Mono.just(true)); - RxJava3ConvertingRepository repository = factory.getRepository(RxJava3ConvertingRepository.class); + var repository = factory.getRepository(RxJava3ConvertingRepository.class); repository.findById(id); verify(backingRepo, times(1)).findById(id); @@ -84,7 +84,7 @@ class ReactiveWrapperRepositoryFactorySupportUnitTests { Serializable id = 1L; when(backingRepo.deleteById(id)).thenReturn(Mono.empty()); - RxJava3ConvertingRepository repository = factory.getRepository(RxJava3ConvertingRepository.class); + var repository = factory.getRepository(RxJava3ConvertingRepository.class); repository.deleteById(id); verify(backingRepo, times(1)).deleteById(id); diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryCompositionUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/RepositoryCompositionUnitTests.java index 08c561edd..8498056aa 100644 --- a/src/test/java/org/springframework/data/repository/core/support/RepositoryCompositionUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/RepositoryCompositionUnitTests.java @@ -20,8 +20,6 @@ import static org.mockito.Mockito.*; import lombok.Data; -import java.lang.reflect.Method; - import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -57,10 +55,10 @@ class RepositoryCompositionUnitTests { RepositoryInformation repositoryInformation = new DefaultRepositoryInformation( new DefaultRepositoryMetadata(PersonRepository.class), backingRepo.getClass(), RepositoryComposition.empty()); - RepositoryFragment mixin = RepositoryFragment.implemented(QueryByExampleExecutor.class, + var mixin = RepositoryFragment.implemented(QueryByExampleExecutor.class, queryByExampleExecutor); - RepositoryFragment base = RepositoryFragment.implemented(backingRepo); + var base = RepositoryFragment.implemented(backingRepo); repositoryComposition = RepositoryComposition.of(RepositoryFragments.of(mixin, base)) .withMethodLookup(MethodLookups.forRepositoryTypes(repositoryInformation)); @@ -76,11 +74,11 @@ class RepositoryCompositionUnitTests { @Test // DATACMNS-102 void shouldCallSaveOnBackingRepo() throws Throwable { - Method save = ReflectionUtils.findMethod(PersonRepository.class, "save", Person.class); + var save = ReflectionUtils.findMethod(PersonRepository.class, "save", Person.class); - Method method = repositoryComposition.findMethod(save).get(); + var method = repositoryComposition.findMethod(save).get(); - Person person = new Person(); + var person = new Person(); repositoryComposition.invoke(method, person); verify(backingRepo).save(person); @@ -89,11 +87,11 @@ class RepositoryCompositionUnitTests { @Test // DATACMNS-102 void shouldCallObjectSaveOnBackingRepo() throws Throwable { - Method save = ReflectionUtils.findMethod(PersonRepository.class, "save", Object.class); + var save = ReflectionUtils.findMethod(PersonRepository.class, "save", Object.class); - Method method = repositoryComposition.findMethod(save).get(); + var method = repositoryComposition.findMethod(save).get(); - Person person = new Person(); + var person = new Person(); repositoryComposition.invoke(method, person); verify(backingRepo).save((Object) person); @@ -102,12 +100,12 @@ class RepositoryCompositionUnitTests { @Test // DATACMNS-102 void shouldCallFindOneOnMixin() throws Throwable { - Method findOne = ReflectionUtils.findMethod(PersonRepository.class, "findOne", Example.class); + var findOne = ReflectionUtils.findMethod(PersonRepository.class, "findOne", Example.class); - Method method = repositoryComposition.findMethod(findOne).get(); + var method = repositoryComposition.findMethod(findOne).get(); - Person person = new Person(); - Example example = Example.of(person); + var person = new Person(); + var example = Example.of(person); repositoryComposition.invoke(method, example); @@ -123,13 +121,13 @@ class RepositoryCompositionUnitTests { RepositoryFragment foo = RepositoryFragment.implemented(FooMixinImpl.INSTANCE); RepositoryFragment bar = RepositoryFragment.implemented(BarMixinImpl.INSTANCE); - RepositoryComposition fooBar = RepositoryComposition.of(RepositoryFragments.of(foo, bar)) + var fooBar = RepositoryComposition.of(RepositoryFragments.of(foo, bar)) .withMethodLookup(MethodLookups.forRepositoryTypes(repositoryInformation)); - RepositoryComposition barFoo = RepositoryComposition.of(RepositoryFragments.of(bar, foo)) + var barFoo = RepositoryComposition.of(RepositoryFragments.of(bar, foo)) .withMethodLookup(MethodLookups.forRepositoryTypes(repositoryInformation)); - Method getString = ReflectionUtils.findMethod(OrderedRepository.class, "getString"); + var getString = ReflectionUtils.findMethod(OrderedRepository.class, "getString"); assertThat(fooBar.invoke(fooBar.findMethod(getString).get())).isEqualTo("foo"); @@ -139,7 +137,7 @@ class RepositoryCompositionUnitTests { @Test // DATACMNS-102, GH-2341 void shouldValidateStructuralFragments() { - RepositoryComposition mixed = RepositoryComposition.of(RepositoryFragment.structural(QueryByExampleExecutor.class), + var mixed = RepositoryComposition.of(RepositoryFragment.structural(QueryByExampleExecutor.class), RepositoryFragment.implemented(backingRepo)); assertThatExceptionOfType(FragmentNotImplementedException.class) // @@ -152,7 +150,7 @@ class RepositoryCompositionUnitTests { @Test // DATACMNS-102 void shouldValidateImplementationFragments() { - RepositoryComposition mixed = RepositoryComposition.of(RepositoryFragment.implemented(backingRepo)); + var mixed = RepositoryComposition.of(RepositoryFragment.implemented(backingRepo)); mixed.validateImplementation(); } @@ -161,8 +159,8 @@ class RepositoryCompositionUnitTests { @SuppressWarnings("rawtypes") void shouldAppendCorrectly() { - RepositoryFragment initial = RepositoryFragment.implemented(backingRepo); - RepositoryFragment structural = RepositoryFragment.structural(QueryByExampleExecutor.class); + var initial = RepositoryFragment.implemented(backingRepo); + var structural = RepositoryFragment.structural(QueryByExampleExecutor.class); assertThat(RepositoryComposition.of(initial).append(structural).getFragments()).containsSequence(initial, structural); diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java index a0e2dd422..115934baf 100755 --- a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/RepositoryFactoryBeanSupportUnitTests.java @@ -24,7 +24,6 @@ import org.junit.jupiter.api.Test; import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.repository.Repository; -import org.springframework.data.repository.core.RepositoryInformation; import org.springframework.lang.NonNull; import org.springframework.lang.Nullable; import org.springframework.test.util.ReflectionTestUtils; @@ -41,14 +40,14 @@ class RepositoryFactoryBeanSupportUnitTests { @SuppressWarnings({ "rawtypes", "unchecked" }) void setsConfiguredClassLoaderOnRepositoryFactory() { - ClassLoader classLoader = mock(ClassLoader.class); + var classLoader = mock(ClassLoader.class); RepositoryFactoryBeanSupport factoryBean = new DummyRepositoryFactoryBean(SampleRepository.class); factoryBean.setBeanClassLoader(classLoader); factoryBean.setLazyInit(true); factoryBean.afterPropertiesSet(); - Object factory = ReflectionTestUtils.getField(factoryBean, "factory"); + var factory = ReflectionTestUtils.getField(factoryBean, "factory"); assertThat(ReflectionTestUtils.getField(factory, "classLoader")).isEqualTo(classLoader); } @@ -68,7 +67,7 @@ class RepositoryFactoryBeanSupportUnitTests { new DummyRepositoryFactoryBean<>(SampleWithQuerydslRepository.class); factoryBean.afterPropertiesSet(); - RepositoryInformation information = factoryBean.getRepositoryInformation(); + var information = factoryBean.getRepositoryInformation(); assertThat(information.getQueryMethods()).isEmpty(); } @@ -99,7 +98,7 @@ class RepositoryFactoryBeanSupportUnitTests { @Test // DATACMNS-1345 void reportsMappingContextUnavailableForPersistentEntityLookup() { - RepositoryFactoryBeanSupport bean = new RepositoryFactoryBeanSupport( + var bean = new RepositoryFactoryBeanSupport( SampleRepository.class) { @Override diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java index f4e547805..4470b1de3 100755 --- a/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/RepositoryFactorySupportUnitTests.java @@ -35,15 +35,14 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.ArgumentCaptor; -import org.mockito.InOrder; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoSettings; import org.mockito.quality.Strictness; + import org.springframework.aop.framework.ProxyFactory; import org.springframework.beans.factory.support.DefaultListableBeanFactory; -import org.springframework.core.metrics.ApplicationStartup; import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; @@ -136,7 +135,7 @@ class RepositoryFactorySupportUnitTests { factory.addInvocationListener(invocationListener); - ObjectRepository repository = factory.getRepository(ObjectRepository.class); + var repository = factory.getRepository(ObjectRepository.class); repository.save(repository); verify(backingRepo, times(1)).save(any(Object.class)); @@ -146,7 +145,7 @@ class RepositoryFactorySupportUnitTests { @Test void invokesCustomMethodIfItRedeclaresACRUDOne() { - ObjectRepository repository = factory.getRepository(ObjectRepository.class, customImplementation); + var repository = factory.getRepository(ObjectRepository.class, customImplementation); repository.findById(1); verify(customImplementation, times(1)).findById(1); @@ -156,7 +155,7 @@ class RepositoryFactorySupportUnitTests { @Test // DATACMNS-102 void invokesCustomMethodCompositionMethodIfItRedeclaresACRUDOne() { - ObjectRepository repository = factory.getRepository(ObjectRepository.class, + var repository = factory.getRepository(ObjectRepository.class, RepositoryFragments.just(customImplementation)); repository.findById(1); @@ -167,7 +166,7 @@ class RepositoryFactorySupportUnitTests { @Test void createsRepositoryInstanceWithCustomIntermediateRepository() { - CustomRepository repository = factory.getRepository(CustomRepository.class); + var repository = factory.getRepository(CustomRepository.class); Pageable pageable = PageRequest.of(0, 10); when(backingRepo.findAll(pageable)).thenReturn(new PageImpl<>(Collections.emptyList())); @@ -181,7 +180,7 @@ class RepositoryFactorySupportUnitTests { void createsProxyForAnnotatedRepository() { Class repositoryInterface = AnnotatedRepository.class; - Class> foo = (Class>) repositoryInterface; + var foo = (Class>) repositoryInterface; assertThat(factory.getRepository(foo)).isNotNull(); } @@ -196,7 +195,7 @@ class RepositoryFactorySupportUnitTests { @Test // DATACMNS-489, DATACMNS-1764 void wrapsExecutionResultIntoFutureIfConfigured() throws Exception { - final Object reference = new Object(); + final var reference = new Object(); when(factory.queryOne.execute(any(Object[].class))).then(invocation -> { Thread.sleep(500); @@ -205,13 +204,13 @@ class RepositoryFactorySupportUnitTests { factory.addInvocationListener(invocationListener); - ConvertingRepository repository = factory.getRepository(ConvertingRepository.class); + var repository = factory.getRepository(ConvertingRepository.class); - AsyncAnnotationBeanPostProcessor processor = new AsyncAnnotationBeanPostProcessor(); + var processor = new AsyncAnnotationBeanPostProcessor(); processor.setBeanFactory(new DefaultListableBeanFactory()); repository = (ConvertingRepository) processor.postProcessAfterInitialization(repository, null); - Future future = repository.findByFirstname("Foo"); + var future = repository.findByFirstname("Foo"); assertThat(future.isDone()).isFalse(); @@ -223,7 +222,7 @@ class RepositoryFactorySupportUnitTests { verify(factory.queryOne, times(1)).execute(any(Object[].class)); - ArgumentCaptor captor = ArgumentCaptor.forClass(RepositoryMethodInvocation.class); + var captor = ArgumentCaptor.forClass(RepositoryMethodInvocation.class); verify(invocationListener).afterInvocation(captor.capture()); } @@ -234,17 +233,17 @@ class RepositoryFactorySupportUnitTests { factory.addInvocationListener(invocationListener); - ConvertingRepository repository = factory.getRepository(ConvertingRepository.class); + var repository = factory.getRepository(ConvertingRepository.class); try { repository.findByLastname("Foo"); fail("Missing exception"); } catch (IllegalStateException e) {} - ArgumentCaptor captor = ArgumentCaptor.forClass(RepositoryMethodInvocation.class); + var captor = ArgumentCaptor.forClass(RepositoryMethodInvocation.class); verify(invocationListener).afterInvocation(captor.capture()); - RepositoryMethodInvocation repositoryMethodInvocation = captor.getValue(); + var repositoryMethodInvocation = captor.getValue(); assertThat(repositoryMethodInvocation.getDuration(TimeUnit.NANOSECONDS)).isGreaterThan(0); assertThat(repositoryMethodInvocation.getResult().getState()).isEqualTo(State.ERROR); assertThat(repositoryMethodInvocation.getResult().getError()).isInstanceOf(IllegalStateException.class); @@ -253,30 +252,30 @@ class RepositoryFactorySupportUnitTests { @Test // DATACMNS-509, DATACMNS-1764 void convertsWithSameElementType() { - List names = singletonList("Dave"); + var names = singletonList("Dave"); factory.addInvocationListener(invocationListener); when(factory.queryOne.execute(any(Object[].class))).thenReturn(names); - ConvertingRepository repository = factory.getRepository(ConvertingRepository.class); - Set result = repository.convertListToStringSet(); + var repository = factory.getRepository(ConvertingRepository.class); + var result = repository.convertListToStringSet(); assertThat(result).hasSize(1); assertThat(result.iterator().next()).isEqualTo("Dave"); - ArgumentCaptor captor = ArgumentCaptor.forClass(RepositoryMethodInvocation.class); + var captor = ArgumentCaptor.forClass(RepositoryMethodInvocation.class); verify(invocationListener).afterInvocation(captor.capture()); } @Test // DATACMNS-509 void convertsCollectionToOtherCollectionWithElementSuperType() { - List names = singletonList("Dave"); + var names = singletonList("Dave"); when(factory.queryOne.execute(any(Object[].class))).thenReturn(names); - ConvertingRepository repository = factory.getRepository(ConvertingRepository.class); - Set result = repository.convertListToObjectSet(); + var repository = factory.getRepository(ConvertingRepository.class); + var result = repository.convertListToObjectSet(); assertThat(result).containsExactly("Dave"); } @@ -298,7 +297,7 @@ class RepositoryFactorySupportUnitTests { @Test // DATACMNS-714 void wrapsExecutionResultIntoCompletableFutureIfConfigured() throws Exception { - User reference = new User(); + var reference = new User(); expect(prepareConvertingRepository(reference).findOneByFirstname("Foo"), reference); } @@ -306,7 +305,7 @@ class RepositoryFactorySupportUnitTests { @Test // DATACMNS-714 void wrapsExecutionResultIntoListenableFutureIfConfigured() throws Exception { - User reference = new User(); + var reference = new User(); expect(prepareConvertingRepository(reference).findOneByLastname("Foo"), reference); } @@ -314,7 +313,7 @@ class RepositoryFactorySupportUnitTests { @Test // DATACMNS-714 void wrapsExecutionResultIntoCompletableFutureWithEntityCollectionIfConfigured() throws Exception { - List reference = singletonList(new User()); + var reference = singletonList(new User()); expect(prepareConvertingRepository(reference).readAllByFirstname("Foo"), reference); } @@ -322,7 +321,7 @@ class RepositoryFactorySupportUnitTests { @Test // DATACMNS-714 void wrapsExecutionResultIntoListenableFutureWithEntityCollectionIfConfigured() throws Exception { - List reference = singletonList(new User()); + var reference = singletonList(new User()); expect(prepareConvertingRepository(reference).readAllByLastname("Foo"), reference); } @@ -331,9 +330,9 @@ class RepositoryFactorySupportUnitTests { @SuppressWarnings("rawtypes") void rejectsRepositoryBaseClassWithInvalidConstructor() { - RepositoryInformation information = mock(RepositoryInformation.class); + var information = mock(RepositoryInformation.class); doReturn(CustomRepositoryBaseClass.class).when(information).getRepositoryBaseClass(); - EntityInformation entityInformation = mock(EntityInformation.class); + var entityInformation = mock(EntityInformation.class); assertThatThrownBy( // () -> factory.getTargetRepositoryViaReflection(information, entityInformation, "Foo")) // @@ -345,7 +344,7 @@ class RepositoryFactorySupportUnitTests { @Test void callsStaticMethodOnInterface() { - ObjectRepository repository = factory.getRepository(ObjectRepository.class, customImplementation); + var repository = factory.getRepository(ObjectRepository.class, customImplementation); assertThat(repository.staticMethodDelegate()).isEqualTo("OK"); @@ -356,7 +355,7 @@ class RepositoryFactorySupportUnitTests { @Test // DATACMNS-1154 void considersRequiredReturnValue() { - KotlinUserRepository repository = factory.getRepository(KotlinUserRepository.class); + var repository = factory.getRepository(KotlinUserRepository.class); assertThatThrownBy( // () -> repository.findById("")) // @@ -369,7 +368,7 @@ class RepositoryFactorySupportUnitTests { @Test // DATACMNS-1154 void considersRequiredParameter() { - ObjectRepository repository = factory.getRepository(ObjectRepository.class); + var repository = factory.getRepository(ObjectRepository.class); assertThatThrownBy( // () -> repository.findByClass(null)) // @@ -380,7 +379,7 @@ class RepositoryFactorySupportUnitTests { @Test // DATACMNS-1154 void shouldAllowVoidMethods() { - ObjectRepository repository = factory.getRepository(ObjectRepository.class, backingRepo); + var repository = factory.getRepository(ObjectRepository.class, backingRepo); repository.deleteAll(); @@ -390,7 +389,7 @@ class RepositoryFactorySupportUnitTests { @Test // DATACMNS-1154 void considersRequiredKotlinParameter() { - KotlinUserRepository repository = factory.getRepository(KotlinUserRepository.class); + var repository = factory.getRepository(KotlinUserRepository.class); assertThatThrownBy( // () -> repository.findById(null)) // @@ -401,7 +400,7 @@ class RepositoryFactorySupportUnitTests { @Test // DATACMNS-1154 void considersRequiredKotlinNullableParameter() { - KotlinUserRepository repository = factory.getRepository(KotlinUserRepository.class); + var repository = factory.getRepository(KotlinUserRepository.class); assertThat(repository.findByOptionalId(null)).isNull(); } @@ -409,7 +408,7 @@ class RepositoryFactorySupportUnitTests { @Test // DATACMNS-1197 void considersNullabilityForKotlinInterfaceProperties() { - KotlinUserRepository repository = factory.getRepository(KotlinUserRepository.class); + var repository = factory.getRepository(KotlinUserRepository.class); assertThatThrownBy(repository::getFindRouteQuery).isInstanceOf(EmptyResultDataAccessException.class); } @@ -419,9 +418,9 @@ class RepositoryFactorySupportUnitTests { factory.getRepository(ObjectRepository.class, backingRepo); - ApplicationStartup startup = factory.getApplicationStartup(); + var startup = factory.getApplicationStartup(); - InOrder orderedInvocation = Mockito.inOrder(startup); + var orderedInvocation = Mockito.inOrder(startup); orderedInvocation.verify(startup).start("spring.data.repository.init"); orderedInvocation.verify(startup).start("spring.data.repository.metadata"); orderedInvocation.verify(startup).start("spring.data.repository.composition"); @@ -456,7 +455,7 @@ class RepositoryFactorySupportUnitTests { @Test // GH-2341 void derivedQueryMethodCannotBeImplemented() { - DummyRepositoryFactory factory = new DummyRepositoryFactory(backingRepo) { + var factory = new DummyRepositoryFactory(backingRepo) { @Override protected Optional getQueryLookupStrategy(QueryLookupStrategy.Key key, QueryMethodEvaluationContextProvider evaluationContextProvider) { @@ -479,7 +478,7 @@ class RepositoryFactorySupportUnitTests { return expectedValue; }); - AsyncAnnotationBeanPostProcessor processor = new AsyncAnnotationBeanPostProcessor(); + var processor = new AsyncAnnotationBeanPostProcessor(); processor.setBeanFactory(new DefaultListableBeanFactory()); return (ConvertingRepository) processor diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryInformationPreferringAnnotationTransactionAttributeSourceUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/RepositoryInformationPreferringAnnotationTransactionAttributeSourceUnitTests.java index f7fbcf040..3d696fabc 100755 --- a/src/test/java/org/springframework/data/repository/core/support/RepositoryInformationPreferringAnnotationTransactionAttributeSourceUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/RepositoryInformationPreferringAnnotationTransactionAttributeSourceUnitTests.java @@ -19,10 +19,10 @@ import static org.assertj.core.api.Assertions.*; import static org.mockito.Mockito.*; import org.junit.jupiter.api.Test; + import org.springframework.data.repository.core.RepositoryInformation; import org.springframework.data.repository.core.support.TransactionalRepositoryProxyPostProcessor.RepositoryAnnotationTransactionAttributeSource; import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.interceptor.TransactionAttribute; /** * Unit tests for {@link RepositoryAnnotationTransactionAttributeSource}. @@ -35,12 +35,12 @@ class RepositoryInformationPreferringAnnotationTransactionAttributeSourceUnitTes @Test void usesCustomTransactionConfigurationOnInterface() throws Exception { - RepositoryInformation information = mock(RepositoryInformation.class); + var information = mock(RepositoryInformation.class); - RepositoryAnnotationTransactionAttributeSource source = new RepositoryAnnotationTransactionAttributeSource( + var source = new RepositoryAnnotationTransactionAttributeSource( information, true); - TransactionAttribute attribute = source.getTransactionAttribute(Bar.class.getMethod("bar", Object.class), + var attribute = source.getTransactionAttribute(Bar.class.getMethod("bar", Object.class), FooImpl.class); assertThat(attribute.isReadOnly()).isFalse(); diff --git a/src/test/java/org/springframework/data/repository/core/support/RepositoryMethodInvokerUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/RepositoryMethodInvokerUnitTests.java index 8c66113bf..b77946b16 100644 --- a/src/test/java/org/springframework/data/repository/core/support/RepositoryMethodInvokerUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/RepositoryMethodInvokerUnitTests.java @@ -175,7 +175,7 @@ class RepositoryMethodInvokerUnitTests { @Test // DATACMNS-1764 void capturesStreamDurationAsSumOfDelayTillCancel() throws Exception { - Delays delays = delays(250, 100); + var delays = delays(250, 100); when(query.execute(any())).thenReturn(Stream.generate(() -> { delays.delay(); @@ -246,7 +246,7 @@ class RepositoryMethodInvokerUnitTests { @Test // DATACMNS-1764 void capturesKotlinSuspendFunctionsCorrectly() throws Exception { - Flux result = Flux.just(new TestDummy()); + var result = Flux.just(new TestDummy()); when(query.execute(any())).thenReturn(result); Flow flow = new RepositoryMethodInvokerStub(MyCoroutineRepository.class, multicaster, @@ -293,7 +293,7 @@ class RepositoryMethodInvokerUnitTests { Delays(Integer... delays) { this.delays = new ArrayBlockingQueue(delays.length); - for (Integer delay : delays) { + for (var delay : delays) { this.delays.add(delay); } } diff --git a/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryFactoryBeanSupportUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryFactoryBeanSupportUnitTests.java index bb5a32763..513c2a39c 100755 --- a/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryFactoryBeanSupportUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryFactoryBeanSupportUnitTests.java @@ -20,7 +20,7 @@ import static org.mockito.Mockito.*; import static org.springframework.test.util.ReflectionTestUtils.*; import org.junit.jupiter.api.Test; -import org.springframework.aop.Advisor; + import org.springframework.aop.framework.Advised; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.data.repository.CrudRepository; @@ -38,23 +38,22 @@ class TransactionRepositoryFactoryBeanSupportUnitTests { @Test // DATACMNS-656 void disablesDefaultTransactionsIfConfigured() { - SampleTransactionalRepositoryFactoryBean factoryBean = new SampleTransactionalRepositoryFactoryBean(); + var factoryBean = new SampleTransactionalRepositoryFactoryBean(); factoryBean.setEnableDefaultTransactions(false); factoryBean.setBeanFactory(new DefaultListableBeanFactory()); factoryBean.afterPropertiesSet(); - CrudRepository repository = factoryBean.getObject(); + var repository = factoryBean.getObject(); - Advisor[] advisors = ((Advised) repository).getAdvisors(); - boolean found = false; + var advisors = ((Advised) repository).getAdvisors(); + var found = false; - for (Advisor advisor : advisors) { + for (var advisor : advisors) { - if (advisor.getAdvice() instanceof TransactionInterceptor) { + if (advisor.getAdvice() instanceof TransactionInterceptor interceptor) { found = true; - TransactionInterceptor interceptor = (TransactionInterceptor) advisor.getAdvice(); assertThat(getField(interceptor.getTransactionAttributeSource(), "enableDefaultTransactions")).isEqualTo(false); break; } @@ -66,7 +65,7 @@ class TransactionRepositoryFactoryBeanSupportUnitTests { @Test // DATACMNS-880 void propagatesBeanFactoryToSuperClass() { - SampleTransactionalRepositoryFactoryBean factoryBean = new SampleTransactionalRepositoryFactoryBean(); + var factoryBean = new SampleTransactionalRepositoryFactoryBean(); factoryBean.setBeanFactory(new DefaultListableBeanFactory()); assertThat(ReflectionTestUtils.getField(factoryBean, RepositoryFactoryBeanSupport.class, "beanFactory")) diff --git a/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryProxyPostProcessorUnitTests.java b/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryProxyPostProcessorUnitTests.java index 6d0a2197d..53b9950cd 100755 --- a/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryProxyPostProcessorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/core/support/TransactionRepositoryProxyPostProcessorUnitTests.java @@ -20,19 +20,18 @@ import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import java.io.Serializable; -import java.lang.reflect.Method; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; + import org.springframework.aop.framework.ProxyFactory; import org.springframework.beans.factory.ListableBeanFactory; import org.springframework.data.repository.Repository; import org.springframework.data.repository.core.RepositoryInformation; import org.springframework.data.repository.core.support.TransactionalRepositoryProxyPostProcessor.RepositoryAnnotationTransactionAttributeSource; import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.interceptor.TransactionAttribute; import org.springframework.transaction.interceptor.TransactionAttributeSource; import org.springframework.transaction.interceptor.TransactionInterceptor; @@ -84,26 +83,26 @@ class TransactionRepositoryProxyPostProcessorUnitTests { @Test // DATACMNS-732 void considersJtaTransactional() throws Exception { - Method method = SampleRepository.class.getMethod("methodWithJakartaAtTransactional"); + var method = SampleRepository.class.getMethod("methodWithJakartaAtTransactional"); TransactionAttributeSource attributeSource = new RepositoryAnnotationTransactionAttributeSource( repositoryInformation, true); - TransactionAttribute attribute = attributeSource.getTransactionAttribute(method, SampleRepository.class); + var attribute = attributeSource.getTransactionAttribute(method, SampleRepository.class); assertThat(attribute).isNotNull(); } private void assertTransactionAttributeFor(Class implementationClass) throws Exception { - Method repositorySaveMethod = SampleRepository.class.getMethod("save", Sample.class); - Method implementationClassMethod = implementationClass.getMethod("save", Object.class); + var repositorySaveMethod = SampleRepository.class.getMethod("save", Sample.class); + var implementationClassMethod = implementationClass.getMethod("save", Object.class); when(repositoryInformation.getTargetClassMethod(repositorySaveMethod)).thenReturn(implementationClassMethod); - RepositoryAnnotationTransactionAttributeSource attributeSource = new RepositoryAnnotationTransactionAttributeSource( + var attributeSource = new RepositoryAnnotationTransactionAttributeSource( repositoryInformation, true); - TransactionAttribute attribute = attributeSource.getTransactionAttribute(repositorySaveMethod, + var attribute = attributeSource.getTransactionAttribute(repositorySaveMethod, SampleImplementation.class); assertThat(attribute).isNotNull(); diff --git a/src/test/java/org/springframework/data/repository/init/Jackson2ResourceReaderIntegrationTests.java b/src/test/java/org/springframework/data/repository/init/Jackson2ResourceReaderIntegrationTests.java index 49ae6a296..f15600030 100755 --- a/src/test/java/org/springframework/data/repository/init/Jackson2ResourceReaderIntegrationTests.java +++ b/src/test/java/org/springframework/data/repository/init/Jackson2ResourceReaderIntegrationTests.java @@ -34,7 +34,7 @@ class Jackson2ResourceReaderIntegrationTests { void readsFileWithMultipleObjects() throws Exception { ResourceReader reader = new Jackson2ResourceReader(); - Object result = reader.readFrom(new ClassPathResource("data.json", getClass()), null); + var result = reader.readFrom(new ClassPathResource("data.json", getClass()), null); assertThat(result).isInstanceOf(Collection.class); assertThat((Collection) result).hasSize(1); diff --git a/src/test/java/org/springframework/data/repository/init/ResourceReaderRepositoryInitializerUnitTests.java b/src/test/java/org/springframework/data/repository/init/ResourceReaderRepositoryInitializerUnitTests.java index 30bf29e2a..5af885dda 100755 --- a/src/test/java/org/springframework/data/repository/init/ResourceReaderRepositoryInitializerUnitTests.java +++ b/src/test/java/org/springframework/data/repository/init/ResourceReaderRepositoryInitializerUnitTests.java @@ -62,7 +62,7 @@ class ResourceReaderRepositoryInitializerUnitTests { @Test void storesSingleObjectCorrectly() throws Exception { - Product reference = new Product(); + var reference = new Product(); setUpReferenceAndInititalize(reference); verify(productRepository).save(reference); @@ -71,7 +71,7 @@ class ResourceReaderRepositoryInitializerUnitTests { @Test void storesCollectionOfObjectsCorrectly() throws Exception { - Product product = new Product(); + var product = new Product(); Collection reference = Collections.singletonList(product); setUpReferenceAndInititalize(reference); @@ -82,7 +82,7 @@ class ResourceReaderRepositoryInitializerUnitTests { @Test // DATACMNS-224 void emitsRepositoriesPopulatedEventIfPublisherConfigured() throws Exception { - RepositoryPopulator populator = setUpReferenceAndInititalize(new User(), publisher); + var populator = setUpReferenceAndInititalize(new User(), publisher); ApplicationEvent event = new RepositoriesPopulatedEvent(populator, repositories); verify(publisher, times(1)).publishEvent(event); @@ -94,7 +94,7 @@ class ResourceReaderRepositoryInitializerUnitTests { when(reader.readFrom(any(), any())).thenReturn(reference); when(productRepository.save(any())).then(AdditionalAnswers.returnsFirstArg()); - ResourceReaderRepositoryPopulator populator = new ResourceReaderRepositoryPopulator(reader); + var populator = new ResourceReaderRepositoryPopulator(reader); populator.setResources(resource); populator.setApplicationEventPublisher(publisher); populator.populate(repositories); diff --git a/src/test/java/org/springframework/data/repository/query/ExtensionAwareEvaluationContextProviderUnitTests.java b/src/test/java/org/springframework/data/repository/query/ExtensionAwareEvaluationContextProviderUnitTests.java index 118b91cbf..9ac3d7775 100755 --- a/src/test/java/org/springframework/data/repository/query/ExtensionAwareEvaluationContextProviderUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/ExtensionAwareEvaluationContextProviderUnitTests.java @@ -44,7 +44,6 @@ import org.springframework.data.spel.ExtensionAwareEvaluationContextProvider; import org.springframework.data.spel.spi.EvaluationContextExtension; import org.springframework.data.spel.spi.ExtensionIdAware; import org.springframework.data.spel.spi.Function; -import org.springframework.expression.EvaluationContext; import org.springframework.expression.spel.standard.SpelExpressionParser; /** @@ -129,7 +128,7 @@ class ExtensionAwareEvaluationContextProviderUnitTests { void exposesPageableParameter() throws Exception { this.method = SampleRepo.class.getMethod("findByFirstname", String.class, Pageable.class); - PageRequest pageable = PageRequest.of(2, 3, Sort.by(Direction.DESC, "lastname")); + var pageable = PageRequest.of(2, 3, Sort.by(Direction.DESC, "lastname")); assertThat(evaluateExpression("#pageable.offset", new Object[] { "test", pageable })).isEqualTo(6L); assertThat(evaluateExpression("#pageable.pageSize", new Object[] { "test", pageable })).isEqualTo(3); @@ -141,7 +140,7 @@ class ExtensionAwareEvaluationContextProviderUnitTests { void exposesSortParameter() throws Exception { this.method = SampleRepo.class.getMethod("findByFirstname", String.class, Sort.class); - Sort sort = Sort.by(Direction.DESC, "lastname"); + var sort = Sort.by(Direction.DESC, "lastname"); assertThat(evaluateExpression("#sort.toString()", new Object[] { "test", sort })).isEqualTo("lastname: DESC"); } @@ -205,7 +204,7 @@ class ExtensionAwareEvaluationContextProviderUnitTests { @Test // DATACMNS-533 void shouldBeAbleToAccessCustomRootObjectPropertiesAndFunctionsFromDynamicTargetSource() { - final AtomicInteger counter = new AtomicInteger(); + final var counter = new AtomicInteger(); this.provider = new ExtensionAwareQueryMethodEvaluationContextProvider(Collections.singletonList( // new DummyExtension("_first", "first") { @@ -289,9 +288,9 @@ class ExtensionAwareEvaluationContextProviderUnitTests { @Test // DATACMNS-1534 void contextProviderShouldLazilyLookUpExtensions() { - ListableBeanFactory beanFactory = Mockito.mock(ListableBeanFactory.class); + var beanFactory = Mockito.mock(ListableBeanFactory.class); - ExtensionAwareEvaluationContextProvider contextProvider = new ExtensionAwareEvaluationContextProvider(beanFactory); + var contextProvider = new ExtensionAwareEvaluationContextProvider(beanFactory); verify(beanFactory, never()).getBeansOfType(eq(EvaluationContextExtension.class), anyBoolean(), anyBoolean()); @@ -303,9 +302,9 @@ class ExtensionAwareEvaluationContextProviderUnitTests { @Test // DATACMNS-1534 void contextProviderShouldLookupExtensionsOnlyOnce() { - ListableBeanFactory beanFactory = Mockito.mock(ListableBeanFactory.class); + var beanFactory = Mockito.mock(ListableBeanFactory.class); - ExtensionAwareEvaluationContextProvider contextProvider = new ExtensionAwareEvaluationContextProvider(beanFactory); + var contextProvider = new ExtensionAwareEvaluationContextProvider(beanFactory); contextProvider.getEvaluationContext(null); contextProvider.getEvaluationContext(null); @@ -398,8 +397,8 @@ class ExtensionAwareEvaluationContextProviderUnitTests { private Object evaluateExpression(String expression, Object[] args) { - DefaultParameters parameters = new DefaultParameters(method); - EvaluationContext evaluationContext = provider.getEvaluationContext(parameters, args); + var parameters = new DefaultParameters(method); + var evaluationContext = provider.getEvaluationContext(parameters, args); return new SpelExpressionParser().parseExpression(expression).getValue(evaluationContext); } diff --git a/src/test/java/org/springframework/data/repository/query/ParameterUnitTests.java b/src/test/java/org/springframework/data/repository/query/ParameterUnitTests.java index 6e7d2458c..a00215b96 100644 --- a/src/test/java/org/springframework/data/repository/query/ParameterUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/ParameterUnitTests.java @@ -35,7 +35,7 @@ class ParameterUnitTests { @Test // DATAJPA-1185 void classParameterWithSameTypeParameterAsReturnedListIsDynamicProjectionParameter() throws Exception { - Parameter parameter = new Parameter(getMethodParameter("dynamicProjectionWithList")); + var parameter = new Parameter(getMethodParameter("dynamicProjectionWithList")); assertThat(parameter.isDynamicProjectionParameter()).isTrue(); } @@ -43,7 +43,7 @@ class ParameterUnitTests { @Test // DATAJPA-1185 void classParameterWithSameTypeParameterAsReturnedStreamIsDynamicProjectionParameter() throws Exception { - Parameter parameter = new Parameter(getMethodParameter("dynamicProjectionWithStream")); + var parameter = new Parameter(getMethodParameter("dynamicProjectionWithStream")); assertThat(parameter.isDynamicProjectionParameter()).isTrue(); } diff --git a/src/test/java/org/springframework/data/repository/query/ParametersParameterAccessorUnitTests.java b/src/test/java/org/springframework/data/repository/query/ParametersParameterAccessorUnitTests.java index a3067eb18..4db0763ac 100755 --- a/src/test/java/org/springframework/data/repository/query/ParametersParameterAccessorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/ParametersParameterAccessorUnitTests.java @@ -17,11 +17,9 @@ package org.springframework.data.repository.query; import static org.assertj.core.api.Assertions.*; -import java.lang.reflect.Method; -import java.util.Iterator; - import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; + import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; @@ -44,7 +42,7 @@ class ParametersParameterAccessorUnitTests { ParameterAccessor accessor = new ParametersParameterAccessor(parameters, new Object[] { "Foo", 2 }); - Iterator iterator = accessor.iterator(); + var iterator = accessor.iterator(); assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo("Foo"); assertThat(iterator.hasNext()).isTrue(); @@ -58,8 +56,8 @@ class ParametersParameterAccessorUnitTests { ParameterAccessor accessor = new ParametersParameterAccessor(parameters, new Object[] { null, 5 }); assertThat(accessor.hasBindableNullValue()).isTrue(); - Method method = Sample.class.getMethod("method", Pageable.class, String.class); - DefaultParameters parameters = new DefaultParameters(method); + var method = Sample.class.getMethod("method", Pageable.class, String.class); + var parameters = new DefaultParameters(method); accessor = new ParametersParameterAccessor(parameters, new Object[] { null, "Foo" }); assertThat(accessor.hasBindableNullValue()).isFalse(); @@ -68,10 +66,10 @@ class ParametersParameterAccessorUnitTests { @Test // DATACMNS-804 void iteratesonlyOverBindableValues() throws Exception { - Method method = Sample.class.getMethod("method", Pageable.class, String.class); - DefaultParameters parameters = new DefaultParameters(method); + var method = Sample.class.getMethod("method", Pageable.class, String.class); + var parameters = new DefaultParameters(method); - ParametersParameterAccessor accessor = new ParametersParameterAccessor(parameters, + var accessor = new ParametersParameterAccessor(parameters, new Object[] { PageRequest.of(0, 10), "Foo" }); assertThat(accessor).hasSize(1); diff --git a/src/test/java/org/springframework/data/repository/query/ParametersUnitTests.java b/src/test/java/org/springframework/data/repository/query/ParametersUnitTests.java index f02a803f2..9c2f5838a 100755 --- a/src/test/java/org/springframework/data/repository/query/ParametersUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/ParametersUnitTests.java @@ -50,8 +50,8 @@ class ParametersUnitTests { @Test void checksValidMethodCorrectly() throws Exception { - Method validWithPageable = SampleDao.class.getMethod("validWithPageable", String.class, Pageable.class); - Method validWithSort = SampleDao.class.getMethod("validWithSort", String.class, Sort.class); + var validWithPageable = SampleDao.class.getMethod("validWithPageable", String.class, Pageable.class); + var validWithSort = SampleDao.class.getMethod("validWithSort", String.class, Sort.class); new DefaultParameters(valid); new DefaultParameters(validWithPageable); @@ -68,7 +68,7 @@ class ParametersUnitTests { Parameters parameters = getParametersFor("validWithSort", String.class, Sort.class); - Parameter parameter = parameters.getParameter(0); + var parameter = parameters.getParameter(0); assertThat(parameter.isNamedParameter()).isTrue(); assertThat(parameter.getPlaceholder()).isEqualTo(":username"); @@ -82,7 +82,7 @@ class ParametersUnitTests { @Test void calculatesPlaceholderPositionCorrectly() throws Exception { - Method method = SampleDao.class.getMethod("validWithSortFirst", Sort.class, String.class); + var method = SampleDao.class.getMethod("validWithSortFirst", Sort.class, String.class); Parameters parameters = new DefaultParameters(method); assertThat(parameters.getBindableParameter(0).getIndex()).isEqualTo(1); @@ -122,7 +122,7 @@ class ParametersUnitTests { @Test // DATACMNS-731 void detectsExplicitlyNamedParameter() throws Exception { - Parameter parameter = getParametersFor("valid", String.class).getBindableParameter(0); + var parameter = getParametersFor("valid", String.class).getBindableParameter(0); assertThat(parameter.getName()).isNotNull(); assertThat(parameter.isExplicitlyNamed()).isTrue(); @@ -131,9 +131,9 @@ class ParametersUnitTests { @Test // DATACMNS-731 void doesNotConsiderParameterExplicitlyNamedEvenIfNamePresent() throws Exception { - Parameter parameter = getParametersFor("validWithSortFirst", Sort.class, String.class).getBindableParameter(0); + var parameter = getParametersFor("validWithSortFirst", Sort.class, String.class).getBindableParameter(0); - Object methodParameter = ReflectionTestUtils.getField(parameter, "parameter"); + var methodParameter = ReflectionTestUtils.getField(parameter, "parameter"); ReflectionTestUtils.setField(methodParameter, "parameterName", "name"); assertThat(parameter.getName()).isNotNull(); @@ -143,7 +143,7 @@ class ParametersUnitTests { @Test // DATACMNS-89 void detectsDynamicProjectionParameter() throws Exception { - Parameters parameters = getParametersFor("dynamicBind", Class.class, Class.class, Class.class); + var parameters = getParametersFor("dynamicBind", Class.class, Class.class, Class.class); assertThat(parameters.getParameter(0).isDynamicProjectionParameter()).isTrue(); assertThat(parameters.getParameter(1).isDynamicProjectionParameter()).isFalse(); @@ -153,7 +153,7 @@ class ParametersUnitTests { @Test // DATACMNS-863 void unwrapsOptionals() throws Exception { - Parameters parameters = getParametersFor("methodWithOptional", Optional.class); + var parameters = getParametersFor("methodWithOptional", Optional.class); assertThat(parameters.getParameter(0).getType()).isEqualTo(String.class); } @@ -161,7 +161,7 @@ class ParametersUnitTests { @Test // DATACMNS-836 void keepsReactiveStreamsWrapper() throws Exception { - Parameters parameters = getParametersFor("methodWithPublisher", Publisher.class); + var parameters = getParametersFor("methodWithPublisher", Publisher.class); assertThat(parameters.getParameter(0).getType()).isAssignableFrom(Publisher.class); } @@ -169,7 +169,7 @@ class ParametersUnitTests { @Test // DATACMNS-836 void keepsRxJavaWrapper() throws Exception { - Parameters parameters = getParametersFor("methodWithSingle", Single.class); + var parameters = getParametersFor("methodWithSingle", Single.class); assertThat(parameters.getParameter(0).getType()).isAssignableFrom(Single.class); } @@ -177,7 +177,7 @@ class ParametersUnitTests { @Test // DATACMNS-1383 void acceptsCustomPageableParameter() throws Exception { - Parameters parameters = getParametersFor("customPageable", SomePageable.class); + var parameters = getParametersFor("customPageable", SomePageable.class); assertThat(parameters.hasPageableParameter()).isTrue(); } @@ -185,7 +185,7 @@ class ParametersUnitTests { private Parameters getParametersFor(String methodName, Class... parameterTypes) throws SecurityException, NoSuchMethodException { - Method method = SampleDao.class.getMethod(methodName, parameterTypes); + var method = SampleDao.class.getMethod(methodName, parameterTypes); return new DefaultParameters(method); } diff --git a/src/test/java/org/springframework/data/repository/query/QueryMethodUnitTests.java b/src/test/java/org/springframework/data/repository/query/QueryMethodUnitTests.java index 573199cc0..c3e118ab8 100755 --- a/src/test/java/org/springframework/data/repository/query/QueryMethodUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/QueryMethodUnitTests.java @@ -19,16 +19,15 @@ import static org.assertj.core.api.Assertions.*; import io.vavr.collection.Seq; import io.vavr.control.Option; +import reactor.core.publisher.Mono; import java.io.Serializable; -import java.lang.reflect.Method; import java.util.List; import java.util.concurrent.CompletableFuture; import java.util.concurrent.Future; import java.util.stream.Stream; import org.junit.jupiter.api.Test; -import reactor.core.publisher.Mono; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; @@ -56,35 +55,35 @@ class QueryMethodUnitTests { @Test // DATAJPA-59 void rejectsPagingMethodWithInvalidReturnType() throws Exception { - Method method = SampleRepository.class.getMethod("pagingMethodWithInvalidReturnType", Pageable.class); + var method = SampleRepository.class.getMethod("pagingMethodWithInvalidReturnType", Pageable.class); assertThatIllegalStateException().isThrownBy(() -> new QueryMethod(method, metadata, factory)); } @Test // DATAJPA-59 void rejectsPagingMethodWithoutPageable() throws Exception { - Method method = SampleRepository.class.getMethod("pagingMethodWithoutPageable"); + var method = SampleRepository.class.getMethod("pagingMethodWithoutPageable"); assertThatIllegalArgumentException().isThrownBy(() -> new QueryMethod(method, metadata, factory)); } @Test // DATACMNS-64 void setsUpSimpleQueryMethodCorrectly() throws Exception { - Method method = SampleRepository.class.getMethod("findByUsername", String.class); + var method = SampleRepository.class.getMethod("findByUsername", String.class); new QueryMethod(method, metadata, factory); } @Test // DATACMNS-61 void considersIterableMethodForCollectionQuery() throws Exception { - Method method = SampleRepository.class.getMethod("sampleMethod"); - QueryMethod queryMethod = new QueryMethod(method, metadata, factory); + var method = SampleRepository.class.getMethod("sampleMethod"); + var queryMethod = new QueryMethod(method, metadata, factory); assertThat(queryMethod.isCollectionQuery()).isTrue(); } @Test // DATACMNS-67 void doesNotConsiderPageMethodCollectionQuery() throws Exception { - Method method = SampleRepository.class.getMethod("anotherSampleMethod", Pageable.class); - QueryMethod queryMethod = new QueryMethod(method, metadata, factory); + var method = SampleRepository.class.getMethod("anotherSampleMethod", Pageable.class); + var queryMethod = new QueryMethod(method, metadata, factory); assertThat(queryMethod.isPageQuery()).isTrue(); assertThat(queryMethod.isCollectionQuery()).isFalse(); } @@ -92,8 +91,8 @@ class QueryMethodUnitTests { @Test // DATACMNS-171 void detectsAnEntityBeingReturned() throws Exception { - Method method = SampleRepository.class.getMethod("returnsEntitySubclass"); - QueryMethod queryMethod = new QueryMethod(method, metadata, factory); + var method = SampleRepository.class.getMethod("returnsEntitySubclass"); + var queryMethod = new QueryMethod(method, metadata, factory); assertThat(queryMethod.isQueryForEntity()).isTrue(); } @@ -101,8 +100,8 @@ class QueryMethodUnitTests { @Test // DATACMNS-171 void detectsNonEntityBeingReturned() throws Exception { - Method method = SampleRepository.class.getMethod("returnsProjection"); - QueryMethod queryMethod = new QueryMethod(method, metadata, factory); + var method = SampleRepository.class.getMethod("returnsProjection"); + var queryMethod = new QueryMethod(method, metadata, factory); assertThat(queryMethod.isQueryForEntity()).isFalse(); } @@ -111,8 +110,8 @@ class QueryMethodUnitTests { void detectsSliceMethod() throws Exception { RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class); - Method method = SampleRepository.class.getMethod("sliceOfUsers"); - QueryMethod queryMethod = new QueryMethod(method, repositoryMetadata, factory); + var method = SampleRepository.class.getMethod("sliceOfUsers"); + var queryMethod = new QueryMethod(method, repositoryMetadata, factory); assertThat(queryMethod.isSliceQuery()).isTrue(); assertThat(queryMethod.isCollectionQuery()).isFalse(); @@ -123,7 +122,7 @@ class QueryMethodUnitTests { void detectsCollectionMethodForArrayRetrunType() throws Exception { RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class); - Method method = SampleRepository.class.getMethod("arrayOfUsers"); + var method = SampleRepository.class.getMethod("arrayOfUsers"); assertThat(new QueryMethod(method, repositoryMetadata, factory).isCollectionQuery()).isTrue(); } @@ -132,7 +131,7 @@ class QueryMethodUnitTests { void considersMethodReturningAStreamStreaming() throws Exception { RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class); - Method method = SampleRepository.class.getMethod("streaming"); + var method = SampleRepository.class.getMethod("streaming"); assertThat(new QueryMethod(method, repositoryMetadata, factory).isStreamQuery()).isTrue(); } @@ -141,7 +140,7 @@ class QueryMethodUnitTests { void doesNotRejectStreamingForPagination() throws Exception { RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class); - Method method = SampleRepository.class.getMethod("streaming", Pageable.class); + var method = SampleRepository.class.getMethod("streaming", Pageable.class); assertThat(new QueryMethod(method, repositoryMetadata, factory).isStreamQuery()).isTrue(); } @@ -150,7 +149,7 @@ class QueryMethodUnitTests { void doesNotRejectCompletableFutureQueryForSingleEntity() throws Exception { RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class); - Method method = SampleRepository.class.getMethod("returnsCompletableFutureForSingleEntity"); + var method = SampleRepository.class.getMethod("returnsCompletableFutureForSingleEntity"); assertThat(new QueryMethod(method, repositoryMetadata, factory).isCollectionQuery()).isFalse(); } @@ -159,7 +158,7 @@ class QueryMethodUnitTests { void doesNotRejectCompletableFutureQueryForEntityCollection() throws Exception { RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class); - Method method = SampleRepository.class.getMethod("returnsCompletableFutureForEntityCollection"); + var method = SampleRepository.class.getMethod("returnsCompletableFutureForEntityCollection"); assertThat(new QueryMethod(method, repositoryMetadata, factory).isCollectionQuery()).isTrue(); } @@ -168,7 +167,7 @@ class QueryMethodUnitTests { void doesNotRejectFutureQueryForSingleEntity() throws Exception { RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class); - Method method = SampleRepository.class.getMethod("returnsFutureForSingleEntity"); + var method = SampleRepository.class.getMethod("returnsFutureForSingleEntity"); assertThat(new QueryMethod(method, repositoryMetadata, factory).isCollectionQuery()).isFalse(); } @@ -177,7 +176,7 @@ class QueryMethodUnitTests { void doesNotRejectFutureQueryForEntityCollection() throws Exception { RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class); - Method method = SampleRepository.class.getMethod("returnsFutureForEntityCollection"); + var method = SampleRepository.class.getMethod("returnsFutureForEntityCollection"); assertThat(new QueryMethod(method, repositoryMetadata, factory).isCollectionQuery()).isTrue(); } @@ -189,7 +188,7 @@ class QueryMethodUnitTests { void detectsCustomCollectionReturnType() throws Exception { RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class); - Method method = SampleRepository.class.getMethod("returnsSeq"); + var method = SampleRepository.class.getMethod("returnsSeq"); assertThat(new QueryMethod(method, repositoryMetadata, factory).isCollectionQuery()).isTrue(); } @@ -201,7 +200,7 @@ class QueryMethodUnitTests { void detectsWrapperWithinWrapper() throws Exception { RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class); - Method method = SampleRepository.class.getMethod("returnsFutureOfSeq"); + var method = SampleRepository.class.getMethod("returnsFutureOfSeq"); assertThat(new QueryMethod(method, repositoryMetadata, factory).isCollectionQuery()).isTrue(); } @@ -213,7 +212,7 @@ class QueryMethodUnitTests { void detectsSingleValueWrapperWithinWrapper() throws Exception { RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class); - Method method = SampleRepository.class.getMethod("returnsFutureOfOption"); + var method = SampleRepository.class.getMethod("returnsFutureOfOption"); assertThat(new QueryMethod(method, repositoryMetadata, factory).isCollectionQuery()).isFalse(); } @@ -222,7 +221,7 @@ class QueryMethodUnitTests { void doesNotRejectSeqForPagination() throws Exception { RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class); - Method method = SampleRepository.class.getMethod("returnsSeq", Pageable.class); + var method = SampleRepository.class.getMethod("returnsSeq", Pageable.class); assertThat(new QueryMethod(method, repositoryMetadata, factory).isCollectionQuery()).isTrue(); } @@ -230,8 +229,8 @@ class QueryMethodUnitTests { @Test // DATACMNS-1300 void doesNotConsiderMethodForIterableAggregateACollectionQuery() throws Exception { - RepositoryMetadata metadata = AbstractRepositoryMetadata.getMetadata(ContainerRepository.class); - Method method = ContainerRepository.class.getMethod("someMethod"); + var metadata = AbstractRepositoryMetadata.getMetadata(ContainerRepository.class); + var method = ContainerRepository.class.getMethod("someMethod"); assertThat(new QueryMethod(method, metadata, factory).isCollectionQuery()).isFalse(); } @@ -240,10 +239,10 @@ class QueryMethodUnitTests { void detectsReactiveSliceQuery() throws Exception { RepositoryMetadata repositoryMetadata = new DefaultRepositoryMetadata(SampleRepository.class); - Method method = SampleRepository.class.getMethod("reactiveSlice"); + var method = SampleRepository.class.getMethod("reactiveSlice"); - QueryMethod queryMethod = new QueryMethod(method, repositoryMetadata, factory); - ReturnedType returnedType = queryMethod.getResultProcessor().getReturnedType(); + var queryMethod = new QueryMethod(method, repositoryMetadata, factory); + var returnedType = queryMethod.getResultProcessor().getReturnedType(); assertThat(queryMethod.isSliceQuery()).isTrue(); assertThat(returnedType.getTypeToRead()).isEqualTo(User.class); assertThat(returnedType.getDomainType()).isEqualTo(User.class); diff --git a/src/test/java/org/springframework/data/repository/query/QuotationMapUnitTests.java b/src/test/java/org/springframework/data/repository/query/QuotationMapUnitTests.java index 32ee5b781..e727a952f 100644 --- a/src/test/java/org/springframework/data/repository/query/QuotationMapUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/QuotationMapUnitTests.java @@ -43,7 +43,7 @@ class QuotationMapUnitTests { @Test // DATAJPA-1235 void simpleStringDoesNotContainQuotes() { - String query = "something"; + var query = "something"; isNotQuoted(query, "simple String", -1, 0, query.length() - 1, query.length(), query.length() + 1); } @@ -51,7 +51,7 @@ class QuotationMapUnitTests { @Test // DATAJPA-1235 void fullySingleQuotedStringDoesContainQuotes() { - String query = "'something'"; + var query = "'something'"; isNotQuoted(query, "quoted String", -1, query.length()); isQuoted(query, "quoted String", 0, 1, 5, query.length() - 1); @@ -60,7 +60,7 @@ class QuotationMapUnitTests { @Test // DATAJPA-1235 void fullyDoubleQuotedStringDoesContainQuotes() { - String query = "\"something\""; + var query = "\"something\""; isNotQuoted(query, "double quoted String", -1, query.length()); isQuoted(query, "double quoted String", 0, 1, 5, query.length() - 1); @@ -69,7 +69,7 @@ class QuotationMapUnitTests { @Test // DATAJPA-1235 void stringWithEmptyQuotes() { - String query = "abc''def"; + var query = "abc''def"; isNotQuoted(query, "zero length quote", -1, 0, 1, 2, 5, 6, 7); isQuoted(query, "zero length quote", 3, 4); @@ -78,7 +78,7 @@ class QuotationMapUnitTests { @Test // DATAJPA-1235 void doubleInSingleQuotes() { - String query = "abc'\"'def"; + var query = "abc'\"'def"; isNotQuoted(query, "double inside single quote", -1, 0, 1, 2, 6, 7, 8); isQuoted(query, "double inside single quote", 3, 4, 5); @@ -87,7 +87,7 @@ class QuotationMapUnitTests { @Test // DATAJPA-1235 void singleQuotesInDoubleQuotes() { - String query = "abc\"'\"def"; + var query = "abc\"'\"def"; isNotQuoted(query, "single inside double quote", -1, 0, 1, 2, 6, 7, 8); isQuoted(query, "single inside double quote", 3, 4, 5); @@ -96,7 +96,7 @@ class QuotationMapUnitTests { @Test // DATAJPA-1235 void escapedQuotes() { - String query = "a'b''cd''e'f"; + var query = "a'b''cd''e'f"; isNotQuoted(query, "escaped quote", -1, 0, 11, 12); isQuoted(query, "escaped quote", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); } @@ -108,9 +108,9 @@ class QuotationMapUnitTests { private static void isNotQuoted(String query, Object label, int... indexes) { - QuotationMap quotationMap = new QuotationMap(query); + var quotationMap = new QuotationMap(query); - for (int index : indexes) { + for (var index : indexes) { assertThat(quotationMap.isQuoted(index)) .describedAs(String.format("(%s) %s does not contain a quote at %s", label, query, index)) // @@ -120,9 +120,9 @@ class QuotationMapUnitTests { private static void isQuoted(String query, Object label, int... indexes) { - QuotationMap quotationMap = new QuotationMap(query); + var quotationMap = new QuotationMap(query); - for (int index : indexes) { + for (var index : indexes) { assertThat(quotationMap.isQuoted(index)) .describedAs(String.format("(%s) %s does contain a quote at %s", label, query, index)) // diff --git a/src/test/java/org/springframework/data/repository/query/ResultProcessorUnitTests.java b/src/test/java/org/springframework/data/repository/query/ResultProcessorUnitTests.java index 35139ab88..426be8c12 100755 --- a/src/test/java/org/springframework/data/repository/query/ResultProcessorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/ResultProcessorUnitTests.java @@ -26,7 +26,6 @@ import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; import reactor.test.StepVerifier; -import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -58,9 +57,9 @@ class ResultProcessorUnitTests { @Test // DATACMNS-89 void leavesNonProjectingResultUntouched() throws Exception { - ResultProcessor information = new ResultProcessor(getQueryMethod("findAll"), new SpelAwareProxyProjectionFactory()); + var information = new ResultProcessor(getQueryMethod("findAll"), new SpelAwareProxyProjectionFactory()); - Sample sample = new Sample("Dave", "Matthews"); + var sample = new Sample("Dave", "Matthews"); List result = new ArrayList<>(Collections.singletonList(sample)); List converted = information.processResult(result); @@ -70,7 +69,7 @@ class ResultProcessorUnitTests { @Test // DATACMNS-89 void createsProjectionFromProperties() throws Exception { - ResultProcessor information = getProcessor("findOneProjection"); + var information = getProcessor("findOneProjection"); SampleProjection result = information.processResult(Collections.singletonList("Matthews")); @@ -80,9 +79,9 @@ class ResultProcessorUnitTests { @Test // DATACMNS-89 void createsListOfProjectionsFormNestedLists() throws Exception { - ResultProcessor information = getProcessor("findAllProjection"); + var information = getProcessor("findAllProjection"); - List columns = Collections.singletonList("Matthews"); + var columns = Collections.singletonList("Matthews"); List> source = new ArrayList<>(Collections.singletonList(columns)); List result = information.processResult(source); @@ -94,7 +93,7 @@ class ResultProcessorUnitTests { @SuppressWarnings("unchecked") void createsListOfProjectionsFromMaps() throws Exception { - ResultProcessor information = getProcessor("findAllProjection"); + var information = getProcessor("findAllProjection"); List> source = new ArrayList<>( Collections.singletonList(Collections.singletonMap("lastname", "Matthews"))); @@ -108,7 +107,7 @@ class ResultProcessorUnitTests { @Test // DATACMNS-89 void createsListOfProjectionsFromEntity() throws Exception { - ResultProcessor information = getProcessor("findAllProjection"); + var information = getProcessor("findAllProjection"); List source = new ArrayList<>(Collections.singletonList(new Sample("Dave", "Matthews"))); List result = information.processResult(source); @@ -120,7 +119,7 @@ class ResultProcessorUnitTests { @Test // DATACMNS-89 void createsPageOfProjectionsFromEntity() throws Exception { - ResultProcessor information = getProcessor("findPageProjection", Pageable.class); + var information = getProcessor("findPageProjection", Pageable.class); Page source = new PageImpl<>(Collections.singletonList(new Sample("Dave", "Matthews"))); Page result = information.processResult(source); @@ -132,7 +131,7 @@ class ResultProcessorUnitTests { @Test // DATACMNS-89 void createsDynamicProjectionFromEntity() throws Exception { - ResultProcessor information = getProcessor("findOneOpenProjection"); + var information = getProcessor("findOneOpenProjection"); OpenProjection result = information.processResult(new Sample("Dave", "Matthews")); @@ -143,21 +142,21 @@ class ResultProcessorUnitTests { @Test // DATACMNS-89 void findsDynamicProjection() throws Exception { - ParameterAccessor accessor = mock(ParameterAccessor.class); + var accessor = mock(ParameterAccessor.class); - ResultProcessor factory = getProcessor("findOneDynamic", Class.class); + var factory = getProcessor("findOneDynamic", Class.class); assertThat(factory.withDynamicProjection(accessor)).isEqualTo(factory); doReturn(SampleProjection.class).when(accessor).findDynamicProjection(); - ResultProcessor processor = factory.withDynamicProjection(accessor); + var processor = factory.withDynamicProjection(accessor); assertThat(processor.getReturnedType().getReturnedType()).isEqualTo(SampleProjection.class); } @Test // DATACMNS-89 void refrainsFromProjectingIfThePreparingConverterReturnsACompatibleInstance() throws Exception { - Object result = getProcessor("findAllDtos").processResult(new Sample("Dave", "Matthews"), + var result = getProcessor("findAllDtos").processResult(new Sample("Dave", "Matthews"), source -> new SampleDto()); assertThat(result).isInstanceOf(SampleDto.class); @@ -165,7 +164,7 @@ class ResultProcessorUnitTests { @Test // DATACMNS-828 void returnsNullResultAsIs() throws Exception { - Object result = getProcessor("findOneDto").processResult(null); + var result = getProcessor("findOneDto").processResult(null); assertThat(result).isNull(); } @@ -174,11 +173,11 @@ class ResultProcessorUnitTests { Slice slice = new SliceImpl<>(Collections.singletonList(new Sample("Dave", "Matthews"))); - Object result = getProcessor("findSliceProjection", Pageable.class).processResult(slice); + var result = getProcessor("findSliceProjection", Pageable.class).processResult(slice); assertThat(result).isInstanceOf(Slice.class); - List content = ((Slice) result).getContent(); + var content = ((Slice) result).getContent(); assertThat(content).hasSize(1).hasOnlyElementsOfType(SampleProjection.class); } @@ -187,12 +186,12 @@ class ResultProcessorUnitTests { @SuppressWarnings("unchecked") void supportsStreamAsReturnWrapper() throws Exception { - Stream samples = Collections.singletonList(new Sample("Dave", "Matthews")).stream(); + var samples = Collections.singletonList(new Sample("Dave", "Matthews")).stream(); - Object result = getProcessor("findStreamProjection").processResult(samples); + var result = getProcessor("findStreamProjection").processResult(samples); assertThat(result).isInstanceOf(Stream.class); - List content = ((Stream) result).collect(Collectors.toList()); + var content = ((Stream) result).collect(Collectors.toList()); assertThat(content).hasSize(1).hasOnlyElementsOfType(SampleProjection.class); } @@ -200,7 +199,7 @@ class ResultProcessorUnitTests { @Test // DATACMNS-860 void supportsWrappingDto() throws Exception { - Object result = getProcessor("findOneWrappingDto").processResult(new Sample("Dave", "Matthews")); + var result = getProcessor("findOneWrappingDto").processResult(new Sample("Dave", "Matthews")); assertThat(result).isInstanceOf(WrappingDto.class); } @@ -208,9 +207,9 @@ class ResultProcessorUnitTests { @Test // DATACMNS-921 void fallsBackToApproximateCollectionIfNecessary() throws Exception { - ResultProcessor processor = getProcessor("findAllProjection"); + var processor = getProcessor("findAllProjection"); - SpecialList specialList = new SpecialList<>(new Object()); + var specialList = new SpecialList(new Object()); specialList.add(new Sample("Dave", "Matthews")); processor.processResult(specialList); @@ -220,13 +219,13 @@ class ResultProcessorUnitTests { @SuppressWarnings("unchecked") void supportsMonoWrapper() throws Exception { - Mono samples = Mono.just(new Sample("Dave", "Matthews")); + var samples = Mono.just(new Sample("Dave", "Matthews")); - Object result = getProcessor("findMonoSample").processResult(samples); + var result = getProcessor("findMonoSample").processResult(samples); assertThat(result).isInstanceOf(Mono.class); - Object content = ((Mono) result).block(); + var content = ((Mono) result).block(); assertThat(content).isInstanceOf(Sample.class); } @@ -235,13 +234,13 @@ class ResultProcessorUnitTests { @SuppressWarnings("unchecked") void supportsSingleWrapper() throws Exception { - Single samples = Single.just(new Sample("Dave", "Matthews")); + var samples = Single.just(new Sample("Dave", "Matthews")); - Object result = getProcessor("findSingleSample").processResult(samples); + var result = getProcessor("findSingleSample").processResult(samples); assertThat(result).isInstanceOf(Single.class); - Object content = ((Single) result).blockingGet(); + var content = ((Single) result).blockingGet(); assertThat(content).isInstanceOf(Sample.class); } @@ -251,13 +250,13 @@ class ResultProcessorUnitTests { void refrainsFromProjectingUsingReactiveWrappersIfThePreparingConverterReturnsACompatibleInstance() throws Exception { - ResultProcessor processor = getProcessor("findMonoSampleDto"); + var processor = getProcessor("findMonoSampleDto"); - Object result = processor.processResult(Mono.just(new Sample("Dave", "Matthews")), source -> new SampleDto()); + var result = processor.processResult(Mono.just(new Sample("Dave", "Matthews")), source -> new SampleDto()); assertThat(result).isInstanceOf(Mono.class); - Object content = ((Mono) result).block(); + var content = ((Mono) result).block(); assertThat(content).isInstanceOf(SampleDto.class); } @@ -266,13 +265,13 @@ class ResultProcessorUnitTests { @SuppressWarnings("unchecked") void supportsFluxProjections() throws Exception { - Flux samples = Flux.just(new Sample("Dave", "Matthews")); + var samples = Flux.just(new Sample("Dave", "Matthews")); - Object result = getProcessor("findFluxProjection").processResult(samples); + var result = getProcessor("findFluxProjection").processResult(samples); assertThat(result).isInstanceOf(Flux.class); - List content = ((Flux) result).collectList().block(); + var content = ((Flux) result).collectList().block(); assertThat(content).isNotEmpty(); assertThat(content.get(0)).isInstanceOf(SampleProjection.class); @@ -282,13 +281,13 @@ class ResultProcessorUnitTests { @SuppressWarnings("unchecked") void supportsObservableProjections() throws Exception { - Observable samples = Observable.just(new Sample("Dave", "Matthews")); + var samples = Observable.just(new Sample("Dave", "Matthews")); - Object result = getProcessor("findObservableProjection").processResult(samples); + var result = getProcessor("findObservableProjection").processResult(samples); assertThat(result).isInstanceOf(Observable.class); - List content = ((Observable) result).toList().blockingGet(); + var content = ((Observable) result).toList().blockingGet(); assertThat(content).isNotEmpty(); assertThat(content.get(0)).isInstanceOf(SampleProjection.class); @@ -298,13 +297,13 @@ class ResultProcessorUnitTests { @SuppressWarnings("unchecked") void supportsFlowableProjections() throws Exception { - Flowable samples = Flowable.just(new Sample("Dave", "Matthews")); + var samples = Flowable.just(new Sample("Dave", "Matthews")); - Object result = getProcessor("findFlowableProjection").processResult(samples); + var result = getProcessor("findFlowableProjection").processResult(samples); assertThat(result).isInstanceOf(Flowable.class); - List content = ((Flowable) result).toList().blockingGet(); + var content = ((Flowable) result).toList().blockingGet(); assertThat(content).isNotEmpty(); assertThat(content.get(0)).isInstanceOf(SampleProjection.class); @@ -347,7 +346,7 @@ class ResultProcessorUnitTests { private static QueryMethod getQueryMethod(String name, Class... parameters) throws Exception { - Method method = SampleRepository.class.getMethod(name, parameters); + var method = SampleRepository.class.getMethod(name, parameters); return new QueryMethod(method, new DefaultRepositoryMetadata(SampleRepository.class), new SpelAwareProxyProjectionFactory()); } diff --git a/src/test/java/org/springframework/data/repository/query/ReturnedTypeUnitTests.java b/src/test/java/org/springframework/data/repository/query/ReturnedTypeUnitTests.java index 1d51c2338..8c5f976fe 100755 --- a/src/test/java/org/springframework/data/repository/query/ReturnedTypeUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/ReturnedTypeUnitTests.java @@ -17,12 +17,12 @@ package org.springframework.data.repository.query; import static org.assertj.core.api.Assertions.*; -import java.lang.reflect.Method; import java.math.BigInteger; import java.time.LocalDateTime; import java.util.List; import org.junit.jupiter.api.Test; + import org.springframework.beans.factory.annotation.Value; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; @@ -41,7 +41,7 @@ class ReturnedTypeUnitTests { @Test // DATACMNS-89 void treatsSimpleDomainTypeAsIs() throws Exception { - ReturnedType type = getReturnedType("findAll"); + var type = getReturnedType("findAll"); assertThat(type.getTypeToRead()).isEqualTo(Sample.class); assertThat(type.getInputProperties()).isEmpty(); @@ -52,7 +52,7 @@ class ReturnedTypeUnitTests { @Test // DATACMNS-89 void detectsDto() throws Exception { - ReturnedType type = getReturnedType("findAllDtos"); + var type = getReturnedType("findAllDtos"); assertThat(type.getTypeToRead()).isEqualTo(SampleDto.class); assertThat(type.getInputProperties()).contains("firstname"); @@ -64,7 +64,7 @@ class ReturnedTypeUnitTests { @Test // DATACMNS-89 void detectsProjection() throws Exception { - ReturnedType type = getReturnedType("findAllProjection"); + var type = getReturnedType("findAllProjection"); assertThat(type.getTypeToRead()).isNull(); assertThat(type.getInputProperties()).contains("lastname"); @@ -73,7 +73,7 @@ class ReturnedTypeUnitTests { @Test // DATACMNS-89 void detectsVoidMethod() throws Exception { - ReturnedType type = getReturnedType("voidMethod"); + var type = getReturnedType("voidMethod"); assertThat(type.getDomainType()).isEqualTo(Sample.class); assertThat(type.getReturnedType()).isEqualTo(void.class); @@ -82,7 +82,7 @@ class ReturnedTypeUnitTests { @Test // DATACMNS-89 void detectsClosedProjection() throws Exception { - ReturnedType type = getReturnedType("findOneProjection"); + var type = getReturnedType("findOneProjection"); assertThat(type.getReturnedType()).isEqualTo(SampleProjection.class); assertThat(type.isProjecting()).isTrue(); @@ -92,7 +92,7 @@ class ReturnedTypeUnitTests { @Test // DATACMNS-89 void detectsOpenProjection() throws Exception { - ReturnedType type = getReturnedType("findOneOpenProjection"); + var type = getReturnedType("findOneOpenProjection"); assertThat(type.getReturnedType()).isEqualTo(OpenProjection.class); assertThat(type.isProjecting()).isTrue(); @@ -103,7 +103,7 @@ class ReturnedTypeUnitTests { @Test // DATACMNS-89 void detectsComplexNumberTypes() throws Exception { - ReturnedType type = getReturnedType("countQuery"); + var type = getReturnedType("countQuery"); assertThat(type.isProjecting()).isFalse(); assertThat(type.needsCustomConstruction()).isFalse(); @@ -113,7 +113,7 @@ class ReturnedTypeUnitTests { @Test // DATACMNS-840 void detectsSampleDtoWithDefaultConstructor() throws Exception { - ReturnedType type = getReturnedType("dtoWithMultipleConstructors"); + var type = getReturnedType("dtoWithMultipleConstructors"); assertThat(type.getInputProperties()).isEmpty(); assertThat(type.needsCustomConstruction()).isFalse(); @@ -122,7 +122,7 @@ class ReturnedTypeUnitTests { @Test // DATACMNS-840 void doesNotConsiderAnEnumProjecting() throws Exception { - ReturnedType type = getReturnedType("findEnum"); + var type = getReturnedType("findEnum"); assertThat(type.needsCustomConstruction()).isFalse(); assertThat(type.isProjecting()).isFalse(); @@ -131,7 +131,7 @@ class ReturnedTypeUnitTests { @Test // DATACMNS-850 void considersAllJavaTypesAsNotProjecting() throws Exception { - ReturnedType type = getReturnedType("timeQuery"); + var type = getReturnedType("timeQuery"); assertThat(type.needsCustomConstruction()).isFalse(); assertThat(type.isProjecting()).isFalse(); @@ -140,7 +140,7 @@ class ReturnedTypeUnitTests { @Test // DATACMNS-862 void considersInterfaceImplementedByDomainTypeNotProjecting() throws Exception { - ReturnedType type = getReturnedType("findOneInterface"); + var type = getReturnedType("findOneInterface"); assertThat(type.needsCustomConstruction()).isFalse(); assertThat(type.isProjecting()).isFalse(); @@ -149,9 +149,9 @@ class ReturnedTypeUnitTests { @Test // DATACMNS-963 void detectsDistinctInputProperties() { - ReturnedType type = ReturnedType.of(Child.class, Object.class, new SpelAwareProxyProjectionFactory()); + var type = ReturnedType.of(Child.class, Object.class, new SpelAwareProxyProjectionFactory()); - List properties = type.getInputProperties(); + var properties = type.getInputProperties(); assertThat(properties).hasSize(1); assertThat(properties).containsExactly("firstname"); @@ -160,10 +160,10 @@ class ReturnedTypeUnitTests { @Test // DATACMNS-1112 void cachesInstancesBySourceTypes() { - SpelAwareProxyProjectionFactory factory = new SpelAwareProxyProjectionFactory(); + var factory = new SpelAwareProxyProjectionFactory(); - ReturnedType left = ReturnedType.of(Child.class, Object.class, factory); - ReturnedType right = ReturnedType.of(Child.class, Object.class, factory); + var left = ReturnedType.of(Child.class, Object.class, factory); + var right = ReturnedType.of(Child.class, Object.class, factory); assertThat(left).isSameAs(right); } @@ -174,7 +174,7 @@ class ReturnedTypeUnitTests { private static QueryMethod getQueryMethod(String name, Class... parameters) throws Exception { - Method method = SampleRepository.class.getMethod(name, parameters); + var method = SampleRepository.class.getMethod(name, parameters); return new QueryMethod(method, new DefaultRepositoryMetadata(SampleRepository.class), new SpelAwareProxyProjectionFactory()); } diff --git a/src/test/java/org/springframework/data/repository/query/SimpleParameterAccessorUnitTests.java b/src/test/java/org/springframework/data/repository/query/SimpleParameterAccessorUnitTests.java index ace45f7f4..560e49c6f 100755 --- a/src/test/java/org/springframework/data/repository/query/SimpleParameterAccessorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/SimpleParameterAccessorUnitTests.java @@ -78,7 +78,7 @@ class SimpleParameterAccessorUnitTests { @Test void returnsSortIfAvailable() { - Sort sort = Sort.by("foo"); + var sort = Sort.by("foo"); ParameterAccessor accessor = new ParametersParameterAccessor(sortParameters, new Object[] { "test", sort }); assertThat(accessor.getSort()).isEqualTo(sort); @@ -98,7 +98,7 @@ class SimpleParameterAccessorUnitTests { @Test void returnsSortFromPageableIfAvailable() throws Exception { - Sort sort = Sort.by("foo"); + var sort = Sort.by("foo"); Pageable pageable = PageRequest.of(0, 10, sort); ParameterAccessor accessor = new ParametersParameterAccessor(pageableParameters, new Object[] { "test", pageable }); diff --git a/src/test/java/org/springframework/data/repository/query/SpelExtractorUnitTests.java b/src/test/java/org/springframework/data/repository/query/SpelExtractorUnitTests.java index 2592818fd..185e01339 100644 --- a/src/test/java/org/springframework/data/repository/query/SpelExtractorUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/SpelExtractorUnitTests.java @@ -18,13 +18,13 @@ package org.springframework.data.repository.query; import static org.assertj.core.api.Assertions.*; import java.util.Arrays; -import java.util.List; import java.util.Map; import java.util.function.BiFunction; import org.assertj.core.api.SoftAssertions; import org.assertj.core.groups.Tuple; import org.junit.jupiter.api.Test; + import org.springframework.data.repository.query.SpelQueryContext.SpelExtractor; /** @@ -43,7 +43,7 @@ class SpelExtractorUnitTests { @Test // DATACMNS-1258 void nullQueryThrowsException() { - SpelQueryContext context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); + var context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); assertThatIllegalArgumentException().isThrownBy(() -> context.parse(null)); } @@ -51,8 +51,8 @@ class SpelExtractorUnitTests { @Test // DATACMNS-1258 void emptyStringGetsParsedCorrectly() { - SpelQueryContext context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); - SpelExtractor extractor = context.parse(""); + var context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); + var extractor = context.parse(""); softly.assertThat(extractor.getQueryString()).isEqualTo(""); softly.assertThat(extractor.getParameterMap()).isEmpty(); @@ -63,8 +63,8 @@ class SpelExtractorUnitTests { @Test // DATACMNS-1258 void findsAndReplacesExpressions() { - SpelQueryContext context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); - SpelExtractor extractor = context.parse(":#{one} ?#{two}"); + var context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); + var extractor = context.parse(":#{one} ?#{two}"); softly.assertThat(extractor.getQueryString()).isEqualTo(":EPP0 ?EPP1"); softly.assertThat(extractor.getParameterMap().entrySet()) // @@ -80,8 +80,8 @@ class SpelExtractorUnitTests { @Test // DATACMNS-1258 void keepsStringWhenNoMatchIsFound() { - SpelQueryContext context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); - SpelExtractor extractor = context.parse("abcdef"); + var context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); + var extractor = context.parse("abcdef"); softly.assertThat(extractor.getQueryString()).isEqualTo("abcdef"); softly.assertThat(extractor.getParameterMap()).isEmpty(); @@ -92,7 +92,7 @@ class SpelExtractorUnitTests { @Test // DATACMNS-1258 void spelsInQuotesGetIgnored() { - List queries = Arrays.asList(// + var queries = Arrays.asList(// "a'b:#{one}cd'ef", // "a'b:#{o'ne}cdef", // "ab':#{one}'cdef", // @@ -107,8 +107,8 @@ class SpelExtractorUnitTests { private void checkNoSpelIsFound(String query) { - SpelQueryContext context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); - SpelExtractor extractor = context.parse(query); + var context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); + var extractor = context.parse(query); softly.assertThat(extractor.getQueryString()).describedAs(query).isEqualTo(query); softly.assertThat(extractor.getParameterMap()).describedAs(query).isEmpty(); diff --git a/src/test/java/org/springframework/data/repository/query/SpelQueryContextUnitTests.java b/src/test/java/org/springframework/data/repository/query/SpelQueryContextUnitTests.java index 7e09f90d5..542ec83d4 100644 --- a/src/test/java/org/springframework/data/repository/query/SpelQueryContextUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/SpelQueryContextUnitTests.java @@ -51,7 +51,7 @@ class SpelQueryContextUnitTests { @Test // DATACMNS-1258 void rejectsNullEvaluationContextProvider() { - SpelQueryContext context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); + var context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); assertThatIllegalArgumentException() // .isThrownBy(() -> context.withEvaluationContextProvider(null)); @@ -60,7 +60,7 @@ class SpelQueryContextUnitTests { @Test // DATACMNS-1258 void createsEvaluatingContextUsingProvider() { - SpelQueryContext context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); + var context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); assertThat(context.withEvaluationContextProvider(EVALUATION_CONTEXT_PROVIDER)).isNotNull(); } @@ -68,9 +68,9 @@ class SpelQueryContextUnitTests { @Test // DATACMNS-1683 void reportsQuotationCorrectly() { - SpelQueryContext context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); + var context = SpelQueryContext.of(PARAMETER_NAME_SOURCE, REPLACEMENT_SOURCE); - SpelQueryContext.SpelExtractor extractor = context.parse( + var extractor = context.parse( "select n from NetworkServer n where (LOWER(n.name) LIKE LOWER(NULLIF(text(concat('%',:#{#networkRequest.name},'%')), '')) OR :#{#networkRequest.name} IS NULL )"); assertThat(extractor.getQueryString()).isEqualTo( diff --git a/src/test/java/org/springframework/data/repository/query/parser/OrderBySourceUnitTests.java b/src/test/java/org/springframework/data/repository/query/parser/OrderBySourceUnitTests.java index 89c0f34ab..e0b9605a0 100755 --- a/src/test/java/org/springframework/data/repository/query/parser/OrderBySourceUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/parser/OrderBySourceUnitTests.java @@ -42,7 +42,7 @@ class OrderBySourceUnitTests { @Test void handlesMultipleDirectionsCorrectly() { - OrderBySource orderBySource = new OrderBySource("LastnameAscUsernameDesc"); + var orderBySource = new OrderBySource("LastnameAscUsernameDesc"); assertThat(orderBySource.toSort()).isEqualTo(Sort.by("lastname").ascending().and(Sort.by("username").descending())); } @@ -54,14 +54,14 @@ class OrderBySourceUnitTests { @Test void usesNestedPropertyCorrectly() throws Exception { - OrderBySource source = new OrderBySource("BarNameDesc", Optional.of(Foo.class)); + var source = new OrderBySource("BarNameDesc", Optional.of(Foo.class)); assertThat(source.toSort()).isEqualTo(Sort.by("bar.name").descending()); } @Test // DATACMNS-641 void defaultsSortOrderToAscendingSort() { - OrderBySource source = new OrderBySource("lastname"); + var source = new OrderBySource("lastname"); assertThat(source.toSort()).isEqualTo(Sort.by("lastname")); } diff --git a/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java b/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java index 8b71fb1a9..2dc985317 100755 --- a/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java +++ b/src/test/java/org/springframework/data/repository/query/parser/PartTreeUnitTests.java @@ -24,10 +24,10 @@ import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Date; -import java.util.Iterator; import java.util.List; import org.junit.jupiter.api.Test; + import org.springframework.data.domain.Sort; import org.springframework.data.mapping.PropertyPath; import org.springframework.data.mapping.PropertyReferenceException; @@ -70,27 +70,27 @@ class PartTreeUnitTests { @Test void parsesSimplePropertyCorrectly() throws Exception { - PartTree partTree = partTree("firstname"); + var partTree = partTree("firstname"); assertPart(partTree, parts("firstname")); } @Test void parsesAndPropertiesCorrectly() throws Exception { - PartTree partTree = partTree("firstnameAndLastname"); + var partTree = partTree("firstnameAndLastname"); assertPart(partTree, parts("firstname", "lastname")); assertThat(partTree.getSort().isSorted()).isFalse(); } @Test void parsesOrPropertiesCorrectly() throws Exception { - PartTree partTree = partTree("firstnameOrLastname"); + var partTree = partTree("firstnameOrLastname"); assertPart(partTree, parts("firstname"), parts("lastname")); assertThat(partTree.getSort().isSorted()).isFalse(); } @Test void parsesCombinedAndAndOrPropertiesCorrectly() throws Exception { - PartTree tree = partTree("firstnameAndLastnameOrLastname"); + var tree = partTree("firstnameAndLastnameOrLastname"); assertPart(tree, parts("firstname", "lastname"), parts("lastname")); } @@ -107,13 +107,13 @@ class PartTreeUnitTests { } private void hasSortIfOrderByIsGivenWithAllIgnoreCase(String source) throws Exception { - PartTree partTree = partTree(source); + var partTree = partTree(source); assertThat(partTree.getSort()).isEqualTo(Sort.by("lastname").descending()); } @Test void detectsDistinctCorrectly() throws Exception { - for (String prefix : PREFIXES) { + for (var prefix : PREFIXES) { detectsDistinctCorrectly(prefix + "DistinctByLastname", true); detectsDistinctCorrectly(prefix + "UsersDistinctByLastname", true); detectsDistinctCorrectly(prefix + "DistinctUsersByLastname", true); @@ -121,21 +121,21 @@ class PartTreeUnitTests { detectsDistinctCorrectly(prefix + "ByLastname", false); // Check it's non-greedy (would strip everything until Order*By* // otherwise) - PartTree tree = detectsDistinctCorrectly(prefix + "ByLastnameOrderByFirstnameDesc", false); + var tree = detectsDistinctCorrectly(prefix + "ByLastnameOrderByFirstnameDesc", false); assertThat(tree.getSort()).isEqualTo(Sort.by("firstname").descending()); } } private PartTree detectsDistinctCorrectly(String source, boolean expected) { - PartTree tree = partTree(source); + var tree = partTree(source); assertThat(tree.isDistinct()).isEqualTo(expected); return tree; } @Test void parsesWithinCorrectly() { - PartTree tree = partTree("findByLocationWithin"); - for (Part part : tree.getParts()) { + var tree = partTree("findByLocationWithin"); + for (var part : tree.getParts()) { assertThat(part.getType()).isEqualTo(Type.WITHIN); assertThat(part.getProperty()).isEqualTo(newProperty("location")); } @@ -153,7 +153,7 @@ class PartTreeUnitTests { @Test void supportToStringWithSortOrder() throws Exception { - PartTree tree = partTree("firstnameOrderByLastnameDesc"); + var tree = partTree("firstnameOrderByLastnameDesc"); assertThat(tree.toString()).isEqualTo("firstname SIMPLE_PROPERTY (1): [Is, Equals] NEVER Order By lastname: DESC"); } @@ -168,8 +168,8 @@ class PartTreeUnitTests { } private void detectsIgnoreAllCase(String source, IgnoreCaseType expected) throws Exception { - PartTree tree = partTree(source); - for (Part part : tree.getParts()) { + var tree = partTree(source); + for (var part : tree.getParts()) { assertThat(part.shouldIgnoreCase()).isEqualTo(expected); } } @@ -177,11 +177,11 @@ class PartTreeUnitTests { @Test void detectsSpecificIgnoreCase() throws Exception { - PartTree tree = partTree("findByFirstnameIgnoreCaseAndLastname"); + var tree = partTree("findByFirstnameIgnoreCaseAndLastname"); assertPart(tree, parts("firstnameIgnoreCase", "lastname")); - Iterator parts = tree.getParts().iterator(); + var parts = tree.getParts().iterator(); assertThat(parts.next().shouldIgnoreCase()).isEqualTo(IgnoreCaseType.ALWAYS); assertThat(parts.next().shouldIgnoreCase()).isEqualTo(IgnoreCaseType.NEVER); @@ -189,9 +189,9 @@ class PartTreeUnitTests { @Test void detectsSpecificIgnoringCase() throws Exception { - PartTree tree = partTree("findByFirstnameIgnoringCaseAndLastname"); + var tree = partTree("findByFirstnameIgnoringCaseAndLastname"); assertPart(tree, parts("firstnameIgnoreCase", "lastname")); - Iterator parts = tree.getParts().iterator(); + var parts = tree.getParts().iterator(); assertThat(parts.next().shouldIgnoreCase()).isEqualTo(IgnoreCaseType.ALWAYS); assertThat(parts.next().shouldIgnoreCase()).isEqualTo(IgnoreCaseType.NEVER); } @@ -209,16 +209,16 @@ class PartTreeUnitTests { @Test void returnsAllParts() { - PartTree tree = partTree("findByLastnameAndFirstname"); + var tree = partTree("findByLastnameAndFirstname"); assertPart(tree, parts("lastname", "firstname")); } @Test void returnsAllPartsOfType() { - PartTree tree = partTree("findByLastnameAndFirstnameGreaterThan"); + var tree = partTree("findByLastnameAndFirstnameGreaterThan"); - Collection parts = toCollection(tree.getParts(Type.SIMPLE_PROPERTY)); + var parts = toCollection(tree.getParts(Type.SIMPLE_PROPERTY)); assertThat(parts).containsExactly(part("lastname")); parts = toCollection(tree.getParts(Type.GREATER_THAN)); @@ -284,7 +284,7 @@ class PartTreeUnitTests { @Test // DATACMNS-182 void parsesContainingCorrectly() { - PartTree tree = new PartTree("findAllByLegalNameContainingOrCommonNameContainingAllIgnoringCase", + var tree = new PartTree("findAllByLegalNameContainingOrCommonNameContainingAllIgnoringCase", Organization.class); assertPart(tree, new Part[] { new Part("legalNameContaining", Organization.class, true) }, new Part[] { new Part("commonNameContaining", Organization.class, true) }); @@ -293,7 +293,7 @@ class PartTreeUnitTests { @Test // DATACMNS-221 void parsesSpecialCharactersCorrectly() { - PartTree tree = new PartTree("findByØreAndÅrOrderByÅrAsc", DomainObjectWithSpecialChars.class); + var tree = new PartTree("findByØreAndÅrOrderByÅrAsc", DomainObjectWithSpecialChars.class); assertPart(tree, new Part[] { new Part("øre", DomainObjectWithSpecialChars.class), new Part("år", DomainObjectWithSpecialChars.class) }); @@ -303,7 +303,7 @@ class PartTreeUnitTests { @Test // DATACMNS-363 void parsesSpecialCharactersOnlyCorrectly_Korean() { - PartTree tree = new PartTree("findBy이름And생일OrderBy생일Asc", DomainObjectWithSpecialChars.class); + var tree = new PartTree("findBy이름And생일OrderBy생일Asc", DomainObjectWithSpecialChars.class); assertPart(tree, new Part[] { new Part("이름", DomainObjectWithSpecialChars.class), new Part("생일", DomainObjectWithSpecialChars.class) }); @@ -313,7 +313,7 @@ class PartTreeUnitTests { @Test // DATACMNS-363 void parsesSpecialUnicodeCharactersMixedWithRegularCharactersCorrectly_Korean() { - PartTree tree = new PartTree("findBy이름AndOrderIdOrderBy생일Asc", DomainObjectWithSpecialChars.class); + var tree = new PartTree("findBy이름AndOrderIdOrderBy생일Asc", DomainObjectWithSpecialChars.class); assertPart(tree, new Part[] { new Part("이름", DomainObjectWithSpecialChars.class), new Part("order.id", DomainObjectWithSpecialChars.class) }); @@ -323,7 +323,7 @@ class PartTreeUnitTests { @Test // DATACMNS-363 void parsesNestedSpecialUnicodeCharactersMixedWithRegularCharactersCorrectly_Korean() { - PartTree tree = new PartTree( // + var tree = new PartTree( // "findBy" + "이름" // + "And" + "OrderId" // + "And" + "Nested_이름" // we use _ here to mark the beginning of a new property reference "이름" @@ -331,7 +331,7 @@ class PartTreeUnitTests { + "OrderBy" + "생일" + "Asc", DomainObjectWithSpecialChars.class); - Iterator parts = tree.iterator(); + var parts = tree.iterator(); assertPartsIn(parts.next(), new Part[] { // new Part("이름", DomainObjectWithSpecialChars.class), // new Part("order.id", DomainObjectWithSpecialChars.class), // @@ -347,7 +347,7 @@ class PartTreeUnitTests { @Test // DATACMNS-363 void parsesNestedSpecialUnicodeCharactersMixedWithRegularCharactersCorrectly_KoreanNumbersSymbols() { - PartTree tree = new PartTree( // + var tree = new PartTree( // "findBy" + "이름" // + "And" + "OrderId" // + "And" + "Anders" // @@ -360,7 +360,7 @@ class PartTreeUnitTests { + "OrderBy" + "생일" + "Asc", DomainObjectWithSpecialChars.class); - Iterator parts = tree.iterator(); + var parts = tree.iterator(); assertPartsIn(parts.next(), new Part[] { // new Part("이름", DomainObjectWithSpecialChars.class), // new Part("order.id", DomainObjectWithSpecialChars.class), // @@ -381,21 +381,21 @@ class PartTreeUnitTests { @Test // DATACMNS-303 void identifiesSimpleCountByCorrectly() { - PartTree tree = new PartTree("countByLastname", User.class); + var tree = new PartTree("countByLastname", User.class); assertThat(tree.isCountProjection()).isTrue(); } @Test // DATACMNS-875 void identifiesSimpleExistsByCorrectly() { - PartTree tree = new PartTree("existsByLastname", User.class); + var tree = new PartTree("existsByLastname", User.class); assertThat(tree.isExistsProjection()).isEqualTo(true); } @Test // DATACMNS-399 void queryPrefixShouldBeSupportedInRepositoryQueryMethods() { - PartTree tree = new PartTree("queryByFirstnameAndLastname", User.class); + var tree = new PartTree("queryByFirstnameAndLastname", User.class); Iterable parts = tree.getParts(); assertThat(parts).containsExactly(part("firstname"), part("lastname")); @@ -404,7 +404,7 @@ class PartTreeUnitTests { @Test // DATACMNS-1645 void searchPrefixShouldBeSupportedInRepositoryQueryMethods() { - PartTree tree = new PartTree("searchByFirstnameAndLastname", User.class); + var tree = new PartTree("searchByFirstnameAndLastname", User.class); Iterable parts = tree.getParts(); assertThat(parts).containsExactly(part("firstname"), part("lastname")); @@ -413,14 +413,14 @@ class PartTreeUnitTests { @Test // DATACMNS-303 void identifiesExtendedCountByCorrectly() { - PartTree tree = new PartTree("countUserByLastname", User.class); + var tree = new PartTree("countUserByLastname", User.class); assertThat(tree.isCountProjection()).isTrue(); } @Test // DATACMNS-303 void identifiesCountAndDistinctByCorrectly() { - PartTree tree = new PartTree("countDistinctUserByLastname", User.class); + var tree = new PartTree("countDistinctUserByLastname", User.class); assertThat(tree.isCountProjection()).isTrue(); assertThat(tree.isDistinct()).isTrue(); } @@ -453,7 +453,7 @@ class PartTreeUnitTests { @Test // DATACMNS-387 void buildsPartTreeFromEmptyPredicateCorrectly() { - PartTree tree = new PartTree("findAllByOrderByLastnameAsc", User.class); + var tree = new PartTree("findAllByOrderByLastnameAsc", User.class); assertThat(tree.getParts()).isEmpty(); assertThat(tree.getSort()).isEqualTo(Sort.by("lastname").ascending()); @@ -462,28 +462,28 @@ class PartTreeUnitTests { @Test // DATACMNS-448 void identifiesSimpleDeleteByCorrectly() { - PartTree tree = new PartTree("deleteByLastname", User.class); + var tree = new PartTree("deleteByLastname", User.class); assertThat(tree.isDelete()).isTrue(); } @Test // DATACMNS-448 void identifiesExtendedDeleteByCorrectly() { - PartTree tree = new PartTree("deleteUserByLastname", User.class); + var tree = new PartTree("deleteUserByLastname", User.class); assertThat(tree.isDelete()).isTrue(); } @Test // DATACMNS-448 void identifiesSimpleRemoveByCorrectly() { - PartTree tree = new PartTree("removeByLastname", User.class); + var tree = new PartTree("removeByLastname", User.class); assertThat(tree.isDelete()).isTrue(); } @Test // DATACMNS-448 void identifiesExtendedRemoveByCorrectly() { - PartTree tree = new PartTree("removeUserByLastname", User.class); + var tree = new PartTree("removeUserByLastname", User.class); assertThat(tree.isDelete()).isTrue(); } @@ -568,20 +568,20 @@ class PartTreeUnitTests { @Test // DATACMNS-581 void buildsPartTreeForNotContainingCorrectly() throws Exception { - PartTree tree = new PartTree("findAllByLegalNameNotContaining", Organization.class); + var tree = new PartTree("findAllByLegalNameNotContaining", Organization.class); assertPart(tree, new Part[] { new Part("legalNameNotContaining", Organization.class) }); } @Test // DATACMNS-750 void doesNotFailOnPropertiesContainingAKeyword() { - PartTree partTree = new PartTree("findBySomeInfoIn", Category.class); + var partTree = new PartTree("findBySomeInfoIn", Category.class); Iterable parts = partTree.getParts(); assertThat(parts).hasSize(1); - Part part = parts.iterator().next(); + var part = parts.iterator().next(); assertThat(part.getType()).isEqualTo(Type.IN); assertThat(part.getProperty()).isEqualTo(PropertyPath.from("someInfo", Category.class)); @@ -607,7 +607,7 @@ class PartTreeUnitTests { @Test // DATACMNS-1129 void emptyTreeDoesNotContainParts() { - PartTree tree = partTree(""); + var tree = partTree(""); assertThat(tree).isEmpty(); assertThat(tree.hasPredicate()).isFalse(); @@ -643,7 +643,7 @@ class PartTreeUnitTests { @Test // DATACMNS-1570 void allCapsInSubject() { - PartTree tree = new PartTree("findByURL", SpecialCapitalization.class); + var tree = new PartTree("findByURL", SpecialCapitalization.class); assertThat(tree).hasSize(1); } @@ -651,7 +651,7 @@ class PartTreeUnitTests { @Test // DATACMNS-1570 void allCapsInOrderBy() { - PartTree tree = new PartTree("findByOrderByURL", SpecialCapitalization.class); + var tree = new PartTree("findByOrderByURL", SpecialCapitalization.class); assertThat(tree.getSort()).hasSize(1); } @@ -663,7 +663,7 @@ class PartTreeUnitTests { private static void assertLimiting(String methodName, Class entityType, boolean limiting, Integer maxResults, boolean distinct) { - PartTree tree = new PartTree(methodName, entityType); + var tree = new PartTree(methodName, entityType); assertThat(tree.isLimiting()).isEqualTo(limiting); assertThat(tree.getMaxResults()).isEqualTo(maxResults); @@ -677,8 +677,8 @@ class PartTreeUnitTests { private static void assertType(Iterable sources, Type type, String property, int numberOfArguments, boolean parameterRequired) { - for (String source : sources) { - Part part = part(source); + for (var source : sources) { + var part = part(source); assertThat(part.getType()).isEqualTo(type); assertThat(part.getProperty()).isEqualTo(newProperty(property)); assertThat(part.getNumberOfArguments()).isEqualTo(numberOfArguments); @@ -695,8 +695,8 @@ class PartTreeUnitTests { } private static Part[] parts(String... part) { - Part[] parts = new Part[part.length]; - for (int i = 0; i < parts.length; i++) { + var parts = new Part[part.length]; + for (var i = 0; i < parts.length; i++) { parts[i] = part(part[i]); } return parts; @@ -708,9 +708,9 @@ class PartTreeUnitTests { private void assertPart(PartTree tree, Part[]... parts) { - Iterator orParts = tree.iterator(); + var orParts = tree.iterator(); - for (Part[] part : parts) { + for (var part : parts) { assertThat(orParts.hasNext()).isTrue(); assertPartsIn(orParts.next(), part); } @@ -720,11 +720,11 @@ class PartTreeUnitTests { private void assertPartsIn(OrPart orPart, Part[] part) { - Iterator partIterator = orPart.iterator(); + var partIterator = orPart.iterator(); - for (int k = 0; k < part.length; k++) { + for (var k = 0; k < part.length; k++) { assertThat(partIterator.hasNext()).as("Expected %d parts but have %d", part.length, k).isTrue(); - Part next = partIterator.next(); + var next = partIterator.next(); assertThat(part[k]).as("Expected %s but got %s!", part[k], next).isEqualTo(next); } @@ -734,7 +734,7 @@ class PartTreeUnitTests { private static Collection toCollection(Iterable iterable) { List result = new ArrayList<>(); - for (T element : iterable) { + for (var element : iterable) { result.add(element); } return result; diff --git a/src/test/java/org/springframework/data/repository/sample/SampleConfiguration.java b/src/test/java/org/springframework/data/repository/sample/SampleConfiguration.java index 100bd0804..f36056e9a 100644 --- a/src/test/java/org/springframework/data/repository/sample/SampleConfiguration.java +++ b/src/test/java/org/springframework/data/repository/sample/SampleConfiguration.java @@ -46,7 +46,7 @@ public class SampleConfiguration { RepositoryFactoryBeanSupport, Product, Long> productRepositoryFactory( ProductRepository productRepository) { - DummyRepositoryFactoryBean, Product, Long> factory = new DummyRepositoryFactoryBean<>( + var factory = new DummyRepositoryFactoryBean, Product, Long>( ProductRepository.class); factory.setCustomImplementation(productRepository); diff --git a/src/test/java/org/springframework/data/repository/support/AnnotationAttributeUnitTests.java b/src/test/java/org/springframework/data/repository/support/AnnotationAttributeUnitTests.java index da204f299..44652f4fc 100755 --- a/src/test/java/org/springframework/data/repository/support/AnnotationAttributeUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/AnnotationAttributeUnitTests.java @@ -42,7 +42,7 @@ class AnnotationAttributeUnitTests { @Test // DATACMNS-607 void looksUpAttributeFromAnnotatedElement() { - AnnotationAttribute attribute = new AnnotationAttribute(Component.class); + var attribute = new AnnotationAttribute(Component.class); assertThat(attribute.getValueFrom(Sample.class)).hasValue("foo"); } diff --git a/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java b/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java index 7fc7cfcdc..87befbd55 100755 --- a/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/CrudRepositoryInvokerUnitTests.java @@ -19,7 +19,6 @@ import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import static org.springframework.data.repository.support.RepositoryInvocationTestUtils.*; -import java.lang.reflect.Method; import java.util.Collection; import java.util.Date; import java.util.List; @@ -41,7 +40,6 @@ import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.core.RepositoryMetadata; import org.springframework.data.repository.core.support.DefaultRepositoryMetadata; import org.springframework.data.repository.query.Param; -import org.springframework.data.repository.support.RepositoryInvocationTestUtils.*; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat.ISO; import org.springframework.format.support.DefaultFormattingConversionService; @@ -78,28 +76,28 @@ class CrudRepositoryInvokerUnitTests { @Test // DATACMNS-589 void invokesSaveOnCrudRepository() throws Exception { - Method method = CrudRepository.class.getMethod("save", Object.class); + var method = CrudRepository.class.getMethod("save", Object.class); getInvokerFor(personRepository, expectInvocationOf(method)).invokeSave(new Person()); } @Test // DATACMNS-589 void invokesFindOneOnCrudRepository() throws Exception { - Method method = CrudRepository.class.getMethod("findById", Object.class); + var method = CrudRepository.class.getMethod("findById", Object.class); getInvokerFor(personRepository, expectInvocationOf(method)).invokeFindById(1L); } @Test // DATACMNS-589, DATAREST-216 void invokesDeleteOnCrudRepository() throws Exception { - Method method = CrudRepository.class.getMethod("deleteById", Object.class); + var method = CrudRepository.class.getMethod("deleteById", Object.class); getInvokerFor(personRepository, expectInvocationOf(method)).invokeDeleteById(1L); } @Test // DATACMNS-589 void invokesFindAllOnCrudRepository() throws Exception { - Method method = CrudRepository.class.getMethod("findAll"); + var method = CrudRepository.class.getMethod("findAll"); getInvokerFor(orderRepository, expectInvocationOf(method)).invokeFindAll(Pageable.unpaged()); getInvokerFor(orderRepository, expectInvocationOf(method)).invokeFindAll(Sort.unsorted()); @@ -108,9 +106,9 @@ class CrudRepositoryInvokerUnitTests { @Test // DATACMNS-589 void invokesCustomFindAllTakingASort() throws Exception { - CrudWithFindAllWithSort repository = mock(CrudWithFindAllWithSort.class); + var repository = mock(CrudWithFindAllWithSort.class); - Method findAllWithSort = CrudWithFindAllWithSort.class.getMethod("findAll", Sort.class); + var findAllWithSort = CrudWithFindAllWithSort.class.getMethod("findAll", Sort.class); getInvokerFor(repository, expectInvocationOf(findAllWithSort)).invokeFindAll(Sort.unsorted()); getInvokerFor(repository, expectInvocationOf(findAllWithSort)).invokeFindAll(PageRequest.of(0, 10)); @@ -120,9 +118,9 @@ class CrudRepositoryInvokerUnitTests { @Test // DATACMNS-589 void invokesCustomFindAllTakingAPageable() throws Exception { - CrudWithFindAllWithPageable repository = mock(CrudWithFindAllWithPageable.class); + var repository = mock(CrudWithFindAllWithPageable.class); - Method findAllWithPageable = CrudWithFindAllWithPageable.class.getMethod("findAll", Pageable.class); + var findAllWithPageable = CrudWithFindAllWithPageable.class.getMethod("findAll", Pageable.class); getInvokerFor(repository, expectInvocationOf(findAllWithPageable)).invokeFindAll(Pageable.unpaged()); getInvokerFor(repository, expectInvocationOf(findAllWithPageable)).invokeFindAll(PageRequest.of(0, 10)); @@ -131,7 +129,7 @@ class CrudRepositoryInvokerUnitTests { @SuppressWarnings({ "rawtypes", "unchecked" }) private static RepositoryInvoker getInvokerFor(Object repository, VerifyingMethodInterceptor interceptor) { - Object proxy = getVerifyingRepositoryProxy(repository, interceptor); + var proxy = getVerifyingRepositoryProxy(repository, interceptor); RepositoryMetadata metadata = new DefaultRepositoryMetadata(repository.getClass().getInterfaces()[0]); GenericConversionService conversionService = new DefaultFormattingConversionService(); diff --git a/src/test/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactoryIntegrationTests.java b/src/test/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactoryIntegrationTests.java index 87f35642c..95f2474eb 100755 --- a/src/test/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactoryIntegrationTests.java +++ b/src/test/java/org/springframework/data/repository/support/DefaultRepositoryInvokerFactoryIntegrationTests.java @@ -52,10 +52,10 @@ class DefaultRepositoryInvokerFactoryIntegrationTests { void findOneShouldDelegateToAppropriateRepository() { // Mockito.reset(productRepository); - Product product = new Product(); + var product = new Product(); when(productRepository.findById(4711L)).thenReturn(product); - Optional invokeFindOne = factory.getInvokerFor(Product.class).invokeFindById(4711L); + var invokeFindOne = factory.getInvokerFor(Product.class).invokeFindById(4711L); assertThat(invokeFindOne).isEqualTo(Optional.of(product)); } @@ -72,7 +72,7 @@ class DefaultRepositoryInvokerFactoryIntegrationTests { @Test // DATACMNS-589 void returnsSameInvokerInstanceForSubsequentCalls() { - RepositoryInvoker invoker = factory.getInvokerFor(Product.class); + var invoker = factory.getInvokerFor(Product.class); assertThat(factory.getInvokerFor(Product.class)).isEqualTo(invoker); } @@ -80,7 +80,7 @@ class DefaultRepositoryInvokerFactoryIntegrationTests { @Test // DATACMNS-589 void createsReflectionRepositoryInvokerForRepositoryNotExtendingADedicatedBaseRepository() { - RepositoryInvoker invoker = factory.getInvokerFor(Product.class); + var invoker = factory.getInvokerFor(Product.class); assertThat(invoker)// .isInstanceOf(ReflectionRepositoryInvoker.class)// @@ -90,7 +90,7 @@ class DefaultRepositoryInvokerFactoryIntegrationTests { @Test // DATACMNS-589 void createsCrudRepositoryInvokerForRepositoryExtendingCrudRepository() { - RepositoryInvoker invoker = factory.getInvokerFor(User.class); + var invoker = factory.getInvokerFor(User.class); assertThat(invoker)// .isInstanceOf(CrudRepositoryInvoker.class)// diff --git a/src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java b/src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java index 8d87bacb5..62e83aae2 100755 --- a/src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java +++ b/src/test/java/org/springframework/data/repository/support/DomainClassConverterIntegrationTests.java @@ -54,7 +54,7 @@ class DomainClassConverterIntegrationTests { @SuppressWarnings({ "rawtypes", "unchecked" }) void findsRepositoryFactories() { - DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory() { + var beanFactory = new DefaultListableBeanFactory() { @Override protected BeanWrapper instantiateBean(String beanName, RootBeanDefinition mbd) { return beanName.equals("repoFactory") ? new BeanWrapperImpl(factory) : super.instantiateBean(beanName, mbd); @@ -69,11 +69,11 @@ class DomainClassConverterIntegrationTests { doReturn(PersonRepository.class).when(factory).getObjectType(); doReturn(information).when(factory).getRepositoryInformation(); - GenericApplicationContext context = new GenericApplicationContext(beanFactory); + var context = new GenericApplicationContext(beanFactory); context.refresh(); assertThat(context.getBeansOfType(RepositoryFactoryInformation.class).values()).hasSize(1); - DomainClassConverter converter = new DomainClassConverter(new DefaultConversionService()); + var converter = new DomainClassConverter(new DefaultConversionService()); converter.setApplicationContext(context); assertThat(converter.matches(TypeDescriptor.valueOf(String.class), TypeDescriptor.valueOf(Person.class))).isTrue(); diff --git a/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java b/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java index d8796f42a..c0ad992ef 100755 --- a/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/DomainClassConverterUnitTests.java @@ -19,7 +19,6 @@ import static org.assertj.core.api.Assertions.*; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; -import java.lang.reflect.Method; import java.util.Optional; import org.junit.jupiter.api.BeforeEach; @@ -29,6 +28,7 @@ import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoSettings; import org.mockito.quality.Strictness; + import org.springframework.aop.framework.Advised; import org.springframework.aop.framework.AopProxyUtils; import org.springframework.beans.factory.support.BeanDefinitionBuilder; @@ -74,7 +74,7 @@ class DomainClassConverterUnitTests { @Test void matchFailsIfNoDaoAvailable() { - GenericApplicationContext ctx = new GenericApplicationContext(); + var ctx = new GenericApplicationContext(); ctx.refresh(); converter.setApplicationContext(ctx); assertMatches(false); @@ -113,15 +113,15 @@ class DomainClassConverterUnitTests { @Test void convertsStringToUserCorrectly() throws Exception { - ApplicationContext context = initContextWithRepo(); + var context = initContextWithRepo(); converter.setApplicationContext(context); doReturn(1L).when(service).convert(any(), eq(Long.class)); converter.convert("1", STRING_TYPE, USER_TYPE); - UserRepository bean = context.getBean(UserRepository.class); - UserRepository repo = (UserRepository) ((Advised) bean).getTargetSource().getTarget(); + var bean = context.getBean(UserRepository.class); + var repo = (UserRepository) ((Advised) bean).getTargetSource().getTarget(); verify(repo, times(1)).findById(1L); } @@ -129,8 +129,8 @@ class DomainClassConverterUnitTests { @Test // DATACMNS-133 void discoversFactoryAndRepoFromParentApplicationContext() { - ApplicationContext parent = initContextWithRepo(); - GenericApplicationContext context = new GenericApplicationContext(parent); + var parent = initContextWithRepo(); + var context = new GenericApplicationContext(parent); context.refresh(); when(service.canConvert(String.class, Long.class)).thenReturn(true); @@ -180,11 +180,11 @@ class DomainClassConverterUnitTests { assertMatches(false); @SuppressWarnings("rawtypes") - Optional toIdConverter = (Optional) ReflectionTestUtils.getField(converter, + var toIdConverter = (Optional) ReflectionTestUtils.getField(converter, "toIdConverter"); - Method method = Wrapper.class.getMethod("foo", User.class); - TypeDescriptor target = TypeDescriptor.nested(new MethodParameter(method, 0), 0); + var method = Wrapper.class.getMethod("foo", User.class); + var target = TypeDescriptor.nested(new MethodParameter(method, 0), 0); assertThat(toIdConverter).map(it -> it.matches(SUB_USER_TYPE, target)).hasValue(false); } @@ -202,14 +202,14 @@ class DomainClassConverterUnitTests { @Test // DATACMNS-1743 void returnsNullForFailedLookup() { - ApplicationContext context = initContextWithRepo(); + var context = initContextWithRepo(); converter.setApplicationContext(context); // Expect ID conversion doReturn(4711L).when(service).convert("4711", Long.class); // Configure aggregate lookup to fail - UserRepository users = context.getBean(UserRepository.class); + var users = context.getBean(UserRepository.class); users = (UserRepository) AopProxyUtils.getSingletonTarget(users); doReturn(Optional.empty()).when(users).findById(any()); @@ -218,13 +218,13 @@ class DomainClassConverterUnitTests { private ApplicationContext initContextWithRepo() { - BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(DummyRepositoryFactoryBean.class); + var builder = BeanDefinitionBuilder.rootBeanDefinition(DummyRepositoryFactoryBean.class); builder.addConstructorArgValue(UserRepository.class); - DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); + var factory = new DefaultListableBeanFactory(); factory.registerBeanDefinition("provider", builder.getBeanDefinition()); - GenericApplicationContext ctx = new GenericApplicationContext(factory); + var ctx = new GenericApplicationContext(factory); ctx.refresh(); return ctx; } diff --git a/src/test/java/org/springframework/data/repository/support/MethodParametersUnitTests.java b/src/test/java/org/springframework/data/repository/support/MethodParametersUnitTests.java index bfe5a7226..6b3990d71 100755 --- a/src/test/java/org/springframework/data/repository/support/MethodParametersUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/MethodParametersUnitTests.java @@ -17,13 +17,11 @@ package org.springframework.data.repository.support; import static org.assertj.core.api.Assertions.*; -import java.lang.reflect.Method; -import java.util.List; import java.util.Optional; import org.junit.jupiter.api.Test; + import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.core.MethodParameter; /** * Unit tests for {@link MethodParameters}. @@ -35,8 +33,8 @@ class MethodParametersUnitTests { @Test void prefersAnnotatedParameterOverDiscovered() throws Exception { - Method method = Sample.class.getMethod("method", String.class, String.class, Object.class); - MethodParameters parameters = new MethodParameters(method, Optional.of(new AnnotationAttribute(Qualifier.class))); + var method = Sample.class.getMethod("method", String.class, String.class, Object.class); + var parameters = new MethodParameters(method, Optional.of(new AnnotationAttribute(Qualifier.class))); assertThat(parameters.getParameter("param")).isPresent(); assertThat(parameters.getParameter("foo")).isPresent(); @@ -49,10 +47,10 @@ class MethodParametersUnitTests { @Test void returnsParametersOfAGivenType() throws Exception { - Method method = Sample.class.getMethod("method", String.class, String.class, Object.class); - MethodParameters methodParameters = new MethodParameters(method); + var method = Sample.class.getMethod("method", String.class, String.class, Object.class); + var methodParameters = new MethodParameters(method); - List objectParameters = methodParameters.getParametersOfType(Object.class); + var objectParameters = methodParameters.getParametersOfType(Object.class); assertThat(objectParameters).hasSize(1); assertThat(objectParameters.get(0).getParameterIndex()).isEqualTo(2); diff --git a/src/test/java/org/springframework/data/repository/support/PaginginAndSortingRepositoryInvokerUnitTests.java b/src/test/java/org/springframework/data/repository/support/PaginginAndSortingRepositoryInvokerUnitTests.java index 60d671264..eb6571f0c 100755 --- a/src/test/java/org/springframework/data/repository/support/PaginginAndSortingRepositoryInvokerUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/PaginginAndSortingRepositoryInvokerUnitTests.java @@ -19,8 +19,6 @@ import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import static org.springframework.data.repository.support.RepositoryInvocationTestUtils.*; -import java.lang.reflect.Method; - import org.junit.jupiter.api.Test; import org.springframework.core.convert.support.GenericConversionService; @@ -31,7 +29,6 @@ import org.springframework.data.domain.Sort; import org.springframework.data.repository.PagingAndSortingRepository; import org.springframework.data.repository.core.RepositoryMetadata; import org.springframework.data.repository.core.support.DefaultRepositoryMetadata; -import org.springframework.data.repository.support.RepositoryInvocationTestUtils.*; import org.springframework.format.support.DefaultFormattingConversionService; /** @@ -44,8 +41,8 @@ class PaginginAndSortingRepositoryInvokerUnitTests { @Test // DATACMNS-589 void invokesFindAllWithPageableByDefault() throws Exception { - Repository repository = mock(Repository.class); - Method method = PagingAndSortingRepository.class.getMethod("findAll", Pageable.class); + var repository = mock(Repository.class); + var method = PagingAndSortingRepository.class.getMethod("findAll", Pageable.class); getInvokerFor(repository, expectInvocationOf(method)).invokeFindAll(PageRequest.of(0, 10)); getInvokerFor(repository, expectInvocationOf(method)).invokeFindAll(Pageable.unpaged()); @@ -54,8 +51,8 @@ class PaginginAndSortingRepositoryInvokerUnitTests { @Test // DATACMNS-589 void invokesFindAllWithSortByDefault() throws Exception { - Repository repository = mock(Repository.class); - Method method = PagingAndSortingRepository.class.getMethod("findAll", Sort.class); + var repository = mock(Repository.class); + var method = PagingAndSortingRepository.class.getMethod("findAll", Sort.class); getInvokerFor(repository, expectInvocationOf(method)).invokeFindAll(Sort.by("foo")); getInvokerFor(repository, expectInvocationOf(method)).invokeFindAll(Sort.unsorted()); @@ -64,8 +61,8 @@ class PaginginAndSortingRepositoryInvokerUnitTests { @Test // DATACMNS-589 void invokesRedeclaredFindAllWithPageable() throws Exception { - RepositoryWithRedeclaredFindAllWithPageable repository = mock(RepositoryWithRedeclaredFindAllWithPageable.class); - Method method = RepositoryWithRedeclaredFindAllWithPageable.class.getMethod("findAll", Pageable.class); + var repository = mock(RepositoryWithRedeclaredFindAllWithPageable.class); + var method = RepositoryWithRedeclaredFindAllWithPageable.class.getMethod("findAll", Pageable.class); when(repository.findAll(any(Pageable.class))).thenReturn(Page.empty()); @@ -76,8 +73,8 @@ class PaginginAndSortingRepositoryInvokerUnitTests { @Test // DATACMNS-589 void invokesRedeclaredFindAllWithSort() throws Exception { - RepositoryWithRedeclaredFindAllWithSort repository = mock(RepositoryWithRedeclaredFindAllWithSort.class); - Method method = RepositoryWithRedeclaredFindAllWithSort.class.getMethod("findAll", Sort.class); + var repository = mock(RepositoryWithRedeclaredFindAllWithSort.class); + var method = RepositoryWithRedeclaredFindAllWithSort.class.getMethod("findAll", Sort.class); getInvokerFor(repository, expectInvocationOf(method)).invokeFindAll(Sort.by("foo")); getInvokerFor(repository, expectInvocationOf(method)).invokeFindAll(Sort.unsorted()); diff --git a/src/test/java/org/springframework/data/repository/support/ReflectionRepositoryInvokerUnitTests.java b/src/test/java/org/springframework/data/repository/support/ReflectionRepositoryInvokerUnitTests.java index c0699902d..df99f1fa8 100755 --- a/src/test/java/org/springframework/data/repository/support/ReflectionRepositoryInvokerUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/ReflectionRepositoryInvokerUnitTests.java @@ -20,7 +20,6 @@ import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.*; import static org.springframework.data.repository.support.RepositoryInvocationTestUtils.*; -import java.lang.reflect.Method; import java.util.Arrays; import java.util.Collection; import java.util.Date; @@ -46,7 +45,6 @@ import org.springframework.data.repository.core.RepositoryMetadata; import org.springframework.data.repository.core.support.DefaultRepositoryMetadata; import org.springframework.data.repository.query.Param; import org.springframework.data.repository.support.CrudRepositoryInvokerUnitTests.PersonRepository; -import org.springframework.data.repository.support.RepositoryInvocationTestUtils.*; import org.springframework.format.support.DefaultFormattingConversionService; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; @@ -69,8 +67,8 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-589 void invokesSaveMethodCorrectly() throws Exception { - ManualCrudRepository repository = mock(ManualCrudRepository.class); - Method method = ManualCrudRepository.class.getMethod("save", Domain.class); + var repository = mock(ManualCrudRepository.class); + var method = ManualCrudRepository.class.getMethod("save", Domain.class); when(repository.save(any())).then(AdditionalAnswers.returnsFirstArg()); @@ -80,8 +78,8 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-589 void invokesFindOneCorrectly() throws Exception { - ManualCrudRepository repository = mock(ManualCrudRepository.class); - Method method = ManualCrudRepository.class.getMethod("findById", Long.class); + var repository = mock(ManualCrudRepository.class); + var method = ManualCrudRepository.class.getMethod("findById", Long.class); getInvokerFor(repository, expectInvocationOf(method)).invokeFindById("1"); getInvokerFor(repository, expectInvocationOf(method)).invokeFindById(1L); @@ -90,11 +88,11 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-589 void invokesDeleteWithDomainCorrectly() throws Exception { - RepoWithDomainDeleteAndFindOne repository = mock(RepoWithDomainDeleteAndFindOne.class); + var repository = mock(RepoWithDomainDeleteAndFindOne.class); when(repository.findById(1L)).thenReturn(new Domain()); - Method findOneMethod = RepoWithDomainDeleteAndFindOne.class.getMethod("findById", Long.class); - Method deleteMethod = RepoWithDomainDeleteAndFindOne.class.getMethod("delete", Domain.class); + var findOneMethod = RepoWithDomainDeleteAndFindOne.class.getMethod("findById", Long.class); + var deleteMethod = RepoWithDomainDeleteAndFindOne.class.getMethod("delete", Domain.class); getInvokerFor(repository, expectInvocationOf(findOneMethod, deleteMethod)).invokeDeleteById(1L); } @@ -102,8 +100,8 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-589 void invokesFindAllWithoutParameterCorrectly() throws Exception { - Method method = ManualCrudRepository.class.getMethod("findAll"); - ManualCrudRepository repository = mock(ManualCrudRepository.class); + var method = ManualCrudRepository.class.getMethod("findAll"); + var repository = mock(ManualCrudRepository.class); getInvokerFor(repository, expectInvocationOf(method)).invokeFindAll(Pageable.unpaged()); getInvokerFor(repository, expectInvocationOf(method)).invokeFindAll(PageRequest.of(0, 10)); @@ -114,8 +112,8 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-589 void invokesFindAllWithSortCorrectly() throws Exception { - Method method = RepoWithFindAllWithSort.class.getMethod("findAll", Sort.class); - RepoWithFindAllWithSort repository = mock(RepoWithFindAllWithSort.class); + var method = RepoWithFindAllWithSort.class.getMethod("findAll", Sort.class); + var repository = mock(RepoWithFindAllWithSort.class); when(repository.findAll(any())).thenReturn(Page.empty()); @@ -128,8 +126,8 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-589 void invokesFindAllWithPageableCorrectly() throws Exception { - Method method = RepoWithFindAllWithPageable.class.getMethod("findAll", Pageable.class); - RepoWithFindAllWithPageable repository = mock(RepoWithFindAllWithPageable.class); + var method = RepoWithFindAllWithPageable.class.getMethod("findAll", Pageable.class); + var repository = mock(RepoWithFindAllWithPageable.class); when(repository.findAll(any())).thenReturn(Page.empty()); @@ -143,8 +141,8 @@ class ReflectionRepositoryInvokerUnitTests { MultiValueMap parameters = new LinkedMultiValueMap<>(); parameters.add("firstName", "John"); - Method method = PersonRepository.class.getMethod("findByFirstName", String.class, Pageable.class); - PersonRepository repository = mock(PersonRepository.class); + var method = PersonRepository.class.getMethod("findByFirstName", String.class, Pageable.class); + var repository = mock(PersonRepository.class); getInvokerFor(repository, expectInvocationOf(method)).invokeQueryMethod(method, parameters, Pageable.unpaged(), Sort.unsorted()); @@ -156,8 +154,8 @@ class ReflectionRepositoryInvokerUnitTests { MultiValueMap parameters = new LinkedMultiValueMap<>(); parameters.add("date", "2013-07-18T10:49:00.000+02:00"); - Method method = PersonRepository.class.getMethod("findByCreatedUsingISO8601Date", Date.class, Pageable.class); - PersonRepository repository = mock(PersonRepository.class); + var method = PersonRepository.class.getMethod("findByCreatedUsingISO8601Date", Date.class, Pageable.class); + var repository = mock(PersonRepository.class); getInvokerFor(repository, expectInvocationOf(method)).invokeQueryMethod(method, parameters, Pageable.unpaged(), Sort.unsorted()); @@ -166,8 +164,8 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATAREST-335, DATAREST-346, DATACMNS-589 void invokesOverriddenDeleteMethodCorrectly() throws Exception { - MyRepo repository = mock(MyRepo.class); - Method method = CustomRepo.class.getMethod("deleteById", Long.class); + var repository = mock(MyRepo.class); + var method = CustomRepo.class.getMethod("deleteById", Long.class); getInvokerFor(repository, expectInvocationOf(method)).invokeDeleteById("1"); } @@ -175,7 +173,7 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-589 void rejectsInvocationOfMissingDeleteMethod() { - RepositoryInvoker invoker = getInvokerFor(mock(EmptyRepository.class)); + var invoker = getInvokerFor(mock(EmptyRepository.class)); assertThat(invoker.hasDeleteMethod()).isFalse(); assertThatIllegalStateException().isThrownBy(() -> invoker.invokeDeleteById(1L)); @@ -184,7 +182,7 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-589 void rejectsInvocationOfMissingFindOneMethod() { - RepositoryInvoker invoker = getInvokerFor(mock(EmptyRepository.class)); + var invoker = getInvokerFor(mock(EmptyRepository.class)); assertThat(invoker.hasFindOneMethod()).isFalse(); assertThatIllegalStateException().isThrownBy(() -> invoker.invokeFindById(1L)); @@ -193,7 +191,7 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-589 void rejectsInvocationOfMissingFindAllMethod() { - RepositoryInvoker invoker = getInvokerFor(mock(EmptyRepository.class)); + var invoker = getInvokerFor(mock(EmptyRepository.class)); assertThat(invoker.hasFindAllMethod()).isFalse(); assertThatIllegalStateException().isThrownBy(() -> invoker.invokeFindAll(Sort.unsorted())); @@ -202,7 +200,7 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-589 void rejectsInvocationOfMissingSaveMethod() { - RepositoryInvoker invoker = getInvokerFor(mock(EmptyRepository.class)); + var invoker = getInvokerFor(mock(EmptyRepository.class)); assertThat(invoker.hasSaveMethod()).isFalse(); assertThatIllegalStateException().isThrownBy(() -> invoker.invokeSave(new Object())); @@ -211,13 +209,13 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-647 void translatesCollectionRequestParametersCorrectly() throws Exception { - for (String[] ids : Arrays.asList(new String[] { "1,2" }, new String[] { "1", "2" })) { + for (var ids : Arrays.asList(new String[] { "1,2" }, new String[] { "1", "2" })) { MultiValueMap parameters = new LinkedMultiValueMap<>(); parameters.put("ids", Arrays.asList(ids)); - Method method = PersonRepository.class.getMethod("findByIdIn", Collection.class); - PersonRepository repository = mock(PersonRepository.class); + var method = PersonRepository.class.getMethod("findByIdIn", Collection.class); + var repository = mock(PersonRepository.class); getInvokerFor(repository, expectInvocationOf(method)).invokeQueryMethod(method, parameters, Pageable.unpaged(), Sort.unsorted()); @@ -227,12 +225,12 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-700 void failedParameterConversionCapturesContext() throws Exception { - RepositoryInvoker invoker = getInvokerFor(mock(SimpleRepository.class)); + var invoker = getInvokerFor(mock(SimpleRepository.class)); MultiValueMap parameters = new LinkedMultiValueMap<>(); parameters.add("value", "value"); - Method method = SimpleRepository.class.getMethod("findByClass", int.class); + var method = SimpleRepository.class.getMethod("findByClass", int.class); try { invoker.invokeQueryMethod(method, parameters, Pageable.unpaged(), Sort.unsorted()); @@ -247,12 +245,12 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-867 void convertsWrapperTypeToJdkOptional() { - GuavaRepository mock = mock(GuavaRepository.class); + var mock = mock(GuavaRepository.class); when(mock.findById(any())).thenReturn(com.google.common.base.Optional.of(new Domain())); - RepositoryInvoker invoker = getInvokerFor(mock); + var invoker = getInvokerFor(mock); - Optional invokeFindOne = invoker.invokeFindById(1L); + var invokeFindOne = invoker.invokeFindById(1L); assertThat(invokeFindOne).isPresent(); } @@ -260,12 +258,12 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-867 void wrapsSingleElementCollectionIntoOptional() throws Exception { - ManualCrudRepository mock = mock(ManualCrudRepository.class); + var mock = mock(ManualCrudRepository.class); when(mock.findAll()).thenReturn(Arrays.asList(new Domain())); - Method method = ManualCrudRepository.class.getMethod("findAll"); + var method = ManualCrudRepository.class.getMethod("findAll"); - Optional result = getInvokerFor(mock).invokeQueryMethod(method, new LinkedMultiValueMap<>(), + var result = getInvokerFor(mock).invokeQueryMethod(method, new LinkedMultiValueMap<>(), Pageable.unpaged(), Sort.unsorted()); assertThat(result).hasValueSatisfying(it -> { @@ -276,7 +274,7 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-1277 void invokesFindByIdBeforeDeletingOnOverride() { - DeleteByEntityOverrideSubRepository mock = mock(DeleteByEntityOverrideSubRepository.class); + var mock = mock(DeleteByEntityOverrideSubRepository.class); doReturn(Optional.of(new Domain())).when(mock).findById(any()); getInvokerFor(mock).invokeDeleteById(1L); @@ -288,7 +286,7 @@ class ReflectionRepositoryInvokerUnitTests { @Test // DATACMNS-1277 void invokesDeleteByIdOnOverride() { - DeleteByIdOverrideSubRepository mock = mock(DeleteByIdOverrideSubRepository.class); + var mock = mock(DeleteByIdOverrideSubRepository.class); getInvokerFor(mock).invokeDeleteById(1L); diff --git a/src/test/java/org/springframework/data/repository/support/RepositoriesIntegrationTests.java b/src/test/java/org/springframework/data/repository/support/RepositoriesIntegrationTests.java index cef52e659..e7f7cb66b 100755 --- a/src/test/java/org/springframework/data/repository/support/RepositoriesIntegrationTests.java +++ b/src/test/java/org/springframework/data/repository/support/RepositoriesIntegrationTests.java @@ -50,7 +50,7 @@ class RepositoriesIntegrationTests { @Test // DATACMNS-376 void returnsPersistentEntityForProxiedClass() { - User user = mock(User.class); + var user = mock(User.class); assertThat(repositories.getPersistentEntity(user.getClass())).isNotNull(); } } diff --git a/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java b/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java index 47ede3201..b04fa7b16 100755 --- a/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java +++ b/src/test/java/org/springframework/data/repository/support/RepositoriesUnitTests.java @@ -20,7 +20,6 @@ import static org.assertj.core.api.Assertions.*; import java.io.Serializable; import java.util.Collections; import java.util.List; -import java.util.Optional; import java.util.Set; import org.junit.jupiter.api.BeforeEach; @@ -29,6 +28,7 @@ import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoSettings; import org.mockito.quality.Strictness; + import org.springframework.aop.framework.ProxyFactory; import org.springframework.beans.factory.support.AbstractBeanDefinition; import org.springframework.beans.factory.support.BeanDefinitionBuilder; @@ -66,7 +66,7 @@ class RepositoriesUnitTests { @BeforeEach void setUp() { - DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); + var beanFactory = new DefaultListableBeanFactory(); beanFactory.registerBeanDefinition("addressRepository", getRepositoryBeanDefinition(AddressRepository.class)); beanFactory.registerBeanDefinition("personRepository", getRepositoryBeanDefinition(PersonRepository.class)); @@ -76,7 +76,7 @@ class RepositoriesUnitTests { private AbstractBeanDefinition getRepositoryBeanDefinition(Class repositoryInterface) { - BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(DummyRepositoryFactoryBean.class); + var builder = BeanDefinitionBuilder.rootBeanDefinition(DummyRepositoryFactoryBean.class); builder.addConstructorArgValue(repositoryInterface); return builder.getBeanDefinition(); @@ -85,7 +85,7 @@ class RepositoriesUnitTests { @Test void doesNotConsiderCrudRepositoriesOnly() { - Repositories repositories = new Repositories(context); + var repositories = new Repositories(context); assertThat(repositories.hasRepositoryFor(Person.class)).isTrue(); assertThat(repositories.hasRepositoryFor(Address.class)).isTrue(); @@ -93,7 +93,7 @@ class RepositoriesUnitTests { @Test void doesNotFindInformationForNonManagedDomainClass() { - Repositories repositories = new Repositories(context); + var repositories = new Repositories(context); assertThat(repositories.hasRepositoryFor(String.class)).isFalse(); assertThat(repositories.getRepositoryFor(String.class)).isNotPresent(); } @@ -106,7 +106,7 @@ class RepositoriesUnitTests { @Test // DATACMNS-256 void exposesPersistentEntityForDomainTypes() { - Repositories repositories = new Repositories(context); + var repositories = new Repositories(context); assertThat(repositories.getPersistentEntity(Person.class)).isNotNull(); assertThat(repositories.getPersistentEntity(Address.class)).isNotNull(); } @@ -122,11 +122,11 @@ class RepositoriesUnitTests { RepositoryMetadata metadata = new CustomRepositoryMetadata(SampleRepository.class); RepositoryFactoryInformation information = new SampleRepoFactoryInformation<>(metadata); - GenericApplicationContext context = new GenericApplicationContext(); + var context = new GenericApplicationContext(); context.getBeanFactory().registerSingleton("foo", information); context.refresh(); - Repositories repositories = new Repositories(context); + var repositories = new Repositories(context); assertThat(repositories.getRepositoryFor(Sample.class)).isNotNull(); assertThat(repositories.getRepositoryFor(SampleEntity.class)).isNotNull(); @@ -137,7 +137,7 @@ class RepositoriesUnitTests { @Test // DATACMNS-794 void exposesRepositoryFactoryInformationForRepository() { - Optional information = new Repositories(context) + var information = new Repositories(context) .getRepositoryInformation(PersonRepository.class); assertThat(information) @@ -147,15 +147,15 @@ class RepositoriesUnitTests { @Test // DATACMNS-1215 void exposesRepositoryForProxyType() { - ProxyFactory factory = new ProxyFactory(); + var factory = new ProxyFactory(); factory.setTarget(new Person()); factory.setProxyTargetClass(true); - Object proxy = factory.getProxy(); + var proxy = factory.getProxy(); assertThat(ClassUtils.isCglibProxy(proxy)).isTrue(); - Repositories repositories = new Repositories(context); + var repositories = new Repositories(context); assertThat(repositories.hasRepositoryFor(proxy.getClass())).isTrue(); assertThat(repositories.getRepositoryFor(proxy.getClass())).isNotEmpty(); @@ -164,10 +164,10 @@ class RepositoriesUnitTests { @Test // DATACMNS-1448 void keepsPrimaryRepositoryInCaseOfMultipleOnes() { - DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); + var beanFactory = new DefaultListableBeanFactory(); beanFactory.registerBeanDefinition("first", getRepositoryBeanDefinition(FirstRepository.class)); - AbstractBeanDefinition definition = getRepositoryBeanDefinition(PrimaryRepository.class); + var definition = getRepositoryBeanDefinition(PrimaryRepository.class); definition.setPrimary(true); beanFactory.registerBeanDefinition("primary", definition); @@ -176,7 +176,7 @@ class RepositoriesUnitTests { context = new GenericApplicationContext(beanFactory); context.refresh(); - Repositories repositories = new Repositories(beanFactory); + var repositories = new Repositories(beanFactory); assertThat(repositories.getRepositoryFor(SomeEntity.class)).hasValueSatisfying(it -> { assertThat(it).isInstanceOf(PrimaryRepository.class); @@ -186,10 +186,10 @@ class RepositoriesUnitTests { @Test // DATACMNS-1142 void keepsPrimaryRepositoryInCaseOfMultipleOnesIfContextIsNotAConfigurableListableBeanFactory() { - DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); + var beanFactory = new DefaultListableBeanFactory(); beanFactory.registerBeanDefinition("first", getRepositoryBeanDefinition(FirstRepository.class)); - AbstractBeanDefinition definition = getRepositoryBeanDefinition(PrimaryRepository.class); + var definition = getRepositoryBeanDefinition(PrimaryRepository.class); definition.setPrimary(true); beanFactory.registerBeanDefinition("primary", definition); @@ -198,7 +198,7 @@ class RepositoriesUnitTests { context = new GenericApplicationContext(beanFactory); context.refresh(); - Repositories repositories = new Repositories(context); + var repositories = new Repositories(context); assertThat(repositories.getRepositoryFor(SomeEntity.class)).hasValueSatisfying(it -> { assertThat(it).isInstanceOf(PrimaryRepository.class); @@ -208,7 +208,7 @@ class RepositoriesUnitTests { @Test // GH-2406 void exposesParentRepositoryForChildIfOnlyParentRepositoryIsRegistered() { - Repositories repositories = bootstrapRepositories(ParentRepository.class); + var repositories = bootstrapRepositories(ParentRepository.class); assertRepositoryAvailableFor(repositories, Child.class, ParentRepository.class); } @@ -216,7 +216,7 @@ class RepositoriesUnitTests { @Test // GH-2406 void usesChildRepositoryIfRegistered() { - Repositories repositories = bootstrapRepositories(ParentRepository.class, ChildRepository.class); + var repositories = bootstrapRepositories(ParentRepository.class, ChildRepository.class); assertRepositoryAvailableFor(repositories, Child.class, ChildRepository.class); } @@ -233,9 +233,9 @@ class RepositoriesUnitTests { private Repositories bootstrapRepositories(Class... repositoryInterfaces) { - DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); + var beanFactory = new DefaultListableBeanFactory(); - for (Class repositoryInterface : repositoryInterfaces) { + for (var repositoryInterface : repositoryInterfaces) { beanFactory.registerBeanDefinition(repositoryInterface.getName(), getRepositoryBeanDefinition(repositoryInterface)); } @@ -299,7 +299,7 @@ class RepositoriesUnitTests { super(repositoryInterface); - String domainType = super.getDomainType().getName().concat("Entity"); + var domainType = super.getDomainType().getName().concat("Entity"); try { this.domainType = ClassUtils.forName(domainType, CustomRepositoryMetadata.class.getClassLoader()); diff --git a/src/test/java/org/springframework/data/repository/support/RepositoryInvocationTestUtils.java b/src/test/java/org/springframework/data/repository/support/RepositoryInvocationTestUtils.java index 8d9eea6ba..f7a8a3f83 100644 --- a/src/test/java/org/springframework/data/repository/support/RepositoryInvocationTestUtils.java +++ b/src/test/java/org/springframework/data/repository/support/RepositoryInvocationTestUtils.java @@ -36,7 +36,7 @@ class RepositoryInvocationTestUtils { @SuppressWarnings("unchecked") static T getVerifyingRepositoryProxy(T target, VerifyingMethodInterceptor interceptor) { - ProxyFactory factory = new ProxyFactory(); + var factory = new ProxyFactory(); factory.setInterfaces(target.getClass().getInterfaces()); factory.setTarget(target); factory.addAdvice(interceptor); @@ -75,7 +75,7 @@ class RepositoryInvocationTestUtils { assertThat(methods).contains(invocation.getMethod()); } else { - Class type = invocation.getMethod().getDeclaringClass(); + var type = invocation.getMethod().getDeclaringClass(); assertThat(type).as("Expected methods invocation on %s but was invoked on %s!", expectedInvocationTarget, type) .isEqualTo(expectedInvocationTarget); diff --git a/src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java b/src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java index b7770d5f8..e80cc11cb 100755 --- a/src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java +++ b/src/test/java/org/springframework/data/repository/util/QueryExecutionConvertersUnitTests.java @@ -30,7 +30,6 @@ import reactor.core.publisher.Mono; import scala.Option; import java.io.IOException; -import java.lang.reflect.Method; import java.util.Arrays; import java.util.Collections; import java.util.Iterator; @@ -43,13 +42,13 @@ import java.util.concurrent.Future; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.reactivestreams.Publisher; + import org.springframework.core.convert.support.DefaultConversionService; import org.springframework.data.domain.Page; import org.springframework.data.domain.Slice; import org.springframework.data.util.ClassTypeInformation; import org.springframework.data.util.NullableWrapper; import org.springframework.data.util.Streamable; -import org.springframework.data.util.TypeInformation; import org.springframework.util.concurrent.ListenableFuture; import com.google.common.base.Optional; @@ -169,7 +168,7 @@ class QueryExecutionConvertersUnitTests { @Test // DATACMNS-1005 void registersAllowedPageabletypes() { - Set> allowedPageableTypes = QueryExecutionConverters.getAllowedPageableTypes(); + var allowedPageableTypes = QueryExecutionConverters.getAllowedPageableTypes(); assertThat(allowedPageableTypes).contains(Page.class, Slice.class, List.class, Seq.class); } @@ -191,7 +190,7 @@ class QueryExecutionConvertersUnitTests { assertThat(conversionService.canConvert(List.class, io.vavr.collection.Set.class)).isTrue(); assertThat(conversionService.canConvert(List.class, io.vavr.collection.Map.class)).isFalse(); - List integers = Arrays.asList(1, 2, 3); + var integers = Arrays.asList(1, 2, 3); io.vavr.collection.Traversable result = conversionService.convert(integers, io.vavr.collection.Traversable.class); @@ -207,7 +206,7 @@ class QueryExecutionConvertersUnitTests { assertThat(conversionService.canConvert(Set.class, io.vavr.collection.List.class)).isTrue(); assertThat(conversionService.canConvert(Set.class, io.vavr.collection.Map.class)).isFalse(); - Set integers = Collections.singleton(1); + var integers = Collections.singleton(1); io.vavr.collection.Traversable result = conversionService.convert(integers, io.vavr.collection.Traversable.class); @@ -223,7 +222,7 @@ class QueryExecutionConvertersUnitTests { assertThat(conversionService.canConvert(Map.class, io.vavr.collection.Set.class)).isFalse(); assertThat(conversionService.canConvert(Map.class, io.vavr.collection.List.class)).isFalse(); - Map map = Collections.singletonMap("key", "value"); + var map = Collections.singletonMap("key", "value"); io.vavr.collection.Traversable result = conversionService.convert(map, io.vavr.collection.Traversable.class); @@ -241,14 +240,14 @@ class QueryExecutionConvertersUnitTests { @Test // DATACMNS-1065 void vavrSeqIsASupportedPageableType() { - Set> allowedPageableTypes = QueryExecutionConverters.getAllowedPageableTypes(); + var allowedPageableTypes = QueryExecutionConverters.getAllowedPageableTypes(); assertThat(allowedPageableTypes).contains(io.vavr.collection.Seq.class); } @Test // DATAJPA-1258 void convertsJavaListsToVavrSet() { - List source = Collections.singletonList("foo"); + var source = Collections.singletonList("foo"); assertThat(conversionService.convert(source, io.vavr.collection.Set.class)) // .isInstanceOf(io.vavr.collection.Set.class); @@ -257,8 +256,8 @@ class QueryExecutionConvertersUnitTests { @Test // DATACMNS-1299 void unwrapsPages() throws Exception { - Method method = Sample.class.getMethod("pages"); - TypeInformation returnType = ClassTypeInformation.fromReturnTypeOf(method); + var method = Sample.class.getMethod("pages"); + var returnType = ClassTypeInformation.fromReturnTypeOf(method); assertThat(QueryExecutionConverters.unwrapWrapperTypes(returnType).getType()) .isEqualTo(String.class); @@ -267,7 +266,7 @@ class QueryExecutionConvertersUnitTests { @Test // DATACMNS-983 void exposesExecutionAdapterForJavaslangTry() throws Throwable { - Object result = getExecutionAdapter(Try.class).apply(() -> { + var result = getExecutionAdapter(Try.class).apply(() -> { throw new IOException("Some message!"); }); @@ -277,11 +276,11 @@ class QueryExecutionConvertersUnitTests { @Test // DATACMNS-983 void unwrapsDomainTypeFromJavaslangTryWrapper() throws Exception { - for (String methodName : Arrays.asList("tryMethod", "tryForSeqMethod")) { + for (var methodName : Arrays.asList("tryMethod", "tryForSeqMethod")) { - Method method = Sample.class.getMethod(methodName); + var method = Sample.class.getMethod(methodName); - TypeInformation type = QueryExecutionConverters + var type = QueryExecutionConverters .unwrapWrapperTypes(ClassTypeInformation.fromReturnTypeOf(method)); assertThat(type.getType()).isEqualTo(Sample.class); @@ -291,7 +290,7 @@ class QueryExecutionConvertersUnitTests { @Test // DATACMNS-983 void exposesExecutionAdapterForVavrTry() throws Throwable { - Object result = getExecutionAdapter(io.vavr.control.Try.class).apply(() -> { + var result = getExecutionAdapter(io.vavr.control.Try.class).apply(() -> { throw new IOException("Some message!"); }); @@ -301,11 +300,11 @@ class QueryExecutionConvertersUnitTests { @Test // DATACMNS-983 void unwrapsDomainTypeFromVavrTryWrapper() throws Exception { - for (String methodName : Arrays.asList("tryMethod", "tryForSeqMethod")) { + for (var methodName : Arrays.asList("tryMethod", "tryForSeqMethod")) { - Method method = Sample.class.getMethod(methodName); + var method = Sample.class.getMethod(methodName); - TypeInformation type = QueryExecutionConverters + var type = QueryExecutionConverters .unwrapWrapperTypes(ClassTypeInformation.fromReturnTypeOf(method)); assertThat(type.getType()).isEqualTo(Sample.class); @@ -338,7 +337,7 @@ class QueryExecutionConvertersUnitTests { @Test // DATACMNS-1484 void doesNotConvertCollectionToStreamableIfReturnTypeIsIterable() { - List source = Arrays.asList("1", "2"); + var source = Arrays.asList("1", "2"); assertThat(conversionService.convert(source, Iterable.class)).isSameAs(source); diff --git a/src/test/java/org/springframework/data/repository/util/ReactiveWrapperConvertersUnitTests.java b/src/test/java/org/springframework/data/repository/util/ReactiveWrapperConvertersUnitTests.java index ad3c6d123..4bf1540ee 100644 --- a/src/test/java/org/springframework/data/repository/util/ReactiveWrapperConvertersUnitTests.java +++ b/src/test/java/org/springframework/data/repository/util/ReactiveWrapperConvertersUnitTests.java @@ -73,21 +73,21 @@ class ReactiveWrapperConvertersUnitTests { @Test // DATACMNS-836 void toWrapperShouldCastMonoToMono() { - Mono foo = Mono.just("foo"); + var foo = Mono.just("foo"); assertThat(ReactiveWrapperConverters.toWrapper(foo, Mono.class)).isSameAs(foo); } @Test // DATACMNS-836 void toWrapperShouldConvertMonoToFlux() { - Mono foo = Mono.just("foo"); + var foo = Mono.just("foo"); assertThat(ReactiveWrapperConverters.toWrapper(foo, Flux.class)).isInstanceOf(Flux.class); } @Test // DATACMNS-836 void shouldMapMono() { - Mono foo = Mono.just("foo"); + var foo = Mono.just("foo"); Mono map = ReactiveWrapperConverters.map(foo, source -> 1L); assertThat(map.block()).isEqualTo(1L); } @@ -95,7 +95,7 @@ class ReactiveWrapperConvertersUnitTests { @Test // DATACMNS-836 void shouldMapFlux() { - Flux foo = Flux.just("foo"); + var foo = Flux.just("foo"); Flux map = ReactiveWrapperConverters.map(foo, source -> 1L); assertThat(map.next().block()).isEqualTo(1L); } @@ -103,7 +103,7 @@ class ReactiveWrapperConvertersUnitTests { @Test // DATACMNS-1653 void shouldMapRxJava3Single() { - io.reactivex.rxjava3.core.Single foo = io.reactivex.rxjava3.core.Single.just("foo"); + var foo = io.reactivex.rxjava3.core.Single.just("foo"); io.reactivex.rxjava3.core.Single map = ReactiveWrapperConverters.map(foo, source -> 1L); assertThat(map.blockingGet()).isEqualTo(1L); } @@ -111,7 +111,7 @@ class ReactiveWrapperConvertersUnitTests { @Test // DATACMNS-1653 void shouldMapRxJava3Maybe() { - io.reactivex.rxjava3.core.Maybe foo = io.reactivex.rxjava3.core.Maybe.just("foo"); + var foo = io.reactivex.rxjava3.core.Maybe.just("foo"); io.reactivex.rxjava3.core.Maybe map = ReactiveWrapperConverters.map(foo, source -> 1L); assertThat(map.toSingle().blockingGet()).isEqualTo(1L); } @@ -119,7 +119,7 @@ class ReactiveWrapperConvertersUnitTests { @Test // DATACMNS-1653 void shouldMapRxJava3Observable() { - io.reactivex.rxjava3.core.Observable foo = io.reactivex.rxjava3.core.Observable.just("foo"); + var foo = io.reactivex.rxjava3.core.Observable.just("foo"); io.reactivex.rxjava3.core.Observable map = ReactiveWrapperConverters.map(foo, source -> 1L); assertThat(map.blockingFirst()).isEqualTo(1L); } @@ -127,7 +127,7 @@ class ReactiveWrapperConvertersUnitTests { @Test // DATACMNS-1653 void shouldMapRxJava3Flowable() { - io.reactivex.rxjava3.core.Flowable foo = io.reactivex.rxjava3.core.Flowable.just("foo"); + var foo = io.reactivex.rxjava3.core.Flowable.just("foo"); io.reactivex.rxjava3.core.Flowable map = ReactiveWrapperConverters.map(foo, source -> 1L); assertThat(map.blockingFirst()).isEqualTo(1L); } @@ -136,7 +136,7 @@ class ReactiveWrapperConvertersUnitTests { @SuppressWarnings("deprecation") void shouldMapKotlinFlow() { - Flow flow = FlowKt.asFlow(new String[] { "foo" }); + var flow = FlowKt.asFlow(new String[] { "foo" }); Flow map = ReactiveWrapperConverters.map(flow, source -> 1L); StepVerifier.create(ReactiveFlowKt.asPublisher(map)).expectNext(1L).verifyComplete(); } diff --git a/src/test/java/org/springframework/data/spel/EvaluationContextExtensionInformationUnitTests.java b/src/test/java/org/springframework/data/spel/EvaluationContextExtensionInformationUnitTests.java index 3b4ad1073..5725a7913 100644 --- a/src/test/java/org/springframework/data/spel/EvaluationContextExtensionInformationUnitTests.java +++ b/src/test/java/org/springframework/data/spel/EvaluationContextExtensionInformationUnitTests.java @@ -30,10 +30,10 @@ class EvaluationContextExtensionInformationUnitTests { @Test // DATACMNS-1024 void supportsMethodOverloadsOnRoot() { - EvaluationContextExtensionInformation information = new EvaluationContextExtensionInformation( + var information = new EvaluationContextExtensionInformation( SampleExtension.class); - Optional target = Optional.of(new Object()); + var target = Optional.of(new Object()); information.getRootObjectInformation(target).getFunctions(target); } diff --git a/src/test/java/org/springframework/data/spel/ExpressionDependenciesUnitTests.java b/src/test/java/org/springframework/data/spel/ExpressionDependenciesUnitTests.java index 2f9485624..21a9689df 100644 --- a/src/test/java/org/springframework/data/spel/ExpressionDependenciesUnitTests.java +++ b/src/test/java/org/springframework/data/spel/ExpressionDependenciesUnitTests.java @@ -18,7 +18,7 @@ package org.springframework.data.spel; import static org.assertj.core.api.Assertions.*; import org.junit.jupiter.api.Test; -import org.springframework.expression.spel.SpelNode; + import org.springframework.expression.spel.standard.SpelExpression; import org.springframework.expression.spel.standard.SpelExpressionParser; @@ -35,12 +35,12 @@ class ExpressionDependenciesUnitTests { @Test // DATACMNS-1108 void shouldExtractDependencies() { - String expression = "hasRole('ROLE_ADMIN') ? '%' : principal.emailAddress"; + var expression = "hasRole('ROLE_ADMIN') ? '%' : principal.emailAddress"; - SpelExpression spelExpression = (SpelExpression) PARSER.parseExpression(expression); - SpelNode ast = spelExpression.getAST(); + var spelExpression = (SpelExpression) PARSER.parseExpression(expression); + var ast = spelExpression.getAST(); - ExpressionDependencies dependencies = ExpressionDependencies.discover(ast, true); + var dependencies = ExpressionDependencies.discover(ast, true); assertThat(dependencies).extracting(ExpressionDependencies.ExpressionDependency::getSymbol).containsOnly("hasRole", "principal"); @@ -49,12 +49,12 @@ class ExpressionDependenciesUnitTests { @Test // DATACMNS-1108 void shouldExtractDependenciesFromMethodCallArgs() { - String expression = "hasRole(principal.emailAddress)"; + var expression = "hasRole(principal.emailAddress)"; - SpelExpression spelExpression = (SpelExpression) PARSER.parseExpression(expression); - SpelNode ast = spelExpression.getAST(); + var spelExpression = (SpelExpression) PARSER.parseExpression(expression); + var ast = spelExpression.getAST(); - ExpressionDependencies dependencies = ExpressionDependencies.discover(ast, true); + var dependencies = ExpressionDependencies.discover(ast, true); assertThat(dependencies).extracting(ExpressionDependencies.ExpressionDependency::getSymbol).containsOnly("hasRole", "principal"); @@ -63,12 +63,12 @@ class ExpressionDependenciesUnitTests { @Test // DATACMNS-1108 void shouldExtractFirstMethodAsDependency() { - String expression = "hello().hasRole(principal.emailAddress, principal.somethingElse).somethingElse()"; + var expression = "hello().hasRole(principal.emailAddress, principal.somethingElse).somethingElse()"; - SpelExpression spelExpression = (SpelExpression) PARSER.parseExpression(expression); - SpelNode ast = spelExpression.getAST(); + var spelExpression = (SpelExpression) PARSER.parseExpression(expression); + var ast = spelExpression.getAST(); - ExpressionDependencies dependencies = ExpressionDependencies.discover(ast, true); + var dependencies = ExpressionDependencies.discover(ast, true); assertThat(dependencies).extracting(ExpressionDependencies.ExpressionDependency::getSymbol).containsOnly("hello", "principal"); @@ -77,12 +77,12 @@ class ExpressionDependenciesUnitTests { @Test // DATACMNS-1108 void shouldExtractAll() { - String expression = "hello().hasRole(principal.emailAddress, principal.somethingElse).somethingElse()"; + var expression = "hello().hasRole(principal.emailAddress, principal.somethingElse).somethingElse()"; - SpelExpression spelExpression = (SpelExpression) PARSER.parseExpression(expression); - SpelNode ast = spelExpression.getAST(); + var spelExpression = (SpelExpression) PARSER.parseExpression(expression); + var ast = spelExpression.getAST(); - ExpressionDependencies dependencies = ExpressionDependencies.discover(ast, false); + var dependencies = ExpressionDependencies.discover(ast, false); assertThat(dependencies).extracting(ExpressionDependencies.ExpressionDependency::getSymbol).containsOnly("hello", "hasRole", "principal", "emailAddress", "somethingElse"); @@ -91,8 +91,8 @@ class ExpressionDependenciesUnitTests { @Test // DATACMNS-1108 void shouldMergeDependencies() { - ExpressionDependencies left = ExpressionDependencies.discover(PARSER.parseExpression("hasRole('ROLE_ADMIN')")); - ExpressionDependencies right = ExpressionDependencies.discover(PARSER.parseExpression("principal.somethingElse")); + var left = ExpressionDependencies.discover(PARSER.parseExpression("hasRole('ROLE_ADMIN')")); + var right = ExpressionDependencies.discover(PARSER.parseExpression("principal.somethingElse")); assertThat(left.mergeWith(right)).extracting(ExpressionDependencies.ExpressionDependency::getSymbol) .containsOnly("hasRole", "principal"); diff --git a/src/test/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProviderUnitTests.java b/src/test/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProviderUnitTests.java index a540379b2..32c4a02b4 100644 --- a/src/test/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProviderUnitTests.java +++ b/src/test/java/org/springframework/data/spel/ReactiveExtensionAwareEvaluationContextProviderUnitTests.java @@ -26,9 +26,9 @@ import java.util.concurrent.atomic.AtomicInteger; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; + import org.springframework.data.spel.spi.EvaluationContextExtension; import org.springframework.data.spel.spi.ReactiveEvaluationContextExtension; -import org.springframework.expression.Expression; import org.springframework.expression.spel.SpelEvaluationException; import org.springframework.expression.spel.standard.SpelExpressionParser; @@ -51,10 +51,10 @@ class ReactiveExtensionAwareEvaluationContextProviderUnitTests { @Test // DATACMNS-1108 void shouldResolveExtension() { - Expression expression = PARSER.parseExpression("hasRole('ROLE_ADMIN') ? '%' : principal.name"); - ExpressionDependencies dependencies = ExpressionDependencies.discover(expression); + var expression = PARSER.parseExpression("hasRole('ROLE_ADMIN') ? '%' : principal.name"); + var dependencies = ExpressionDependencies.discover(expression); - ReactiveExtensionAwareEvaluationContextProvider provider = new ReactiveExtensionAwareEvaluationContextProvider( + var provider = new ReactiveExtensionAwareEvaluationContextProvider( Arrays.asList(SampleReactiveExtension.INSTANCE, GenericExtension.INSTANCE)); provider.getEvaluationContextLater(new Object[0], dependencies).map(expression::getValue) // @@ -69,10 +69,10 @@ class ReactiveExtensionAwareEvaluationContextProviderUnitTests { @Test // GH-2392 void shouldFilterImperativeExtensionCorrectly() { - Expression expression = PARSER.parseExpression("unknownMethod('FOO')"); - ExpressionDependencies dependencies = ExpressionDependencies.discover(expression); + var expression = PARSER.parseExpression("unknownMethod('FOO')"); + var dependencies = ExpressionDependencies.discover(expression); - ReactiveExtensionAwareEvaluationContextProvider provider = new ReactiveExtensionAwareEvaluationContextProvider( + var provider = new ReactiveExtensionAwareEvaluationContextProvider( Collections.singletonList(ExpressiveExtension.INSTANCE)); provider.getEvaluationContextLater(new Object[0], dependencies).as(StepVerifier::create) // @@ -82,10 +82,10 @@ class ReactiveExtensionAwareEvaluationContextProviderUnitTests { @Test // GH-2392 void shouldFilterReactiveExtensionCorrectly() { - Expression expression = PARSER.parseExpression("unknownMethod('FOO')"); - ExpressionDependencies dependencies = ExpressionDependencies.discover(expression); + var expression = PARSER.parseExpression("unknownMethod('FOO')"); + var dependencies = ExpressionDependencies.discover(expression); - ReactiveExtensionAwareEvaluationContextProvider provider = new ReactiveExtensionAwareEvaluationContextProvider( + var provider = new ReactiveExtensionAwareEvaluationContextProvider( Collections.singletonList(SampleReactiveExtension.INSTANCE)); provider.getEvaluationContextLater(new Object[0], dependencies).as(StepVerifier::create) // @@ -95,10 +95,10 @@ class ReactiveExtensionAwareEvaluationContextProviderUnitTests { @Test // DATACMNS-1108 void shouldLoadGenericExtensionOnly() { - Expression expression = PARSER.parseExpression("isKnown('FOO')"); - ExpressionDependencies dependencies = ExpressionDependencies.discover(expression); + var expression = PARSER.parseExpression("isKnown('FOO')"); + var dependencies = ExpressionDependencies.discover(expression); - ReactiveExtensionAwareEvaluationContextProvider provider = new ReactiveExtensionAwareEvaluationContextProvider( + var provider = new ReactiveExtensionAwareEvaluationContextProvider( Arrays.asList(SampleReactiveExtension.INSTANCE, GenericExtension.INSTANCE)); provider.getEvaluationContextLater(new Object[0], dependencies).map(expression::getValue) // @@ -113,10 +113,10 @@ class ReactiveExtensionAwareEvaluationContextProviderUnitTests { @Test // DATACMNS-1108 void unknownMethodShouldLoadGenericExtensionOnly() { - Expression expression = PARSER.parseExpression("unknown('FOO')"); - ExpressionDependencies dependencies = ExpressionDependencies.discover(expression); + var expression = PARSER.parseExpression("unknown('FOO')"); + var dependencies = ExpressionDependencies.discover(expression); - ReactiveExtensionAwareEvaluationContextProvider provider = new ReactiveExtensionAwareEvaluationContextProvider( + var provider = new ReactiveExtensionAwareEvaluationContextProvider( Arrays.asList(SampleReactiveExtension.INSTANCE, GenericExtension.INSTANCE)); provider.getEvaluationContextLater(new Object[0], dependencies).map(expression::getValue) // @@ -130,10 +130,10 @@ class ReactiveExtensionAwareEvaluationContextProviderUnitTests { @Test // DATACMNS-1108 void genericReactiveExtensionIsAlwaysObtained() { - Expression expression = PARSER.parseExpression("1+1"); - ExpressionDependencies dependencies = ExpressionDependencies.discover(expression); + var expression = PARSER.parseExpression("1+1"); + var dependencies = ExpressionDependencies.discover(expression); - ReactiveExtensionAwareEvaluationContextProvider provider = new ReactiveExtensionAwareEvaluationContextProvider( + var provider = new ReactiveExtensionAwareEvaluationContextProvider( Arrays.asList(SampleReactiveExtension.INSTANCE, GenericReactiveExtension.INSTANCE)); provider.getEvaluationContextLater(new Object[0], dependencies).map(expression::getValue) // @@ -148,11 +148,11 @@ class ReactiveExtensionAwareEvaluationContextProviderUnitTests { @Test // DATACMNS-1108 void doesNotLoadExtensionForDirectCall() { - Expression expression = PARSER.parseExpression( + var expression = PARSER.parseExpression( "T(org.springframework.data.spel.ReactiveExtensionAwareEvaluationContextProviderUnitTests.WithStaticRole).hasRole('ADMIN')"); - ExpressionDependencies dependencies = ExpressionDependencies.discover(expression); + var dependencies = ExpressionDependencies.discover(expression); - ReactiveExtensionAwareEvaluationContextProvider provider = new ReactiveExtensionAwareEvaluationContextProvider( + var provider = new ReactiveExtensionAwareEvaluationContextProvider( Arrays.asList(SampleReactiveExtension.INSTANCE, GenericReactiveExtension.INSTANCE)); provider.getEvaluationContextLater(new Object[0], dependencies).map(expression::getValue) // @@ -167,10 +167,10 @@ class ReactiveExtensionAwareEvaluationContextProviderUnitTests { @Test // DATACMNS-1108 void loadsExtensionEvenWhenRootObjectMethodMatches() { - Expression expression = PARSER.parseExpression("principal.name"); - ExpressionDependencies dependencies = ExpressionDependencies.discover(expression); + var expression = PARSER.parseExpression("principal.name"); + var dependencies = ExpressionDependencies.discover(expression); - ReactiveExtensionAwareEvaluationContextProvider provider = new ReactiveExtensionAwareEvaluationContextProvider( + var provider = new ReactiveExtensionAwareEvaluationContextProvider( Arrays.asList(SampleReactiveExtension.INSTANCE, GenericReactiveExtension.INSTANCE)); provider.getEvaluationContextLater(new WithRole(), dependencies).map(expression::getValue) // diff --git a/src/test/java/org/springframework/data/spel/spi/FunctionUnitTests.java b/src/test/java/org/springframework/data/spel/spi/FunctionUnitTests.java index d4de24ca0..ec1e5b250 100644 --- a/src/test/java/org/springframework/data/spel/spi/FunctionUnitTests.java +++ b/src/test/java/org/springframework/data/spel/spi/FunctionUnitTests.java @@ -17,10 +17,10 @@ package org.springframework.data.spel.spi; import static org.assertj.core.api.Assertions.*; -import java.lang.reflect.Method; import java.util.Arrays; import org.junit.jupiter.api.Test; + import org.springframework.core.convert.TypeDescriptor; import org.springframework.util.ReflectionUtils; @@ -34,11 +34,11 @@ class FunctionUnitTests { @Test // DATACMNS-1518 void detectsVarArgsOverload() { - Method method = ReflectionUtils.findMethod(Sample.class, "someMethod", String[].class); + var method = ReflectionUtils.findMethod(Sample.class, "someMethod", String[].class); - Function function = new Function(method, new Sample()); + var function = new Function(method, new Sample()); - TypeDescriptor stringDescriptor = TypeDescriptor.valueOf(String.class); + var stringDescriptor = TypeDescriptor.valueOf(String.class); assertThat(function.supports(Arrays.asList(stringDescriptor, stringDescriptor))).isTrue(); } @@ -46,11 +46,11 @@ class FunctionUnitTests { @Test // DATACMNS-1518 void detectsObjectVarArgsOverload() { - Method method = ReflectionUtils.findMethod(Sample.class, "onePlusObjectVarargs", String.class, Object[].class); + var method = ReflectionUtils.findMethod(Sample.class, "onePlusObjectVarargs", String.class, Object[].class); - Function function = new Function(method, new Sample()); + var function = new Function(method, new Sample()); - TypeDescriptor stringDescriptor = TypeDescriptor.valueOf(String.class); + var stringDescriptor = TypeDescriptor.valueOf(String.class); assertThat(function.supports(Arrays.asList(stringDescriptor, stringDescriptor))).isTrue(); } diff --git a/src/test/java/org/springframework/data/support/PageableExecutionUtilsUnitTests.java b/src/test/java/org/springframework/data/support/PageableExecutionUtilsUnitTests.java index 8d43abebc..292049f5f 100755 --- a/src/test/java/org/springframework/data/support/PageableExecutionUtilsUnitTests.java +++ b/src/test/java/org/springframework/data/support/PageableExecutionUtilsUnitTests.java @@ -45,7 +45,7 @@ class PageableExecutionUtilsUnitTests { @Test // DATAMCNS-884 void firstPageRequestIsLessThanOneFullPageDoesNotRequireTotal() { - Page page = PageableExecutionUtils.getPage(Arrays.asList(1, 2, 3), PageRequest.of(0, 10), + var page = PageableExecutionUtils.getPage(Arrays.asList(1, 2, 3), PageRequest.of(0, 10), totalSupplierMock); assertThat(page).contains(1, 2, 3); @@ -56,7 +56,7 @@ class PageableExecutionUtilsUnitTests { @Test // DATAMCNS-884 void noPageableRequestDoesNotRequireTotal() { - Page page = PageableExecutionUtils.getPage(Arrays.asList(1, 2, 3), Pageable.unpaged(), totalSupplierMock); + var page = PageableExecutionUtils.getPage(Arrays.asList(1, 2, 3), Pageable.unpaged(), totalSupplierMock); assertThat(page).contains(1, 2, 3); assertThat(page.getTotalElements()).isEqualTo(3L); @@ -67,7 +67,7 @@ class PageableExecutionUtilsUnitTests { @Test // DATAMCNS-884 void subsequentPageRequestIsLessThanOneFullPageDoesNotRequireTotal() { - Page page = PageableExecutionUtils.getPage(Arrays.asList(1, 2, 3), PageRequest.of(5, 10), + var page = PageableExecutionUtils.getPage(Arrays.asList(1, 2, 3), PageRequest.of(5, 10), totalSupplierMock); assertThat(page).contains(1, 2, 3); @@ -81,7 +81,7 @@ class PageableExecutionUtilsUnitTests { doReturn(4L).when(totalSupplierMock).getAsLong(); - Page page = PageableExecutionUtils.getPage(Arrays.asList(1, 2, 3), PageRequest.of(0, 3), + var page = PageableExecutionUtils.getPage(Arrays.asList(1, 2, 3), PageRequest.of(0, 3), totalSupplierMock); assertThat(page).contains(1, 2, 3); @@ -95,7 +95,7 @@ class PageableExecutionUtilsUnitTests { doReturn(7L).when(totalSupplierMock).getAsLong(); - Page page = PageableExecutionUtils.getPage(Arrays.asList(1, 2, 3), PageRequest.of(1, 3), + var page = PageableExecutionUtils.getPage(Arrays.asList(1, 2, 3), PageRequest.of(1, 3), totalSupplierMock); assertThat(page).contains(1, 2, 3); diff --git a/src/test/java/org/springframework/data/support/PersistableIsNewStrategyUnitTests.java b/src/test/java/org/springframework/data/support/PersistableIsNewStrategyUnitTests.java index 4c7dfa16a..d9cbbb7fa 100755 --- a/src/test/java/org/springframework/data/support/PersistableIsNewStrategyUnitTests.java +++ b/src/test/java/org/springframework/data/support/PersistableIsNewStrategyUnitTests.java @@ -32,7 +32,7 @@ class PersistableIsNewStrategyUnitTests { @Test void invokesPersistableIsNewForTest() { - PersistableEntity entity = new PersistableEntity(); + var entity = new PersistableEntity(); assertThat(strategy.isNew(entity)).isTrue(); entity.isNew = false; diff --git a/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java b/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java index c12646b4e..44a055030 100755 --- a/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java +++ b/src/test/java/org/springframework/data/transaction/ChainedTransactionManagerTests.java @@ -43,7 +43,7 @@ class ChainedTransactionManagerTests { @Test void shouldCompleteSuccessfully() { - TestPlatformTransactionManager transactionManager = createNonFailingTransactionManager("single"); + var transactionManager = createNonFailingTransactionManager("single"); setupTransactionManagers(transactionManager); createAndCommitTransaction(); @@ -64,8 +64,8 @@ class ChainedTransactionManagerTests { @Test void shouldCommitAllRegisteredTransactionManagers() { - TestPlatformTransactionManager first = createNonFailingTransactionManager("first"); - TestPlatformTransactionManager second = createNonFailingTransactionManager("second"); + var first = createNonFailingTransactionManager("first"); + var second = createNonFailingTransactionManager("second"); setupTransactionManagers(first, second); createAndCommitTransaction(); @@ -77,8 +77,8 @@ class ChainedTransactionManagerTests { @Test void shouldCommitInReverseOrder() { - TestPlatformTransactionManager first = createNonFailingTransactionManager("first"); - TestPlatformTransactionManager second = createNonFailingTransactionManager("second"); + var first = createNonFailingTransactionManager("first"); + var second = createNonFailingTransactionManager("second"); setupTransactionManagers(first, second); createAndCommitTransaction(); @@ -100,8 +100,8 @@ class ChainedTransactionManagerTests { @Test void shouldRollbackAllTransactionManagers() { - TestPlatformTransactionManager first = createNonFailingTransactionManager("first"); - TestPlatformTransactionManager second = createNonFailingTransactionManager("second"); + var first = createNonFailingTransactionManager("first"); + var second = createNonFailingTransactionManager("second"); setupTransactionManagers(first, second); createAndRollbackTransaction(); @@ -125,12 +125,12 @@ class ChainedTransactionManagerTests { } private void createAndRollbackTransaction() { - MultiTransactionStatus transaction = tm.getTransaction(new DefaultTransactionDefinition()); + var transaction = tm.getTransaction(new DefaultTransactionDefinition()); tm.rollback(transaction); } private void createAndCommitTransaction() { - MultiTransactionStatus transaction = tm.getTransaction(new DefaultTransactionDefinition()); + var transaction = tm.getTransaction(new DefaultTransactionDefinition()); tm.commit(transaction); } diff --git a/src/test/java/org/springframework/data/type/classreading/DefaultMethodsMetadataReaderUnitTests.java b/src/test/java/org/springframework/data/type/classreading/DefaultMethodsMetadataReaderUnitTests.java index f23ac4f3a..f2c822e7c 100644 --- a/src/test/java/org/springframework/data/type/classreading/DefaultMethodsMetadataReaderUnitTests.java +++ b/src/test/java/org/springframework/data/type/classreading/DefaultMethodsMetadataReaderUnitTests.java @@ -18,9 +18,9 @@ package org.springframework.data.type.classreading; import static org.assertj.core.api.Assertions.*; import java.io.IOException; -import java.util.Iterator; import org.junit.jupiter.api.Test; + import org.springframework.core.type.MethodMetadata; import org.springframework.data.type.MethodsMetadata; @@ -34,11 +34,11 @@ class DefaultMethodsMetadataReaderUnitTests { @Test // DATACMNS-1206 void shouldReadClassMethods() throws IOException { - MethodsMetadata metadata = getMethodsMetadata(Foo.class); + var metadata = getMethodsMetadata(Foo.class); assertThat(metadata.getMethods()).hasSize(3); - Iterator iterator = metadata.getMethods().iterator(); + var iterator = metadata.getMethods().iterator(); assertThat(iterator.next().getMethodName()).isEqualTo("one"); assertThat(iterator.next().getMethodName()).isEqualTo("two"); @@ -48,11 +48,11 @@ class DefaultMethodsMetadataReaderUnitTests { @Test // DATACMNS-1206 void shouldReadInterfaceMethods() throws IOException { - MethodsMetadata metadata = getMethodsMetadata(Baz.class); + var metadata = getMethodsMetadata(Baz.class); assertThat(metadata.getMethods()).hasSize(3); - Iterator iterator = metadata.getMethods().iterator(); + var iterator = metadata.getMethods().iterator(); assertThat(iterator.next().getMethodName()).isEqualTo("one"); assertThat(iterator.next().getMethodName()).isEqualTo("two"); @@ -62,8 +62,8 @@ class DefaultMethodsMetadataReaderUnitTests { @Test // DATACMNS-1206 void shouldMetadata() throws IOException { - MethodsMetadataReaderFactory factory = new MethodsMetadataReaderFactory(); - MethodsMetadataReader metadataReader = factory.getMetadataReader(getClass().getName()); + var factory = new MethodsMetadataReaderFactory(); + var metadataReader = factory.getMetadataReader(getClass().getName()); assertThat(metadataReader.getClassMetadata()).isNotNull(); assertThat(metadataReader.getAnnotationMetadata()).isNotNull(); @@ -72,7 +72,7 @@ class DefaultMethodsMetadataReaderUnitTests { @Test // DATACMNS-1206 void shouldReturnMethodMetadataByName() throws IOException { - MethodsMetadata metadata = getMethodsMetadata(Foo.class); + var metadata = getMethodsMetadata(Foo.class); assertThat(metadata.getMethods()).hasSize(3); @@ -82,8 +82,8 @@ class DefaultMethodsMetadataReaderUnitTests { private static MethodsMetadata getMethodsMetadata(Class classToIntrospect) throws IOException { - MethodsMetadataReaderFactory factory = new MethodsMetadataReaderFactory(); - MethodsMetadataReader metadataReader = factory.getMetadataReader(classToIntrospect.getName()); + var factory = new MethodsMetadataReaderFactory(); + var metadataReader = factory.getMetadataReader(classToIntrospect.getName()); return metadataReader.getMethodsMetadata(); } diff --git a/src/test/java/org/springframework/data/type/classreading/MethodsMetadataReaderFactoryUnitTests.java b/src/test/java/org/springframework/data/type/classreading/MethodsMetadataReaderFactoryUnitTests.java index 6ad456d1f..8d732a767 100644 --- a/src/test/java/org/springframework/data/type/classreading/MethodsMetadataReaderFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/type/classreading/MethodsMetadataReaderFactoryUnitTests.java @@ -36,8 +36,8 @@ class MethodsMetadataReaderFactoryUnitTests { @Test // DATACMNS-1206 void shouldReadFromDefaultClassLoader() throws IOException { - MethodsMetadataReaderFactory factory = new MethodsMetadataReaderFactory(); - MethodsMetadataReader reader = factory.getMetadataReader(getClass().getName()); + var factory = new MethodsMetadataReaderFactory(); + var reader = factory.getMetadataReader(getClass().getName()); assertThat(reader).isNotNull(); } @@ -45,8 +45,8 @@ class MethodsMetadataReaderFactoryUnitTests { @Test // DATACMNS-1206 void shouldReadFromClassLoader() throws IOException { - MethodsMetadataReaderFactory factory = new MethodsMetadataReaderFactory(getClass().getClassLoader()); - MethodsMetadataReader reader = factory.getMetadataReader(getClass().getName()); + var factory = new MethodsMetadataReaderFactory(getClass().getClassLoader()); + var reader = factory.getMetadataReader(getClass().getName()); assertThat(reader).isNotNull(); } @@ -54,7 +54,7 @@ class MethodsMetadataReaderFactoryUnitTests { @Test // DATACMNS-1206 void shouldNotFindClass() { - MethodsMetadataReaderFactory factory = new MethodsMetadataReaderFactory(new URLClassLoader(new URL[0], null)); + var factory = new MethodsMetadataReaderFactory(new URLClassLoader(new URL[0], null)); assertThatThrownBy(() -> factory.getMetadataReader(getClass().getName())).isInstanceOf(FileNotFoundException.class); } @@ -62,8 +62,8 @@ class MethodsMetadataReaderFactoryUnitTests { @Test // DATACMNS-1206 void shouldReadFromResourceLoader() throws IOException { - MethodsMetadataReaderFactory factory = new MethodsMetadataReaderFactory(new DefaultResourceLoader()); - MethodsMetadataReader reader = factory.getMetadataReader(getClass().getName()); + var factory = new MethodsMetadataReaderFactory(new DefaultResourceLoader()); + var reader = factory.getMetadataReader(getClass().getName()); assertThat(reader).isNotNull(); } diff --git a/src/test/java/org/springframework/data/util/AnnotatedTypeScannerUnitTests.java b/src/test/java/org/springframework/data/util/AnnotatedTypeScannerUnitTests.java index 3a3d25b71..b658176f7 100755 --- a/src/test/java/org/springframework/data/util/AnnotatedTypeScannerUnitTests.java +++ b/src/test/java/org/springframework/data/util/AnnotatedTypeScannerUnitTests.java @@ -30,7 +30,7 @@ public class AnnotatedTypeScannerUnitTests { @Test // DATACMNS-452 public void findsAnnotatedTypes() { - AnnotatedTypeScanner scanner = new AnnotatedTypeScanner(Persistent.class); + var scanner = new AnnotatedTypeScanner(Persistent.class); assertThat(scanner.findTypes(AnnotatedTypeScanner.class.getPackage().getName())).contains(Type.class); } diff --git a/src/test/java/org/springframework/data/util/AnnotationDetectionFieldCallbackUnitTests.java b/src/test/java/org/springframework/data/util/AnnotationDetectionFieldCallbackUnitTests.java index 037f8b2e2..3f3f50e82 100755 --- a/src/test/java/org/springframework/data/util/AnnotationDetectionFieldCallbackUnitTests.java +++ b/src/test/java/org/springframework/data/util/AnnotationDetectionFieldCallbackUnitTests.java @@ -38,7 +38,7 @@ public class AnnotationDetectionFieldCallbackUnitTests { @Test // DATACMNS-616 public void looksUpValueFromPrivateField() { - AnnotationDetectionFieldCallback callback = new AnnotationDetectionFieldCallback(Autowired.class); + var callback = new AnnotationDetectionFieldCallback(Autowired.class); ReflectionUtils.doWithFields(Sample.class, callback); assertThat(callback.getType()).isEqualTo(String.class); @@ -48,7 +48,7 @@ public class AnnotationDetectionFieldCallbackUnitTests { @Test // DATACMNS-616 public void returnsNullForObjectNotContainingAFieldWithTheConfiguredAnnotation() { - AnnotationDetectionFieldCallback callback = new AnnotationDetectionFieldCallback(Autowired.class); + var callback = new AnnotationDetectionFieldCallback(Autowired.class); ReflectionUtils.doWithFields(Empty.class, callback); assertThat(callback.getType()).isNull(); diff --git a/src/test/java/org/springframework/data/util/AnnotationDetectionMethodCallbackUnitTests.java b/src/test/java/org/springframework/data/util/AnnotationDetectionMethodCallbackUnitTests.java index 243e39bc9..43c371b05 100755 --- a/src/test/java/org/springframework/data/util/AnnotationDetectionMethodCallbackUnitTests.java +++ b/src/test/java/org/springframework/data/util/AnnotationDetectionMethodCallbackUnitTests.java @@ -33,7 +33,7 @@ public class AnnotationDetectionMethodCallbackUnitTests { @Test // DATACMNS-452 public void findsMethodWithAnnotation() throws Exception { - AnnotationDetectionMethodCallback callback = new AnnotationDetectionMethodCallback<>(Value.class); + var callback = new AnnotationDetectionMethodCallback(Value.class); ReflectionUtils.doWithMethods(Sample.class, callback); assertThat(callback.hasFoundAnnotation()).isTrue(); @@ -45,7 +45,7 @@ public class AnnotationDetectionMethodCallbackUnitTests { @Test // DATACMNS-452 public void detectsAmbiguousAnnotations() { - AnnotationDetectionMethodCallback callback = new AnnotationDetectionMethodCallback<>(Value.class, true); + var callback = new AnnotationDetectionMethodCallback(Value.class, true); assertThatIllegalStateException() // .isThrownBy(() -> ReflectionUtils.doWithMethods(Multiple.class, callback)) // diff --git a/src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java b/src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java index f8487b778..f38db8b14 100755 --- a/src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java +++ b/src/test/java/org/springframework/data/util/ClassTypeInformationUnitTests.java @@ -20,7 +20,6 @@ import static org.springframework.data.util.ClassTypeInformation.from; import io.vavr.collection.Traversable; -import java.lang.reflect.Method; import java.util.Calendar; import java.util.Collection; import java.util.List; @@ -36,6 +35,7 @@ import org.springframework.aop.TargetSource; import org.springframework.aop.framework.Advised; import org.springframework.aop.framework.AopConfigException; import org.springframework.aop.framework.ProxyFactory; + import org.springframework.data.mapping.Person; import org.springframework.lang.Nullable; @@ -54,7 +54,7 @@ public class ClassTypeInformationUnitTests { assertThat(discoverer.getType()).isEqualTo(ConcreteType.class); - TypeInformation content = discoverer.getProperty("content"); + var content = discoverer.getProperty("content"); assertThat(content.getType()).isEqualTo(String.class); assertThat(content.getComponentType()).isNull(); @@ -109,13 +109,13 @@ public class ClassTypeInformationUnitTests { TypeInformation information = from(StringCollectionContainer.class); - TypeInformation array = information.getProperty("array"); + var array = information.getProperty("array"); assertThat(array.getComponentType().getType()).isEqualTo(String.class); assertThat(array.getType()).isEqualTo(String[].class); assertThat(array.getType().isArray()).isTrue(); - TypeInformation foo = information.getProperty("foo"); + var foo = information.getProperty("foo"); assertThat(foo.getType()).isEqualTo(Collection[].class); assertThat(foo.getComponentType()).satisfies(it -> { @@ -123,7 +123,7 @@ public class ClassTypeInformationUnitTests { assertThat(it.getComponentType()).satisfies(nested -> assertThat(nested.getType()).isEqualTo(String.class)); }); - TypeInformation rawSet = information.getProperty("rawSet"); + var rawSet = information.getProperty("rawSet"); assertThat(rawSet.getType()).isEqualTo(Set.class); assertThat(rawSet.getComponentType().getType()).isEqualTo(Object.class); @@ -135,12 +135,12 @@ public class ClassTypeInformationUnitTests { TypeInformation information = from(StringMapContainer.class); - TypeInformation genericMap = information.getProperty("genericMap"); + var genericMap = information.getProperty("genericMap"); assertThat(genericMap.getType()).isEqualTo(Map.class); assertThat(genericMap.getMapValueType().getType()).isEqualTo(String.class); - TypeInformation map = information.getProperty("map"); + var map = information.getProperty("map"); assertThat(map.getType()).isEqualTo(Map.class); assertThat(map.getMapValueType().getType()).isEqualTo(Calendar.class); @@ -176,12 +176,12 @@ public class ClassTypeInformationUnitTests { TypeInformation information = from(ClassWithWildCardBound.class); - TypeInformation wildcard = information.getProperty("wildcard"); + var wildcard = information.getProperty("wildcard"); assertThat(wildcard.isCollectionLike()).isTrue(); assertThat(wildcard.getComponentType().getType()).isEqualTo(String.class); - TypeInformation complexWildcard = information.getProperty("complexWildcard"); + var complexWildcard = information.getProperty("complexWildcard"); assertThat(complexWildcard.isCollectionLike()).isTrue(); assertThat(complexWildcard.getComponentType()).satisfies(it -> { @@ -194,9 +194,9 @@ public class ClassTypeInformationUnitTests { public void resolvesTypeParametersCorrectly() { TypeInformation information = from(ConcreteType.class); - TypeInformation superTypeInformation = information.getSuperTypeInformation(GenericType.class); + var superTypeInformation = information.getSuperTypeInformation(GenericType.class); - List> parameters = superTypeInformation.getTypeArguments(); + var parameters = superTypeInformation.getTypeArguments(); assertThat(parameters).hasSize(2); assertThat(parameters.get(0).getType()).isEqualTo(String.class); assertThat(parameters.get(1).getType()).isEqualTo(Object.class); @@ -206,9 +206,9 @@ public class ClassTypeInformationUnitTests { public void resolvesNestedInheritedTypeParameters() { TypeInformation information = from(SecondExtension.class); - TypeInformation superTypeInformation = information.getSuperTypeInformation(Base.class); + var superTypeInformation = information.getSuperTypeInformation(Base.class); - List> parameters = superTypeInformation.getTypeArguments(); + var parameters = superTypeInformation.getTypeArguments(); assertThat(parameters).hasSize(1); assertThat(parameters.get(0).getType()).isEqualTo(String.class); } @@ -217,9 +217,9 @@ public class ClassTypeInformationUnitTests { public void discoveresMethodParameterTypesCorrectly() throws Exception { TypeInformation information = from(SecondExtension.class); - Method method = SecondExtension.class.getMethod("foo", Base.class); - List> informations = information.getParameterTypes(method); - TypeInformation returnTypeInformation = information.getReturnType(method); + var method = SecondExtension.class.getMethod("foo", Base.class); + var informations = information.getParameterTypes(method); + var returnTypeInformation = information.getReturnType(method); assertThat(informations).hasSize(1); assertThat(informations.get(0).getType()).isEqualTo(Base.class); @@ -230,9 +230,9 @@ public class ClassTypeInformationUnitTests { public void discoversImplementationBindingCorrectlyForString() throws Exception { TypeInformation information = from(TypedClient.class); - Method method = TypedClient.class.getMethod("stringMethod", GenericInterface.class); + var method = TypedClient.class.getMethod("stringMethod", GenericInterface.class); - TypeInformation parameterType = information.getParameterTypes(method).get(0); + var parameterType = information.getParameterTypes(method).get(0); TypeInformation stringInfo = from(StringImplementation.class); assertThat(parameterType.isAssignableFrom(stringInfo)).isTrue(); @@ -246,9 +246,9 @@ public class ClassTypeInformationUnitTests { public void discoversImplementationBindingCorrectlyForLong() throws Exception { TypeInformation information = from(TypedClient.class); - Method method = TypedClient.class.getMethod("longMethod", GenericInterface.class); + var method = TypedClient.class.getMethod("longMethod", GenericInterface.class); - TypeInformation parameterType = information.getParameterTypes(method).get(0); + var parameterType = information.getParameterTypes(method).get(0); assertThat(parameterType.isAssignableFrom(from(StringImplementation.class))).isFalse(); assertThat(parameterType.isAssignableFrom(from(LongImplementation.class))).isTrue(); @@ -260,9 +260,9 @@ public class ClassTypeInformationUnitTests { public void discoversImplementationBindingCorrectlyForNumber() throws Exception { TypeInformation information = from(TypedClient.class); - Method method = TypedClient.class.getMethod("boundToNumberMethod", GenericInterface.class); + var method = TypedClient.class.getMethod("boundToNumberMethod", GenericInterface.class); - TypeInformation parameterType = information.getParameterTypes(method).get(0); + var parameterType = information.getParameterTypes(method).get(0); assertThat(parameterType.isAssignableFrom(from(StringImplementation.class))).isFalse(); assertThat(parameterType.isAssignableFrom(from(LongImplementation.class))).isTrue(); @@ -303,7 +303,7 @@ public class ClassTypeInformationUnitTests { @Test // DATACMNS-440 public void detectsSpecialMapAsMapValueType() { - TypeInformation seriously = from(SuperGenerics.class).getProperty("seriously"); + var seriously = from(SuperGenerics.class).getProperty("seriously"); // Type assertThat(seriously.getType()).isEqualTo(SortedMap.class); @@ -329,7 +329,7 @@ public class ClassTypeInformationUnitTests { @Test // DATACMNS-590 public void resolvesNestedGenericsToConcreteType() { - ClassTypeInformation rootType = from(ConcreteRoot.class); + var rootType = from(ConcreteRoot.class); assertThat(rootType.getProperty("subs").getActualType().getProperty("subSub").getType())// .isEqualTo(ConcreteSubSub.class); @@ -346,7 +346,7 @@ public class ClassTypeInformationUnitTests { @Test // DATACMNS-783, DATACMNS-853 public void specializesTypeUsingTypeVariableContext() { - ClassTypeInformation root = from(Foo.class); + var root = from(Foo.class); assertThat(root.getProperty("abstractBar").specialize(from(Bar.class)))// .satisfies(it -> { @@ -359,7 +359,7 @@ public class ClassTypeInformationUnitTests { @Test // DATACMNS-783 public void usesTargetTypeDirectlyIfNoGenericsAreInvolved() { - ClassTypeInformation root = ClassTypeInformation.from(Foo.class); + var root = ClassTypeInformation.from(Foo.class); ClassTypeInformation from = ClassTypeInformation.from(Bar.class); assertThat(root.getProperty("object").specialize(from)).isEqualTo(from); @@ -368,9 +368,9 @@ public class ClassTypeInformationUnitTests { @Test // DATACMNS-855 public void specializedTypeEqualsAndHashCode() { - ClassTypeInformation root = ClassTypeInformation.from(Foo.class); + var root = ClassTypeInformation.from(Foo.class); - TypeInformation abstractBar = root.getProperty("abstractBar"); + var abstractBar = root.getProperty("abstractBar"); assertThat(Pair.of(abstractBar.specialize(ClassTypeInformation.from(Bar.class)), abstractBar.specialize(ClassTypeInformation.from(Bar.class)))).satisfies(pair -> { @@ -383,7 +383,7 @@ public class ClassTypeInformationUnitTests { @Test // DATACMNS-896 public void prefersLocalTypeMappingOverNestedWithSameGenericType() { - ClassTypeInformation information = from(Concrete.class); + var information = from(Concrete.class); assertThat(information.getProperty("field").getType()).isEqualTo(Nested.class); } @@ -391,7 +391,7 @@ public class ClassTypeInformationUnitTests { @Test // DATACMNS-940 public void detectsVavrTraversableComponentType() { - ClassTypeInformation information = from(SampleTraversable.class); + var information = from(SampleTraversable.class); assertThat(information.getComponentType().getType()).isAssignableFrom(Integer.class); } @@ -399,7 +399,7 @@ public class ClassTypeInformationUnitTests { @Test // DATACMNS-940 public void detectsVavrMapComponentAndValueType() { - ClassTypeInformation information = from(SampleMap.class); + var information = from(SampleMap.class); assertThat(information.getComponentType().getType()).isAssignableFrom(String.class); @@ -409,10 +409,10 @@ public class ClassTypeInformationUnitTests { @Test // DATACMNS-1138 public void usesTargetTypeForWildcardedBaseOnSpecialization() { - ClassTypeInformation wrapper = from(WildcardedWrapper.class); - ClassTypeInformation concrete = from(SomeConcrete.class); + var wrapper = from(WildcardedWrapper.class); + var concrete = from(SomeConcrete.class); - TypeInformation property = wrapper.getRequiredProperty("wildcarded"); + var property = wrapper.getRequiredProperty("wildcarded"); assertThat(property.specialize(concrete)).isEqualTo(concrete); } @@ -423,10 +423,10 @@ public class ClassTypeInformationUnitTests { TypeInformation storeEvent = ClassTypeInformation.from(StoredEvent.class); assertThat(storeEvent.getType()).isEqualTo(StoredEvent.class); - TypeInformation domainEvent = (TypeInformation) storeEvent.getProperty("event"); + var domainEvent = (TypeInformation) storeEvent.getProperty("event"); assertThat(domainEvent.getType()).isEqualTo(DomainEvent.class); - TypeInformation specialized = domainEvent + var specialized = domainEvent .specialize(ClassTypeInformation.from(OfferCreated.class)); assertThat(specialized.getType()).isEqualTo(OfferCreated.class); @@ -440,10 +440,10 @@ public class ClassTypeInformationUnitTests { TypeInformation storeEvent = ClassTypeInformation.from(StoredEvent.class); assertThat(storeEvent.getType()).isEqualTo(StoredEvent.class); - TypeInformation domainEvent = (TypeInformation) storeEvent.getProperty("event"); + var domainEvent = (TypeInformation) storeEvent.getProperty("event"); assertThat(domainEvent.getType()).isEqualTo(DomainEvent.class); - TypeInformation specialized = domainEvent + var specialized = domainEvent .specialize(ClassTypeInformation.from(GenericEvent.class)); assertThat(specialized.getType()).isEqualTo(GenericEvent.class); @@ -456,21 +456,21 @@ public class ClassTypeInformationUnitTests { TypeInformation information = from(TypeWithTypedMap.class); - TypeInformation typedMap = information.getProperty("typedMap"); + var typedMap = information.getProperty("typedMap"); assertThat(typedMap.getType()).isEqualTo(StringKeyMap.class); assertThat(typedMap.isMap()).isTrue(); assertThat(typedMap.getRequiredComponentType().getType()).isEqualTo(String.class); assertThat(typedMap.getMapValueType().getType()).isEqualTo(Long.class); - TypeInformation longMultiValueMap = information.getProperty("longMultiValueMap"); + var longMultiValueMap = information.getProperty("longMultiValueMap"); assertThat(longMultiValueMap.getType()).isEqualTo(MultiValueMap.class); assertThat(longMultiValueMap.getRequiredComponentType().getType()).isEqualTo(String.class); assertThat(longMultiValueMap.getMapValueType().getType()).isEqualTo(List.class); assertThat(longMultiValueMap.getMapValueType().getRequiredActualType().getType()).isEqualTo(Long.class); - TypeInformation justMap = information.getProperty("justMap"); + var justMap = information.getProperty("justMap"); assertThat(justMap.getType()).isEqualTo(Map.class); assertThat(justMap.getRequiredComponentType().getType()).isEqualTo(String.class); diff --git a/src/test/java/org/springframework/data/util/CloseableIteratorUnitTests.java b/src/test/java/org/springframework/data/util/CloseableIteratorUnitTests.java index e7b2c3509..a26c11f2e 100644 --- a/src/test/java/org/springframework/data/util/CloseableIteratorUnitTests.java +++ b/src/test/java/org/springframework/data/util/CloseableIteratorUnitTests.java @@ -19,10 +19,8 @@ import static org.assertj.core.api.Assertions.*; import java.util.Arrays; import java.util.Iterator; -import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; -import java.util.stream.Stream; import org.junit.jupiter.api.Test; @@ -36,9 +34,9 @@ class CloseableIteratorUnitTests { @Test // DATACMNS-1637 void shouldCreateStream() { - CloseableIteratorImpl iterator = new CloseableIteratorImpl<>(Arrays.asList("1", "2", "3").iterator()); + var iterator = new CloseableIteratorImpl(Arrays.asList("1", "2", "3").iterator()); - List collection = iterator.stream().map(it -> "hello " + it).collect(Collectors.toList()); + var collection = iterator.stream().map(it -> "hello " + it).collect(Collectors.toList()); assertThat(collection).contains("hello 1", "hello 2", "hello 3"); assertThat(iterator.closed).isFalse(); @@ -67,9 +65,9 @@ class CloseableIteratorUnitTests { @Test // DATACMNS-1637 void closeStreamShouldCloseIterator() { - CloseableIteratorImpl iterator = new CloseableIteratorImpl<>(Arrays.asList("1", "2", "3").iterator()); + var iterator = new CloseableIteratorImpl(Arrays.asList("1", "2", "3").iterator()); - try (Stream stream = iterator.stream()) { + try (var stream = iterator.stream()) { assertThat(stream.findFirst()).hasValue("1"); } diff --git a/src/test/java/org/springframework/data/util/DataCmns511Tests.java b/src/test/java/org/springframework/data/util/DataCmns511Tests.java index ac14fafd0..3cc174329 100755 --- a/src/test/java/org/springframework/data/util/DataCmns511Tests.java +++ b/src/test/java/org/springframework/data/util/DataCmns511Tests.java @@ -33,12 +33,12 @@ public class DataCmns511Tests { @Test // DATACMNS-511 public void detectsEqualTypeVariableTypeInformationInstances() { - TypeInformation createdBy = ClassTypeInformation.from(AbstractRole.class).getProperty("createdBy"); + var createdBy = ClassTypeInformation.from(AbstractRole.class).getProperty("createdBy"); assertThat(createdBy.getProperty("roles").getActualType().getProperty("createdBy"))// .satisfies(second -> { - TypeInformation third = second.getProperty("roles").getActualType().getProperty("createdBy"); + var third = second.getProperty("roles").getActualType().getProperty("createdBy"); assertThat(third).isEqualTo(second); assertThat(third.hashCode()).isEqualTo(second.hashCode()); diff --git a/src/test/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapperUnitTests.java b/src/test/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapperUnitTests.java index 324e38ac1..6fb9cbf5c 100755 --- a/src/test/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapperUnitTests.java +++ b/src/test/java/org/springframework/data/util/DirectFieldAccessFallbackBeanWrapperUnitTests.java @@ -32,7 +32,7 @@ public class DirectFieldAccessFallbackBeanWrapperUnitTests { @Test // DATACMNS-452 public void usesFieldAccessForReadIfNoAccessorCanBeFound() { - Sample sample = new Sample(); + var sample = new Sample(); sample.firstname = "Dave"; BeanWrapper wrapper = new DirectFieldAccessFallbackBeanWrapper(sample); @@ -43,7 +43,7 @@ public class DirectFieldAccessFallbackBeanWrapperUnitTests { @Test // DATACMNS-452 public void usesFieldAccessForWriteIfNoAccessorCanBeFound() { - Sample sample = new Sample(); + var sample = new Sample(); BeanWrapper wrapper = new DirectFieldAccessFallbackBeanWrapper(sample); wrapper.setPropertyValue("firstname", "Dave"); diff --git a/src/test/java/org/springframework/data/util/KotlinReflectionUtilsUnitTests.java b/src/test/java/org/springframework/data/util/KotlinReflectionUtilsUnitTests.java index 3ca6b3926..104968dc7 100644 --- a/src/test/java/org/springframework/data/util/KotlinReflectionUtilsUnitTests.java +++ b/src/test/java/org/springframework/data/util/KotlinReflectionUtilsUnitTests.java @@ -77,9 +77,9 @@ public class KotlinReflectionUtilsUnitTests { void runTest(String testName) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException { - KotlinExcludingURLClassLoader classLoader = new KotlinExcludingURLClassLoader( + var classLoader = new KotlinExcludingURLClassLoader( ((URLClassLoader) getClass().getClassLoader()).getURLs()); - Class testClass = ClassUtils.forName(getClass().getName(), classLoader); + var testClass = ClassUtils.forName(getClass().getName(), classLoader); ReflectionUtils.invokeMethod(testClass.getMethod(testName), testClass.newInstance()); } diff --git a/src/test/java/org/springframework/data/util/LazyUnitTests.java b/src/test/java/org/springframework/data/util/LazyUnitTests.java index 87b2c69e3..7af0f1fc5 100755 --- a/src/test/java/org/springframework/data/util/LazyUnitTests.java +++ b/src/test/java/org/springframework/data/util/LazyUnitTests.java @@ -49,7 +49,7 @@ class LazyUnitTests { @Test void createsLazyFromValue() { - Object value = new Object(); + var value = new Object(); assertThat(Lazy.of(value).get()).isEqualTo(value); } @@ -57,9 +57,9 @@ class LazyUnitTests { @Test void returnsLastValueInChain() { - Object reference = new Object(); + var reference = new Object(); - Object foo = Lazy.of(() -> null) // + var foo = Lazy.of(() -> null) // .or(() -> null) // .or(() -> reference) // .get(); @@ -70,7 +70,7 @@ class LazyUnitTests { @Test void returnsCachedInstanceOnMultipleAccesses() { - Lazy lazy = Lazy.of(() -> new Object()); + var lazy = Lazy.of(() -> new Object()); assertThat(lazy.get()).isSameAs(lazy.get()); } @@ -95,10 +95,10 @@ class LazyUnitTests { @Test void ignoresElseIfValuePresent() { - Object first = new Object(); - Object second = new Object(); + var first = new Object(); + var second = new Object(); - Lazy nonEmpty = Lazy.of(() -> first); + var nonEmpty = Lazy.of(() -> first); assertThat(nonEmpty.orElse(second)).isEqualTo(first); assertThat(nonEmpty.or(second).get()).isEqualTo(first); @@ -108,9 +108,9 @@ class LazyUnitTests { @Test void returnsElseValue() { - Object reference = new Object(); + var reference = new Object(); - Lazy empty = Lazy.of(() -> null); + var empty = Lazy.of(() -> null); assertThat(empty.orElse(reference)).isEqualTo(reference); assertThat(empty.or(reference).get()).isEqualTo(reference); diff --git a/src/test/java/org/springframework/data/util/MethodInvocationRecorderUnitTests.java b/src/test/java/org/springframework/data/util/MethodInvocationRecorderUnitTests.java index cd7363f20..4b2ef162a 100644 --- a/src/test/java/org/springframework/data/util/MethodInvocationRecorderUnitTests.java +++ b/src/test/java/org/springframework/data/util/MethodInvocationRecorderUnitTests.java @@ -44,7 +44,7 @@ class MethodInvocationRecorderUnitTests { @Test // DATACMNS-1449 void createsPropertyPathForSimpleMethodReference() { - Recorded wrapper = recorder.record(Foo::getBar); + var wrapper = recorder.record(Foo::getBar); assertThat(wrapper.getPropertyPath()).hasValue("bar"); } @@ -52,7 +52,7 @@ class MethodInvocationRecorderUnitTests { @Test // DATACMNS-1449 void createsPropertyPathForNestedMethodReference() { - Recorded wrapper = recorder.record(Foo::getBar).record(Bar::getFooBar); + var wrapper = recorder.record(Foo::getBar).record(Bar::getFooBar); assertThat(wrapper.getPropertyPath()).hasValue("bar.fooBar"); } @@ -60,7 +60,7 @@ class MethodInvocationRecorderUnitTests { @Test // DATACMNS-1449 void createsPropertyPathForNestedCall() { - Recorded wrapper = recorder.record((Foo source) -> source.getBar().getFooBar()); + var wrapper = recorder.record((Foo source) -> source.getBar().getFooBar()); assertThat(wrapper.getPropertyPath()).hasValue("bar.fooBar"); } @@ -68,7 +68,7 @@ class MethodInvocationRecorderUnitTests { @Test // DATACMNS-1449 void usesCustomPropertyNamingStrategy() { - Recorded recorded = MethodInvocationRecorder.forProxyOf(Foo.class).record(Foo::getBar); + var recorded = MethodInvocationRecorder.forProxyOf(Foo.class).record(Foo::getBar); assertThat(recorded.getPropertyPath(method -> method.getName())).hasValue("getBar"); } @@ -81,7 +81,7 @@ class MethodInvocationRecorderUnitTests { @Test // DATACMNS-1449 void recordsInvocationOnInterface() { - Recorded recorder = MethodInvocationRecorder.forProxyOf(Sample.class); + var recorder = MethodInvocationRecorder.forProxyOf(Sample.class); assertThat(recorder.record(Sample::getName).getPropertyPath()).hasValue("name"); } diff --git a/src/test/java/org/springframework/data/util/NullableUtilsUnitTests.java b/src/test/java/org/springframework/data/util/NullableUtilsUnitTests.java index c41e47f96..f14da330e 100644 --- a/src/test/java/org/springframework/data/util/NullableUtilsUnitTests.java +++ b/src/test/java/org/springframework/data/util/NullableUtilsUnitTests.java @@ -18,9 +18,9 @@ package org.springframework.data.util; import static org.assertj.core.api.Assertions.*; import java.lang.annotation.ElementType; -import java.lang.reflect.Method; import org.junit.jupiter.api.Test; + import org.springframework.core.MethodParameter; import org.springframework.data.util.nonnull.NullableAnnotatedType; import org.springframework.data.util.nonnull.packagelevel.NonNullOnPackage; @@ -39,7 +39,7 @@ class NullableUtilsUnitTests { @Test // DATACMNS-1154 void packageAnnotatedShouldConsiderNonNullAnnotation() { - Method method = ReflectionUtils.findMethod(NonNullOnPackage.class, "nonNullReturnValue"); + var method = ReflectionUtils.findMethod(NonNullOnPackage.class, "nonNullReturnValue"); assertThat(NullableUtils.isNonNull(method, ElementType.METHOD)).isTrue(); assertThat(NullableUtils.isNonNull(method, ElementType.PARAMETER)).isTrue(); @@ -84,10 +84,10 @@ class NullableUtilsUnitTests { @Test // DATACMNS-1154 void shouldConsiderParametersWithoutNullableAnnotation() { - Method method = ReflectionUtils.findMethod(NullableAnnotatedType.class, "nonNullMethod", String.class); + var method = ReflectionUtils.findMethod(NullableAnnotatedType.class, "nonNullMethod", String.class); - MethodParameter returnValue = new MethodParameter(method, -1); - MethodParameter parameter = new MethodParameter(method, 0); + var returnValue = new MethodParameter(method, -1); + var parameter = new MethodParameter(method, 0); assertThat(NullableUtils.isExplicitNullable(returnValue)).isFalse(); assertThat(NullableUtils.isExplicitNullable(parameter)).isFalse(); @@ -96,7 +96,7 @@ class NullableUtilsUnitTests { @Test // DATACMNS-1154 void shouldConsiderParametersNullableAnnotation() { - Method method = ReflectionUtils.findMethod(NullableAnnotatedType.class, "nullableReturn"); + var method = ReflectionUtils.findMethod(NullableAnnotatedType.class, "nullableReturn"); assertThat(NullableUtils.isExplicitNullable(new MethodParameter(method, -1))).isTrue(); } @@ -104,7 +104,7 @@ class NullableUtilsUnitTests { @Test // DATACMNS-1154 void shouldConsiderParametersJsr305NullableMetaAnnotation() { - Method method = ReflectionUtils.findMethod(NullableAnnotatedType.class, "jsr305NullableReturn"); + var method = ReflectionUtils.findMethod(NullableAnnotatedType.class, "jsr305NullableReturn"); assertThat(NullableUtils.isExplicitNullable(new MethodParameter(method, -1))).isTrue(); } @@ -112,7 +112,7 @@ class NullableUtilsUnitTests { @Test // DATACMNS-1154 void shouldConsiderParametersJsr305NonnullAnnotation() { - Method method = ReflectionUtils.findMethod(NullableAnnotatedType.class, "jsr305NullableReturnWhen"); + var method = ReflectionUtils.findMethod(NullableAnnotatedType.class, "jsr305NullableReturnWhen"); assertThat(NullableUtils.isExplicitNullable(new MethodParameter(method, -1))).isTrue(); } diff --git a/src/test/java/org/springframework/data/util/PairUnitTests.java b/src/test/java/org/springframework/data/util/PairUnitTests.java index 14049934c..a32198bc2 100755 --- a/src/test/java/org/springframework/data/util/PairUnitTests.java +++ b/src/test/java/org/springframework/data/util/PairUnitTests.java @@ -29,7 +29,7 @@ class PairUnitTests { @Test // DATACMNS-790 void setsUpSimpleInstance() { - Pair pair = Pair.of(1, 2); + var pair = Pair.of(1, 2); assertThat(pair.getFirst()).isEqualTo(1); assertThat(pair.getSecond()).isEqualTo(2); @@ -48,8 +48,8 @@ class PairUnitTests { @Test // DATACMNS-790 void hasCorrectEquals() { - Pair first = Pair.of(1, 2); - Pair second = Pair.of(1, 2); + var first = Pair.of(1, 2); + var second = Pair.of(1, 2); assertThat(first).isEqualTo(first); assertThat(first).isEqualTo(second); @@ -59,9 +59,9 @@ class PairUnitTests { @Test // DATACMNS-790 void hasCorrectHashCode() { - Pair first = Pair.of(1, 2); - Pair second = Pair.of(1, 2); - Pair third = Pair.of(2, 2); + var first = Pair.of(1, 2); + var second = Pair.of(1, 2); + var third = Pair.of(2, 2); assertThat(first.hashCode()).isEqualTo(second.hashCode()); assertThat(first.hashCode()).isNotEqualTo(third.hashCode()); diff --git a/src/test/java/org/springframework/data/util/ParameterTypesUnitTests.java b/src/test/java/org/springframework/data/util/ParameterTypesUnitTests.java index ad3634579..f44b022dc 100644 --- a/src/test/java/org/springframework/data/util/ParameterTypesUnitTests.java +++ b/src/test/java/org/springframework/data/util/ParameterTypesUnitTests.java @@ -17,10 +17,8 @@ package org.springframework.data.util; import static org.assertj.core.api.Assertions.*; -import java.lang.reflect.Method; -import java.util.List; - import org.junit.jupiter.api.Test; + import org.springframework.util.ReflectionUtils; /** @@ -33,9 +31,9 @@ public class ParameterTypesUnitTests { @Test // DATACMNS-1518 public void detectsDirectMatch() { - Method method = ReflectionUtils.findMethod(Sample.class, "twoStrings", String.class, String.class); + var method = ReflectionUtils.findMethod(Sample.class, "twoStrings", String.class, String.class); - ParameterTypes types = ParameterTypes.of(String.class, String.class); + var types = ParameterTypes.of(String.class, String.class); assertThat(types.areValidFor(method)).isTrue(); assertThat(types.exactlyMatchParametersOf(method)).isTrue(); @@ -44,9 +42,9 @@ public class ParameterTypesUnitTests { @Test // DATACMNS-1518 public void supportsSimpleVarArg() { - Method method = ReflectionUtils.findMethod(Sample.class, "stringPlusStringVarArg", String.class, String[].class); + var method = ReflectionUtils.findMethod(Sample.class, "stringPlusStringVarArg", String.class, String[].class); - ParameterTypes types = ParameterTypes.of(String.class, String.class); + var types = ParameterTypes.of(String.class, String.class); assertThat(types.areValidFor(method)).isTrue(); assertThat(types.exactlyMatchParametersOf(method)).isFalse(); @@ -55,9 +53,9 @@ public class ParameterTypesUnitTests { @Test // DATACMNS-1518 public void supportsTrailingObjectVarArg() { - Method method = ReflectionUtils.findMethod(Sample.class, "stringPlusObjectVarArg", String.class, Object[].class); + var method = ReflectionUtils.findMethod(Sample.class, "stringPlusObjectVarArg", String.class, Object[].class); - ParameterTypes types = ParameterTypes.of(String.class, String.class); + var types = ParameterTypes.of(String.class, String.class); assertThat(types.areValidFor(method)).isTrue(); assertThat(types.exactlyMatchParametersOf(method)).isFalse(); @@ -66,9 +64,9 @@ public class ParameterTypesUnitTests { @Test // DATACMNS-1518 public void supportsObjectVarArg() { - Method method = ReflectionUtils.findMethod(Sample.class, "objectVarArg", Object[].class); + var method = ReflectionUtils.findMethod(Sample.class, "objectVarArg", Object[].class); - ParameterTypes types = ParameterTypes.of(String.class, String.class); + var types = ParameterTypes.of(String.class, String.class); assertThat(types.areValidFor(method)).isTrue(); assertThat(types.exactlyMatchParametersOf(method)).isFalse(); @@ -78,9 +76,9 @@ public class ParameterTypesUnitTests { @Test // DATACMNS-1518 public void doesNotAddNonObjectVarArgsForParents() { - ParameterTypes types = ParameterTypes.of(String.class, String.class, Integer.class, Integer.class); + var types = ParameterTypes.of(String.class, String.class, Integer.class, Integer.class); - List alternatives = types.getAllAlternatives(); + var alternatives = types.getAllAlternatives(); assertThat(alternatives).hasSize(6); diff --git a/src/test/java/org/springframework/data/util/ParameterizedTypeInformationUnitTests.java b/src/test/java/org/springframework/data/util/ParameterizedTypeInformationUnitTests.java index 8b728e412..100a5a524 100755 --- a/src/test/java/org/springframework/data/util/ParameterizedTypeInformationUnitTests.java +++ b/src/test/java/org/springframework/data/util/ParameterizedTypeInformationUnitTests.java @@ -55,11 +55,11 @@ class ParameterizedTypeInformationUnitTests { @Test void considersTypeInformationsWithDifferingParentsNotEqual() { - TypeDiscoverer stringParent = new TypeDiscoverer<>(String.class, emptyMap()); - TypeDiscoverer objectParent = new TypeDiscoverer<>(Object.class, emptyMap()); + var stringParent = new TypeDiscoverer(String.class, emptyMap()); + var objectParent = new TypeDiscoverer(Object.class, emptyMap()); - ParameterizedTypeInformation first = new ParameterizedTypeInformation<>(one, stringParent); - ParameterizedTypeInformation second = new ParameterizedTypeInformation<>(one, objectParent); + var first = new ParameterizedTypeInformation(one, stringParent); + var second = new ParameterizedTypeInformation(one, objectParent); assertThat(first).isNotEqualTo(second); } @@ -67,10 +67,10 @@ class ParameterizedTypeInformationUnitTests { @Test void considersTypeInformationsWithSameParentsNotEqual() { - TypeDiscoverer stringParent = new TypeDiscoverer<>(String.class, emptyMap()); + var stringParent = new TypeDiscoverer(String.class, emptyMap()); - ParameterizedTypeInformation first = new ParameterizedTypeInformation<>(one, stringParent); - ParameterizedTypeInformation second = new ParameterizedTypeInformation<>(one, stringParent); + var first = new ParameterizedTypeInformation(one, stringParent); + var second = new ParameterizedTypeInformation(one, stringParent); assertThat(first.equals(second)).isTrue(); } @@ -79,8 +79,8 @@ class ParameterizedTypeInformationUnitTests { void resolvesMapValueTypeCorrectly() { TypeInformation type = ClassTypeInformation.from(Foo.class); - TypeInformation propertyType = type.getProperty("param"); - TypeInformation value = propertyType.getProperty("value"); + var propertyType = type.getProperty("param"); + var value = propertyType.getProperty("value"); assertThat(value.getType()).isEqualTo(String.class); assertThat(propertyType.getMapValueType().getType()).isEqualTo(String.class); @@ -102,8 +102,8 @@ class ParameterizedTypeInformationUnitTests { @Test // DATACMNS-485 void hashCodeShouldBeConsistentWithEqualsForResolvedTypes() { - TypeInformation first = from(First.class).getProperty("property"); - TypeInformation second = from(Second.class).getProperty("property"); + var first = from(First.class).getProperty("property"); + var second = from(Second.class).getProperty("property"); assertThat(first).isEqualTo(second); @@ -114,7 +114,7 @@ class ParameterizedTypeInformationUnitTests { @Test // DATACMNS-485 void getActualTypeShouldNotUnwrapParameterizedTypes() { - TypeInformation type = from(First.class).getProperty("property"); + var type = from(First.class).getProperty("property"); assertThat(type.getActualType()).isEqualTo(type); } @@ -131,7 +131,7 @@ class ParameterizedTypeInformationUnitTests { @Test // DATACMNS-899 void returnsEmptyOptionalMapValueTypeForNonMapProperties() { - TypeInformation typeInformation = ClassTypeInformation.from(Bar.class).getProperty("param"); + var typeInformation = ClassTypeInformation.from(Bar.class).getProperty("param"); assertThat(typeInformation).isInstanceOf(ParameterizedTypeInformation.class); assertThat(typeInformation.getMapValueType()).isNull(); } @@ -139,9 +139,9 @@ class ParameterizedTypeInformationUnitTests { @Test // DATACMNS-1135 void prefersLocalGenericsDeclarationOverParentBound() { - ClassTypeInformation candidate = ClassTypeInformation.from(Candidate.class); + var candidate = ClassTypeInformation.from(Candidate.class); - TypeInformation componentType = candidate.getRequiredProperty("experiences.values").getRequiredComponentType(); + var componentType = candidate.getRequiredProperty("experiences.values").getRequiredComponentType(); componentType = componentType.getRequiredProperty("responsibilities.values").getRequiredComponentType(); assertThat(componentType.getType()).isEqualTo(Responsibility.class); @@ -150,7 +150,7 @@ class ParameterizedTypeInformationUnitTests { @Test // DATACMNS-1196 void detectsNestedGenerics() { - TypeInformation myList = ClassTypeInformation.from(EnumGeneric.class).getRequiredProperty("inner.myList"); + var myList = ClassTypeInformation.from(EnumGeneric.class).getRequiredProperty("inner.myList"); assertThat(myList.getRequiredComponentType().getType()).isEqualTo(MyEnum.class); } diff --git a/src/test/java/org/springframework/data/util/ParsingUtilsUnitTests.java b/src/test/java/org/springframework/data/util/ParsingUtilsUnitTests.java index cbc9c8554..27d93da26 100755 --- a/src/test/java/org/springframework/data/util/ParsingUtilsUnitTests.java +++ b/src/test/java/org/springframework/data/util/ParsingUtilsUnitTests.java @@ -17,8 +17,6 @@ package org.springframework.data.util; import static org.assertj.core.api.Assertions.*; -import java.util.List; - import org.junit.jupiter.api.Test; /** @@ -31,7 +29,7 @@ public class ParsingUtilsUnitTests { @Test // DATCMNS-486 public void splitsCamelCaseWithAllSortsOfCharacters() { - String sample = "prefix" + "이름" // + var sample = "prefix" + "이름" // + "Anders" // + "Øre" // + "År" // @@ -43,7 +41,7 @@ public class ParsingUtilsUnitTests { + "BAR$FOO" // + "Suffix"; - List result = ParsingUtils.splitCamelCaseToLower(sample); + var result = ParsingUtils.splitCamelCaseToLower(sample); assertThat(result).contains("prefix", "이름", "anders", "øre", "år", "property1", "생일", "foo_bar", "foo_bar", "bar$foo", "bar$foo", "suffix"); } diff --git a/src/test/java/org/springframework/data/util/ProxyUtilsUnitTests.java b/src/test/java/org/springframework/data/util/ProxyUtilsUnitTests.java index e1b4e350b..a801879e7 100644 --- a/src/test/java/org/springframework/data/util/ProxyUtilsUnitTests.java +++ b/src/test/java/org/springframework/data/util/ProxyUtilsUnitTests.java @@ -34,9 +34,9 @@ public class ProxyUtilsUnitTests { @Test // DATACMNS-1324 public void detectsStandardProxy() { - ProxyFactory factory = new ProxyFactory(); + var factory = new ProxyFactory(); factory.setTarget(new Sample()); - Object proxy = factory.getProxy(); + var proxy = factory.getProxy(); assertThat(proxy.getClass()).isNotEqualTo(Sample.class); assertThat(ProxyUtils.getUserClass(proxy)).isEqualTo(Sample.class); @@ -45,9 +45,9 @@ public class ProxyUtilsUnitTests { @Test // DATACMNS-1324 public void usesCustomProxyDetector() { - ProxyFactory factory = new ProxyFactory(); + var factory = new ProxyFactory(); factory.setTarget(new AnotherSample()); - Object proxy = factory.getProxy(); + var proxy = factory.getProxy(); assertThat(ProxyUtils.getUserClass(proxy)).isEqualTo(UserType.class); } @@ -55,10 +55,10 @@ public class ProxyUtilsUnitTests { @Test // DATACMNS-1341 public void detectsTargetTypeOfJdkProxy() { - ProxyFactory factory = new ProxyFactory(); + var factory = new ProxyFactory(); factory.setTarget(new SomeTypeWithInterface()); factory.setInterfaces(Serializable.class); - Object proxy = factory.getProxy(); + var proxy = factory.getProxy(); assertThat(ProxyUtils.getUserClass(proxy)).isEqualTo(SomeTypeWithInterface.class); } diff --git a/src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java b/src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java index 13dd3aedc..417cedc4a 100755 --- a/src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java +++ b/src/test/java/org/springframework/data/util/ReflectionUtilsUnitTests.java @@ -51,14 +51,14 @@ class ReflectionUtilsUnitTests { @Test void findsFieldByFilter() { - Field field = ReflectionUtils.findField(Sample.class, (FieldFilter) new FieldNameFieldFilter("field")); + var field = ReflectionUtils.findField(Sample.class, (FieldFilter) new FieldNameFieldFilter("field")); assertThat(field).isEqualTo(reference); } @Test void returnsNullIfNoFieldFound() { - Field field = ReflectionUtils.findField(Sample.class, (FieldFilter) new FieldNameFieldFilter("foo")); + var field = ReflectionUtils.findField(Sample.class, (FieldFilter) new FieldNameFieldFilter("foo")); assertThat(field).isNull(); } @@ -71,7 +71,7 @@ class ReflectionUtilsUnitTests { @Test void findsUniqueField() { - Field field = ReflectionUtils.findField(Sample.class, new FieldNameFieldFilter("field"), false); + var field = ReflectionUtils.findField(Sample.class, new FieldNameFieldFilter("field"), false); assertThat(field).isEqualTo(reference); } @@ -82,15 +82,15 @@ class ReflectionUtilsUnitTests { } - Field field = ReflectionUtils.findField(Subclass.class, new FieldNameFieldFilter("field")); + var field = ReflectionUtils.findField(Subclass.class, new FieldNameFieldFilter("field")); assertThat(field).isEqualTo(reference); } @Test void setsNonPublicField() { - Sample sample = new Sample(); - Field field = ReflectionUtils.findField(Sample.class, new FieldNameFieldFilter("first")); + var sample = new Sample(); + var field = ReflectionUtils.findField(Sample.class, new FieldNameFieldFilter("first")); ReflectionUtils.setField(field, sample, "foo"); assertThat(sample.first).isEqualTo("foo"); } @@ -118,28 +118,28 @@ class ReflectionUtilsUnitTests { @Test // DATACMNS-1154 void discoversNoReturnType() throws Exception { - MethodParameter parameter = new MethodParameter(DummyInterface.class.getDeclaredMethod("noReturnValue"), -1); + var parameter = new MethodParameter(DummyInterface.class.getDeclaredMethod("noReturnValue"), -1); assertThat(ReflectionUtils.isNullable(parameter)).isTrue(); } @Test // DATACMNS-1154 void discoversNullableReturnType() throws Exception { - MethodParameter parameter = new MethodParameter(DummyInterface.class.getDeclaredMethod("nullableReturnValue"), -1); + var parameter = new MethodParameter(DummyInterface.class.getDeclaredMethod("nullableReturnValue"), -1); assertThat(ReflectionUtils.isNullable(parameter)).isTrue(); } @Test // DATACMNS-1154 void discoversNonNullableReturnType() throws Exception { - MethodParameter parameter = new MethodParameter(DummyInterface.class.getDeclaredMethod("mandatoryReturnValue"), -1); + var parameter = new MethodParameter(DummyInterface.class.getDeclaredMethod("mandatoryReturnValue"), -1); assertThat(ReflectionUtils.isNullable(parameter)).isFalse(); } @Test // DATACMNS-1154 void discoversNullableParameter() throws Exception { - MethodParameter parameter = new MethodParameter( + var parameter = new MethodParameter( DummyInterface.class.getDeclaredMethod("nullableParameter", User.class), 0); assertThat(ReflectionUtils.isNullable(parameter)).isTrue(); } @@ -147,7 +147,7 @@ class ReflectionUtilsUnitTests { @Test // DATACMNS-1154 void discoversNonNullablePrimitiveParameter() throws Exception { - MethodParameter parameter = new MethodParameter(DummyInterface.class.getDeclaredMethod("primitive", int.class), 0); + var parameter = new MethodParameter(DummyInterface.class.getDeclaredMethod("primitive", int.class), 0); assertThat(ReflectionUtils.isNullable(parameter)).isFalse(); } diff --git a/src/test/java/org/springframework/data/util/StreamUtilsTests.java b/src/test/java/org/springframework/data/util/StreamUtilsTests.java index 1e961f306..175f11f3f 100755 --- a/src/test/java/org/springframework/data/util/StreamUtilsTests.java +++ b/src/test/java/org/springframework/data/util/StreamUtilsTests.java @@ -19,7 +19,6 @@ import static org.assertj.core.api.Assertions.*; import static org.springframework.data.util.StreamUtils.*; import java.util.Arrays; -import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -36,9 +35,9 @@ public class StreamUtilsTests { @Test // DATACMNS-650 public void shouldConvertAnIteratorToAStream() { - List input = Arrays.asList("a", "b", "c"); - Stream stream = createStreamFromIterator(input.iterator()); - List output = stream.collect(Collectors.toList()); + var input = Arrays.asList("a", "b", "c"); + var stream = createStreamFromIterator(input.iterator()); + var output = stream.collect(Collectors.toList()); assertThat(input).isEqualTo(output); } @@ -46,8 +45,8 @@ public class StreamUtilsTests { @Test // #2426 void combinesInfiniteStreamCorrectly() { - Stream indices = Stream.iterate(1L, n -> n + 1); - Stream lines = Stream.of("first line", "second line"); + var indices = Stream.iterate(1L, n -> n + 1); + var lines = Stream.of("first line", "second line"); assertThat(StreamUtils.zip(indices, lines, (index, line) -> index + ":" + line).count()).isEqualTo(2); } diff --git a/src/test/java/org/springframework/data/util/StreamableUnitTests.java b/src/test/java/org/springframework/data/util/StreamableUnitTests.java index bfc321950..56693e4ff 100644 --- a/src/test/java/org/springframework/data/util/StreamableUnitTests.java +++ b/src/test/java/org/springframework/data/util/StreamableUnitTests.java @@ -34,7 +34,7 @@ public class StreamableUnitTests { @Test // DATACMNS-1432 public void collectsToCollections() { - Streamable streamable = Streamable.of(() -> Stream.of(1, 2, 1)); + var streamable = Streamable.of(() -> Stream.of(1, 2, 1)); assertThat(streamable.toList()).containsExactly(1, 2, 1); assertThat(streamable.toSet()).containsExactlyInAnyOrder(1, 2); diff --git a/src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java b/src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java index d0a9dd8f2..4f652b782 100755 --- a/src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java +++ b/src/test/java/org/springframework/data/util/TypeDiscovererUnitTests.java @@ -18,7 +18,6 @@ package org.springframework.data.util; import static org.assertj.core.api.Assertions.*; import static org.springframework.data.util.ClassTypeInformation.from; -import java.lang.reflect.Constructor; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; import java.util.Collection; @@ -55,8 +54,8 @@ public class TypeDiscovererUnitTests { @Test void isNotEqualIfTypesDiffer() { - TypeDiscoverer objectTypeInfo = new TypeDiscoverer<>(Object.class, EMPTY_MAP); - TypeDiscoverer stringTypeInfo = new TypeDiscoverer<>(String.class, EMPTY_MAP); + var objectTypeInfo = new TypeDiscoverer(Object.class, EMPTY_MAP); + var stringTypeInfo = new TypeDiscoverer(String.class, EMPTY_MAP); assertThat(objectTypeInfo.equals(stringTypeInfo)).isFalse(); } @@ -66,8 +65,8 @@ public class TypeDiscovererUnitTests { assertThat(firstMap.equals(secondMap)).isFalse(); - TypeDiscoverer first = new TypeDiscoverer<>(Object.class, firstMap); - TypeDiscoverer second = new TypeDiscoverer<>(Object.class, secondMap); + var first = new TypeDiscoverer(Object.class, firstMap); + var second = new TypeDiscoverer(Object.class, secondMap); assertThat(first.equals(second)).isFalse(); } @@ -76,8 +75,8 @@ public class TypeDiscovererUnitTests { void dealsWithTypesReferencingThemselves() { TypeInformation information = from(SelfReferencing.class); - TypeInformation first = information.getProperty("parent").getMapValueType(); - TypeInformation second = first.getProperty("map").getMapValueType(); + var first = information.getProperty("parent").getMapValueType(); + var second = first.getProperty("map").getMapValueType(); assertThat(second).isEqualTo(first); } @@ -86,7 +85,7 @@ public class TypeDiscovererUnitTests { void dealsWithTypesReferencingThemselvesInAMap() { TypeInformation information = from(SelfReferencingMap.class); - TypeInformation property = information.getProperty("map"); + var property = information.getProperty("map"); assertThat(property.getMapValueType()).isEqualTo(information); } @@ -103,7 +102,7 @@ public class TypeDiscovererUnitTests { @Test void returnsComponentTypeForCollectionExtension() { - TypeDiscoverer discoverer = new TypeDiscoverer<>(CustomCollection.class, firstMap); + var discoverer = new TypeDiscoverer(CustomCollection.class, firstMap); assertThat(discoverer.getComponentType().getType()).isEqualTo(String.class); } @@ -111,7 +110,7 @@ public class TypeDiscovererUnitTests { @Test void returnsComponentTypeForArrays() { - TypeDiscoverer discoverer = new TypeDiscoverer<>(String[].class, EMPTY_MAP); + var discoverer = new TypeDiscoverer(String[].class, EMPTY_MAP); assertThat(discoverer.getComponentType().getType()).isEqualTo(String.class); } @@ -119,9 +118,9 @@ public class TypeDiscovererUnitTests { @Test // DATACMNS-57 void discoveresConstructorParameterTypesCorrectly() throws NoSuchMethodException, SecurityException { - TypeDiscoverer discoverer = new TypeDiscoverer<>(GenericConstructors.class, firstMap); - Constructor constructor = GenericConstructors.class.getConstructor(List.class, Locale.class); - List> types = discoverer.getParameterTypes(constructor); + var discoverer = new TypeDiscoverer(GenericConstructors.class, firstMap); + var constructor = GenericConstructors.class.getConstructor(List.class, Locale.class); + var types = discoverer.getParameterTypes(constructor); assertThat(types).hasSize(2); assertThat(types.get(0).getType()).isEqualTo(List.class); @@ -132,7 +131,7 @@ public class TypeDiscovererUnitTests { @SuppressWarnings("rawtypes") void returnsNullForComponentAndValueTypesForRawMaps() { - TypeDiscoverer discoverer = new TypeDiscoverer<>(Map.class, EMPTY_MAP); + var discoverer = new TypeDiscoverer(Map.class, EMPTY_MAP); assertThat(discoverer.getComponentType()).isNull(); assertThat(discoverer.getMapValueType()).isNull(); @@ -142,17 +141,17 @@ public class TypeDiscovererUnitTests { @SuppressWarnings("rawtypes") void doesNotConsiderTypeImplementingIterableACollection() { - TypeDiscoverer discoverer = new TypeDiscoverer<>(Person.class, EMPTY_MAP); + var discoverer = new TypeDiscoverer(Person.class, EMPTY_MAP); TypeInformation reference = from(Address.class); - TypeInformation addresses = discoverer.getProperty("addresses"); + var addresses = discoverer.getProperty("addresses"); assertThat(addresses).satisfies(it -> { assertThat(it.isCollectionLike()).isFalse(); assertThat(it.getComponentType()).isEqualTo(reference); }); - TypeInformation adressIterable = discoverer.getProperty("addressIterable"); + var adressIterable = discoverer.getProperty("addressIterable"); assertThat(adressIterable).satisfies(it -> { assertThat(it.isCollectionLike()).isTrue(); @@ -172,7 +171,7 @@ public class TypeDiscovererUnitTests { @Test // DATACMNS-1419 void detectsSubTypes() { - ClassTypeInformation type = from(Set.class); + var type = from(Set.class); assertThat(type.isSubTypeOf(Collection.class)).isTrue(); assertThat(type.isSubTypeOf(Set.class)).isFalse(); diff --git a/src/test/java/org/springframework/data/util/VersionUnitTests.java b/src/test/java/org/springframework/data/util/VersionUnitTests.java index 0e9a1307d..dd5fa1cfd 100755 --- a/src/test/java/org/springframework/data/util/VersionUnitTests.java +++ b/src/test/java/org/springframework/data/util/VersionUnitTests.java @@ -30,8 +30,8 @@ class VersionUnitTests { @Test // DATCMNS-384 void sameVersionsEqualOneDigits() { - Version first = new Version(6); - Version second = new Version(6); + var first = new Version(6); + var second = new Version(6); assertThat(first).isEqualTo(second); assertThat(second).isEqualTo(first); @@ -40,8 +40,8 @@ class VersionUnitTests { @Test // DATCMNS-384 void sameVersionsEqualTwoDigits() { - Version first = new Version(5, 2); - Version second = new Version(5, 2); + var first = new Version(5, 2); + var second = new Version(5, 2); assertThat(first).isEqualTo(second); assertThat(second).isEqualTo(first); @@ -50,8 +50,8 @@ class VersionUnitTests { @Test // DATCMNS-384 void sameVersionsEqualThreeDigits() { - Version first = new Version(1, 2, 3); - Version second = new Version(1, 2, 3); + var first = new Version(1, 2, 3); + var second = new Version(1, 2, 3); assertThat(first).isEqualTo(second); assertThat(second).isEqualTo(first); @@ -60,8 +60,8 @@ class VersionUnitTests { @Test // DATCMNS-384 void sameVersionsEqualFourDigits() { - Version first = new Version(1, 2, 3, 1000); - Version second = new Version(1, 2, 3, 1000); + var first = new Version(1, 2, 3, 1000); + var second = new Version(1, 2, 3, 1000); assertThat(first).isEqualTo(second); assertThat(second).isEqualTo(first); @@ -70,39 +70,39 @@ class VersionUnitTests { @Test // DATCMNS-384 void parsesVersionCorrectlyOneDigits() { - Version version = Version.parse("5"); + var version = Version.parse("5"); assertThat(version).isEqualTo(new Version(5)); } @Test // DATCMNS-384 void parsesVersionCorrectlyTwoDigits() { - Version version = Version.parse("5.2"); + var version = Version.parse("5.2"); assertThat(version).isEqualTo(new Version(5, 2)); } @Test // DATCMNS-384 void parsesVersionCorrectlyThreeDigits() { - Version version = Version.parse("12.1.3"); + var version = Version.parse("12.1.3"); assertThat(version).isEqualTo(new Version(12, 1, 3)); } @Test // DATCMNS-384 void parsesVersionCorrectlyFourDigits() { - Version version = Version.parse("12.1.3.1000"); + var version = Version.parse("12.1.3.1000"); assertThat(version).isEqualTo(new Version(12, 1, 3, 1000)); } @Test // DATCMNS-384 void comparesToCorrectly() { - Version version = new Version(1, 2, 3, 1000); - Version nextBuild = new Version(1, 2, 3, 1001); - Version nextBugfix = new Version(1, 2, 4); - Version nextMinor = new Version(1, 3); - Version nextMajor = new Version(2); + var version = new Version(1, 2, 3, 1000); + var nextBuild = new Version(1, 2, 3, 1001); + var nextBugfix = new Version(1, 2, 4); + var nextMinor = new Version(1, 3); + var nextMajor = new Version(2); assertThat(nextMajor.isGreaterThan(nextMinor)).isTrue(); assertThat(nextMajor.isGreaterThan(nextMajor)).isFalse(); diff --git a/src/test/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolverUnitTests.java b/src/test/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolverUnitTests.java index 77d2688e0..c39f2415a 100755 --- a/src/test/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolverUnitTests.java +++ b/src/test/java/org/springframework/data/web/HateoasPageableHandlerMethodArgumentResolverUnitTests.java @@ -17,15 +17,12 @@ package org.springframework.data.web; import static org.assertj.core.api.Assertions.*; -import java.util.List; - import org.junit.jupiter.api.Test; + import org.springframework.core.MethodParameter; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.hateoas.server.mvc.UriComponentsContributor; -import org.springframework.util.MultiValueMap; -import org.springframework.web.util.UriComponents; import org.springframework.web.util.UriComponentsBuilder; /** @@ -39,7 +36,7 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests @Test void buildsUpRequestParameters() { - String basicString = String.format("page=%d&size=%d", PAGE_NUMBER, PAGE_SIZE); + var basicString = String.format("page=%d&size=%d", PAGE_NUMBER, PAGE_SIZE); assertUriStringFor(REFERENCE_WITHOUT_SORT, basicString); assertUriStringFor(REFERENCE_WITH_SORT, basicString + "&sort=firstname,lastname,desc"); @@ -49,18 +46,18 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests @Test // DATACMNS-343 void replacesExistingPaginationInformation() throws Exception { - MethodParameter parameter = new MethodParameter(Sample.class.getMethod("supportedMethod", Pageable.class), 0); + var parameter = new MethodParameter(Sample.class.getMethod("supportedMethod", Pageable.class), 0); UriComponentsContributor resolver = new HateoasPageableHandlerMethodArgumentResolver(); - UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("http://localhost:8080?page=0&size=10"); + var builder = UriComponentsBuilder.fromHttpUrl("http://localhost:8080?page=0&size=10"); resolver.enhance(builder, parameter, PageRequest.of(1, 20)); - MultiValueMap params = builder.build().getQueryParams(); + var params = builder.build().getQueryParams(); - List page = params.get("page"); + var page = params.get("page"); assertThat(page).hasSize(1); assertThat(page.get(0)).isEqualTo("1"); - List size = params.get("size"); + var size = params.get("size"); assertThat(size).hasSize(1); assertThat(size.get(0)).isEqualTo("20"); } @@ -84,11 +81,11 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests @Test // DATACMNS-418 void returnsCustomizedTemplateVariables() { - UriComponents uriComponents = UriComponentsBuilder.fromPath("/foo").build(); + var uriComponents = UriComponentsBuilder.fromPath("/foo").build(); - HateoasPageableHandlerMethodArgumentResolver resolver = getResolver(); + var resolver = getResolver(); resolver.setPageParameterName("foo"); - String variables = resolver.getPaginationTemplateVariables(null, uriComponents).toString(); + var variables = resolver.getPaginationTemplateVariables(null, uriComponents).toString(); assertThat(variables).isEqualTo("{?foo,size,sort}"); } @@ -96,14 +93,14 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests @Test // DATACMNS-563 void enablingOneIndexedParameterReturnsOneForFirstPage() { - HateoasPageableHandlerMethodArgumentResolver resolver = getResolver(); + var resolver = getResolver(); resolver.setOneIndexedParameters(true); - UriComponentsBuilder builder = UriComponentsBuilder.fromPath("/"); + var builder = UriComponentsBuilder.fromPath("/"); resolver.enhance(builder, null, PageRequest.of(0, 10)); - MultiValueMap params = builder.build().getQueryParams(); + var params = builder.build().getQueryParams(); assertThat(params.containsKey(resolver.getPageParameterName())).isTrue(); assertThat(params.getFirst(resolver.getPageParameterName())).isEqualTo("1"); @@ -112,7 +109,7 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests @Test // DATACMNS-1455 void enhancesUnpaged() { - UriComponentsBuilder builder = UriComponentsBuilder.fromPath("/"); + var builder = UriComponentsBuilder.fromPath("/"); getResolver().enhance(builder, null, Pageable.unpaged()); @@ -122,15 +119,15 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests @Override protected HateoasPageableHandlerMethodArgumentResolver getResolver() { - HateoasPageableHandlerMethodArgumentResolver resolver = new HateoasPageableHandlerMethodArgumentResolver(); + var resolver = new HateoasPageableHandlerMethodArgumentResolver(); resolver.setMaxPageSize(100); return resolver; } protected void assertUriStringFor(Pageable pageable, String expected) { - UriComponentsBuilder builder = UriComponentsBuilder.fromPath("/"); - MethodParameter parameter = getParameterOfMethod("supportedMethod"); + var builder = UriComponentsBuilder.fromPath("/"); + var parameter = getParameterOfMethod("supportedMethod"); getResolver().enhance(builder, parameter, pageable); @@ -139,9 +136,9 @@ class HateoasPageableHandlerMethodArgumentResolverUnitTests private void assertTemplateEnrichment(String baseUri, String expected) { - UriComponents uriComponents = UriComponentsBuilder.fromUriString(baseUri).build(); + var uriComponents = UriComponentsBuilder.fromUriString(baseUri).build(); - HateoasPageableHandlerMethodArgumentResolver resolver = getResolver(); + var resolver = getResolver(); assertThat(resolver.getPaginationTemplateVariables(null, uriComponents).toString()).isEqualTo(expected); } } diff --git a/src/test/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolverUnitTests.java b/src/test/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolverUnitTests.java index ba210a438..dd2e2d5ed 100755 --- a/src/test/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolverUnitTests.java +++ b/src/test/java/org/springframework/data/web/HateoasSortHandlerMethodArgumentResolverUnitTests.java @@ -21,9 +21,8 @@ import static org.springframework.data.domain.Sort.Direction.*; import java.net.URI; import org.junit.jupiter.api.Test; -import org.springframework.core.MethodParameter; + import org.springframework.data.domain.Sort; -import org.springframework.web.util.UriComponents; import org.springframework.web.util.UriComponentsBuilder; /** @@ -51,9 +50,9 @@ class HateoasSortHandlerMethodArgumentResolverUnitTests extends SortHandlerMetho @Test // DATACMNS-418 void returnCorrectTemplateVariables() { - UriComponents uriComponents = UriComponentsBuilder.fromPath("/").build(); + var uriComponents = UriComponentsBuilder.fromPath("/").build(); - HateoasSortHandlerMethodArgumentResolver resolver = new HateoasSortHandlerMethodArgumentResolver(); + var resolver = new HateoasSortHandlerMethodArgumentResolver(); assertThat(resolver.getSortTemplateVariables(null, uriComponents).toString()).isEqualTo("{?sort}"); } @@ -63,8 +62,8 @@ class HateoasSortHandlerMethodArgumentResolverUnitTests extends SortHandlerMetho private void assertUriStringFor(Sort sort, String expected, String baseUri) throws Exception { - UriComponentsBuilder builder = UriComponentsBuilder.fromUri(new URI(baseUri)); - MethodParameter parameter = getParameterOfMethod("supportedMethod"); + var builder = UriComponentsBuilder.fromUri(new URI(baseUri)); + var parameter = getParameterOfMethod("supportedMethod"); new HateoasSortHandlerMethodArgumentResolver().enhance(builder, parameter, sort); diff --git a/src/test/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactoryUnitTests.java b/src/test/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactoryUnitTests.java index c8b628cd2..b43126b56 100755 --- a/src/test/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/web/JsonProjectingMethodInterceptorFactoryUnitTests.java @@ -54,14 +54,14 @@ class JsonProjectingMethodInterceptorFactoryUnitTests { @BeforeEach void setUp() { - String json = "{\"firstname\" : \"Dave\", "// + var json = "{\"firstname\" : \"Dave\", "// + "\"address\" : { \"zipCode\" : \"01097\", \"city\" : \"Dresden\" }," // + "\"addresses\" : [ { \"zipCode\" : \"01097\", \"city\" : \"Dresden\" }, { \"zipCode\" : \"69469\", \"city\" : \"Weinheim\" }]" + " }"; - SpelAwareProxyProjectionFactory projectionFactory = new SpelAwareProxyProjectionFactory(); + var projectionFactory = new SpelAwareProxyProjectionFactory(); - ObjectMapper objectMapper = new ObjectMapper(); + var objectMapper = new ObjectMapper(); MappingProvider mappingProvider = new JacksonMappingProvider(objectMapper); JsonProvider jsonProvider = new JacksonJsonProvider(objectMapper); projectionFactory @@ -121,7 +121,7 @@ class JsonProjectingMethodInterceptorFactoryUnitTests { @Test // DATCMNS-885 void accessCollectionPropertyThatUsesJsonPathProjectionInTurn() { - List projections = customer.getAnotherAddressProjections(); + var projections = customer.getAnotherAddressProjections(); assertThat(projections).hasSize(2); assertThat(projections.get(0).getZipCodeButNotCity()).isEqualTo("01097"); @@ -130,7 +130,7 @@ class JsonProjectingMethodInterceptorFactoryUnitTests { @Test // DATCMNS-885 void accessAsCollectionPropertyThatUsesJsonPathProjectionInTurn() { - Set projections = customer.getAnotherAddressProjectionAsCollection(); + var projections = customer.getAnotherAddressProjectionAsCollection(); assertThat(projections).hasSize(1); assertThat(projections.iterator().next().getZipCodeButNotCity()).isEqualTo("01097"); @@ -139,7 +139,7 @@ class JsonProjectingMethodInterceptorFactoryUnitTests { @Test // DATCMNS-885 void accessNestedPropertyButStayOnRootLevel() { - Name name = customer.getName(); + var name = customer.getName(); assertThat(name).isNotNull(); assertThat(name.getFirstname()).isEqualTo("Dave"); @@ -165,10 +165,10 @@ class JsonProjectingMethodInterceptorFactoryUnitTests { @Test // gh-2270 void shouldProjectOnArray() { - String json = "[ { \"creationDate\": 1610111331413, \"changeDate\": 1610111332160, \"person\": { \"caption\": \"Test2 TEST2\", \"firstName\": \"Test2\", \"lastName\": \"Test2\" } }, " + var json = "[ { \"creationDate\": 1610111331413, \"changeDate\": 1610111332160, \"person\": { \"caption\": \"Test2 TEST2\", \"firstName\": \"Test2\", \"lastName\": \"Test2\" } }, " + "{ \"creationDate\": 1609775450502, \"changeDate\": 1609775451333, \"person\": { \"caption\": \"Test TEST\", \"firstName\": \"Test\", \"lastName\": \"Test\" } }]"; - UserPayload projection = projectionFactory.createProjection(UserPayload.class, + var projection = projectionFactory.createProjection(UserPayload.class, new ByteArrayInputStream(json.getBytes(StandardCharsets.UTF_8))); assertThat(projection.users()).hasSize(2); diff --git a/src/test/java/org/springframework/data/web/MapDataBinderUnitTests.java b/src/test/java/org/springframework/data/web/MapDataBinderUnitTests.java index 8098af684..7185fe87a 100755 --- a/src/test/java/org/springframework/data/web/MapDataBinderUnitTests.java +++ b/src/test/java/org/springframework/data/web/MapDataBinderUnitTests.java @@ -28,7 +28,7 @@ import java.util.List; import java.util.Map; import org.junit.jupiter.api.Test; -import org.springframework.beans.ConfigurablePropertyAccessor; + import org.springframework.beans.MutablePropertyValues; import org.springframework.beans.NotWritablePropertyException; import org.springframework.beans.PropertyValues; @@ -47,9 +47,9 @@ class MapDataBinderUnitTests { @Test // DATACMNS-630 void honorsFormattingAnnotationOnAccessor() { - Date reference = new Date(); + var reference = new Date(); - MutablePropertyValues values = new MutablePropertyValues(); + var values = new MutablePropertyValues(); values.add("foo.date", new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX").format(reference)); Map nested = new HashMap<>(); @@ -61,10 +61,10 @@ class MapDataBinderUnitTests { @Test // DATACMNS-630 void bindsNestedCollectionElement() { - MutablePropertyValues values = new MutablePropertyValues(); + var values = new MutablePropertyValues(); values.add("foo.bar.fooBar[0]", "String"); - Map result = bind(values); + var result = bind(values); List list = new ArrayList<>(); list.add("String"); @@ -75,11 +75,11 @@ class MapDataBinderUnitTests { @Test // DATACMNS-630 void bindsNestedPrimitive() { - MutablePropertyValues values = new MutablePropertyValues(); + var values = new MutablePropertyValues(); values.add("foo.firstname", "Dave"); values.add("foo.lastname", "Matthews"); - Map result = bind(values); + var result = bind(values); Map dave = new HashMap<>(); dave.put("firstname", "Dave"); @@ -91,7 +91,7 @@ class MapDataBinderUnitTests { @Test // DATACMNS-630 void skipsPropertyNotExposedByTheTypeHierarchy() { - MutablePropertyValues values = new MutablePropertyValues(); + var values = new MutablePropertyValues(); values.add("somethingWeird", "Value"); assertThat(bind(values)).isEqualTo(Collections.emptyMap()); @@ -100,7 +100,7 @@ class MapDataBinderUnitTests { @Test // DATACMNS-1264 void dropsMapExpressionsForCollectionReferences() { - ConfigurablePropertyAccessor accessor = new MapDataBinder(Bar.class, new DefaultFormattingConversionService()) + var accessor = new MapDataBinder(Bar.class, new DefaultFormattingConversionService()) .getPropertyAccessor(); assertThatExceptionOfType(NotWritablePropertyException.class) // @@ -111,7 +111,7 @@ class MapDataBinderUnitTests { @Test // DATACMNS-1264 void rejectsExpressionContainingTypeExpression() { - ConfigurablePropertyAccessor accessor = new MapDataBinder(Bar.class, new DefaultFormattingConversionService()) + var accessor = new MapDataBinder(Bar.class, new DefaultFormattingConversionService()) .getPropertyAccessor(); assertThatExceptionOfType(NotWritablePropertyException.class) // @@ -121,7 +121,7 @@ class MapDataBinderUnitTests { private static Map bind(PropertyValues values) { - MapDataBinder binder = new MapDataBinder(Root.class, new DefaultFormattingConversionService()); + var binder = new MapDataBinder(Root.class, new DefaultFormattingConversionService()); binder.bind(values); return binder.getTarget(); diff --git a/src/test/java/org/springframework/data/web/PageableDefaultUnitTests.java b/src/test/java/org/springframework/data/web/PageableDefaultUnitTests.java index cf292f0f5..2763650c3 100755 --- a/src/test/java/org/springframework/data/web/PageableDefaultUnitTests.java +++ b/src/test/java/org/springframework/data/web/PageableDefaultUnitTests.java @@ -60,7 +60,7 @@ abstract class PageableDefaultUnitTests { @Test void doesNotSupportNonPageable() { - MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class); + var parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class); assertThat(getResolver().supportsParameter(parameter)).isFalse(); } @@ -98,7 +98,7 @@ abstract class PageableDefaultUnitTests { @Test void rejectsInvalidQulifiers() throws Exception { - MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "invalidQualifiers", + var parameter = TestUtils.getParameterOfMethod(getControllerClass(), "invalidQualifiers", Pageable.class, Pageable.class); HandlerMethodArgumentResolver resolver = getResolver(); @@ -112,7 +112,7 @@ abstract class PageableDefaultUnitTests { @Test void rejectsNoQualifiers() throws Exception { - MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "noQualifiers", Pageable.class, + var parameter = TestUtils.getParameterOfMethod(getControllerClass(), "noQualifiers", Pageable.class, Pageable.class); HandlerMethodArgumentResolver resolver = getResolver(); diff --git a/src/test/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverUnitTests.java b/src/test/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverUnitTests.java index 72d144f17..a6d301adf 100755 --- a/src/test/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverUnitTests.java +++ b/src/test/java/org/springframework/data/web/PageableHandlerMethodArgumentResolverUnitTests.java @@ -50,7 +50,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit void preventsPageSizeFromExceedingMayValueIfConfigured() throws Exception { // Read side - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("page", "0"); request.addParameter("size", "200"); @@ -84,9 +84,9 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test void qualifierIsUsedInParameterLookup() throws Exception { - MethodParameter parameter = new MethodParameter(Sample.class.getMethod("validQualifier", Pageable.class), 0); + var parameter = new MethodParameter(Sample.class.getMethod("validQualifier", Pageable.class), 0); - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("foo_page", "2"); request.addParameter("foo_size", "10"); @@ -96,7 +96,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-377 void usesDefaultPageSizeIfRequestPageSizeIsLessThanOne() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("page", "0"); request.addParameter("size", "0"); @@ -106,7 +106,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-377 void rejectsInvalidCustomDefaultForPageSize() throws Exception { - MethodParameter parameter = new MethodParameter(Sample.class.getMethod("invalidDefaultPageSize", Pageable.class), + var parameter = new MethodParameter(Sample.class.getMethod("invalidDefaultPageSize", Pageable.class), 0); assertThatIllegalStateException().isThrownBy(() -> assertSupportedAndResult(parameter, DEFAULT_PAGE_REQUEST)) // @@ -116,7 +116,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-408 void fallsBackToFirstPageIfNegativePageNumberIsGiven() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("page", "-1"); assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request); @@ -125,7 +125,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-408 void pageParamIsNotNumeric() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("page", "a"); assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request); @@ -134,7 +134,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-408 void sizeParamIsNotNumeric() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("size", "a"); assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request); @@ -143,7 +143,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-477 void returnsNullIfFallbackIsUnpagedAndNoParametersGiven() throws Exception { - PageableHandlerMethodArgumentResolver resolver = getResolver(); + var resolver = getResolver(); resolver.setFallbackPageable(Pageable.unpaged()); assertSupportedAndResult(supportedMethodParameter, Pageable.unpaged(), @@ -153,10 +153,10 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-477 void returnsFallbackIfOnlyPageIsGiven() throws Exception { - PageableHandlerMethodArgumentResolver resolver = getResolver(); + var resolver = getResolver(); resolver.setFallbackPageable(Pageable.unpaged()); - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("page", "20"); assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null)) @@ -166,10 +166,10 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-477 void returnsFallbackIfFallbackIsUnpagedAndOnlySizeIsGiven() throws Exception { - PageableHandlerMethodArgumentResolver resolver = getResolver(); + var resolver = getResolver(); resolver.setFallbackPageable(Pageable.unpaged()); - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("size", "10"); assertThat(resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null)) @@ -179,10 +179,10 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-563 void considersOneIndexedParametersSetting() { - PageableHandlerMethodArgumentResolver resolver = getResolver(); + var resolver = getResolver(); resolver.setOneIndexedParameters(true); - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("page", "1"); assertThat( @@ -193,14 +193,14 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-640 void usesNullSortIfNoDefaultIsConfiguredAndPageAndSizeAreGiven() { - PageableHandlerMethodArgumentResolver resolver = getResolver(); + var resolver = getResolver(); resolver.setFallbackPageable(Pageable.unpaged()); - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("page", "0"); request.addParameter("size", "10"); - Pageable result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null); + var result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null); assertThat(result.getPageNumber()).isEqualTo(0); assertThat(result.getPageSize()).isEqualTo(10); @@ -210,13 +210,13 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-692 void oneIndexedParametersDefaultsIndexOutOfRange() { - PageableHandlerMethodArgumentResolver resolver = getResolver(); + var resolver = getResolver(); resolver.setOneIndexedParameters(true); - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("page", "0"); - Pageable result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null); + var result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null); assertThat(result.getPageNumber()).isEqualTo(0); } @@ -224,13 +224,13 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-761 void returnsCorrectPageSizeForOneIndexParameters() { - PageableHandlerMethodArgumentResolver resolver = getResolver(); + var resolver = getResolver(); resolver.setOneIndexedParameters(true); - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("size", "10"); - Pageable result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null); + var result = resolver.resolveArgument(supportedMethodParameter, null, new ServletWebRequest(request), null); assertThat(result.getPageSize()).isEqualTo(10); } @@ -238,7 +238,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-929 void detectsFallbackPageableIfNullOneIsConfigured() { - PageableHandlerMethodArgumentResolver resolver = getResolver(); + var resolver = getResolver(); resolver.setFallbackPageable(Pageable.unpaged()); assertThat(resolver.isFallbackPageable(null)).isFalse(); @@ -248,9 +248,9 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-1827 void emptyQualifierIsUsedInParameterLookup() throws Exception { - MethodParameter parameter = new MethodParameter(Sample.class.getMethod("emptyQualifier", Pageable.class), 0); + var parameter = new MethodParameter(Sample.class.getMethod("emptyQualifier", Pageable.class), 0); - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("page", "2"); request.addParameter("size", "10"); @@ -260,9 +260,9 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Test // DATACMNS-1827 void mergedQualifierIsUsedInParameterLookup() throws Exception { - MethodParameter parameter = new MethodParameter(Sample.class.getMethod("mergedQualifier", Pageable.class), 0); + var parameter = new MethodParameter(Sample.class.getMethod("mergedQualifier", Pageable.class), 0); - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("merged_page", "2"); request.addParameter("merged_size", "10"); @@ -271,7 +271,7 @@ class PageableHandlerMethodArgumentResolverUnitTests extends PageableDefaultUnit @Override protected PageableHandlerMethodArgumentResolver getResolver() { - PageableHandlerMethodArgumentResolver resolver = new PageableHandlerMethodArgumentResolver(); + var resolver = new PageableHandlerMethodArgumentResolver(); resolver.setMaxPageSize(100); return resolver; } diff --git a/src/test/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolverUnitTests.java b/src/test/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolverUnitTests.java index 2fde182a9..6b2e63438 100755 --- a/src/test/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolverUnitTests.java +++ b/src/test/java/org/springframework/data/web/PagedResourcesAssemblerArgumentResolverUnitTests.java @@ -41,15 +41,15 @@ class PagedResourcesAssemblerArgumentResolverUnitTests { WebTestUtils.initWebTest(); - HateoasPageableHandlerMethodArgumentResolver hateoasPageableHandlerMethodArgumentResolver = new HateoasPageableHandlerMethodArgumentResolver(); + var hateoasPageableHandlerMethodArgumentResolver = new HateoasPageableHandlerMethodArgumentResolver(); this.resolver = new PagedResourcesAssemblerArgumentResolver(hateoasPageableHandlerMethodArgumentResolver); } @Test // DATACMNS-418 void createsPlainAssemblerWithoutContext() throws Exception { - Method method = Controller.class.getMethod("noContext", PagedResourcesAssembler.class); - Object result = resolver.resolveArgument(new MethodParameter(method, 0), null, null, null); + var method = Controller.class.getMethod("noContext", PagedResourcesAssembler.class); + var result = resolver.resolveArgument(new MethodParameter(method, 0), null, null, null); assertThat(result).isInstanceOf(PagedResourcesAssembler.class); assertThat(result).isNotInstanceOf(MethodParameterAwarePagedResourcesAssembler.class); @@ -58,28 +58,28 @@ class PagedResourcesAssemblerArgumentResolverUnitTests { @Test // DATACMNS-418 void selectsUniquePageableParameter() throws Exception { - Method method = Controller.class.getMethod("unique", PagedResourcesAssembler.class, Pageable.class); + var method = Controller.class.getMethod("unique", PagedResourcesAssembler.class, Pageable.class); assertSelectsParameter(method, 1); } @Test // DATACMNS-418 void selectsUniquePageableParameterForQualifiedAssembler() throws Exception { - Method method = Controller.class.getMethod("unnecessarilyQualified", PagedResourcesAssembler.class, Pageable.class); + var method = Controller.class.getMethod("unnecessarilyQualified", PagedResourcesAssembler.class, Pageable.class); assertSelectsParameter(method, 1); } @Test // DATACMNS-418 void selectsUniqueQualifiedPageableParameter() throws Exception { - Method method = Controller.class.getMethod("qualifiedUnique", PagedResourcesAssembler.class, Pageable.class); + var method = Controller.class.getMethod("qualifiedUnique", PagedResourcesAssembler.class, Pageable.class); assertSelectsParameter(method, 1); } @Test // DATACMNS-418 void selectsQualifiedPageableParameter() throws Exception { - Method method = Controller.class.getMethod("qualified", PagedResourcesAssembler.class, Pageable.class, + var method = Controller.class.getMethod("qualified", PagedResourcesAssembler.class, Pageable.class, Pageable.class); assertSelectsParameter(method, 1); } @@ -102,31 +102,31 @@ class PagedResourcesAssemblerArgumentResolverUnitTests { @Test // DATACMNS-419 void doesNotFailForTemplatedMethodMapping() throws Exception { - Method method = Controller.class.getMethod("methodWithPathVariable", PagedResourcesAssembler.class); - Object result = resolver.resolveArgument(new MethodParameter(method, 0), null, null, null); + var method = Controller.class.getMethod("methodWithPathVariable", PagedResourcesAssembler.class); + var result = resolver.resolveArgument(new MethodParameter(method, 0), null, null, null); assertThat(result).isNotNull(); } private void assertSelectsParameter(Method method, int expectedIndex) { - MethodParameter parameter = new MethodParameter(method, 0); + var parameter = new MethodParameter(method, 0); - Object result = resolver.resolveArgument(parameter, null, null, null); + var result = resolver.resolveArgument(parameter, null, null, null); assertMethodParameterAwarePagedResourcesAssemblerFor(result, new MethodParameter(method, expectedIndex)); } private static void assertMethodParameterAwarePagedResourcesAssemblerFor(Object result, MethodParameter parameter) { assertThat(result).isInstanceOf(MethodParameterAwarePagedResourcesAssembler.class); - MethodParameterAwarePagedResourcesAssembler assembler = (MethodParameterAwarePagedResourcesAssembler) result; + var assembler = (MethodParameterAwarePagedResourcesAssembler) result; assertThat(assembler.getMethodParameter()).isEqualTo(parameter); } private void assertRejectsAmbiguity(String methodName) throws Exception { - Method method = Controller.class.getMethod(methodName, PagedResourcesAssembler.class, Pageable.class, + var method = Controller.class.getMethod(methodName, PagedResourcesAssembler.class, Pageable.class, Pageable.class); assertThatIllegalStateException() diff --git a/src/test/java/org/springframework/data/web/PagedResourcesAssemblerUnitTests.java b/src/test/java/org/springframework/data/web/PagedResourcesAssemblerUnitTests.java index 0fdf99cd3..2e537542e 100755 --- a/src/test/java/org/springframework/data/web/PagedResourcesAssemblerUnitTests.java +++ b/src/test/java/org/springframework/data/web/PagedResourcesAssemblerUnitTests.java @@ -65,7 +65,7 @@ class PagedResourcesAssemblerUnitTests { @Test void addsNextLinkForFirstPage() { - PagedModel> resources = assembler.toModel(createPage(0)); + var resources = assembler.toModel(createPage(0)); assertThat(resources.getLink(IanaLinkRelations.PREV)).isEmpty(); assertThat(resources.getLink(IanaLinkRelations.SELF)).isNotEmpty(); @@ -75,7 +75,7 @@ class PagedResourcesAssemblerUnitTests { @Test void addsPreviousAndNextLinksForMiddlePage() { - PagedModel> resources = assembler.toModel(createPage(1)); + var resources = assembler.toModel(createPage(1)); assertThat(resources.getLink(IanaLinkRelations.PREV)).isNotEmpty(); assertThat(resources.getLink(IanaLinkRelations.SELF)).isNotEmpty(); @@ -85,7 +85,7 @@ class PagedResourcesAssemblerUnitTests { @Test void addsPreviousLinkForLastPage() { - PagedModel> resources = assembler.toModel(createPage(2)); + var resources = assembler.toModel(createPage(2)); assertThat(resources.getLink(IanaLinkRelations.PREV)).isNotEmpty(); assertThat(resources.getLink(IanaLinkRelations.SELF)).isNotEmpty(); @@ -95,10 +95,10 @@ class PagedResourcesAssemblerUnitTests { @Test void usesBaseUriIfConfigured() { - UriComponents baseUri = UriComponentsBuilder.fromUriString("https://foo:9090").build(); + var baseUri = UriComponentsBuilder.fromUriString("https://foo:9090").build(); - PagedResourcesAssembler assembler = new PagedResourcesAssembler<>(resolver, baseUri); - PagedModel> resources = assembler.toModel(createPage(1)); + var assembler = new PagedResourcesAssembler(resolver, baseUri); + var resources = assembler.toModel(createPage(1)); assertThat(resources.getRequiredLink(IanaLinkRelations.PREV).getHref()).startsWith(baseUri.toUriString()); assertThat(resources.getRequiredLink(IanaLinkRelations.SELF)).isNotNull(); @@ -108,9 +108,9 @@ class PagedResourcesAssemblerUnitTests { @Test void usesCustomLinkProvided() { - Link link = Link.of("https://foo:9090", "rel"); + var link = Link.of("https://foo:9090", "rel"); - PagedModel> resources = assembler.toModel(createPage(1), link); + var resources = assembler.toModel(createPage(1), link); assertThat(resources.getRequiredLink(IanaLinkRelations.PREV).getHref()).startsWith(link.getHref()); assertThat(resources.getRequiredLink(IanaLinkRelations.SELF)).isEqualTo(link.withSelfRel()); @@ -131,7 +131,7 @@ class PagedResourcesAssemblerUnitTests { @Test // DATACMNS-418, DATACMNS-515 void createsACanonicalLinkWithoutTemplateParameters() { - PagedModel> resources = assembler.toModel(createPage(1)); + var resources = assembler.toModel(createPage(1)); assertThat(resources.getRequiredLink(IanaLinkRelations.SELF).getHref()).doesNotContain("{").doesNotContain("}"); } @@ -139,13 +139,13 @@ class PagedResourcesAssemblerUnitTests { @Test // DATACMNS-418 void invokesCustomElementResourceAssembler() { - PersonResourceAssembler personAssembler = new PersonResourceAssembler(); + var personAssembler = new PersonResourceAssembler(); - PagedModel resources = assembler.toModel(createPage(0), personAssembler); + var resources = assembler.toModel(createPage(0), personAssembler); assertThat(resources.hasLink(IanaLinkRelations.SELF)).isTrue(); assertThat(resources.hasLink(IanaLinkRelations.NEXT)).isTrue(); - Collection content = resources.getContent(); + var content = resources.getContent(); assertThat(content).hasSize(1); assertThat(content.iterator().next().name).isEqualTo("Dave"); } @@ -153,11 +153,11 @@ class PagedResourcesAssemblerUnitTests { @Test // DATAMCNS-563 void createsPaginationLinksForOneIndexedArgumentResolverCorrectly() { - HateoasPageableHandlerMethodArgumentResolver argumentResolver = new HateoasPageableHandlerMethodArgumentResolver(); + var argumentResolver = new HateoasPageableHandlerMethodArgumentResolver(); argumentResolver.setOneIndexedParameters(true); - PagedResourcesAssembler assembler = new PagedResourcesAssembler<>(argumentResolver, null); - PagedModel> resource = assembler.toModel(createPage(1)); + var assembler = new PagedResourcesAssembler(argumentResolver, null); + var resource = assembler.toModel(createPage(1)); assertThat(resource.hasLink("prev")).isTrue(); assertThat(resource.hasLink("next")).isTrue(); @@ -172,7 +172,7 @@ class PagedResourcesAssemblerUnitTests { @Test // DATACMNS-515 void generatedLinksShouldNotBeTemplated() { - PagedModel> resources = assembler.toModel(createPage(1)); + var resources = assembler.toModel(createPage(1)); assertThat(resources.getRequiredLink(IanaLinkRelations.SELF).getHref()).doesNotContain("{").doesNotContain("}"); assertThat(resources.getRequiredLink(IanaLinkRelations.NEXT).getHref()).endsWith("?page=2&size=1"); @@ -182,12 +182,12 @@ class PagedResourcesAssemblerUnitTests { @Test // DATACMNS-699 void generatesEmptyPagedResourceWithEmbeddedWrapper() { - PagedModel result = assembler.toEmptyModel(EMPTY_PAGE, Person.class); + var result = assembler.toEmptyModel(EMPTY_PAGE, Person.class); - Collection content = result.getContent(); + var content = result.getContent(); assertThat(content).hasSize(1); - Object element = content.iterator().next(); + var element = content.iterator().next(); assertThat(element).isInstanceOf(EmbeddedWrapper.class); assertThat(((EmbeddedWrapper) element).getRelTargetType()).isEqualTo(Person.class); } @@ -205,7 +205,7 @@ class PagedResourcesAssemblerUnitTests { @Test // DATACMNS-701 void addsFirstAndLastLinksForMultiplePages() { - PagedModel> resources = assembler.toModel(createPage(1)); + var resources = assembler.toModel(createPage(1)); assertThat(resources.getRequiredLink(IanaLinkRelations.FIRST).getHref()).endsWith("?page=0&size=1"); assertThat(resources.getRequiredLink(IanaLinkRelations.LAST).getHref()).endsWith("?page=2&size=1"); @@ -214,7 +214,7 @@ class PagedResourcesAssemblerUnitTests { @Test // DATACMNS-701 void addsFirstAndLastLinksForFirstPage() { - PagedModel> resources = assembler.toModel(createPage(0)); + var resources = assembler.toModel(createPage(0)); assertThat(resources.getRequiredLink(IanaLinkRelations.FIRST).getHref()).endsWith("?page=0&size=1"); assertThat(resources.getRequiredLink(IanaLinkRelations.LAST).getHref()).endsWith("?page=2&size=1"); @@ -223,7 +223,7 @@ class PagedResourcesAssemblerUnitTests { @Test // DATACMNS-701 void addsFirstAndLastLinksForLastPage() { - PagedModel> resources = assembler.toModel(createPage(2)); + var resources = assembler.toModel(createPage(2)); assertThat(resources.getRequiredLink(IanaLinkRelations.FIRST).getHref()).endsWith("?page=0&size=1"); assertThat(resources.getRequiredLink(IanaLinkRelations.LAST).getHref()).endsWith("?page=2&size=1"); @@ -232,10 +232,10 @@ class PagedResourcesAssemblerUnitTests { @Test // DATACMNS-701 void alwaysAddsFirstAndLastLinkIfConfiguredTo() { - PagedResourcesAssembler assembler = new PagedResourcesAssembler<>(resolver, null); + var assembler = new PagedResourcesAssembler(resolver, null); assembler.setForceFirstAndLastRels(true); - PagedModel> resources = assembler.toModel(EMPTY_PAGE); + var resources = assembler.toModel(EMPTY_PAGE); assertThat(resources.getRequiredLink(IanaLinkRelations.FIRST).getHref()).endsWith("?page=0&size=20"); assertThat(resources.getRequiredLink(IanaLinkRelations.LAST).getHref()).endsWith("?page=0&size=20"); @@ -253,7 +253,7 @@ class PagedResourcesAssemblerUnitTests { @Test // DATACMNS-1042 void selfLinkContainsCoordinatesForCurrentPage() { - PagedModel> resource = assembler.toModel(createPage(0)); + var resource = assembler.toModel(createPage(0)); assertThat(resource.getRequiredLink(IanaLinkRelations.SELF).getHref()).endsWith("?page=0&size=1"); } @@ -263,7 +263,7 @@ class PagedResourcesAssemblerUnitTests { WebTestUtils.initWebTest(new MockHttpServletRequest("GET", "/sample?foo=bar")); - PagedModel> model = assembler.toModel(createPage(1)); + var model = assembler.toModel(createPage(1)); assertThat(model.getRequiredLink(IanaLinkRelations.FIRST).getHref()) .isEqualTo("http://localhost/sample?foo=bar&page=0&size=1"); @@ -273,7 +273,7 @@ class PagedResourcesAssemblerUnitTests { Pageable request = PageRequest.of(index, 1); - Person person = new Person(); + var person = new Person(); person.name = "Dave"; return new PageImpl<>(Collections.singletonList(person), request, 3); @@ -281,7 +281,7 @@ class PagedResourcesAssemblerUnitTests { private static Map getQueryParameters(Link link) { - UriComponents uriComponents = UriComponentsBuilder.fromUri(URI.create(link.expand().getHref())).build(); + var uriComponents = UriComponentsBuilder.fromUri(URI.create(link.expand().getHref())).build(); return uriComponents.getQueryParams().toSingleValueMap(); } @@ -301,7 +301,7 @@ class PagedResourcesAssemblerUnitTests { */ @Override public PersonResource toModel(Person entity) { - PersonResource resource = new PersonResource(); + var resource = new PersonResource(); resource.name = entity.name; return resource; } diff --git a/src/test/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverterUnitTests.java b/src/test/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverterUnitTests.java index 8910d6795..22093853b 100755 --- a/src/test/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverterUnitTests.java +++ b/src/test/java/org/springframework/data/web/ProjectingJackson2HttpMessageConverterUnitTests.java @@ -17,10 +17,8 @@ package org.springframework.data.web; import static org.assertj.core.api.Assertions.*; -import java.lang.reflect.Method; -import java.lang.reflect.Type; - import org.junit.jupiter.api.Test; + import org.springframework.http.MediaType; /** @@ -54,8 +52,8 @@ class ProjectingJackson2HttpMessageConverterUnitTests { @Test // DATACMNS-972 void doesNotConsiderTypeVariableBoundTo() throws Throwable { - Method method = BaseController.class.getDeclaredMethod("createEntity", AbstractDto.class); - Type type = method.getGenericParameterTypes()[0]; + var method = BaseController.class.getDeclaredMethod("createEntity", AbstractDto.class); + var type = method.getGenericParameterTypes()[0]; assertThat(converter.canRead(type, BaseController.class, ANYTHING_JSON)).isFalse(); } @@ -63,8 +61,8 @@ class ProjectingJackson2HttpMessageConverterUnitTests { @Test // DATACMNS-972 void genericTypeOnConcreteOne() throws Throwable { - Method method = ConcreteController.class.getMethod("createEntity", AbstractDto.class); - Type type = method.getGenericParameterTypes()[0]; + var method = ConcreteController.class.getMethod("createEntity", AbstractDto.class); + var type = method.getGenericParameterTypes()[0]; assertThat(converter.canRead(type, ConcreteController.class, ANYTHING_JSON)).isFalse(); } diff --git a/src/test/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolverUnitTests.java b/src/test/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolverUnitTests.java index b67cad091..01bb42982 100755 --- a/src/test/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolverUnitTests.java +++ b/src/test/java/org/springframework/data/web/ProxyingHandlerMethodArgumentResolverUnitTests.java @@ -17,10 +17,10 @@ package org.springframework.data.web; import static org.assertj.core.api.Assertions.*; -import java.lang.reflect.Method; import java.util.List; import org.junit.jupiter.api.Test; + import org.springframework.core.MethodParameter; import org.springframework.core.convert.support.DefaultConversionService; import org.springframework.data.web.ProjectingJackson2HttpMessageConverterUnitTests.SampleInterface; @@ -40,8 +40,8 @@ public class ProxyingHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-776 void supportAnnotatedInterface() throws Exception { - Method method = Controller.class.getMethod("with", AnnotatedInterface.class); - MethodParameter parameter = new MethodParameter(method, 0); + var method = Controller.class.getMethod("with", AnnotatedInterface.class); + var parameter = new MethodParameter(method, 0); assertThat(resolver.supportsParameter(parameter)).isTrue(); } @@ -49,8 +49,8 @@ public class ProxyingHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-776 void supportsUnannotatedInterfaceFromUserPackage() throws Exception { - Method method = Controller.class.getMethod("with", SampleInterface.class); - MethodParameter parameter = new MethodParameter(method, 0); + var method = Controller.class.getMethod("with", SampleInterface.class); + var parameter = new MethodParameter(method, 0); assertThat(resolver.supportsParameter(parameter)).isTrue(); } @@ -58,8 +58,8 @@ public class ProxyingHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-776 void doesNotSupportUnannotatedInterfaceFromSpringNamespace() throws Exception { - Method method = Controller.class.getMethod("with", UnannotatedInterface.class); - MethodParameter parameter = new MethodParameter(method, 0); + var method = Controller.class.getMethod("with", UnannotatedInterface.class); + var parameter = new MethodParameter(method, 0); assertThat(resolver.supportsParameter(parameter)).isFalse(); } @@ -67,8 +67,8 @@ public class ProxyingHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-776 void doesNotSupportCoreJavaType() throws Exception { - Method method = Controller.class.getMethod("with", List.class); - MethodParameter parameter = new MethodParameter(method, 0); + var method = Controller.class.getMethod("with", List.class); + var parameter = new MethodParameter(method, 0); assertThat(resolver.supportsParameter(parameter)).isFalse(); } diff --git a/src/test/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolverUnitTests.java b/src/test/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolverUnitTests.java index 5342fcd0e..7465f05a3 100755 --- a/src/test/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolverUnitTests.java +++ b/src/test/java/org/springframework/data/web/ReactivePageableHandlerMethodArgumentResolverUnitTests.java @@ -50,7 +50,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { void preventsPageSizeFromExceedingMayValueIfConfigured() { // Read side - MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=0&size=200").build(); + var request = MockServerHttpRequest.get("foo?page=0&size=200").build(); assertSupportedAndResult(supportedMethodParameter, PageRequest.of(0, 100), request); } @@ -82,9 +82,9 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void qualifierIsUsedInParameterLookup() throws Exception { - MethodParameter parameter = new MethodParameter(Sample.class.getMethod("validQualifier", Pageable.class), 0); + var parameter = new MethodParameter(Sample.class.getMethod("validQualifier", Pageable.class), 0); - MockServerHttpRequest request = MockServerHttpRequest.get("foo?foo_page=2&foo_size=10").build(); + var request = MockServerHttpRequest.get("foo?foo_page=2&foo_size=10").build(); assertSupportedAndResult(parameter, PageRequest.of(2, 10), request); } @@ -92,7 +92,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void usesDefaultPageSizeIfRequestPageSizeIsLessThanOne() { - MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=0&size=0").build(); + var request = MockServerHttpRequest.get("foo?page=0&size=0").build(); assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request); } @@ -100,7 +100,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void rejectsInvalidCustomDefaultForPageSize() throws Exception { - MethodParameter parameter = new MethodParameter(Sample.class.getMethod("invalidDefaultPageSize", Pageable.class), + var parameter = new MethodParameter(Sample.class.getMethod("invalidDefaultPageSize", Pageable.class), 0); assertThatIllegalStateException().isThrownBy(() -> assertSupportedAndResult(parameter, DEFAULT_PAGE_REQUEST)) @@ -110,7 +110,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void fallsBackToFirstPageIfNegativePageNumberIsGiven() { - MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=-1").build(); + var request = MockServerHttpRequest.get("foo?page=-1").build(); assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request); } @@ -118,7 +118,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void pageParamIsNotNumeric() { - MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=a").build(); + var request = MockServerHttpRequest.get("foo?page=a").build(); assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request); } @@ -126,7 +126,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void sizeParamIsNotNumeric() { - MockServerHttpRequest request = MockServerHttpRequest.get("foo?size=a").build(); + var request = MockServerHttpRequest.get("foo?size=a").build(); assertSupportedAndResult(supportedMethodParameter, DEFAULT_PAGE_REQUEST, request); } @@ -134,7 +134,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void returnsNullIfFallbackIsUnpagedAndNoParametersGiven() { - ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver(); + var resolver = getReactiveResolver(); resolver.setFallbackPageable(Pageable.unpaged()); assertSupportedAndResult(supportedMethodParameter, Pageable.unpaged(), TestUtils.getWebfluxRequest(), resolver); @@ -143,10 +143,10 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void returnsFallbackIfOnlyPageIsGiven() { - ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver(); + var resolver = getReactiveResolver(); resolver.setFallbackPageable(Pageable.unpaged()); - MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=20").build(); + var request = MockServerHttpRequest.get("foo?page=20").build(); assertThat(resolve(resolver, request)).isEqualTo(Pageable.unpaged()); } @@ -154,10 +154,10 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void returnsFallbackIfFallbackIsUnpagedAndOnlySizeIsGiven() { - ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver(); + var resolver = getReactiveResolver(); resolver.setFallbackPageable(Pageable.unpaged()); - MockServerHttpRequest request = MockServerHttpRequest.get("foo?size=10").build(); + var request = MockServerHttpRequest.get("foo?size=10").build(); assertThat(resolve(resolver, request)).isEqualTo(Pageable.unpaged()); } @@ -165,10 +165,10 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void considersOneIndexedParametersSetting() { - ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver(); + var resolver = getReactiveResolver(); resolver.setOneIndexedParameters(true); - MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=1").build(); + var request = MockServerHttpRequest.get("foo?page=1").build(); assertThat(resolve(resolver, request).getPageNumber()).isEqualTo(0); } @@ -176,12 +176,12 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void usesNullSortIfNoDefaultIsConfiguredAndPageAndSizeAreGiven() { - ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver(); + var resolver = getReactiveResolver(); resolver.setFallbackPageable(Pageable.unpaged()); - MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=0&size=10").build(); + var request = MockServerHttpRequest.get("foo?page=0&size=10").build(); - Pageable result = resolve(resolver, request); + var result = resolve(resolver, request); assertThat(result.getPageNumber()).isEqualTo(0); assertThat(result.getPageSize()).isEqualTo(10); @@ -191,10 +191,10 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void oneIndexedParametersDefaultsIndexOutOfRange() { - ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver(); + var resolver = getReactiveResolver(); resolver.setOneIndexedParameters(true); - MockServerHttpRequest request = MockServerHttpRequest.get("foo?page=0").build(); + var request = MockServerHttpRequest.get("foo?page=0").build(); assertThat(resolve(resolver, request).getPageNumber()).isEqualTo(0); } @@ -202,10 +202,10 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void returnsCorrectPageSizeForOneIndexParameters() { - ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver(); + var resolver = getReactiveResolver(); resolver.setOneIndexedParameters(true); - MockServerHttpRequest request = MockServerHttpRequest.get("foo?size=10").build(); + var request = MockServerHttpRequest.get("foo?size=10").build(); assertThat(resolve(resolver, request).getPageSize()).isEqualTo(10); } @@ -213,7 +213,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void detectsFallbackPageableIfNullOneIsConfigured() { - ReactivePageableHandlerMethodArgumentResolver resolver = getReactiveResolver(); + var resolver = getReactiveResolver(); resolver.setFallbackPageable(Pageable.unpaged()); assertThat(resolver.isFallbackPageable(null)).isFalse(); @@ -222,7 +222,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { private static ReactivePageableHandlerMethodArgumentResolver getReactiveResolver() { - ReactivePageableHandlerMethodArgumentResolver resolver = new ReactivePageableHandlerMethodArgumentResolver(); + var resolver = new ReactivePageableHandlerMethodArgumentResolver(); resolver.setMaxPageSize(100); return resolver; } @@ -242,7 +242,7 @@ class ReactivePageableHandlerMethodArgumentResolverUnitTests { assertThat(resolver.supportsParameter(parameter)).isTrue(); - Object value = resolver.resolveArgumentValue(parameter, null, MockServerWebExchange.from(request)); + var value = resolver.resolveArgumentValue(parameter, null, MockServerWebExchange.from(request)); assertThat(value).isEqualTo(pageable); } diff --git a/src/test/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolverUnitTests.java b/src/test/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolverUnitTests.java index 67ebfe03b..869554e50 100755 --- a/src/test/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolverUnitTests.java +++ b/src/test/java/org/springframework/data/web/ReactiveSortHandlerMethodArgumentResolverUnitTests.java @@ -26,7 +26,6 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.core.MethodParameter; import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort.Direction; -import org.springframework.data.domain.Sort.Order; import org.springframework.data.web.SortDefault.SortDefaults; import org.springframework.lang.Nullable; import org.springframework.mock.http.server.reactive.MockServerHttpRequest; @@ -50,7 +49,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void supportsSortParameter() { - ReactiveSortHandlerMethodArgumentResolver resolver = new ReactiveSortHandlerMethodArgumentResolver(); + var resolver = new ReactiveSortHandlerMethodArgumentResolver(); assertThat(resolver.supportsParameter(getParameterOfMethod("supportedMethod"))).isTrue(); } @@ -73,9 +72,9 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void fallbackToGivenDefaultSort() { - MethodParameter parameter = TestUtils.getParameterOfMethod(Controller.class, "unsupportedMethod", String.class); - ReactiveSortHandlerMethodArgumentResolver resolver = new ReactiveSortHandlerMethodArgumentResolver(); - Sort fallbackSort = Sort.by(Direction.ASC, "ID"); + var parameter = TestUtils.getParameterOfMethod(Controller.class, "unsupportedMethod", String.class); + var resolver = new ReactiveSortHandlerMethodArgumentResolver(); + var fallbackSort = Sort.by(Direction.ASC, "ID"); resolver.setFallbackSort(fallbackSort); assertThat(resolve(resolver, TestUtils.getWebfluxRequest(), parameter)).isEqualTo(fallbackSort); @@ -84,8 +83,8 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void fallbackToDefaultDefaultSort() { - MethodParameter parameter = TestUtils.getParameterOfMethod(Controller.class, "unsupportedMethod", String.class); - ReactiveSortHandlerMethodArgumentResolver resolver = new ReactiveSortHandlerMethodArgumentResolver(); + var parameter = TestUtils.getParameterOfMethod(Controller.class, "unsupportedMethod", String.class); + var resolver = new ReactiveSortHandlerMethodArgumentResolver(); assertThat(resolve(resolver, TestUtils.getWebfluxRequest(), parameter).isSorted()).isFalse(); } @@ -93,9 +92,9 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void discoversSimpleSortFromRequest() { - MethodParameter parameter = getParameterOfMethod("simpleDefault"); - Sort reference = Sort.by("bar", "foo"); - MockServerHttpRequest request = getRequestWithSort(reference); + var parameter = getParameterOfMethod("simpleDefault"); + var reference = Sort.by("bar", "foo"); + var request = getRequestWithSort(reference); assertSupportedAndResolvedTo(request, parameter, reference); } @@ -103,8 +102,8 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void discoversComplexSortFromRequest() { - MethodParameter parameter = getParameterOfMethod("simpleDefault"); - Sort reference = Sort.by("bar", "foo").and(Sort.by("fizz", "buzz")); + var parameter = getParameterOfMethod("simpleDefault"); + var reference = Sort.by("bar", "foo").and(Sort.by("fizz", "buzz")); assertSupportedAndResolvedTo(getRequestWithSort(reference), parameter, reference); } @@ -112,8 +111,8 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void discoversQualifiedSortFromRequest() { - MethodParameter parameter = getParameterOfMethod("qualifiedSort"); - Sort reference = Sort.by("bar", "foo"); + var parameter = getParameterOfMethod("qualifiedSort"); + var reference = Sort.by("bar", "foo"); assertSupportedAndResolvedTo(getRequestWithSort(reference, "qual"), parameter, reference); } @@ -121,11 +120,11 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void requestForMultipleSortPropertiesIsUnmarshalledCorrectly() { - MockServerHttpRequest request = MockServerHttpRequest.get(String.format("foo?sort=%s", SortDefaultUnitTests.SORT_3)) + var request = MockServerHttpRequest.get(String.format("foo?sort=%s", SortDefaultUnitTests.SORT_3)) .build(); - ReactiveSortHandlerMethodArgumentResolver resolver = new ReactiveSortHandlerMethodArgumentResolver(); - Sort result = resolve(resolver, request, PARAMETER); + var resolver = new ReactiveSortHandlerMethodArgumentResolver(); + var result = resolve(resolver, request, PARAMETER); assertThat(result).isEqualTo(Sort.by(Direction.ASC, "firstname", "lastname")); } @@ -133,7 +132,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void parsesEmptySortToNull() { - MockServerHttpRequest request = MockServerHttpRequest.get("foo?sort=").build(); + var request = MockServerHttpRequest.get("foo?sort=").build(); assertThat(resolve(request, PARAMETER).isSorted()).isFalse(); } @@ -141,7 +140,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void sortParamIsInvalidProperty() { - MockServerHttpRequest request = MockServerHttpRequest.get("foo?sort=,DESC").build(); + var request = MockServerHttpRequest.get("foo?sort=,DESC").build(); assertThat(resolve(request, PARAMETER).isSorted()).isFalse(); } @@ -149,7 +148,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void sortParamIsInvalidPropertyWhenMultiProperty() { - MockServerHttpRequest request = MockServerHttpRequest.get("foo?sort=property1,,DESC").build(); + var request = MockServerHttpRequest.get("foo?sort=property1,,DESC").build(); assertThat(resolve(request, PARAMETER)).isEqualTo(Sort.by(DESC, "property1")); } @@ -157,9 +156,9 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void rejectsDoubleAnnotatedMethod() { - MethodParameter parameter = getParameterOfMethod("invalid"); + var parameter = getParameterOfMethod("invalid"); - ReactiveSortHandlerMethodArgumentResolver resolver = new ReactiveSortHandlerMethodArgumentResolver(); + var resolver = new ReactiveSortHandlerMethodArgumentResolver(); assertThat(resolver.supportsParameter(parameter)).isTrue(); assertThatIllegalArgumentException() @@ -173,7 +172,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void sortParamIsEmptyWhenMultiParams() { - MockServerHttpRequest request = MockServerHttpRequest.get("foo?sort=property,DESC&sort=").build(); + var request = MockServerHttpRequest.get("foo?sort=property,DESC&sort=").build(); assertThat(resolve(request, PARAMETER)).isEqualTo(Sort.by(DESC, "property")); } @@ -181,7 +180,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void parsesCommaParameterForSort() { - MockServerHttpRequest request = MockServerHttpRequest.get("foo?sort=,").build(); + var request = MockServerHttpRequest.get("foo?sort=,").build(); assertThat(resolve(request, PARAMETER).isSorted()).isFalse(); } @@ -189,7 +188,7 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { @Test // DATACMNS-1211 void doesNotReturnNullWhenAnnotatedWithSortDefault() { - MockServerHttpRequest request = MockServerHttpRequest.get("foo?sort=").build(); + var request = MockServerHttpRequest.get("foo?sort=").build(); assertThat(resolve(request, getParameterOfMethod("simpleDefault"))).isEqualTo(Sort.by("firstname", "lastname")); assertThat(resolve(request, getParameterOfMethod("containeredDefault"))).isEqualTo(Sort.by("foo", "bar")); @@ -211,10 +210,10 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { private static void assertSupportedAndResolvedTo(MockServerHttpRequest request, MethodParameter parameter, Sort sort) { - ReactiveSortHandlerMethodArgumentResolver resolver = new ReactiveSortHandlerMethodArgumentResolver(); + var resolver = new ReactiveSortHandlerMethodArgumentResolver(); assertThat(resolver.supportsParameter(parameter)).isTrue(); - Sort resolved = resolve(resolver, request, parameter); + var resolved = resolve(resolver, request, parameter); assertThat(resolved).isEqualTo(sort); } @@ -229,10 +228,10 @@ class ReactiveSortHandlerMethodArgumentResolverUnitTests { return TestUtils.getWebfluxRequest(); } - StringBuilder queryString = new StringBuilder(); - for (Order order : sort) { + var queryString = new StringBuilder(); + for (var order : sort) { - String prefix = StringUtils.hasText(qualifier) ? qualifier + "_" : ""; + var prefix = StringUtils.hasText(qualifier) ? qualifier + "_" : ""; if (queryString.length() != 0) { queryString.append('&'); diff --git a/src/test/java/org/springframework/data/web/SortDefaultUnitTests.java b/src/test/java/org/springframework/data/web/SortDefaultUnitTests.java index 7f18052c6..1beba2935 100755 --- a/src/test/java/org/springframework/data/web/SortDefaultUnitTests.java +++ b/src/test/java/org/springframework/data/web/SortDefaultUnitTests.java @@ -58,8 +58,8 @@ abstract class SortDefaultUnitTests { private static void assertSortStringParsedInto(Sort expected, String... source) { - SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver(); - Sort sort = resolver.parseParameterIntoSort(Arrays.asList(source), ","); + var resolver = new SortHandlerMethodArgumentResolver(); + var sort = resolver.parseParameterIntoSort(Arrays.asList(source), ","); assertThat(sort).isEqualTo(expected); } @@ -87,14 +87,14 @@ abstract class SortDefaultUnitTests { @Test void rejectsNonSortParameter() { - MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class); + var parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class); assertThat(getResolver().supportsParameter(parameter)).isFalse(); } @Test void rejectsDoubleAnnotatedMethod() { - MethodParameter parameter = getParameterOfMethod("invalid"); + var parameter = getParameterOfMethod("invalid"); HandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver(); assertThat(resolver.supportsParameter(parameter)).isTrue(); @@ -109,8 +109,8 @@ abstract class SortDefaultUnitTests { @Test void discoversContaineredDefault() throws Exception { - MethodParameter parameter = getParameterOfMethod("containeredDefault"); - Sort reference = Sort.by("foo", "bar"); + var parameter = getParameterOfMethod("containeredDefault"); + var reference = Sort.by("foo", "bar"); assertSupportedAndResolvedTo(parameter, reference); } @@ -123,7 +123,7 @@ abstract class SortDefaultUnitTests { private void assertSupportedAndResolvedTo(MethodParameter parameter, Sort sort) throws Exception { - HandlerMethodArgumentResolver resolver = getResolver(); + var resolver = getResolver(); assertThat(resolver.supportsParameter(parameter)).isTrue(); assertThat(resolver.resolveArgument(parameter, null, TestUtils.getWebRequest(), null)).isEqualTo(sort); } diff --git a/src/test/java/org/springframework/data/web/SortHandlerMethodArgumentResolverUnitTests.java b/src/test/java/org/springframework/data/web/SortHandlerMethodArgumentResolverUnitTests.java index 878f25a9b..294c7f0a2 100755 --- a/src/test/java/org/springframework/data/web/SortHandlerMethodArgumentResolverUnitTests.java +++ b/src/test/java/org/springframework/data/web/SortHandlerMethodArgumentResolverUnitTests.java @@ -59,31 +59,31 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test // DATACMNS-351 void fallbackToGivenDefaultSort() { - MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class); - SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver(); - Sort fallbackSort = Sort.by(Direction.ASC, "ID"); + var parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class); + var resolver = new SortHandlerMethodArgumentResolver(); + var fallbackSort = Sort.by(Direction.ASC, "ID"); resolver.setFallbackSort(fallbackSort); - Sort sort = resolver.resolveArgument(parameter, null, new ServletWebRequest(new MockHttpServletRequest()), null); + var sort = resolver.resolveArgument(parameter, null, new ServletWebRequest(new MockHttpServletRequest()), null); assertThat(sort).isEqualTo(fallbackSort); } @Test // DATACMNS-351 void fallbackToDefaultDefaultSort() { - MethodParameter parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class); - SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver(); + var parameter = TestUtils.getParameterOfMethod(getControllerClass(), "unsupportedMethod", String.class); + var resolver = new SortHandlerMethodArgumentResolver(); - Sort sort = resolver.resolveArgument(parameter, null, new ServletWebRequest(new MockHttpServletRequest()), null); + var sort = resolver.resolveArgument(parameter, null, new ServletWebRequest(new MockHttpServletRequest()), null); assertThat(sort.isSorted()).isFalse(); } @Test void discoversSimpleSortFromRequest() { - MethodParameter parameter = getParameterOfMethod("simpleDefault"); - Sort reference = Sort.by("bar", "foo"); - NativeWebRequest request = getRequestWithSort(reference); + var parameter = getParameterOfMethod("simpleDefault"); + var reference = Sort.by("bar", "foo"); + var request = getRequestWithSort(reference); assertSupportedAndResolvedTo(request, parameter, reference); } @@ -91,8 +91,8 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test void discoversComplexSortFromRequest() { - MethodParameter parameter = getParameterOfMethod("simpleDefault"); - Sort reference = Sort.by("bar", "foo").and(Sort.by("fizz", "buzz")); + var parameter = getParameterOfMethod("simpleDefault"); + var reference = Sort.by("bar", "foo").and(Sort.by("fizz", "buzz")); assertSupportedAndResolvedTo(getRequestWithSort(reference), parameter, reference); } @@ -100,8 +100,8 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test void discoversQualifiedSortFromRequest() { - MethodParameter parameter = getParameterOfMethod("qualifiedSort"); - Sort reference = Sort.by("bar", "foo"); + var parameter = getParameterOfMethod("qualifiedSort"); + var reference = Sort.by("bar", "foo"); assertSupportedAndResolvedTo(getRequestWithSort(reference, "qual"), parameter, reference); } @@ -109,33 +109,33 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test void returnsNullForSortParameterSetToNothing() { - MethodParameter parameter = getParameterOfMethod("supportedMethod"); + var parameter = getParameterOfMethod("supportedMethod"); - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("sort", (String) null); - SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver(); - Sort result = resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null); + var resolver = new SortHandlerMethodArgumentResolver(); + var result = resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null); assertThat(result.isSorted()).isFalse(); } @Test // DATACMNS-366 void requestForMultipleSortPropertiesIsUnmarshalledCorrectly() { - MethodParameter parameter = getParameterOfMethod("supportedMethod"); + var parameter = getParameterOfMethod("supportedMethod"); - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("sort", SORT_3); - SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver(); - Sort result = resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null); + var resolver = new SortHandlerMethodArgumentResolver(); + var result = resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null); assertThat(result).isEqualTo(Sort.by(Direction.ASC, "firstname", "lastname")); } @Test // DATACMNS-408 void parsesEmptySortToNull() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("sort", ""); assertThat(resolveSort(request, PARAMETER).isSorted()).isFalse(); @@ -144,7 +144,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test // DATACMNS-408 void sortParamIsInvalidProperty() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("sort", ",DESC"); assertThat(resolveSort(request, PARAMETER).isSorted()).isFalse(); @@ -153,7 +153,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test // DATACMNS-408 void sortParamIsInvalidPropertyWhenMultiProperty() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("sort", "property1,,DESC"); assertThat(resolveSort(request, PARAMETER)).isEqualTo(Sort.by(DESC, "property1")); @@ -162,7 +162,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test // DATACMNS-408 void sortParamIsEmptyWhenMultiParams() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("sort", "property,DESC"); request.addParameter("sort", ""); @@ -172,7 +172,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test // DATACMNS-658 void sortParamHandlesSortOrderAndIgnoreCase() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("sort", "property,DESC,IgnoreCase"); request.addParameter("sort", ""); @@ -182,7 +182,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test // DATACMNS-658 void sortParamHandlesMultiplePropertiesWithSortOrderAndIgnoreCase() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("sort", "property1,property2,DESC,IgnoreCase"); assertThat(resolveSort(request, PARAMETER)) @@ -192,7 +192,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test // DATACMNS-658 void sortParamHandlesIgnoreCase() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("sort", "property,IgnoreCase"); request.addParameter("sort", ""); @@ -202,7 +202,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test // DATACMNS-658 void returnsDefaultCaseInsensitive() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("sort", ""); assertThat(resolveSort(request, getParameterOfMethod("simpleDefaultWithDirectionCaseInsensitive"))) @@ -212,7 +212,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test // DATACMNS-379 void parsesCommaParameterForSort() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("sort", ","); assertThat(resolveSort(request, PARAMETER).isSorted()).isFalse(); @@ -221,7 +221,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test // DATACMNS-753, DATACMNS-408 void doesNotReturnNullWhenAnnotatedWithSortDefault() throws Exception { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("sort", ""); assertThat(resolveSort(request, getParameterOfMethod("simpleDefault"))).isEqualTo(Sort.by("firstname", "lastname")); @@ -233,7 +233,7 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { Stream.of(".", ".,ASC").forEach(it -> { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); request.addParameter("sort", it); assertThatCode(() -> { @@ -245,8 +245,8 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test // DATACMNS-1827 void emptyQualifierIsUsedInParameterLookup() { - MethodParameter parameter = getParameterOfMethod("emptyQualifier"); - Sort reference = Sort.by("bar", "foo"); + var parameter = getParameterOfMethod("emptyQualifier"); + var reference = Sort.by("bar", "foo"); assertSupportedAndResolvedTo(getRequestWithSort(reference, ""), parameter, reference); } @@ -254,21 +254,21 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { @Test // DATACMNS-1827 void mergedQualifierIsUsedInParameterLookup() { - MethodParameter parameter = getParameterOfMethod("mergedQualifier"); - Sort reference = Sort.by("bar", "foo"); + var parameter = getParameterOfMethod("mergedQualifier"); + var reference = Sort.by("bar", "foo"); assertSupportedAndResolvedTo(getRequestWithSort(reference, "merged"), parameter, reference); } private static Sort resolveSort(HttpServletRequest request, MethodParameter parameter) throws Exception { - SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver(); + var resolver = new SortHandlerMethodArgumentResolver(); return resolver.resolveArgument(parameter, null, new ServletWebRequest(request), null); } private static void assertSupportedAndResolvedTo(NativeWebRequest request, MethodParameter parameter, Sort sort) { - SortHandlerMethodArgumentResolver resolver = new SortHandlerMethodArgumentResolver(); + var resolver = new SortHandlerMethodArgumentResolver(); assertThat(resolver.supportsParameter(parameter)).isTrue(); try { @@ -284,16 +284,16 @@ class SortHandlerMethodArgumentResolverUnitTests extends SortDefaultUnitTests { private static NativeWebRequest getRequestWithSort(@Nullable Sort sort, @Nullable String qualifier) { - MockHttpServletRequest request = new MockHttpServletRequest(); + var request = new MockHttpServletRequest(); if (sort == null) { return new ServletWebRequest(request); } - for (Order order : sort) { + for (var order : sort) { - String prefix = StringUtils.hasText(qualifier) ? qualifier + "_" : ""; - String suffix = order.isIgnoreCase() ? ",IgnoreCase" : ""; + var prefix = StringUtils.hasText(qualifier) ? qualifier + "_" : ""; + var suffix = order.isIgnoreCase() ? ",IgnoreCase" : ""; request.addParameter(prefix + "sort", String.format("%s,%s%s", order.getProperty(), order.getDirection().name(), suffix)); } diff --git a/src/test/java/org/springframework/data/web/TestUtils.java b/src/test/java/org/springframework/data/web/TestUtils.java index f74fe78e6..606f3e8d0 100644 --- a/src/test/java/org/springframework/data/web/TestUtils.java +++ b/src/test/java/org/springframework/data/web/TestUtils.java @@ -42,7 +42,7 @@ class TestUtils { static MethodParameter getParameterOfMethod(Class controller, String name, Class... argumentTypes) { - Method method = getMethod(controller, name, argumentTypes); + var method = getMethod(controller, name, argumentTypes); return new MethodParameter(method, 0); } diff --git a/src/test/java/org/springframework/data/web/WebTestUtils.java b/src/test/java/org/springframework/data/web/WebTestUtils.java index 8bb0ac22e..61d39c710 100644 --- a/src/test/java/org/springframework/data/web/WebTestUtils.java +++ b/src/test/java/org/springframework/data/web/WebTestUtils.java @@ -43,7 +43,7 @@ public class WebTestUtils { */ public static void initWebTest(HttpServletRequest request) { - ServletRequestAttributes requestAttributes = new ServletRequestAttributes(request); + var requestAttributes = new ServletRequestAttributes(request); RequestContextHolder.setRequestAttributes(requestAttributes); } @@ -66,14 +66,14 @@ public class WebTestUtils { */ public static WebApplicationContext createApplicationContext(ClassLoader classLoader, Class... configClasses) { - AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); + var context = new AnnotationConfigWebApplicationContext(); if (classLoader != null) { context.setClassLoader(classLoader); } context.setServletContext(new MockServletContext()); - for (Class configClass : configClasses) { + for (var configClass : configClasses) { context.register(configClass); } diff --git a/src/test/java/org/springframework/data/web/XmlBeamHttpMessageConverterUnitTests.java b/src/test/java/org/springframework/data/web/XmlBeamHttpMessageConverterUnitTests.java index dcf54badc..b094b5672 100755 --- a/src/test/java/org/springframework/data/web/XmlBeamHttpMessageConverterUnitTests.java +++ b/src/test/java/org/springframework/data/web/XmlBeamHttpMessageConverterUnitTests.java @@ -52,7 +52,7 @@ class XmlBeamHttpMessageConverterUnitTests { preparePayload("DaveMatthews"); - Customer customer = (Customer) converter.read(Customer.class, message); + var customer = (Customer) converter.read(Customer.class, message); assertThat(customer.getFirstname()).isEqualTo("Dave"); assertThat(customer.getLastname()).isEqualTo("Matthews"); @@ -63,7 +63,7 @@ class XmlBeamHttpMessageConverterUnitTests { preparePayload("DaveMatthews"); - Customer customer = (Customer) converter.read(Customer.class, message); + var customer = (Customer) converter.read(Customer.class, message); assertThat(customer.getFirstname()).isEqualTo("Dave"); assertThat(customer.getLastname()).isEqualTo("Matthews"); @@ -94,10 +94,14 @@ class XmlBeamHttpMessageConverterUnitTests { @Test // DATACMNS-1292 void doesNotSupportEntityExpansion() throws Exception { - preparePayload("\n" // - + "\n" // - + "]>&xxe;Matthews"); + // + // + // + preparePayload(""" + + + ]>&xxe;Matthews"""); assertThatExceptionOfType(HttpMessageNotReadableException.class) // .isThrownBy(() -> converter.read(Customer.class, message)) // diff --git a/src/test/java/org/springframework/data/web/config/EnableSpringDataWebSupportIntegrationTests.java b/src/test/java/org/springframework/data/web/config/EnableSpringDataWebSupportIntegrationTests.java index bf2f21de8..69d83b361 100755 --- a/src/test/java/org/springframework/data/web/config/EnableSpringDataWebSupportIntegrationTests.java +++ b/src/test/java/org/springframework/data/web/config/EnableSpringDataWebSupportIntegrationTests.java @@ -20,9 +20,9 @@ import static org.springframework.test.web.servlet.request.MockMvcRequestBuilder import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; import java.util.Arrays; -import java.util.List; import org.junit.jupiter.api.Test; + import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -40,10 +40,7 @@ import org.springframework.data.web.SortHandlerMethodArgumentResolver; import org.springframework.data.web.WebTestUtils; import org.springframework.hateoas.Link; import org.springframework.test.util.ReflectionTestUtils; -import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.setup.MockMvcBuilders; -import org.springframework.web.context.WebApplicationContext; -import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter; import org.springframework.web.util.UriComponentsBuilder; @@ -108,7 +105,7 @@ class EnableSpringDataWebSupportIntegrationTests { void registersBasicBeanDefinitions() throws Exception { ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class); - List names = Arrays.asList(context.getBeanDefinitionNames()); + var names = Arrays.asList(context.getBeanDefinitionNames()); assertThat(names).contains("pageableResolver", "sortResolver"); @@ -120,7 +117,7 @@ class EnableSpringDataWebSupportIntegrationTests { void registersHateoasSpecificBeanDefinitions() throws Exception { ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class); - List names = Arrays.asList(context.getBeanDefinitionNames()); + var names = Arrays.asList(context.getBeanDefinitionNames()); assertThat(names).contains("pagedResourcesAssembler", "pagedResourcesAssemblerArgumentResolver"); assertResolversRegistered(context, PagedResourcesAssemblerArgumentResolver.class); @@ -129,11 +126,11 @@ class EnableSpringDataWebSupportIntegrationTests { @Test // DATACMNS-330 void doesNotRegisterHateoasSpecificComponentsIfHateoasNotPresent() throws Exception { - HidingClassLoader classLoader = HidingClassLoader.hide(Link.class); + var classLoader = HidingClassLoader.hide(Link.class); ApplicationContext context = WebTestUtils.createApplicationContext(classLoader, SampleConfig.class); - List names = Arrays.asList(context.getBeanDefinitionNames()); + var names = Arrays.asList(context.getBeanDefinitionNames()); assertThat(names).contains("pageableResolver", "sortResolver"); assertThat(names).doesNotContain("pagedResourcesAssembler", "pagedResourcesAssemblerArgumentResolver"); @@ -143,7 +140,7 @@ class EnableSpringDataWebSupportIntegrationTests { void registersJacksonSpecificBeanDefinitions() throws Exception { ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class); - List names = Arrays.asList(context.getBeanDefinitionNames()); + var names = Arrays.asList(context.getBeanDefinitionNames()); assertThat(names).contains("jacksonGeoModule"); } @@ -154,7 +151,7 @@ class EnableSpringDataWebSupportIntegrationTests { ApplicationContext context = WebTestUtils.createApplicationContext(HidingClassLoader.hide(ObjectMapper.class), SampleConfig.class); - List names = Arrays.asList(context.getBeanDefinitionNames()); + var names = Arrays.asList(context.getBeanDefinitionNames()); assertThat(names).doesNotContain("jacksonGeoModule"); } @@ -164,7 +161,7 @@ class EnableSpringDataWebSupportIntegrationTests { ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class); - ConversionService conversionService = context.getBean(ConversionService.class); + var conversionService = context.getBean(ConversionService.class); assertThat(conversionService.canConvert(String.class, Distance.class)).isTrue(); assertThat(conversionService.canConvert(Distance.class, String.class)).isTrue(); @@ -175,10 +172,10 @@ class EnableSpringDataWebSupportIntegrationTests { @Test // DATACMNS-630 void createsProxyForInterfaceBasedControllerMethodParameter() throws Exception { - WebApplicationContext applicationContext = WebTestUtils.createApplicationContext(SampleConfig.class); - MockMvc mvc = MockMvcBuilders.webAppContextSetup(applicationContext).build(); + var applicationContext = WebTestUtils.createApplicationContext(SampleConfig.class); + var mvc = MockMvcBuilders.webAppContextSetup(applicationContext).build(); - UriComponentsBuilder builder = UriComponentsBuilder.fromUriString("/proxy"); + var builder = UriComponentsBuilder.fromUriString("/proxy"); builder.queryParam("name", "Foo"); builder.queryParam("shippingAddresses[0].zipCode", "ZIP"); builder.queryParam("shippingAddresses[0].city", "City"); @@ -194,7 +191,7 @@ class EnableSpringDataWebSupportIntegrationTests { void picksUpWebConfigurationMixins() { ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class); - List names = Arrays.asList(context.getBeanDefinitionNames()); + var names = Arrays.asList(context.getBeanDefinitionNames()); assertThat(names).contains("sampleBean"); } @@ -203,8 +200,8 @@ class EnableSpringDataWebSupportIntegrationTests { void picksUpPageableResolverCustomizer() { ApplicationContext context = WebTestUtils.createApplicationContext(PageableResolverCustomizerConfig.class); - List names = Arrays.asList(context.getBeanDefinitionNames()); - PageableHandlerMethodArgumentResolver resolver = context.getBean("pageableResolver", PageableHandlerMethodArgumentResolver.class); + var names = Arrays.asList(context.getBeanDefinitionNames()); + var resolver = context.getBean("pageableResolver", PageableHandlerMethodArgumentResolver.class); assertThat(names).contains("testPageableResolverCustomizer"); assertThat((Integer) ReflectionTestUtils.getField(resolver, "maxPageSize")).isEqualTo(100); @@ -214,8 +211,8 @@ class EnableSpringDataWebSupportIntegrationTests { void picksUpSortResolverCustomizer() { ApplicationContext context = WebTestUtils.createApplicationContext(SortResolverCustomizerConfig.class); - List names = Arrays.asList(context.getBeanDefinitionNames()); - SortHandlerMethodArgumentResolver resolver = context.getBean("sortResolver", SortHandlerMethodArgumentResolver.class); + var names = Arrays.asList(context.getBeanDefinitionNames()); + var resolver = context.getBean("sortResolver", SortHandlerMethodArgumentResolver.class); assertThat(names).contains("testSortResolverCustomizer"); assertThat((String) ReflectionTestUtils.getField(resolver, "sortParameter")).isEqualTo("foo"); @@ -226,7 +223,7 @@ class EnableSpringDataWebSupportIntegrationTests { ApplicationContext context = WebTestUtils.createApplicationContext(SampleConfig.class); - RequestMappingHandlerAdapter adapter = context.getBean(RequestMappingHandlerAdapter.class); + var adapter = context.getBean(RequestMappingHandlerAdapter.class); assertThat(adapter.getArgumentResolvers().get(0)).isInstanceOf(ProxyingHandlerMethodArgumentResolver.class); } @@ -234,7 +231,7 @@ class EnableSpringDataWebSupportIntegrationTests { @Test // DATACMNS-1235 void picksUpEntityPathResolverIfRegistered() { - WebApplicationContext context = WebTestUtils.createApplicationContext(CustomEntityPathResolver.class); + var context = WebTestUtils.createApplicationContext(CustomEntityPathResolver.class); assertThat(context.getBean(EntityPathResolver.class)).isEqualTo(CustomEntityPathResolver.resolver); assertThat(context.getBean(QuerydslBindingsFactory.class).getEntityPathResolver()) @@ -243,9 +240,9 @@ class EnableSpringDataWebSupportIntegrationTests { private static void assertResolversRegistered(ApplicationContext context, Class... resolverTypes) { - RequestMappingHandlerAdapter adapter = context.getBean(RequestMappingHandlerAdapter.class); + var adapter = context.getBean(RequestMappingHandlerAdapter.class); assertThat(adapter).isNotNull(); - List resolvers = adapter.getCustomArgumentResolvers(); + var resolvers = adapter.getCustomArgumentResolvers(); Arrays.asList(resolverTypes).forEach(type -> assertThat(resolvers).hasAtLeastOneElementOfType(type)); } diff --git a/src/test/java/org/springframework/data/web/config/PageableResourcesAssemblerIntegrationTests.java b/src/test/java/org/springframework/data/web/config/PageableResourcesAssemblerIntegrationTests.java index e67a903c2..ecbfc0e57 100755 --- a/src/test/java/org/springframework/data/web/config/PageableResourcesAssemblerIntegrationTests.java +++ b/src/test/java/org/springframework/data/web/config/PageableResourcesAssemblerIntegrationTests.java @@ -37,7 +37,6 @@ import org.springframework.hateoas.IanaLinkRelations; import org.springframework.hateoas.PagedModel; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.context.WebApplicationContext; /** * Integration tests for {@link PagedResourcesAssembler}. @@ -64,12 +63,12 @@ class PageableResourcesAssemblerIntegrationTests { @Test void injectsPagedResourcesAssembler() { - WebApplicationContext context = WebTestUtils.createApplicationContext(Config.class); - SampleController controller = context.getBean(SampleController.class); + var context = WebTestUtils.createApplicationContext(Config.class); + var controller = context.getBean(SampleController.class); assertThat(controller.assembler).isNotNull(); - PagedModel> resources = controller.sample(PageRequest.of(1, 1)); + var resources = controller.sample(PageRequest.of(1, 1)); assertThat(resources.getLink(IanaLinkRelations.PREV)).isNotNull(); assertThat(resources.getLink(IanaLinkRelations.NEXT)).isNotNull(); @@ -79,7 +78,7 @@ class PageableResourcesAssemblerIntegrationTests { @Test // DATACMNS-471 void setsUpPagedResourcesAssemblerFromManualXmlConfig() { - ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("manual.xml", getClass()); + var context = new ClassPathXmlApplicationContext("manual.xml", getClass()); assertThat(context.getBean(PagedResourcesAssembler.class)).isNotNull(); context.close(); } @@ -87,7 +86,7 @@ class PageableResourcesAssemblerIntegrationTests { @Test // DATACMNS-471 void setsUpPagedResourcesAssemblerFromJavaConfigXmlConfig() { - ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("via-config-class.xml", getClass()); + var context = new ClassPathXmlApplicationContext("via-config-class.xml", getClass()); assertThat(context.getBean(PagedResourcesAssembler.class)).isNotNull(); context.close(); } diff --git a/src/test/java/org/springframework/data/web/config/SampleController.java b/src/test/java/org/springframework/data/web/config/SampleController.java index 3870ab1c4..0d826c1fc 100755 --- a/src/test/java/org/springframework/data/web/config/SampleController.java +++ b/src/test/java/org/springframework/data/web/config/SampleController.java @@ -21,7 +21,6 @@ import java.util.Collection; import java.util.Date; import org.springframework.data.web.ProjectedPayload; -import org.springframework.data.web.config.SampleController.SampleDto.Address; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat.ISO; import org.springframework.stereotype.Controller; @@ -40,7 +39,7 @@ class SampleController { assertThat(sampleDto.getName()).isEqualTo("Foo"); assertThat(sampleDto.getDate()).isNotNull(); - Collection
shippingAddresses = sampleDto.getShippingAddresses(); + var shippingAddresses = sampleDto.getShippingAddresses(); assertThat(shippingAddresses).hasSize(1); assertThat(shippingAddresses.iterator().next().getZipCode()).isEqualTo("ZIP"); diff --git a/src/test/java/org/springframework/data/web/config/SpringDataWebConfigurationIntegrationTests.java b/src/test/java/org/springframework/data/web/config/SpringDataWebConfigurationIntegrationTests.java index 8f3b9ca0c..f49ff5710 100644 --- a/src/test/java/org/springframework/data/web/config/SpringDataWebConfigurationIntegrationTests.java +++ b/src/test/java/org/springframework/data/web/config/SpringDataWebConfigurationIntegrationTests.java @@ -120,7 +120,7 @@ class SpringDataWebConfigurationIntegrationTests { List> configClasses = new ArrayList<>(Arrays.asList(additionalConfigurationClasses)); configClasses.add(SpringDataWebConfiguration.class); - try (AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext( + try (var context = new AnnotationConfigApplicationContext( configClasses.toArray(new Class[configClasses.size()]))) { context.setClassLoader(classLoader); @@ -131,8 +131,8 @@ class SpringDataWebConfigurationIntegrationTests { private static Class loadWithout(Class configurationClass, Class... typesOfPackagesToExclude) throws ClassNotFoundException { - HidingClassLoader hidingClassLoader = HidingClassLoader.hide(typesOfPackagesToExclude); - ShadowingClassLoader loader = new ShadowingClassLoader(hidingClassLoader); + var hidingClassLoader = HidingClassLoader.hide(typesOfPackagesToExclude); + var loader = new ShadowingClassLoader(hidingClassLoader); loader.excludeClass(configurationClass.getName()); return loader.loadClass(configurationClass.getName()); diff --git a/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java b/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java index 59773dece..792b9f95d 100755 --- a/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java +++ b/src/test/java/org/springframework/data/web/querydsl/QuerydslPredicateArgumentResolverUnitTests.java @@ -26,6 +26,7 @@ import java.util.Optional; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; + import org.springframework.core.MethodParameter; import org.springframework.core.annotation.AliasFor; import org.springframework.core.annotation.MergedAnnotation; @@ -50,7 +51,6 @@ import org.springframework.web.context.request.ServletWebRequest; import org.springframework.web.servlet.ModelAndView; import com.querydsl.core.types.Predicate; -import com.querydsl.core.types.dsl.BooleanExpression; /** * Unit tests for {@link QuerydslPredicateArgumentResolver}. @@ -100,7 +100,7 @@ class QuerydslPredicateArgumentResolverUnitTests { request.addParameter("firstname", "rand"); - Object predicate = resolver.resolveArgument(getMethodParameterFor("simpleFind", Predicate.class), null, + var predicate = resolver.resolveArgument(getMethodParameterFor("simpleFind", Predicate.class), null, new ServletWebRequest(request), null); assertThat(predicate).isEqualTo(QUser.user.firstname.eq("rand")); @@ -112,7 +112,7 @@ class QuerydslPredicateArgumentResolverUnitTests { request.addParameter("firstname", "rand"); request.addParameter("lastname", "al'thor"); - Object predicate = resolver.resolveArgument(getMethodParameterFor("simpleFind", Predicate.class), null, + var predicate = resolver.resolveArgument(getMethodParameterFor("simpleFind", Predicate.class), null, new ServletWebRequest(request), null); assertThat(predicate).isEqualTo(QUser.user.firstname.eq("rand").and(QUser.user.lastname.eq("al'thor"))); @@ -123,10 +123,10 @@ class QuerydslPredicateArgumentResolverUnitTests { request.addParameter("address.city", "two rivers"); - Object predicate = resolver.resolveArgument(getMethodParameterFor("simpleFind", Predicate.class), null, + var predicate = resolver.resolveArgument(getMethodParameterFor("simpleFind", Predicate.class), null, new ServletWebRequest(request), null); - BooleanExpression eq = QUser.user.address.city.eq("two rivers"); + var eq = QUser.user.address.city.eq("two rivers"); assertThat(predicate).isEqualTo(eq); } @@ -136,7 +136,7 @@ class QuerydslPredicateArgumentResolverUnitTests { request.addParameter("address.city", "tar valon"); - Object predicate = resolver.resolveArgument(getMethodParameterFor("pagedFind", Predicate.class, Pageable.class), + var predicate = resolver.resolveArgument(getMethodParameterFor("pagedFind", Predicate.class, Pageable.class), null, new ServletWebRequest(request), null); assertThat(predicate).isEqualTo(QUser.user.address.city.eq("tar valon")); @@ -148,7 +148,7 @@ class QuerydslPredicateArgumentResolverUnitTests { request.addParameter("firstname", "egwene"); request.addParameter("lastname", "al'vere"); - Object predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null, + var predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null, new ServletWebRequest(request), null); assertThat(predicate).isEqualTo( @@ -161,7 +161,7 @@ class QuerydslPredicateArgumentResolverUnitTests { request.addParameter("firstname", "egwene"); request.addParameter("lastname", "al'vere"); - Object predicate = resolver.resolveArgument( + var predicate = resolver.resolveArgument( getMethodParameterFor("specificFindWithMetaAnnotation", Predicate.class), null, new ServletWebRequest(request), null); @@ -174,7 +174,7 @@ class QuerydslPredicateArgumentResolverUnitTests { request.addParameter("inceptionYear", "978"); - Object predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null, + var predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null, new ServletWebRequest(request), null); assertThat(predicate).isEqualTo(QUser.user.inceptionYear.eq(978L)); @@ -185,7 +185,7 @@ class QuerydslPredicateArgumentResolverUnitTests { request.addParameter("inceptionYear", new String[] { "978", "998" }); - Object predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null, + var predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null, new ServletWebRequest(request), null); assertThat(predicate).isEqualTo(QUser.user.inceptionYear.in(978L, 998L)); @@ -197,7 +197,7 @@ class QuerydslPredicateArgumentResolverUnitTests { request.addParameter("address.street", "downhill"); request.addParameter("inceptionYear", "973"); - Object predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null, + var predicate = resolver.resolveArgument(getMethodParameterFor("specificFind", Predicate.class), null, new ServletWebRequest(request), null); assertThat(predicate.toString()).isEqualTo(QUser.user.inceptionYear.eq(973L).toString()); @@ -230,7 +230,7 @@ class QuerydslPredicateArgumentResolverUnitTests { @Test // DATACMNS-1593 void returnsEmptyPredicateForEmptyInput() throws Exception { - MethodParameter parameter = getMethodParameterFor("predicateWithoutAnnotation", Predicate.class); + var parameter = getMethodParameterFor("predicateWithoutAnnotation", Predicate.class); request.addParameter("firstname", ""); @@ -241,7 +241,7 @@ class QuerydslPredicateArgumentResolverUnitTests { @Test // DATACMNS-1635 void forwardsNullValueForNullablePredicate() throws Exception { - MethodParameter parameter = getMethodParameterFor("nullablePredicateWithoutAnnotation", Predicate.class); + var parameter = getMethodParameterFor("nullablePredicateWithoutAnnotation", Predicate.class); request.addParameter("firstname", ""); @@ -251,7 +251,7 @@ class QuerydslPredicateArgumentResolverUnitTests { @Test // DATACMNS-1635 void returnsOptionalIfDeclared() throws Exception { - MethodParameter parameter = getMethodParameterFor("optionalPredicateWithoutAnnotation", Optional.class); + var parameter = getMethodParameterFor("optionalPredicateWithoutAnnotation", Optional.class); request.addParameter("firstname", ""); diff --git a/src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java b/src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java index e26ed5651..d16d58df1 100755 --- a/src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java +++ b/src/test/java/org/springframework/data/web/querydsl/ReactiveQuerydslPredicateArgumentResolverUnitTests.java @@ -74,9 +74,9 @@ class ReactiveQuerydslPredicateArgumentResolverUnitTests { @Test // DATACMNS-1785 void resolveArgumentShouldCreateSingleStringParameterPredicateCorrectly() { - MockServerHttpRequest request = MockServerHttpRequest.get("").queryParam("firstname", "rand").build(); + var request = MockServerHttpRequest.get("").queryParam("firstname", "rand").build(); - Object predicate = resolver.resolveArgumentValue(getMethodParameterFor("simpleFind", Predicate.class), null, + var predicate = resolver.resolveArgumentValue(getMethodParameterFor("simpleFind", Predicate.class), null, MockServerWebExchange.from(request)); assertThat(predicate).isEqualTo(QUser.user.firstname.eq("rand")); @@ -85,10 +85,10 @@ class ReactiveQuerydslPredicateArgumentResolverUnitTests { @Test // DATACMNS-1785 void resolveArgumentShouldHonorCustomSpecification() { - MockServerHttpRequest request = MockServerHttpRequest.get("").queryParam("firstname", "egwene") + var request = MockServerHttpRequest.get("").queryParam("firstname", "egwene") .queryParam("lastname", "al'vere").build(); - Object predicate = resolver.resolveArgumentValue(getMethodParameterFor("specificFind", Predicate.class), null, + var predicate = resolver.resolveArgumentValue(getMethodParameterFor("specificFind", Predicate.class), null, MockServerWebExchange.from(request)); assertThat(predicate).isEqualTo( @@ -98,9 +98,9 @@ class ReactiveQuerydslPredicateArgumentResolverUnitTests { @Test // DATACMNS-1785 void returnsEmptyPredicateForEmptyInput() { - MethodParameter parameter = getMethodParameterFor("predicateWithoutAnnotation", Predicate.class); + var parameter = getMethodParameterFor("predicateWithoutAnnotation", Predicate.class); - MockServerHttpRequest request = MockServerHttpRequest.get("").queryParam("firstname", "").build(); + var request = MockServerHttpRequest.get("").queryParam("firstname", "").build(); assertThat(resolver.resolveArgumentValue(parameter, null, MockServerWebExchange.from(request))) // .isNotNull(); @@ -109,9 +109,9 @@ class ReactiveQuerydslPredicateArgumentResolverUnitTests { @Test // DATACMNS-1785 void forwardsNullValueForNullablePredicate() { - MethodParameter parameter = getMethodParameterFor("nullablePredicateWithoutAnnotation", Predicate.class); + var parameter = getMethodParameterFor("nullablePredicateWithoutAnnotation", Predicate.class); - MockServerHttpRequest request = MockServerHttpRequest.get("").queryParam("firstname", "").build(); + var request = MockServerHttpRequest.get("").queryParam("firstname", "").build(); assertThat(resolver.resolveArgumentValue(parameter, null, MockServerWebExchange.from(request))).isNull(); } @@ -119,9 +119,9 @@ class ReactiveQuerydslPredicateArgumentResolverUnitTests { @Test // DATACMNS-1785 void returnsOptionalIfDeclared() { - MethodParameter parameter = getMethodParameterFor("optionalPredicateWithoutAnnotation", Optional.class); + var parameter = getMethodParameterFor("optionalPredicateWithoutAnnotation", Optional.class); - MockServerHttpRequest request = MockServerHttpRequest.get("").queryParam("firstname", "").build(); + var request = MockServerHttpRequest.get("").queryParam("firstname", "").build(); assertThat(resolver.resolveArgumentValue(parameter, null, MockServerWebExchange.from(request))) // .isInstanceOfSatisfying(Optional.class, it -> assertThat(it).isEmpty());